Terve,
Olen aina lukenut tiedostoja käyttäen System.IO.StreamReader. Nyt kuitenkin pitäisi päästä lukemaan tiedostoa (logi), joka on jo käytössä. En saa mitenkään tätä auki. Mitäköhän tapaa tiedoston lukemiseen pitäisi käyttää?
edit...
LOL oho hyvin nimesin otsikon. Pisteet kotiin.
Toimisikohan FileSystemObject.OpenTextFile? Tuosta logi-tiedostosta ei kyllä ole kokemusta mutta tällä olen ainakin onnistuneesti lukenut avointa tekstitiedostoa.
dim fso as FileSystemObject dim TekstiTiedosto as textStream dim strRivi as string set TekstiTiedosto=fso.OpenTextFile(...) strRivi=TekstiTiedosto.ReadLine '... TekstiTiedosto.Close
Ai niin, tuo FileSystemObject-luokka on käytettävissä kunhan ottaa projektiin Scripting Runtime -komponentin.
Oho, sori, vastasin VB6:n pohjalta vaikka se olikin .net... :[
Moikka molemmille!
FileSystemObject-luokka on haettavissa myös .NET ympäristöön ja...
Terve,
Kiitoksia molemmille. Tosiaan tuo FileSystemObject piileksi Microsoft Scripting Runtimessä. Jahka referenssit on kunnossa, tuo esitetty tapa toimii ok.
Multa unohtui kirjoittaa fso-olion luonti:
Set fso = CreateObject("Scripting.FileSystemObject")
Ei taida toimia ilman sitä...
Itselläni nimittäin on ohjelmassani tämä fso-muuttuja julkisena (globaalina) ja siihen asetetaan luotu olio vain kerran koko ohjelman ajon aikana. Ts. Pääohjelma-moduulissa on
Public gFso As FileSystemObject '... Public Sub Main() '... Set gFso = CreateObject("Scripting.FileSystemObject") '...
ja sitten sitä samaa oliota käytetään useiden eri tiedostojen avaukseen, jota ohjelmassa tapahtuu tuon tuostakin.
Olisiko kuitenkin parempi luoda joka kerta uusi fso-olio ja heti käytön jälkeen poistaa se muistista (Set fso = Nothing)? Entä olisiko hyvä poistaa se muistista ohjelman lopussa, siinä tapauksessa että se luodaan vain kerran?
Aihe on jo aika vanha, joten et voi enää vastata siihen.