<h1> VB ja FSO</h1>
<p> tän pitäs toimii kaikis
koneis jossa on tietty VB ite onn kirjottanu tään
6.0:lla mutta toimii ainaskin 4.0 asti</p>
' Avaus Private Sub comAvaus_Click(Index As Integer) Dim fso As Object Dim Tiedosto As Object Set fso = CreateObject("Scripting.FileSystemObject") Set Tiedosto = fso.OpenTextFile("c:\filunimitähän.txt", 1) Text1.Text = Tiedosto.ReadLine Tiedosto.Close end sub
' Tallenus Private Sub comTallenus_Click(Index As Integer) Dim fso As Object Dim Tiedosto As Object Set fso = CreateObject("Scripting.FileSystemObject") Set Tiedosto = fso.CreatTextFile("c:\filunimitähän.txt", True) Tiedosto.WriteLine Text1.Text Tiedosto.Close end sub
Hatusta heitettynä...
Tuo ei toimi, jos "filunimitähän.txt" tiedostoa ei ole tai löydy.
Tämän vuoksi olisi hyvä tehdä tarkistus löytyykö sellaista ja jos ei, niin luodaan vaikka tyhjä sellainen.
Samoin tuo koodi ei lue kuin ensimmäisen rivin.
Tämän rivin:
Text1.Text = Tiedosto.ReadLine
Voi korvata myös näin:
Text1.Text = Tiedosto.ReadAll
Jolloin se hakee koko tekstitiedoston sisällön Textboxiin
Saisko vähän oppia :-) Miten tuohon liitetään Aku2:n mainitsema tiedoston olemassaolon tarkastus ja luonti.
Mikä toi 'fso' siis on?? Minkä se luo? Vai onks se se joka avaa tiedoston kirjotettavaks?
FSO on lyhenne File System Objectista.
Se on kätevä tapa luoda, kirjoittaa ja lukea tiedostosta.
Tuohon voi lisätä sen tiedoston tarkistuksen vaikka näin:
' Tarkistetaan löytyykö jo tiedosto If fso1.FileExists(App.Path & "\kansio\" & "tiedosto.Txt") = True Then
Ja tuohon then perään mitä tekee, jos se löytyy.
Else lauseella sitten vaikka pelkkä exit sub perään tai luodaan tyhjä tiedosto.
lainaus:
Tuo ei toimi, jos "filunimitähän.txt" tiedostoa ei ole tai löydy.
Niin, eiköhän tuo "filunimitähän.txt" ollut vain esimerkki, joka on tarkoitus korvata haluamallaan tiedostonimellä.
Set Tiedosto = fso.CreatTextFile("c:\filunimitähän.txt", True)
Pitäisi olla..
Set Tiedosto = fso.CreateTextFile("c:\filunimitähän.txt", True)
Aihe on jo aika vanha, joten et voi enää vastata siihen.