Sign in Join
Wiki copytemporary

Revision 1 of 1, by Trev on 1-15-2020. The page as it is now.

Write/de

Zurück zu den reservierten Wörtern.

Write / WriteLn

Vorwort

Der Befehl Write/WriteLn wird angewandt.

Die beiden Befehle Write und WriteLn sind sehr verwandt, der Unterschied, WriteLn führt am Ende noch einen Zeilenumbruch aus. Wobei man WriteLn nur bei Text-Dateien und Konsolenausgabe verwenden kann.

Schreiben in Datei

pascal
Write(f, Datensatz);    // schreibt einen Datensatz in eine Datei.
// oder
WriteLn(f, Datensatz);  // nur Bei Text-Dateien möglich.

Genaueres hier:

Konsole / Text-Dateien

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

Mehrere Argumente

Es sind mehrere Argumente in Write/WriteLn möglich.

pascal
Write('Eine Woche hat ', 7, ' Tage.', LineEnding);
// oder
WriteLn('Eine Woche hat ', 7, ' Tage.');

Formatierte Ausgabe

pascal
Write(Value: Anzahl_zeichen);
WriteLn(Value: Anzahl_zeichen);
// Bei Float-Typen
Write(Value: Anzahl_zeichen: Stellen_Nachkomma);
WriteLn(Value: Anzahl_zeichen: Stellen_Nachkomma);

Note: Bei Float-Typen muss beachtet werden, das immer ein Punkt als Dezimaltrenner ausgegeben wird, egal wie die Ländereinstellungen des OS eingestellt sind.

pascal
WriteLn(  1: 10);
WriteLn( 12: 10);
WriteLn(123: 10);

// Anstelle von LineEnding am Ende, verwendet man besser WriteLn.
WriteLn; // Zeilenumbruch
WriteLn(  1.1  : 10: 5);
WriteLn( 12.12 : 10: 5);
WriteLn(123.123: 10: 5);

// Auch String kann man formatieren
WriteLn('Hallo': 15);

Ausgabe:

pascal
Eine Woche hat 7 Tage.
         1
        12
       123
pascal
1\.10000
pascal
12\.12000
pascal
123\.12300
         Hallo

Exoten

Auf der Konsole kann man auch so etwas ausgeben:

pascal
var
  Farbe: (rot, gruen, blau);
begin
  Farbe := gruen;
  WriteLn(Farbe);

Ausgabe:

pascal
gruen

Achtung: Wen man Farbe nichts zuordnet, kommt es zu einem Laufzeitfehler.

Ausgabe umlenken

Normalerweise schreibt dies auf die Konsole:

pascal
  WriteLn('Hello World');

Wird die Ausgabe des Projekts folgendermassen umgeleitet:

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

Schreibt Write/WriteLn in die umgelenkte Datei/Gerät.

Note: Verwendet man die Unit Crt dann verhält sich das Ganze je nach OS etwas anders.

Unit Crt

Wen man die Unit Crt einbindet, wird die Ausgabe von Write/WriteLn beeinflusst. ZB. ist damit farbige Textausgabe möglich, auch kann man den Cursor positionieren.

Unter MS-DOS kann man damit zB. einen merklichen Geschwindigkeitszuwachs feststellen.

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


From the Free Pascal wiki, page "Write/de", as it stood on 2020-01-15 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.