Wiki-KopieMirror

Dies ist ein Mirror des Wikis von pascal.chat. Bearbeiten, Verlauf und Anmeldung finden dort statt.

ReadLn/de

Zurück zu den reservierten Wörtern.

Read / ReadLn

Vorwort

Der Befehl Write/WriteLn wird angewandt.

Die beiden Befehle Read und ReadLn sind sehr verwandt, der Unterschied, ReadLn liest Zeichen bis zum einem Zeilenumbruch ein. Wobei man ReadLn nur bei Text-Dateien und Konsolenausgabe verwenden kann.

Schreiben in Datei

pascal
Read(f, Datensatz);    // Liest einen Datensatz aus einer eine Datei.
// oder
ReadLn(f, Datensatz);  // nur Bei Text-Dateien möglich.

Genaueres hier:

Konsole / Text-Dateien

Es ist möglich direkt Strings, Char, Zahlen, etc. einzulesen.

Mehrere Argumente

Es sind mehrere Argumente in ReadLn möglich.

pascal
var
  a, b, c: integer;
begin
  ReadLn(a, b, c);
  WriteLn(a);
  WriteLn(b);
  WriteLn(c);
end.

Bei der Eingabe hat man mehrere Möglichkeiten:

Mögliche Fehler

Wird hier etwas anderes eingegeben als eine Ganzzahl, kommt es unweigerlich zu einem Laufzeitfehler.

pascal
var
  i: Integer;
begin
  Read(i);

Dies kann folgendermassen abgefangen werden:

pascal
{$I-} // Das kein Laufzeitfehler geworfen wird.
var
  ior, i: integer;
begin
  repeat
    Read(i);
    ior := IOResult; // Prüfen, ob Eingabe IO.
    if ior <> 0 then begin
      WriteLn('Falsche Eingabe !');
    end;
  until ior = 0;
  WriteLn('Es wurde ', i, ' eingegeben');
end.

Wen man den Fehler nicht abfängt, ist i = 0.

Eingabe umlenken

Normalerweise liest dies von der Konsole ein:

pascal
  ReadLn(s);

von der Konsole einlesen.

Wird die Ausgabe des Projekts folgendermassen umgeleitet:

bash
# Linux
./project1 < text.txt
# Windows/DOS
project1.exe < text.txt

Liest Read/ReadLn von der umgelenkten Datei/Gerät.

Einzelne Zeichen einlesen

Siehe dazu folgende Funktionen in der Unit Crt

Verwendung mit property

pascal
type
  MyClass=class(TObject)
  private
    FColor: Integer;
  published
    property Color : Integer read FColor write FColor; // Hier verwendet.
  end;

Genaueres hier:

Autor: Mathias

Siehe auch

Write / WriteLn - Konsolen - Ausgabe / Schreiben in Datei.


From the Free Pascal wiki, page "ReadLn/de", as it stood on 2020-01-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Version 1, zuletzt geändert von WikiArchive .