Frage deutsch
~~~~~~~~~~~~~~~~
Wie schreibe ich eine Variable in eine Datei?
 

Question English
~~~~~~~~~~~~~~~~
How to write a variable into a file?
 

Antwort 1
~~~~~~~~~~~~~~~~
[ von Arenil (
Aneril*freesurf.ch ) ind Thomas Antoni, 6.6.2003 - 3.2.2006 ]
.
Das geht ganz einfach, wie das folgende Programm zeigt. Es schreibt eine Stringvariable "Variable1$" und eine numerische Variable "Variable2%" in die Datei C:\temp.txt und lliest sie anschließend wieder zurück:
 
'**************************************************************
' VAR2FILE.BAS = Variable in eine Datei schreiben u.ruecklesen
' ============
' Dieses Q(uick)Basic-Programm demonstriert, wie man ganz
' einfach 2 Variablen Variable1$ und Variable2% in eine
' Datei c:\temp.txt schreibt und wieder rueckliest .
'
' Nach Ablauf des Programms kannst Du Dich mit einem Editor
' vom korrekten Inhalt der Datei ueberzeugen. Loesche diese
' anschließend von Hand (per Programm ginge dies mit
' KILL "c:\tmp.txt" .
'
' Die Verwendung von PRINT statt dem sonst üblichen WRITE
' bewirkt, dass die Variablen nicht in Anfuehrungszeichen
' "..." abgespeichert werden.
'
' (c) Arenil (Aneril*freesurf.ch ) und T.Antoni, 6.6.2003
'**************************************************************
'
'----- Zwei Variablen in die Datei c:\tmp.txt schreiben
Variable1$ = "Hallo ich bin ein Text"
Variable2% = 4711
'
OPEN "c:\tmp.txt" FOR OUTPUT AS #1 'Datei oeffnen
PRINT #1, Variable1$ 'in Datei schreiben
PRINT #1, Variable2%
CLOSE #1 'Datei schliessen
'
'----- Variablen wieder aus Datei lesen und anzeigen
OPEN "c:\tmp.txt" FOR INPUT AS #1 'Datei oeffnen
INPUT #1, Variable3$ 'aus Datei lesen
INPUT #1, Variable4%
CLOSE #1 'Datei schliessen
PRINT Variable3$, Variable4%
 
Das obige Programm steht im Verzeichnis Progs\ zur Verfügung sowie online unter www.antonis.de/faq/progs/var2file.bas .
 
*** Anmerkungen
1)
Die verwendung von PRINT statt dem sonst üblichen WRITE bewirkt, dass die Variablen nicht in Anführungszeichen "..." abgespeichert werden.
 

2) #1 ist die Nummer der geöffneten Datei.
 

3) Weitere infos sowie komplettes Beispiel findest Du in der QBasic-Hilfe wie folgt:
Cursor über den Befehl PRINT bewegen und F1 drücken oder mit rechter Maustaste draufklicken. Im aufpoppenden Hilfefenster ist unter Beispiel (Achtung es gibt mehrere PRINT-Befehle der PRINT # ist der richtige...) ein komplettes Beispiel enthalten.
 


Antwort 2
~~~~~~~~~~~~~~~
[ von Mecki ( ArMark*t-online.de ) im QB-Forum, 10.5.2003 ]
 

Problem:
Wie speichere ich Text in eine Datei?
 

Lösung:
Wenn die Stringvariable Text$ Deinen Text enthält, dann kannst Du ihn so in die Datei tmp.txt direkt ins Stammverzeichnis von Laufwerk c: abspeichern:
 
INPUT "Gib Text ein"; Text$
OPEN "c:\tmp.txt" FOR OUTPUT AS #1 'Datei zum Schreiben oeffnen
PRINT #1, Text$ 'Text$ in die Datei schreiben
'mit anschliessendem Zeilenvorschub
CLOSE #1 'Datei schließen
 
Nach Ablauf des Programms kannst Du Dich "von Hand" vom korrekten Inhalt der Datei c:\tmp.txt überzeugen und diese dan löschen.
 
 

Antwort 3
~~~~~~~~~~~~~~~~
[ von Thomas Antoni, 5.11.2002 ]
.
Du willst nur ein Wort in eine Datei speichern und wieder von dort zurücklesen? Das ist die absolute Minimalversion:
 
'***********************************************
' SeqFile2.bas = Ein Wort in eine Datei schreiben
' ============ und wieder lesen
'
' Einfaches Lernprogramm zur Demonstration der
' Zugriffs auf eine sequentielle Datei.
' Es wird die Datei "tmp.txt" im Stammverzeichnis
' des Laufwerks C\ angelegt und dort das Wort
' "Hallo" eingetragen.
' Anschliessend wird der Dateiinhalt wieder
' ausgelesen und mit Ergaenzung angezeigt.
'***********************************************
OPEN "c:\tmp.txt" FOR OUTPUT AS #1
PRINT #1, "hallo"
CLOSE #1
'
OPEN "c:\tmp.txt" FOR INPUT AS #1
INPUT #1, text$
CLS
PRINT text$ + " Du da!"
CLOSE #1
PRINT
PRINT "Schau Dir mal die Datei c:\tmp.txt mit"
PRINT "einem Editor an und loesche sie dann."
SLEEP
END
 
Das obige Programm steht im Verzeichnis Progs\ zur Verfügung sowie online unter www.antonis.de/faq/progs/seqfile2.bas .

[ The QBasic-MonsterFAQ --- Start Page: www.antonis.de/faq ]