Stig Jøran Skrevet 3. mars 2005 Del Skrevet 3. mars 2005 Finns det en enkel måte å lese fra en .txt eller .dat fil? Må også kunne velge hvilken linje den skal hente data fra. Lenke til kommentar
Jonas Skrevet 3. mars 2005 Del Skrevet 3. mars 2005 Ja, det finnes! 'Et par dims Dim Fil() As String, Buff As String 'Dimmensjonere arrayet ReDim Fil(0 To 0) 'Åpne filen Open "C:\din ip.txt" For Input As #1 'Lage en løkke som går gjennom alle linjer Do Until EOF(1) ' EOF er TRUE når VB har nådd enden av fila 'Hente ut linjen Line Input #1, Buff 'Lage en ny plass i arrayet ReDim Preserve Fil(0 To UBound(Fil) + 1) 'Sette teksten Fil(UBound(Fil)) = Buff Loop Close #1 'Hente ut linje nr 1 (Første linje) MsgBox Fil(1) Hvis du vil hente ut hele filen i en stor variablen, kan du bare bruke den orginale koden: (Som står i aadnk's guide) Dim Buff As String, Tekst As String Open "C:\testfil.txt" For Input As #1 Do Until EOF(1) ' EOF er TRUE når VB har nådd enden av fila Line Input #1, Buff Tekst = Tekst & Buff & vbNewLine Loop Close #1 MsgBox Tekst Lenke til kommentar
Richard87 Skrevet 3. mars 2005 Del Skrevet 3. mars 2005 (endret) eller en litt mindre kode: open filename for #1 msgbox Input(LOF(1), #1) close #1 [EDIT] Takk for påminnelsen Trrunde... Endret 3. mars 2005 av Richard87 Lenke til kommentar
trrunde Skrevet 3. mars 2005 Del Skrevet 3. mars 2005 hehe visst du velger Richard sin metode må du huske å lukke #1 ikke #2 slik som han skreiv Lenke til kommentar
d0ppler Skrevet 6. mars 2005 Del Skrevet 6. mars 2005 Richard87 skrev: eller en litt mindre kode: open filename for #1 msgbox Input(LOF(1), #1) close #1 denne vil ikke fungere, men hvis du derimot skriver den slik: open filename for input as #1 msgbox Input(LOF(1), #1) close #1 så vil den funke.. Lenke til kommentar
Richard87 Skrevet 6. mars 2005 Del Skrevet 6. mars 2005 omg, selfølgelig, sorry, det gikk "litt fort i svingene" der.. Lenke til kommentar
Haaheim Skrevet 7. mars 2005 Del Skrevet 7. mars 2005 Denne er enklest: Deklarasjoner: Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long For å skrive til fil: WritePrivateProfileString _ "Gruppe", "Navn_på_oppføring", _ "InformasjonSomSkalLagres", Filnavn Da vil Filen som du lagrer til se akkurat slik ut: [Gruppe] Navn_på_oppføring=InformasjonSomSkalLagres For å lese en fil: Dim buf As String * 256 Dim length As Long Dim Data as string length = GetPrivateProfileString( _ "Gruppe", "OppføringSomSkalLeses", _ buf, Len(buf), FilNavn) Data = Left$(buf, length) Skjønner? Lenke til kommentar
d0ppler Skrevet 7. mars 2005 Del Skrevet 7. mars 2005 Codeman skrev: Denne er enklest: enklest er vel å ta litt hardt i... Lenke til kommentar
Haaheim Skrevet 8. mars 2005 Del Skrevet 8. mars 2005 dga01 skrev: Codeman skrev: Denne er enklest: enklest er vel å ta litt hardt i... Tja, spørs hvem som ser Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå