Martin: ASP-Zugriff auf txt-Dateien

Hallo ihr PC-Specialists!

Hab bei meinem Quellcode ein Problem: Ich könnte mit diesem Quellcode aus der benannten book.txt lesen, aber ich kann nicht hineinschreiben! Sobald ich statt ForReading ForWriting oder ForAppending eingebe, kann der Browser die Seite nicht mehr anzeigen!

<%

name = request.querystring("Name")
subject = request.querystring("Subject")
comment = request.querystring("Comment")

CONST conSourcePath = "book.txt"
CONST ForAppending = 8

text = DATE & "#" & TIME & "#" & name & "#" & subject & "#" & comment

ExistFile = conSourcePath
strPhysExistFile = Server.MapPath(Existfile)
SET FO=Server.CreateObject("Scripting.FileSystemObject")
SET BookFile = FO.OpenTextFile(strPhysExistFile, 2, False)

Bookfile.writeln(text)

Bookfile.Close
%>

Hoffe ihr könnt mir helfen!

  1. Hallo Martin!

    Im Fso gibt es die Methode .writeln nicht.
    Sie heist dort .WriteLine

    Bookfile.writeln(text)

    Bookfile.WriteLine(text) wäre also richtig.

    Wenn der IE dir bei einem ASP Fehler die Seite nicht anzeigen kann und du keine vernünftige Fehlermeldung erhälst:
    Extras --> Internetoption --> Erweitert --> Kurze HTTP Fehlermeldungen anzeigen (deaktivieren)
    So erhältst du die komplette Fehlermeldung und kommst leichter zur Lösung.

    Viele Grüsse
    Alex!

    1. Hi,

      und außerdem:

      CONST ForAppending = 8

      (...)

      SET BookFile = FO.OpenTextFile(strPhysExistFile, 2, False)

      Dass die 8 fürs Anhängen zuständig ist, ist sehr richtig. Aber wenn Du die Datei nicht so öffnest, lässt sich da auch nix reinschreiben. Richtig wäre also:

      SET BookFile = FO.OpenTextFile(strPhysExistFile, 8)

      oder - da Du die Konstante schon gesetzt hast - in Deinem Fall:

      SET BookFile = FO.OpenTextFile(strPhysExistFile, ForAppending)

      (False kann weg, da Du ja keine neue Datei erzeugst)

      Grüße,

      Utz