System.Write

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure Write([var F: File]; P1; [ ..., PN]); overload;
procedure Write([var F: File]; P1; [ ..., PN]); overload;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure public System.pas System System

Beschreibung

Schreibt in eine typisierte Datei oder in eine Textdatei.

Die hier dargestellte Syntax der Prozedur Write zeigt, dass Write eine variable Anzahl von Argumenten übernehmen kann.

Write-Prozedur für typisierte Dateien

In Delphi-Code schreibt Write eine Datei in eine Dateikomponente. F ist eine Dateivariable, und jedes V ist eine Variable mit demselben Typ wie der Komponententyp von F. Für jede geschriebene Variable wird die aktuelle Dateiposition auf die nächste Komponente gesetzt. Wenn die aktuelle Dateiposition das Dateiende ist (d.h. wenn Eof(F) True ist), wird die Datei erweitert.

Write-Prozedur für Textdateien

In Delphi-Code schreibt Write einen oder mehrere Werte in eine Datei. Wenn angegeben, ist F eine Textdateivariable. Fehlt der Parameter F, wird die Standard-Dateivariable Output verwendet. Jedes P ist ein Schreibparameter. Jeder Schreibparameter enthält einen Ausgabeausdruck, dessen Wert in die Datei geschrieben werden soll. Ein Schreibparameter kann auch die Feldbreite und die Anzahl an Dezimalstellen enthalten. Jeder Ausgabeausdruck muss ein Char-Typ, ein Integer-Typ (Byte, Shortint, Word, Longint, Cardinal), ein Gleitkommatyp (Single, Real, Double, Extended, Currency), ein String-Typ (PChar, AnsiString, ShortString), ein gepackter String oder ein Boolean-Typ (Boolean, Bool) sein.

Ein Schreibparameter hat die folgende Form:

OutExpr [: MinWidth [: DecPlaces ] ]

OutExpr ist ein Ausgabeausdruck.

MinWidth und DecPlaces sind Integer-Ausdrücke:

  • MinWidth gibt die minimale Feldbreite an, die größer als 0 sein muss. Es werden genau MinWidth Zeichen (mit führenden Leerzeichen, falls erforderlich) geschrieben, außer wenn OutExpr einen Wert hat, der in mehr als MinWidth Zeichen dargestellt werden muss. In diesem Fall werden die für OutExpr erforderlichen Zeichen geschrieben. Ebenso wird, wenn MinWidth weggelassen wird, die für die Darstellung des Wertes von OutExpr erforderliche Zeichenanzahl geschrieben.
  • DecPlaces gibt die Anzahl der Dezimalstellen in einer Festkomma-Darstellung eines der Real-Typen an. DecPlaces kann nur angegeben werden, wenn OutExpr ein Real-Typ ist und MinWidth ebenfalls angegeben ist. Wenn MinWidth angegeben wird, muss es größer oder gleich 0 sein.

Write mit einem Zeichentypwert: Wird MinWidth weggelassen, wird der Zeichenwert von OutExpr in die Datei geschrieben. Ansonsten werden MinWidth - 1 Leerzeichen gefolgt von dem Zeichenwert von OutExpr geschrieben.

Write mit einem der Integer-Typwerte: Wird MinWidth weggelassen, wird die dezimale Darstellung von OutExpr ohne führende Leerzeichen in die Datei geschrieben. Wenn MinWidth angegeben wird und dieser Wert größer als die Länge des Dezimalstrings ist, werden so viele Leerzeichen vor dem Dezimalstring eingefügt bis das Feld die Breite MinWidth hat.

Write mit einem der Real-Typwerte: Wenn OutExpr einen der Real-Typwerte hat, wird die dezimale Darstellung davon in die Datei geschrieben. Das Format der Darstellung hängt vom Vorhandensein von DecPlaces ab. Wenn DecPlaces weggelassen wird (oder wenn es vorhanden ist, aber einen negativen Wert hat), wird ein Gleitkomma-Dezimalstring geschrieben. Wird MinWidth auch weggelassen, wird für MinWidth der Standardwert 17 angenommen. Wenn MinWidth kleiner als 8 ist, wird 8 angenommen. Das Format des Gleitkommastrings lautet:

[   | - ] <digit> . <decimals> E [ + | - ] <exponent>

Die folgende Tabelle enthält die Komponenten des Ausgabestrings.


Komponente Bedeutung

[   | - ]

" “ oder “-”l, entsprechend dem Vorzeichen von OutExpr

<Ziffer>

Einzelne Ziffer, “0” nur wenn OutExpr 0 ist

<Dezimalstellen>

Ziffernstring mit MinWidth - 7 (aber höchstens 10) Ziffern

E

Zeichen [E] als Großbuchstabe

[ + | - ]

Entsprechend dem Vorzeichen des Exponenten

<Exponent>

Zweiziffriger Dezimalexponent


Wenn DecPlaces vorhanden ist, wird ein Festkomma-Dezimalstring geschrieben. Wenn DecPlaces größer als 216 ist, wird 216 angenommen. Das Format des Festkommastrings lautet:

[<blanks>] [ - ] <digits> [.<decimals>]


Hinweis: Die tatsächliche Genauigkeit von Real-Typen ist kleiner als 216 Ziffern. Der Double-Typ hat ungefähr 16 Dezimalstellen, und der Single-Typ ungefähr 8. Die Delphi-RTL füllt diese zusätzlichen Genauigkeitsfelder mit '0'-Zeichen auf. Zum Beispiel zeigt:

writeln(Pi:1:20);

Folgendes an:

3.14159265358979312000


Die folgende Tabelle enthält die Komponenten des Festkommastrings:


Komponente Bedeutung

[<Leerzeichen>]

Leerzeichen bis MinWidth erreicht ist

[-]

Wenn OutExpr negativ ist

<Ziffern>

Mindestens eine Ziffer, aber keine führenden Nullen

[.<Dezimalstellen>]

Dezimalstellen, wenn DecPlaces > 0


Write mit einem der String-Typwerte: Wird MinWidth weggelassen, wird der Stringwert von OutExpr ohne führende Leerzeichen in die Datei geschrieben. Wird MinWidth angegeben und dieser Wert größer als die Länge von OutExpr ist, werden so viele Leerzeichen vor dem Dezimalstring eingefügt bis das Feld die Breite MinWidth hat.

Write mit einem gepackten String-Typwert: Wenn OutExpr ein gepackter Stringtyp ist, wird ein String geschrieben, dessen Länge der Anzahl der Elemente in dem gepackten Stringtyp entspricht.

Write mit einem der Boolean-Typwerte: Wenn OutExpr ein Boolean-Typ ist, wird abhängig vom Wert von OutExpr True oder False geschrieben.

Hinweis: Für die Verwendung von Write muss die Datei für die Ausgabe geöffnet sein.

Siehe auch

Codebeispiele