Miten voin ladata tekstiboksiin sisällön jostain tiedostosta ja miten voin tallentaa, jos minulla on 9 tekstiboksia.
Yritin jo lukea OP:n VB-oppaat, mutta ei onnistunut. :-(
textbox1.text
textbox2.text
textbox3.text
textbox4.text
textbox5.text
textbox6.text
textbox7.text
textbox8.text
textbox9.text
noista otat ja tallennat?
Dim lause as string filenum = FREEFILE 'eka vapaa tiedoston käyttäjän tunniste OPEN "Tiedosto.txt" FOR INPUT AS #filenum 'avaa tiedosto lukemiseen l = LOF(filenum) 'pituus lause = INPUT(l, filenum) 'lue CLOSE #filenum 'sulje
Muuttuja lause sisältää nyt tiedoston.
Sitten vaikka laitat textboxin arvoksi lauseen?
Ja sitten vielä vaikka kirjoittamisesta:
filenum = freefile OPEN "Tiedosto.txt" FOR OUTPUT AS #filenum PRINT #filenum, lause CLOSE #filenum
Nyt tiedostossa on siis muuttuja lause.
Megant, enpä oikein osaa tuosta sitä tehdä, kun olen vasta yhteensä pari päivää sitä VB:tä käyttänyt.
Niko, juu, noihin pitäisi saada tehtyä tallennus ja lataus.
Kannattaa indeksoida textboxit, niin pääsee samalla koodilla. Tiedosto nimistä voi myös tehdä arrayn. Tiedosto textboxiin ja takaisin näin:
Open filu(i) For Input As 1 txtBox(i) = Input$(LOF(1), 1) Close Open filu(i) For Output As 1 Print #1, txtBox(i) Close
Moi.
Selvisin tallennuksesta tälläisellä koodilla:
Private Sub Save1_Click() Call SaveNow1 End Sub
Private Sub SaveNow1() Dim texti1 As String texti1 = Text1.Text Open "CBTdata\data1.cbt" For Output As #1 Write #1, texti1 Close #1 Beep End Sub
ja latauksesta:
Private Sub Load1_Click() Call LoadNow1 End Sub
Private Sub LoadNow1() Dim texti1 As String Dim temp As String Open "CBTdata\data1.cbt" For Input As #1 Do Until EOF(1) Line Input #1, temp texti1 = texti1 & temp & vbCrLf Loop Close #1 Text1.Text = texti1 Beep End Sub
Nyt on ongelmana se, että kun tuo lataa sen tiedon siitä tiedostosta tekstilaatikkoon niin siinä tulee " -merkit alkuun ja loppuun. Auttaisitteko, miten saisin korjattua karsittua ne " -merkit? :-(
Käytä Writen sijasta Printiä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.