PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeile aus Textdatei löschen


toffee
09.02.2005, 14:01
Hallo zusammen,

wie kann ich eine bestimmte Zeile aus einer Textdatei löschen :confused:

Folgendes: ich habe eine Textdatei, die ich durch ein <form> befüllen lasse.

jetzt will ich auch folgende Möglichkeit haben: mittels einer Form wird was eingegeben, die Eingabe mit dem Inhalt der Textdatei vergleichen und dann soll der Eintrag wenn er denn gleich ist gelöscht werden...

immo stehe ich etwas auf dem Schlauch... :confused:
hier mal mein befüllen der *.txt Datei....


Set fsoEI = Server.CreateObject("Scripting.FileSystemObject")
sTextFileEI = "Textdatei.txt"
sPathEI = "Pfad zu meiner Datei"
sBaseDirEI = server.MapPath (sPathEI)

name = True
eMail = True
mailAddress = True
sEMail = Request.Form ("eMail")

If Request.Form("Versand") = "Anmelden" Then

If Request.Form("Vorname") = "" Then
name = False
End If

if Request.Form ("eMail") ="" Then
eMail = false
end if


if eMail = True Then
If Instr(sEMail,"@") = 0 Then
mailAddress = false
elseif Instr(sEMail,".") = 0 Then
mailAddress = false
end if

If (name AND mailAddress) = True Then
If IsObject(fsoEI) Then
Set fname = fsoEI.OpenTextFile(sBaseDirEI & "\" & sTextFileEI, FOR_APPENDING, True)
fname.WriteLine Request.Form("Vorname") & " "& Request.Form("eMail")
fname.Close
end if
Response.Redirect("danke.asp")
End If
end if
end if


Cord Worthmann
11.02.2005, 19:56
das ginge z.b. so...



If Request.Form("Versand") = "Anmelden" Then

Dim sName, sEmail, iPos

sName = Request.Form("Vorname")
sEmail = Request.Form("eMail")

If sName <> "" And sEmail <> "" Then

iPos = Instr(sEmail, "@")

If 0 < iPos And Len(sEmail) > iPos Then

Const FOR_READING = 1, FOR_WRITING = 2, FOR_APPENDING = 8
Dim fsoEI, sPathEI, fName, aLines, sLine, bFound

Set fsoEI = Server.CreateObject("Scripting.FileSystemObject")
sPathEI = Server.MapPath("Textdatei.txt")
Set fName = fsoEI.OpenTextFile(sPathEI, FOR_READING, True)
aLines = Split(fName.ReadAll(), vbCrLf)
bFound = False

fName.Close()

Set fName = Nothing

For i=0 To UBound(aLines)
If aLines(i) = sName & " " & sEmail Then
aLines(i) = ""
bFound = True
End If
Next

If bFound Then
Set fName = fsoEI.OpenTextFile(sPathEI, FOR_WRITING, True)

For i=0 To UBound(aLines)
If Not aLines(i) = "" Then fName.WriteLine aLines(i)
Next
Else
Set fName = fsoEI.OpenTextFile(sPathEI, FOR_APPENDING, True)

fName.WriteLine sName & " " & sEmail
End If

fName.Close()

Set fName = Nothing
Set fsoEI = Nothing

End If

End If

End If




grtz
chief