Write/de

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) русский (ru)

Zurück zu den reservierten Wörtern.

Write / WriteLn

Vorwort

Der Befehl Write/WriteLn wird angewandt.

  • Konsolen-Ausgabe.
  • Schreiben in Datei/Gerät.
  • Bei property bei Classen (nur Write).

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

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.

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

Formatierte Ausgabe

Write(Value: Anzahl_zeichen);
WriteLn(Value: Anzahl_zeichen);
// Bei Float-Typen
Write(Value: Anzahl_zeichen: Stellen_Nachkomma);
WriteLn(Value: Anzahl_zeichen: Stellen_Nachkomma);
Light bulb  Hinweis: Bei Float-Typen muss beachtet werden, das immer ein Punkt als Dezimaltrenner ausgegeben wird, egal wie die Ländereinstellungen des OS eingestellt sind.
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:

Eine Woche hat 7 Tage.
         1
        12
       123

   1.10000
  12.12000
 123.12300
          Hallo

Exoten

Auf der Konsole kann man auch so etwas ausgeben:

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

Ausgabe:

gruen

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

Ausgabe umlenken

Normalerweise schreibt dies auf die Konsole:

  WriteLn('Hello World');

Wird die Ausgabe des Projekts folgendermassen umgeleitet:

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

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

Light bulb  Hinweis: 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

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

Genaueres hier:

  • Ton-Ausgabe ( OS abhängig ).

Autor: Mathias