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 :)
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
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.