Supportnet / Forum / Skripte(PHP,ASP,Perl...)
erste zeile einer textdatei -vb-
Frage
Hello!
ich möchte über mein programm in eine textdatei so reinschreiben können das es immer ganz oben steht
also angenommen ich habe in der textdatei folgenden inhalt:
-------
hans
walter
dieter
rolf
-------
nun füge ich "lisa" hinzu alles soll nach unten rutschen und lisa in die erste zeile
wie kann ich das machen?
danke!
Antwort 1 von zero_-_-cool
Ich hab mir folgendes gedacht. Es gibt bestimmt ne einfachere Lösung, aber die erfüllt den Zweck auch.
Und zwar lese ich die Textdatei ein und speichere sie in einem Array. Dann füge ich den neuen Namen an erster Stelle des Arrays ein und zerlege ihn mit der Split funktion. Danach speichere ich den gesplitteten Array wieder in der Textdatei.
Ich habs mal im Excel unter VBA gemacht, da schaut das dann so aus:
Path = "C:\text.txt"
Open Path For Output As #1
For i = 1 To Sheets("Tabelle1").UsedRange.Rows.Count
Print #1, Sheets("Tabelle1").Range("A" & i).Value
Next
Close #1
End Sub
Dim i As Integer
Path = "C:\text.txt"
Open Path For Input As #1
While Not EOF(1)
Line Input #1, textVar
strArr = strArr & textVar & ";"
Wend
Close #1
strArr = "NeuerName" & ";" & strArr
Open Path For Output As #1
textVar2 = Split(strArr, ";", -1)
On Local Error Resume Next
For i = 0 To Len(strArr)
Print #1, textVar2(i)
Next
Close #1
Und zwar lese ich die Textdatei ein und speichere sie in einem Array. Dann füge ich den neuen Namen an erster Stelle des Arrays ein und zerlege ihn mit der Split funktion. Danach speichere ich den gesplitteten Array wieder in der Textdatei.
Ich habs mal im Excel unter VBA gemacht, da schaut das dann so aus:
Path = "C:\text.txt"
Open Path For Output As #1
For i = 1 To Sheets("Tabelle1").UsedRange.Rows.Count
Print #1, Sheets("Tabelle1").Range("A" & i).Value
Next
Close #1
End Sub
Dim i As Integer
Path = "C:\text.txt"
Open Path For Input As #1
While Not EOF(1)
Line Input #1, textVar
strArr = strArr & textVar & ";"
Wend
Close #1
strArr = "NeuerName" & ";" & strArr
Open Path For Output As #1
textVar2 = Split(strArr, ";", -1)
On Local Error Resume Next
For i = 0 To Len(strArr)
Print #1, textVar2(i)
Next
Close #1
Antwort 2 von zero_-_-cool
Oh, isn bissarl unübersichtlich.
Der erste Codeteil kannste vergessen. Hab damit nur aus der Tabelle daten in ne Textdatei geschrieben.
Im 2ten Teil hab ich die Textdatei in das Array gespeichert und mit nem Trennzeichen, in meinem Fall das Semikolon, getrennt.
Danach hab ich den Namen "NeuerName" an die erste Stelle getzt.
Im 3ten Absatz hab ich das ganze gesplittet und wieder eingelesen.
Der erste Codeteil kannste vergessen. Hab damit nur aus der Tabelle daten in ne Textdatei geschrieben.
Im 2ten Teil hab ich die Textdatei in das Array gespeichert und mit nem Trennzeichen, in meinem Fall das Semikolon, getrennt.
Danach hab ich den Namen "NeuerName" an die erste Stelle getzt.
Im 3ten Absatz hab ich das ganze gesplittet und wieder eingelesen.

