Hallo Jan,
läuft auch ganz ohne vl..., mit den Funktionen (READ-LINE) und (WRITE-LINE).
In beiden Fällen musst du zunächst eine Datei öffnen:
SETQ inifile (OPEN "C:/MyFile.ini" "r"))
Als Pfad kann eine INI, eine TXT oder sonst was angegeben werden. Das "r" als Paramter gibt an, dass dieses File zum Lesen geöffnet wird. Zum Schreiben wird ein "w" benötigt. Wichtig ist, die (OPEN)-Funktion einer Variable zuzuweisen. Die Variable enthält dann das Dateikennzeichen, das du jedes Mal angeben musst, wenn du aus dem File lesen oder in das File schreiben möchtest.
Mit dem Befehl
(SETQ line (READ-LINE inifile))
wird die nächste Zeile aus dem File gelesen und der Inhalt in der Variable line gespeichert. Beim nächsten Aufruf wieder die nächste. Wenn die Variable line keinen Wert mehr enthält, bist du am Ende des Files angelangt.
Am Ende musst du die Datei wieder mit
(CLOSE inifile)
schließen.
Das Schreiben solcher Dateien funktioniert ganz änhnlich, nur statt dem (READ-LINE) eben ein (WRITE-LINE). Die Ausgabefunktionen (PRINC) etc. sind in diesem Zusammenhang recht hilfreich. Sieh' dir dazu auch mal die Hilfe an oder frag' einfach hier nochmal nach.
Abschließend noch ein Beispiel: Grundgerüst für das Lesen einer Datei:
(DEFUN read_file (/ inifile attribs)
(SETQ inifile "C:\MyFile.ini")
(SETQ inifile (OPEN inifile "r"))
(SETQ attribs (READ-LINE inifile))
(WHILE attribs
;; Hier machst du irgendetwas mit dem Wert in der Variable "attribs".
(SETQ attribs (READ-LINE inifile))
) ; End While
(CLOSE inifile)
); End Defun
Und noch ein Beispiel zum Schreiben in eine Datei. Mit diesen Befehlen wird die Datei E:\test.ini erstellt und beschrieben.
(SETQ file "E:/test.ini")
(SETQ file (OPEN file "w"))
(WRITE-LINE "[Sektion]" file)
(WRITE-LINE "Schlüssel=Wert" file)
(CLOSE file)
In diesem Fall wird die Datei neu erstellt oder überschrieben, wenn schon vorhanden. Um an eine bestehende Datei etwas anzuhängen, muss der (OPEN)-Befehl wie folgt aussehen:
(SETQ file (OPEN file "a"))
Hoffe geholfen zu haben.
Ciao,
WolfgangE
------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!
[Diese Nachricht wurde von WolfgangE am 19. Nov. 2003 editiert.]
[Diese Nachricht wurde von WolfgangE am 19. Nov. 2003 editiert.]
[Diese Nachricht wurde von WolfgangE am 19. Nov. 2003 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP