1 Dateneinlesen In Pascal
Autor: Marion
(G)
(IP bekannt)
Datum: 18. Mai. 2010 09:58
Hallo liebe Programmierfreunde ,
Ich habe die Aufgabe in Pascal eine Datei einzulesen und diese dann auf dem Bildschirm ausgebe,
das macht man dann doch normal mit Assing und Reset oder ??
Aber iwie funktioniert das nicht so wie ich das gerne hätte , kann mir jemand vllt an einem Bsp erklären wie genau ich eine Datei einlese und sie ausgebe ?
Lieben Gruss
2 Re: Dateneinlesen In Pascal
Autor: BP92
(R)
(IP bekannt)
Datum: 18. Mai. 2010 13:58
Hallo Marion,
die Befehle ASSIGN() und RESET() hast du schon richtig genannt
Die brauchst du, und natuerlich auch CLOSE(), um die Datei wieder zu schliessen.
Erstmal unterscheiden wir ja zwischen drei Dateitypen, der:
- TEXT-Datei, diese ist zum Speichern von Strings gut geeignet
- FILE, allgemeiner Datentyp, mit dem man z.B. ganze Speicherbloecke in eine Datei schreiben kann
- FILE OF Datentyp, die typisierte Datei erlaubt einen direkten Zugriff auf eine gueltige Stelle in der Datei, aehnlich wie mit einem ARRAY
Ich gehe mal davon aus, dass du den Dateityp TEXT meinst, dann schreibt man darin befindlichen Inhalt folgendermassen auf den Schirm:
PROGRAM DATTEST;
USES
DOS;
VAR
datname: STRING;
verz: STRING;
zeile: STRING;
datei: TEXT;
BEGIN
...
GETDIR(0,verz);
READLN(datname); (* Dateinamen eingeben mit Endung *)
datname:=verz+'\'+datname;
ASSIGN(datei,datname);
RESET(datei); (* Datei zum Lesezugriff oeffnen, Datei wird dadurch nicht veraendert *)
WHILE NOT(EOF(datei)) DO BEGIN
READLN(datei,zeile);
WRITELN(zeile);
END; (* WHILE *)
CLOSE(datei);
...
END.
Anmerkung: Damit die Datei gefunden werden kann, sollte sie im aktuellen Verzeichnis liegen, also am besten in dem Verzeichnis, in dem du auch dein Pascal-Programm gespeichert hast und von wo du es dann startest
Um dir das Eintippen des Verzeichnisses zu ersparen (da fehleranfaellig), ermittelt der GETDIR()-Befehl fuer dich das aktuelle Verzeichnis. Dann noch ein Backslash und den Namen, den du eingegeben hast, angehaengt und fertig ist der richtige Dateiname. Mit ASSIGN() wird die Dateivariable namens "datei" initialisiert, alles ist zum Lesen oder Beschreiben bereit.
Dann den RESET() Befehl, um die Datei zum Lesen zu oeffnen.
Um das Dateiende nicht zu verfehlen, gibt es die Funktion EOF(), also End Of File, welches TRUE zurueck gibt, wenn das Dateiende erreicht ist.
Das READLN() muss zwei Parameter haben, der erste ist die Dateivariable, der zweite eine STRING-Variable, die du dann mit WRITELN() ausgeben kannst.
Mit CLOSE() wird die Datei wieder geschlossen, das ist bei jedem ASSIGN() notwendig, um Datenverlust zu vermeiden.
--
PASCAL Programmierer aus Leidenschaft
Turbo Pascal Beispiele fuer Anfaenger: [www.webplain.de]
Momentane Projekte:
-----------------------
Konsolen-Adventure Game mit FreePascal (im Denkpause-Forum) [www.webplain.de]
Funktionsplotter und -rechner; Vorabversion gibt's hier: [www.webplain.de]
Objektorientierte Textmodus-GUI; Release-Termin: groesstenteils fertig
3 Re: Dateneinlesen In Pascal
Autor: Marion
(G)
(IP bekannt)
Datum: 18. Mai. 2010 19:47
Es handelt sich um eine Datei nur mit ZAhlen,mache ich das dann genau so ??
4 Re: Dateneinlesen In Pascal
Autor: Samolex
(R)
(IP bekannt)
Datum: 18. Mai. 2010 20:09
Hi,
wen du sie vernünftig im Windows Editor ansehen kannst, dan ja...
wen du aber mit den Zahlen anschließednd rechen willst,dann kannst du auch als Datentype für
zeile: STRING;
ein Integer nehmen.
MfG
Samolex
--
Computer helfen uns Probleme zu lösen,
die wir vorher nicht hatten.
Retrokuhn
Hey du, isch mach dich Zweierkomplement...
Hinweise
- Das hier ist kein Hausaufgabenservice. Konkrete Fragen werden natürlich gerne beantwortet.
- Probieren Sie doch zuerst die Suchfunktion aus und werfen Sie einen Blick in die FAQ.
- Ein aussagekräftiger Betreff ist wichtig, unter »HILFE!!!« kann man sich nichts vorstellen. Bitte nicht nur Großbuchstaben.
- Anhänge zu Ihrem Projekt (max. 250 KB) können helfen, das Problem schnell zu lösen.
- HTML-Tags sind aus Sicherheitsgründen nicht möglich.
- Quelltext können Sie mit
[code]Quelltext[/code]formatieren. - Alle weiteren möglichen Forum-Tags können Sie hier nachlesen.
Nach oben
© 2000-2010 Clemens Weiß | Webplain.de
Link zu dieser Seite | Letzte Änderung: 26. Okt. 2008
