Eine Zeile aus Datei entfernen (FSO)

Parasite

Mitglied
Hallo,
Ich bastle immernoch an meinem Chatprogramm.
Clients sollen sich zu Server verbinden, in eine Liste eingetragen werden, die Clients schicken Nachrichten an den Server und dieser verschickt die Nachrichten an alle Clients, die in seiner Liste sind.
Ich habe es bereits geschafft, dass ein Client, der sich zum Server verbindet, vom Server in die Datei online.dat einträgt. (neue Zeile natürlich)
Das war kein Problem.
Nun habe ich aber das Problem, dass der Client sich natürlich auch trennen kann und dann die Zeile mit der IP des Client wieder aus der Datei entfernt werden muss.
Jetzt habe ich schon die ganze Zeit rumexperimentiert und mein Code sieht auch etwas verwurschtelt aus.
Irgendwie funktioniert das ganze noch nicht.
Folgende Fehlermeldung kommt im Programm, wenn sich der Client trennen will: "Objekt erforderlich"
Leider wird mir nicht die Zeile des Fehlers angezeigt.

Code:
'ANFANG
Dim fso
Dim textfile000 ' Dateiobjekt
Dim test000() As String 'Stringarray für die einzelnen Zeilen
Dim y As Integer ' Indexvariable
y = 0
'Das FSO wird gesetzt
Set fso = CreateObject("Scripting.FileSystemObject")
'Das Dateiobjekt wird auf die Datei gesetzt
Set textfile000 = fso.OpenTextFile(App.Path & "\online.dat", ForReading)
'Schleife bis EOF(End Of File)
Do While textfile000.AtEndOfStream <> True
ReDim Preserve test000(y) 'Dynamisches vergrössern des Arrays
test000(y) = textfile000.ReadLine ' eine Zeile lesen
If test000(y) = clientname Then clientnummer = y
y = y + 1 'Index erhöhen
Loop
'neu auslesen
Dim test0000
Dim textfile0000
y = 0
'Schleife bis EOF(End Of File)
Do While textfile0000.AtEndOfStream <> True
ReDim Preserve test0000(y) 'Dynamisches vergrössern des Arrays
test000(y) = textfile0000.ReadLine ' eine Zeile lesen
y = y + 1 'Index erhöhen
Loop
'online.dat leeren
Dim schreibe0000
Set fso = CreateObject("Scripting.FileSystemObject")
Set schreibe0000 = fso.OpenTextFile(App.Path & "\online.dat", ForWriting)
schreibe0000.Write ""
schreibe0000.Close
'neu schreiben
Dim schreibe012
Set schreibe012 = fso.OpenTextFile(App.Path & "\online.dat", ForWriting)
If y > 0 Then schreibe012.Write test0000(0) + vbNewLine
If y > 1 Then schreibe012.Write test0000(1) + vbNewLine
If y > 2 Then schreibe012.Write test0000(2) + vbNewLine
If y > 3 Then schreibe012.Write test0000(3) + vbNewLine
If y > 4 Then schreibe012.Write test0000(4) + vbNewLine
schreibe012.Close
'ENDE

Bitte helft mir, ich bin total durcheinander gekommen mit den ganzen Nullen, die sowieso nicht hätten sein müssen, ich weiß.:(
 
Zurück