Standardroutinen und Eingabe-Ausgabe

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Delphi-Sprachreferenz - Index


Diese Themen behandeln die Text- und Datei-E/A und geben einen Überblick über die Standardbibliotheksroutinen. Viele der hier aufgeführten Prozeduren und Funktionen sind in den Units System und SysInit definiert, die implizit mit jeder Anwendung verwendet werden. Andere Routinen sind im Compiler integriert, werden jedoch so behandelt, als wären sie in der Unit System enthalten.

Einige Standardroutinen befinden sich in Units, wie SysUtils, die in einer uses-Klausel aufgeführt werden müssen, wenn sie in ein Programm eingebunden werden sollen. System darf jedoch nicht in einer uses-Klausel angegeben werden. Außerdem sollten Sie die Unit System weder bearbeiten noch explizit neu compilieren.

Hinweis: In neuen Programmen sollten Sie die Dateiverwaltungsklassen und -funktionen aus den Units System.Classes und System.SysUtils verwenden. System.Classes.TStream und die davon abgeleiteten Klassen werden zur allgemeinen Dateibehandlung in Delphi empfohlen (zugehörige Routinen finden Sie unter Klassen zum Lesen, Schreiben und für Streams). Zur Behandlung von Textdateien werden TStreamReader und TStreamWriter über einen Aufruf von Write und Writeln empfohlen. API-Kategorien - Index enthält eine Liste der entsprechenden Routinen und Klassen.

Hinweis: BlockRead und BlockWrite haben untypisierte Parameter, die zur Speicherfehlern führen können. Beide Methoden hängen von der Einstellung der Datensatzgröße ab, die implizit von einem vorherigen Aufruf von Reset oder Rewrite vorgenommen wurde. Die Verwendung von Streams bietet Programmierern eine größere Flexibilität und Funktionalität.

Dateieingabe- und -ausgabe

Die folgende Tabelle enthält die Ein- und Ausgaberoutinen.

Ein- und Ausgabeprozeduren und -funktionen

Prozedur oder Funktion Beschreibung

Append

Öffnet eine vorhandene Textdatei zum Hinzufügen von Daten.

AssignFile

Weist einer Dateivariable den Namen einer externen Datei zu.

BlockRead

Liest einen oder mehrere Blöcke aus einer untypisierten Datei.

BlockWrite

Schreibt einen oder mehrere Blöcke in eine untypisierte Datei.

ChDir

Wechselt das aktuelle Verzeichnis.

CloseFile

Schließt eine geöffnete Datei.

Eof

Gibt den EOF-Status (End-of-File) einer Datei zurück.

Eoln

Gibt den EOL-Status (End-of-Line) einer Textdatei zurück.

Erase

Löscht eine externe Datei.

FilePos

Gibt die aktuelle Position in einer typisierten oder untypisierten Datei zurück.

FileSize

Gibt die aktuelle Größe einer Datei zurück (nicht für Textdateien).

Flush

Leert den Puffer einer Ausgabetextdatei.

GetDir

Gibt das aktuelle Verzeichnis eines angegebenen Laufwerks zurück.

IOResult

Gibt einen Integerwert zurück, der den Status der zuletzt durchgeführten E/A-Operation angibt.

MkDir

Legt ein Unterverzeichnis an.

Read

Liest einen oder mehrere Werte aus einer Datei in eine oder mehrere Variablen.

Readln

Wie Read, setzt aber anschließend den Dateizeiger an den Anfang der nächsten Zeile der Textdatei.

Rename

Benennt eine externe Datei um.

Reset

Öffnet eine vorhandene Datei.

Rewrite

Erzeugt und öffnet eine neue Datei.

RmDir

Entfernt ein leeres Unterverzeichnis.

Seek

Setzt den Dateizeiger in einer typisierten oder untypisierten Datei auf die angegebene Komponente (nicht bei Textdateien).

SeekEof

Gibt den EOF-Status (End-of-File) einer Textdatei zurück.

SeekEoln

Gibt den EOL-Status (End-of-Line) einer Textdatei zurück.

SetTextBuf

Weist einer Textdatei einen E/A-Puffer zu.

Truncate

Schneidet eine typisierte oder untypisierte Datei an der aktuellen Position ab.

Write

Schreibt einen oder mehrere Werte in eine Datei.

Writeln

Wie Write, schreibt aber anschließend ein Zeilenendezeichen in die Textdatei.


Jede Variable vom Typ File ist eine Dateivariable. Es gibt drei Klassen von Dateien: typisierte Dateien, untypisierte Dateien und Textdateien. Die Syntax für die Deklaration von Dateitypen finden Sie unter "Dateitypen". Beachten Sie bitte, dass Dateitypen nur auf der Win32-Plattform zur Verfügung stehen.

Bevor eine Dateivariable verwendet werden kann, muss sie durch einen Aufruf der Prozedur AssignFile einer externen Datei zugeordnet werden. Eine externe Datei ist entweder eine Datei auf einem Laufwerk oder ein Gerät (beispielsweise die Tastatur oder der Bildschirm). Die externe Datei speichert Informationen oder stellt sie zur Verfügung.

Nachdem die Zuordnung zu einer externen Datei hergestellt wurde, muss die Dateivariable geöffnet werden, um Ein- oder Ausgaben zu ermöglichen. Eine vorhandene Datei kann mit der Prozedur Reset geöffnet werden. Mit der Prozedur Rewrite wird eine neue Datei erzeugt und geöffnet. Textdateien, die mit der Prozedur Reset geöffnet wurden, erlauben nur Lesezugriffe. Textdateien, die mit Rewrite oder Append geöffnet wurden, lassen nur Schreibzugriffe zu. Typisierte und untypisierte Dateien ermöglichen Lese- und Schreibzugriffe, unabhängig davon, ob sie mit Reset oder Rewrite geöffnet wurden.

Jede Datei enthält eine lineare Folge von Komponenten, die alle dem Komponententyp (oder dem Datensatztyp) der Datei entsprechen. Jeder Komponente ist eine Nummer zugeordnet. Die erste Komponente hat die Nummer 0.

Normalerweise erfolgt der Dateizugriff sequenziell, das heißt, beim Lesen einer Komponente mit der Standardprozedur Read oder beim Schreiben mit der Standardprozedur Write wird der Dateizeiger auf die nächste Komponente positioniert. Auf typisierte und untypisierte Dateien können Sie jedoch auch wahlfrei zugreifen, indem Sie die Standardprozedur Seek verwenden, die den Dateizeiger von der aktuellen zur angegebenen Komponente verschiebt. Mit den Standardfunktionen FilePos und FileSize können Sie die aktuelle Position des Dateizeigers und die aktuelle Größe der Datei ermitteln.

Nach der Bearbeitung durch das Programm muss die Datei mit der Standardprozedur CloseFile geschlossen werden. Nach dem Schließen wird die zugehörige externe Datei aktualisiert. Die Dateivariable kann dann einer anderen externen Datei zugeordnet werden.

In der Voreinstellung werden sämtliche Aufrufe von Standard-E/A-Routinen auf Fehler überprüft. Tritt ein Fehler auf, wird eine Exception ausgelöst (bzw. das Programm abgebrochen, falls keine Exception-Behandlung aktiviert ist). Die automatische Überprüfung kann mit Hilfe der Compiler-Direktiven {$I+} und {$I-} aktiviert bzw. deaktiviert werden. Wenn die E/A-Prüfung deaktiviert ist (wenn also eine Routine im Status {$I-} compiliert wird), löst ein E/A-Fehler keine Exception aus. In diesem Fall muss zur Überprüfung des Ergebnisses einer E/A-Operation die Standardfunktion IOResult aufgerufen werden.

IOResult sollte auch dann aufgerufen werden, wenn der aufgetretene Fehler für das Programm nicht weiter von Bedeutung ist. Wenn Sie den Aufruf unterlassen, schlägt der nächste Aufruf einer E/A-Funktion im Status {$I-} fehl.

Textdateien

Dieser Abschnitt behandelt E/A-Operationen mit Dateivariablen vom Standardtyp Text.

Beim Öffnen einer Datei vom Typ Text wird die externe Datei als Folge von Zeichen interpretiert, die in Form von Zeilen vorliegen. Am Ende jeder Zeile steht ein Zeilenendezeichen (EOL, das Zeichen für Wagenrücklauf, eventuell gefolgt vom Zeichen für einen Zeilenvorschub). Der Typ Text unterscheidet sich vom Typ Char.

Für Textdateien gibt es besondere Formen der Prozeduren Read und Write, mit denen Sie Werte lesen und schreiben können, die nicht vom Typ Char sind. Die Werte werden automatisch in ihre Zeichendarstellung übersetzt. Die Prozedur Read(F, I) liest beispielsweise eine Folge von Ziffern, interpretiert sie als dezimale Integerwerte und speichert sie in I (wobei I vom Typ Integer ist).

Es gibt zwei Standard-Textdateivariablen: System.Input und System.Output. System.Input ermöglicht nur Lesezugriffe und ist der Standard-Eingabedatei des Betriebssystems (normalerweise der Tastatur) zugeordnet. System.Output ermöglicht nur Schreibzugriffe und ist der Standard-Ausgabedatei des Betriebssystems (normalerweise dem Bildschirm) zugeordnet. System.Input und System.Output werden vor der Ausführung eines Programms automatisch geöffnet. Dies entspricht der Ausführung folgender Anweisungen:

 AssignFile(Input, );
 Reset(Input);
 AssignFile(Output, );
 Rewrite(Output);

Hinweis: Für Win32-Anwendungen sind textorientierte E/A-Operationen nur in Konsolenanwendungen verfügbar, also in Anwendungen, die entweder mit der Option Konsolenanwendung (Registerkarte Linker im Dialogfeld Projektoptionen) oder mit der Befehlszeilenoption -cc compiliert wurden. In einer GUI-Anwendung verursacht jede Lese- oder Schreiboperation mit System.Input oder System.Output einen E/A-Fehler.

Nicht allen Standard-E/A-Routinen, die mit Textdateien arbeiten, muss explizit eine Dateivariable als Parameter übergeben werden. Wenn der Parameter fehlt, wird standardmäßig System.Input oder System.Output verwendet, je nachdem, ob die Prozedur oder Funktion eingabe- oder ausgabeorientiert ist. Read(X) entspricht beispielsweise Read(Input, X) und Write(X)Write(Output, X).

Eine Datei, die einer Ein- oder Ausgaberoutine für Textdateien übergeben wird, muss zuvor mit AssignFile einer externen Datei zugeordnet und mit Reset, Rewrite oder Append geöffnet werden. Wenn Sie eine mit Reset geöffnete Datei an eine ausgabeorientierte Prozedur oder Funktion übergeben, tritt ein Fehler auf. Gleiches gilt, wenn Sie eine mit Rewrite oder Append geöffnete Datei an eine eingabeorientierte Prozedur übergeben.

Untypisierte Dateien

Untypisierte Dateien sind Low-Level-E/A-Kanäle, die vorrangig für den direkten Zugriff auf Dateien verwendet werden, und zwar unabhängig von deren Typ und Struktur. Eine untypisierte Datei wird nur mit dem Wort file deklariert. Zum Beispiel:

var DataFile: file;

Bei untypisierten Dateien kann den Prozeduren Reset und Rewrite ein Parameter übergeben werden, der die Größe der Blöcke bei Lese- und Schreiboperationen festlegt. Die Standardgröße beträgt aus historischen Gründen 128 Byte. Nur der Wert 1 führt zuverlässig bei jeder beliebigen Datei zur richtigen Größe (ein Block der Größe 1 kann nicht weiter unterteilt werden).

Mit Ausnahme von Read und Write können alle Standardroutinen für typisierte Dateien auch für untypisierte Dateien verwendet werden. Anstelle von Read und Write stehen mit BlockRead und BlockWrite zwei Prozeduren für besonders schnelle Lese- und Schreiboperationen zur Verfügung.

Gerätetreiber für Textdateien

Sie können für Ihre Programme eigene Gerätetreiber für Textdateien definieren. Ein Gerätetreiber für Textdateien besteht aus vier Funktionen, die ein Interface zwischen einem Gerät und dem Dateisystem von Delphi implementieren.

Jeder Gerätetreiber wird durch die Funktionen Open, InOut, Flush und Close definiert. Der Kopf der Funktionen wird folgendermaßen deklariert:

function DeviceFunc(var F: TTextRec): Integer;

DeviceFunc ist der Name der Funktion (d.h. Open, InOut, Flush oder Close). Der Rückgabewert einer Gerätetreiberfunktion ist immer der von IOResult zurückgegebene Wert. Wenn 0 zurückgegeben wird, war die Operation erfolgreich.

Um die Gerätetreiberfunktionen einer bestimmten Datei zuzuordnen, müssen Sie eine eigene Assign-Prozedur schreiben. Diese Prozedur muss den vier Funktionszeigern in der Textdateivariable die Adressen der vier Geräte-Interface-Funktionen zuweisen. Zusätzlich sollte sie dem Feld Mode die Konstante fmClosed, dem Feld BufSize die Größe des Textdateipuffers, dem Feld BufPtr einen Zeiger auf den Textdateipuffer und dem Feld Name einen leeren String zuweisen.

Mit den vier Geräte-Interface-Funktionen DevOpen, DevInOut, DevFlush und DevClose könnte die Prozedur Assign beispielsweise wie folgt aussehen:

procedure AssignDev(var F: Text);
  begin
   with TTextRec(F) do
   begin
    Mode := fmClosed;
    BufSize := SizeOf(Buffer);
    BufPtr := @Buffer;
    OpenFunc := @DevOpen;
    InOutFunc := @DevInOut;
    FlushFunc := @DevFlush;
    CloseFunc := @DevClose;
    CodePage := DefaultSystemCodePage;
    Name[0] := #0;
   end;
  end;

Das Feld CodePage muss auf DefaultSystemCodePage für die von der RTL zu verwendede Geräte-Interface-Funktionen gesetzt werden. Falls erforderlich müssen diese Geräte-Interface-Funktionen jedes beliebige Sonderzeichen verarbeiten.

Die Geräte-Interface-Funktionen können das Feld UserData im Datei-Record zum Speichern interner Informationen verwenden, da dieses Feld vom produktspezifischen Dateisystem nie geändert wird.

Die Funktion Open

Die Funktion Open wird von den Standardprozeduren Reset, Rewrite und Append zum Öffnen von Textdateien verwendet, die einem Gerät zugeordnet sind. Beim Eintritt enthält das Feld Mode entweder fmInput, fmOutput oder fmInOut und gibt dadurch an, ob die Funktion Open von Reset, Rewrite oder Append aufgerufen wurde.

Open bereitet die Datei entsprechend dem Wert von Mode für die Ein- oder Ausgabe vor. Wenn Mode fmInOut ist (und damit angibt, dass Open von Append aufgerufen wurde), muss es in fmOutput geändert werden, bevor Open zurückkehrt.

Die Funktion Open wird immer vor allen anderen Geräte-Interface-Funktionen aufgerufen. Aus diesem Grund initialisiert AssignDev nur das Feld OpenFunc und überlässt die Initialisierung der restlichen Felder der Funktion Open. Je nach dem Wert von Mode kann Open dann Zeiger für die ein- oder ausgabeorientierten Funktionen installieren. Die Funktionen InOut und Flush und die Prozedur CloseFile müssen also den aktuellen Modus nicht ermitteln.

Die Funktion InOut

Die Funktion InOut wird von den Standardroutinen Read, Readln, Write, Writeln, Eof, Eoln, SeekEof, SeekEoln und CloseFile aufgerufen, wenn eine Ein- oder Ausgabe des Geräts erforderlich ist.

Wenn Mode fmInput ist, liest die Funktion InOut bis zu BufSize Zeichen in BufPtr^ ein und gibt die Anzahl der gelesenen Zeichen in BufEnd zurück. Außerdem wird BufPos der Wert 0 zugewiesen. Wenn die Funktion InOut als Ergebnis einer Eingabeaufforderung in BufEnd den Wert 0 zurückgibt, ist Eof für diese Datei True.

Wenn Mode fmOutput ist, schreibt die Funktion InOutBufPos Zeichen aus BufPtr^ und gibt in BufPos Null zurück.

Die Funktion Flush

Die Funktion Flush wird nach jedem Read, Readln, Write und Writeln aufgerufen. Sie leert optional den Textdateipuffer.

Wenn Mode fmInput ist, kann die Funktion FlushBufPos und BufEnd Null zuweisen, um die verbleibenden (nicht gelesenen) Zeichen im Puffer zu löschen. Diese Möglichkeit wird aber nur selten verwendet.

Wenn Mode fmOutput ist, kann Flush wie die Funktion InOut den Inhalt des Puffers schreiben. Dadurch wird sichergestellt, dass der geschriebene Text sofort angezeigt wird. Führt Flush keine Aktion durch, wird der Text erst dann auf dem Gerät angezeigt, wenn der Puffer voll ist oder die Datei geschlossen wird.

Die Funktion Close

Die Funktion Close wird von der Standardprozedur CloseFile aufgerufen. Sie schließt eine Textdatei, die einem Gerät zugeordnet ist. Die Prozeduren Reset, Rewrite und Append rufen Close ebenfalls auf, wenn die zu öffnende Datei bereits geöffnet ist. Wenn Mode auf fmOutput ist, ruft das Dateisystem vor dem Aufruf von Close die Funktion InOut auf, um sicherzustellen, dass alle Zeichen auf das Gerät geschrieben wurden.

Nullterminierte Strings

Aufgrund der erweiterten Syntax von Delphi können die Standardprozeduren Read, Readln, Str und Val mit nullbasierten Zeichen-Arrays und die Standardprozeduren Write, Writeln, Val, AssignFile und Rename sowohl mit nullbasierten Zeichen-Arrays als auch mit Zeichenzeigern umgehen.

Funktionen für nullterminierte Strings

Die folgenden Funktionen zur Bearbeitung nullterminierter Strings stehen zur Verfügung.

Funktionen für nullterminierte Strings

Funktionen Beschreibung

StrAlloc

Reserviert auf dem Heap einen Zeichenpuffer der angegebenen Größe.

StrBufSize

Gibt die Größe eines Zeichenpuffers zurück, der mit StrAlloc oder StrNew angelegt wurde.

StrCat

Verkettet zwei Strings.

StrComp

Vergleicht zwei Strings.

StrCopy

Kopiert einen String.

StrDispose

Gibt einen Zeichenpuffer frei, der mit StrAlloc oder StrNew angelegt wurde.

StrECopy

Kopiert einen String und gibt einen Zeiger auf das Ende des Strings zurück.

StrEnd

Gibt einen Zeiger auf das Ende eines Strings zurück.

StrFmt

Formatiert einen oder mehrere Werte in einem String.

StrIComp

Vergleicht zwei Strings ohne Berücksichtigung der Groß-/Kleinschreibung.

StrLCat

Verkettet zwei Strings bei vorgegebener Maximallänge des Ergebnis-Strings.

StrLComp

Vergleicht die vorgegebene Maximallänge zweier Strings.

StrLCopy

Kopiert einen String bis zu einer vorgegebenen Maximallänge.

StrLen

Gibt die Länge eines Strings zurück.

StrFmt

Formatiert einen oder mehrere Werte in einem String mit vorgegebener Maximallänge.

StrLIComp

Vergleicht die Länge von zwei Strings ohne Berücksichtigung der Groß-/Kleinschreibung.

StrLower

Wandelt einen String in Kleinbuchstaben um.

StrMove

Verschiebt einen Zeichenblock aus einem String in einen anderen.

StrNew

Weist auf dem Heap Speicherplatz für einen String zu.

StrPCopy

Kopiert einen Pascal-String in einen nullterminierten String.

StrPLCopy

Kopiert einen Pascal-String in einen nullterminierten String mit vorgegebener Länge.

StrPos

Gibt einen Zeiger auf das erste Vorkommen eines bestimmten Teilstrings innerhalb eines Strings zurück.

StrRScan

Gibt einen Zeiger auf das letzte Vorkommen eines bestimmten Zeichens innerhalb eines Strings zurück.

StrScan

Gibt einen Zeiger auf das erste Vorkommen eines bestimmten Zeichens innerhalb eines Strings zurück.

StrUpper

Wandelt einen String in Großbuchstaben um.


Für die Standardfunktionen zur String-Bearbeitung gibt es jeweils Gegenstücke, die Multibyte-Zeichensätze unterstützen und die sprachspezifische Sortierfolge für Zeichen implementieren. Die Namen der Multibyte-Funktionen beginnen mit Ansi. So ist AnsiStrPos beispielsweise die Multibyte-Version von StrPos. Die Unterstützung von Multibyte-Zeichen ist betriebssystemabhängig und basiert auf dem verwendeten Gebietsschema.

Wide-Zeichen-Strings

Die Unit System stellt drei Funktionen zur Verfügung, die zur Umwandlung von nullterminierten Wide-Zeichen-Strings in lange Einzel- oder Doppelbyte-Strings verwendet werden können: WideCharToString, WideCharLenToString und StringToWideChar.

Durch Zuweisung kann ebenfalls zwischen Strings konvertiert werden. So sind beispielsweise die folgenden beiden Anweisungen gültig:

MyAnsiString := MyWideString;
MyWideString := MyAnsiString;

Weitere Standardroutinen

In der folgenden Tabelle finden Sie einige (aber nicht alle) der gebräuchlichsten Prozeduren und Funktionen aus den Produktbibliotheken.

Weitere Standardroutinen

Prozedur oder Funktion Beschreibung

Addr

Gibt einen Zeiger auf ein angegebenes Objekt zurück.

AllocMem

Weist einen Speicherblock zu und initialisiert jedes Byte mit Null.

ArcTan

Berechnet den Arkustangens der angegebenen Zahl.

Assert

Löst eine Exception aus, wenn der übergebene Ausdruck nicht zu True ausgewertet werden kann.

Assigned

Überprüft einen Zeiger oder eine prozedurale Variable auf nil (nicht zugewiesen).

Beep

Generiert einen Standard-Signalton.

Break

Beendet eine for-, while- oder repeat-Anweisung vorzeitig.

ByteToCharIndex

Gibt die Position eines Zeichens in einem String zurück, das ein bestimmtes Byte enthält.

Chr

Gibt das Zeichen mit dem angegebenen Integerwert zurück.

Close

Schließt eine Datei.

CompareMem

Führt einen binären Vergleich zweier Speicherabbilder durch.

CompareStr

Vergleicht Strings unter Berücksichtigung der Groß-/Kleinschreibung.

CompareText

Vergleicht Strings auf der Grundlage ihrer Ordinalwerte ohne Berücksichtigung der Groß-/Kleinschreibung.

Continue

Führt die nächste Iteration einer for-, while- oder repeat-Anweisung aus.

Copy

Gibt einen Teilstring eines Strings oder ein Segment eines dynamischen Arrays zurück.

Cos

Berechnet den Kosinus eines Winkels.

CurrToStr

Konvertiert einen Währungswert in einen String.

Date

Gibt das aktuelle Datum zurück.

DateTimeToStr

Konvertiert eine Variable des Typs TDateTime in einen String.

DateToStr

Konvertiert eine Variable des Typs TDateTime in einen String.

Dec

Dekrementiert eine ordinale Variable oder eine typisierte Zeigervariable.

Dispose

Gibt dynamisch zugewiesenen Variablenspeicher frei.

ExceptAddr

Gibt die Adresse zurück, an der die aktuelle Exception ausgelöst wurde.

Exit

Beendet die aktuelle Prozedur.

Exp

Berechnet den Exponenten von X.

FillChar

Füllt einen Block aufeinander folgender Bytes mit einem bestimmten Wert.

Finalize

Deinitialisiert eine dynamisch zugewiesene Variable.

FloatToStr

Konvertiert eine Gleitkommazahl in einen String-Wert.

FloatToStrF

Konvertiert einen Gleitkommawert in einen String mit einem bestimmten Format.

FmtLoadStr

Gibt eine formatierte Ausgabe für einen bestimmten String zurück.

FmtStr

Gibt einen formatierten String zurück, der aus einer Reihe von Array-Argumenten gebildet wird.

Format

Gibt einen formatierten String zurück, der aus einem Format-String und einer Reihe von Array-Argumenten gebildet wird.

FormatDateTime

Formatiert einen Datums-/Zeitwert.

FormatFloat

Formatiert einen Gleitkommawert.

FreeMem

Gibt zugewiesenen Speicher frei.

GetMem

Weist dynamischen Speicher und einen Zeiger auf die Adresse des Blocks zu.

Halt

Bricht ein Programm ab.

Hi

Gibt das höherwertige Byte eines Ausdrucks als vorzeichenlosen Wert zurück.

High

Gibt den höchsten Wert im Bereich eines Typs, Arrays oder Strings zurück.

Inc

Inkrementiert eine ordinale Variable oder eine typisierte Zeigervariable.

Initialize

Deinitialisiert eine dynamisch zugewiesene Variable.

Insert

Fügt einen Teilstring an der angegebenen Position in einen String ein.

Int

Gibt den ganzzahligen Anteil einer reellen Zahl zurück.

IntToStr

Konvertiert einen Integerwert in einen String.

Length

Gibt die Länge eines Strings oder die Größe eines Arrays zurück.

Lo

Gibt das niederwertige Byte eines Ausdrucks als vorzeichenlosen Wert zurück.

Low

Gibt den niedrigsten Wert im Bereich eines Typs, Arrays oder Strings zurück.

LowerCase

Wandelt einen ASCII-String in Kleinbuchstaben um.

MaxIntValue

Gibt den größten vorzeichenbehafteten Wert in einem Integer-Array zurück.

MaxValue

Gibt den größten vorzeichenbehafteten Wert in einem Array zurück.

MinIntValue

Gibt den kleinsten vorzeichenbehafteten Wert eines Integer-Arrays zurück.

MinValue

Gibt den kleinsten vorzeichenbehafteten Wert eines Arrays zurück.

New

Erzeugt einen dynamisch zugewiesenen Variablenspeicher und referenziert diesen über den angegebenen Zeiger.

Now

Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück.

Ord

Gibt den ordinalen Integerwert eines Ausdrucks mit ordinalem Typ zurück.

Pos

Gibt den Index des ersten Einzelbyte-Zeichens eines angegebenen Teilstrings innerhalb eines Strings zurück.

Pred

Gibt den Vorgänger eines ordinalen Wertes zurück.

Ptr

Konvertiert einen Wert in einen Zeiger.

Random

Erzeugt Zufallszahlen in einem bestimmten Bereich.

ReallocMem

Weist einen dynamisch zuweisbaren Speicher neu zu.

Round

Rundet eine reelle Zahl auf die nächste ganze Zahl.

SetLength

Legt die dynamische Länge einer String-Variable oder eines Arrays fest.

SetString

Setzt den Inhalt und die Länge eines Strings.

ShowException

Zeigt eine Exception-Meldung und ihre physikalische Adresse an.

ShowMessage

Zeigt ein Meldungsfenster mit einem unformatierten String und der Schaltfläche OK an.

ShowMessageFmt

Zeigt ein Meldungsfenster mit einem formatierten String und der Schaltfläche OK an.

Sin

Gibt den Sinus eines Winkels zurück.

SizeOf

Gibt die Anzahl der von einer Variable oder einem Typ belegten Bytes zurück.

Slice

Gibt einen Teilbereich eines Arrays zurück.

Sqr

Gibt das Quadrat einer Zahl zurück.

Sqrt

Gibt die Quadratwurzel einer Zahl zurück.

Str

Konvertiert einen Integer- oder Real-Wert in einen String.

StrToCurr

Konvertiert einen String in einen Währungswert.

StrToDate

Konvertiert einen String in einen Datumswert (TDateTime-Objekt).

StrToDateTime

Konvertiert einen String in einen TDateTime-Wert.

StrToFloat

Konvertiert einen String in einen Gleitkommawert.

StrUpper

Konvertiert einen String in einen Integerwert.

StrToTime

Konvertiert einen String in ein TDateTime-Objekt.

StrUpper

Gibt einen ASCII-String in Großbuchstaben zurück.

Succ

Gibt den Nachfolger einer Ordinalzahl zurück.

Sum

Konvertiert eine Variable des Typs TDateTime in einen String.

Time

Gibt die aktuelle Uhrzeit zurück.

TimeToStr

Konvertiert eine Variable des Typs TDateTime in einen String.

Trunc

Konvertiert eine reelle Zahl in einen Integerwert.

UniqueString

Stellt sicher, dass ein String nur eine Referenz hat (der String kann kopiert werden, um eine einzelne Referenz zu erzeugen).

Upcase

Wandelt ein Zeichen in einen Großbuchstaben um.

UpperCase

Gibt einen String in Großbuchstaben zurück.

VarArrayCreate

Erstellt ein variantes Array.

VarArrayDimCount

Gibt die Anzahl der Dimensionen eines varianten Arrays zurück.

VarArrayHighBound

Gibt die Obergrenze einer Dimension in einem varianten Array zurück.

VarArrayLock

Sperrt ein variantes Array und gibt einen Zeiger auf die Daten zurück.

VarArrayLowBound

Gibt die Untergrenze einer Dimension in einem varianten Array zurück.

VarArrayOf

Erstellt und füllt ein eindimensionales, variantes Array.

VarArrayRedim

Ändert die Größe eines varianten Arrays.

VarArrayRef

Gibt eine Referenz auf das übergebene variante Array zurück.

VarArrayUnlock

Entsperrt ein variantes Array.

VarAsType

Konvertiert eine Variante in den angegebenen Typ.

VarCast

Konvertiert eine Variante in den angegebenen Typ und speichert das Ergebnis in einer Variable.

VarClear

Leert eine Variante.

VarCopy

Kopiert eine Variante.

Siehe auch