04. august 2006 - 11:43Der er
16 kommentarer og 1 løsning
læse linje X fra en txt fil
Hej.
Jeg har en txt fil med en masse linjer. I hver linje står der noget jeg skal bruge.
Jeg har så en timer funktion, som hver gang den er løbet færdig skal tage linje X, og næste gang linje X+1, næste gang igen X+1+1 osv. Og i hvert tilfælde skal imputtet gennem som en string.
Er det lættest at loade hele txt filen som en string, og så vælge linjer i sktringen eller skal jeg loade txt filens linje hver gang?
Er der ikke nogle der har en lille kode stum, jeg ved ikke engang hvordan man åbner en txt fil :)
Denne funktion kan vælge hvilken linie der skal læses
Public Function ReadLine(fName As String, LineNumber As Long) _ As String
'Parameters: fName = FullPath to File ' LineNumber = LineToRead
'Returns: Contents of the line, or a blank string if ' LineNumber is greater than the total number of lines
'Requires: Reference to Microsoft Scripting Runtime
'Example: MsgBox ReadLine("C:\AutoExec.bat", 3) ' Displays third line of autoexec.bat
Dim oFSO As New FileSystemObject Dim oFSTR As Scripting.TextStream Dim ret As Long Dim lCtr As Long
If oFSO.FileExists(fName) Then Set oFSTR = oFSO.OpenTextFile(fName) Do While Not oFSTR.AtEndOfStream lCtr = lCtr + 1 If lCtr = LineNumber Then ReadLine = oFSTR.ReadLine Exit Do End If oFSTR.SkipLine Loop oFSTR.Close Set oFSTR = Nothing
you will need to add a reference to the Scripting Runtime library in VB6 from the Project|References menu. (Check the Microsoft Scripting Runtime reference and click OK
nu kommer der da ikke nogen fejl, men hmm.. Visual Basic.txt indeholder følgende: slette alle txt filer (cookies) i en mappe.. Kill("C:\Documents and Settings\Bille\Cookies\*.txt*")
når jeg så køre MsgBox ReadLine("C:\Documents and Settings\Bille\Skrivebord\Visual Basic.txt", 2) får jeg et output på "3"... hmmm??
nej undskyld.. Hvis jeg bruger MsgBox ReadLine("C:\Documents and Settings\Bille\Skrivebord\Visual Basic.txt", 1) får jeg 3, bruger jeg MsgBox ReadLine("C:\Documents and Settings\Bille\Skrivebord\Visual Basic.txt", 2) får jeg ingenting (altså en tom MsgBox..
nåå. Det er fordi der ikke må ligge komandoer i selvfølgelig.. Mange tak for svarene :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.