27. juni 2005 - 15:15
Der er
14 kommentarer og 1 løsning
Sende kommandoer til txt fil?
Jeg har denne txt fil som jeg gerne vil manipuler lidt! Eks! INDHOLD: A B C D Så skal mit program gå ind, slette linje 1 og 2, og rykke 3 og 4 op, så de bliver til linje 1 og 2... Kan det lade sig gøre? Prøvede lidt med vbkeydelete, men så skrev den bare 46?????
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Prøv med det her: dim tmp as string ' midlertidigt indhold dim fil as string ' sti og filnavn til filen dim i as integer ' tæller fil = app.path & "\fil.txt" i = 0 open fil for input as #1 do while not eof(1) line input #1, tmp i = i + 1 ' hvis tælleren er højere end 2, smid linien i variablen "data", og tilføj ";" tegnet: if i > 2 then data = data & ";" loop close #1 data = left(data, len(data) - 1)) ' fjern det sidste ";" tegn data = split(data, ";") open fil for ouput as #1 for i = lbound(data) to ubound(data) print #1, data(i) next close #1 /theSurfer
Eller (hvis det er tilladt): dim tmp as string ' midlertidigt indhold dim fil_1 as string ' sti og filnavn til fil 1 (gammel) dim fil_2 as string ' sti og filnavn til fil 2 (ny) dim i as integer ' tæller fil_1 = app.path & "\fil_1.txt" fil_2 = app.path & "\fil_2.txt" i = 0 open fil_2 for output as #2 open fil_1 for input as #1 do while not eof(1) line input #1, tmp i = i + 1 ' hvis tælleren er højere end 2, smid linien i variablen "data", og tilføj ";" tegnet: if i > 2 then print #2, tmp loop close #1 close #2 kill fil_1 filecopy fil_2, fil_1 kill fil_2 /theSurfer
Den kan ikke helt forstå denne linje her: data = left(data, len(data) - 1)) ' fjern det sidste ";" tegn
Aha... for mange )... Men den tager sgu det hele! *GG* Ingenting tilbage efter den har kørt igennem!
Jeg har det med at smide nogne ekstra parenteser, kommaer, semikolon, osv.. hvis man nu skulle bruge en ekstra :-) Hvilken metode har du brugt? /theSurfer
Doh! :-) Du skrev jo: Den kan ikke helt forstå denne linje her: data = left(data, len(data) - 1)) ' fjern det sidste ";" tegn :-) /theSurfer
..og der mangler et "t" i outpt her: open fil for ouput as #1 for i = lbound(data) to ubound(data) print #1, data(i) next close #1 i 27/06-2005 15:33:31 Sådan kan det gå, når man skriver kode direkte i Ekspertens textarea... :-) hmm.. gad vide om vi kan få admin til et indføre et syntax-check... ;-) /theSurfer
Jeg brugte den første metode... Har fixet den "fejl" der var... men den snupper sgu osse C og D!
hmm.. kigger lige på det så.. /theSurfer
27. juni 2005 - 16:07
#10
Sådan: Dim tmp As String ' midlertidigt indhold Dim fil As String ' sti og filnavn til filen Dim i As Integer ' tæller fil = App.Path & "\fil.txt" i = 0 Open fil For Input As #1 Do While Not EOF(1) Line Input #1, tmp i = i + 1 ' hvis tælleren er højere end 2, smid linien i variablen "data", og tilføj ";" tegnet: If i > 2 Then Data = Data & tmp & ";" Loop Close #1 Data = Split(Data, ";") Open fil For Output As #1 For i = LBound(Data) To UBound(Data) - 1 Print #1, Data(i) Next Close #1 /theSurfer
27. juni 2005 - 16:08
#11
Jeg havde glemt "tmp" her: If i > 2 Then Data = Data & tmp & ";" Så kom jo ikke noget over i data.. andet end ";"-tegnene :-) /theSurfer
27. juni 2005 - 16:11
#12
Yes yes!
27. juni 2005 - 16:16
#13
thesurfer = Svar???
27. juni 2005 - 16:21
#14
Yep :-) /theSurfer
27. juni 2005 - 16:28
#15
Takker for points :-) /theSurfer
Kurser inden for grundlæggende programmering