Standardroutinen und Eingabe-Ausgabe
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.
Inhaltsverzeichnis
Dateieingabe- und -ausgabe
Die folgende Tabelle enthält die Ein- und Ausgaberoutinen.
Ein- und Ausgabeprozeduren und -funktionen
Prozedur oder Funktion | Beschreibung |
---|---|
Öffnet eine vorhandene Textdatei zum Hinzufügen von Daten. | |
Weist einer Dateivariable den Namen einer externen Datei zu. | |
Liest einen oder mehrere Blöcke aus einer untypisierten Datei. | |
Schreibt einen oder mehrere Blöcke in eine untypisierte Datei. | |
Wechselt das aktuelle Verzeichnis. | |
Schließt eine geöffnete Datei. | |
Gibt den EOF-Status (End-of-File) einer Datei zurück. | |
Gibt den EOL-Status (End-of-Line) einer Textdatei zurück. | |
Löscht eine externe Datei. | |
Gibt die aktuelle Position in einer typisierten oder untypisierten Datei zurück. | |
Gibt die aktuelle Größe einer Datei zurück (nicht für Textdateien). | |
Leert den Puffer einer Ausgabetextdatei. | |
Gibt das aktuelle Verzeichnis eines angegebenen Laufwerks zurück. | |
Gibt einen Integerwert zurück, der den Status der zuletzt durchgeführten E/A-Operation angibt. | |
Legt ein Unterverzeichnis an. | |
Liest einen oder mehrere Werte aus einer Datei in eine oder mehrere Variablen. | |
Wie Read, setzt aber anschließend den Dateizeiger an den Anfang der nächsten Zeile der Textdatei. | |
Benennt eine externe Datei um. | |
Öffnet eine vorhandene Datei. | |
Erzeugt und öffnet eine neue Datei. | |
Entfernt ein leeres Unterverzeichnis. | |
Setzt den Dateizeiger in einer typisierten oder untypisierten Datei auf die angegebene Komponente (nicht bei Textdateien). | |
Gibt den EOF-Status (End-of-File) einer Textdatei zurück. | |
Gibt den EOL-Status (End-of-Line) einer Textdatei zurück. | |
Weist einer Textdatei einen E/A-Puffer zu. | |
Schneidet eine typisierte oder untypisierte Datei an der aktuellen Position ab. | |
Schreibt einen oder mehrere Werte in eine Datei. | |
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 |
---|---|
Reserviert auf dem Heap einen Zeichenpuffer der angegebenen Größe. | |
Gibt die Größe eines Zeichenpuffers zurück, der mit StrAlloc oder StrNew angelegt wurde. | |
Verkettet zwei Strings. | |
Vergleicht zwei Strings. | |
Kopiert einen String. | |
Gibt einen Zeichenpuffer frei, der mit StrAlloc oder StrNew angelegt wurde. | |
Kopiert einen String und gibt einen Zeiger auf das Ende des Strings zurück. | |
Gibt einen Zeiger auf das Ende eines Strings zurück. | |
Formatiert einen oder mehrere Werte in einem String. | |
Vergleicht zwei Strings ohne Berücksichtigung der Groß-/Kleinschreibung. | |
Verkettet zwei Strings bei vorgegebener Maximallänge des Ergebnis-Strings. | |
Vergleicht die vorgegebene Maximallänge zweier Strings. | |
Kopiert einen String bis zu einer vorgegebenen Maximallänge. | |
Gibt die Länge eines Strings zurück. | |
Formatiert einen oder mehrere Werte in einem String mit vorgegebener Maximallänge. | |
Vergleicht die Länge von zwei Strings ohne Berücksichtigung der Groß-/Kleinschreibung. | |
Wandelt einen String in Kleinbuchstaben um. | |
Verschiebt einen Zeichenblock aus einem String in einen anderen. | |
Weist auf dem Heap Speicherplatz für einen String zu. | |
Kopiert einen Pascal-String in einen nullterminierten String. | |
Kopiert einen Pascal-String in einen nullterminierten String mit vorgegebener Länge. | |
Gibt einen Zeiger auf das erste Vorkommen eines bestimmten Teilstrings innerhalb eines Strings zurück. | |
Gibt einen Zeiger auf das letzte Vorkommen eines bestimmten Zeichens innerhalb eines Strings zurück. | |
Gibt einen Zeiger auf das erste Vorkommen eines bestimmten Zeichens innerhalb eines Strings zurück. | |
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 |
---|---|
Gibt einen Zeiger auf ein angegebenes Objekt zurück. | |
Weist einen Speicherblock zu und initialisiert jedes Byte mit Null. | |
Berechnet den Arkustangens der angegebenen Zahl. | |
Löst eine Exception aus, wenn der übergebene Ausdruck nicht zu True ausgewertet werden kann. | |
Überprüft einen Zeiger oder eine prozedurale Variable auf nil (nicht zugewiesen). | |
Generiert einen Standard-Signalton. | |
Beendet eine for-, while- oder repeat-Anweisung vorzeitig. | |
Gibt die Position eines Zeichens in einem String zurück, das ein bestimmtes Byte enthält. | |
Gibt das Zeichen mit dem angegebenen Integerwert zurück. | |
Schließt eine Datei. | |
Führt einen binären Vergleich zweier Speicherabbilder durch. | |
Vergleicht Strings unter Berücksichtigung der Groß-/Kleinschreibung. | |
Vergleicht Strings auf der Grundlage ihrer Ordinalwerte ohne Berücksichtigung der Groß-/Kleinschreibung. | |
Führt die nächste Iteration einer for-, while- oder repeat-Anweisung aus. | |
Gibt einen Teilstring eines Strings oder ein Segment eines dynamischen Arrays zurück. | |
Berechnet den Kosinus eines Winkels. | |
Konvertiert einen Währungswert in einen String. | |
Gibt das aktuelle Datum zurück. | |
Konvertiert eine Variable des Typs TDateTime in einen String. | |
Konvertiert eine Variable des Typs TDateTime in einen String. | |
Dekrementiert eine ordinale Variable oder eine typisierte Zeigervariable. | |
Gibt dynamisch zugewiesenen Variablenspeicher frei. | |
Gibt die Adresse zurück, an der die aktuelle Exception ausgelöst wurde. | |
Beendet die aktuelle Prozedur. | |
Berechnet den Exponenten von X. | |
Füllt einen Block aufeinander folgender Bytes mit einem bestimmten Wert. | |
Deinitialisiert eine dynamisch zugewiesene Variable. | |
Konvertiert eine Gleitkommazahl in einen String-Wert. | |
Konvertiert einen Gleitkommawert in einen String mit einem bestimmten Format. | |
Gibt eine formatierte Ausgabe für einen bestimmten String zurück. | |
Gibt einen formatierten String zurück, der aus einer Reihe von Array-Argumenten gebildet wird. | |
Gibt einen formatierten String zurück, der aus einem Format-String und einer Reihe von Array-Argumenten gebildet wird. | |
Formatiert einen Datums-/Zeitwert. | |
Formatiert einen Gleitkommawert. | |
Gibt zugewiesenen Speicher frei. | |
Weist dynamischen Speicher und einen Zeiger auf die Adresse des Blocks zu. | |
Bricht ein Programm ab. | |
Gibt das höherwertige Byte eines Ausdrucks als vorzeichenlosen Wert zurück. | |
Gibt den höchsten Wert im Bereich eines Typs, Arrays oder Strings zurück. | |
Inkrementiert eine ordinale Variable oder eine typisierte Zeigervariable. | |
Deinitialisiert eine dynamisch zugewiesene Variable. | |
Fügt einen Teilstring an der angegebenen Position in einen String ein. | |
Gibt den ganzzahligen Anteil einer reellen Zahl zurück. | |
Konvertiert einen Integerwert in einen String. | |
Gibt die Länge eines Strings oder die Größe eines Arrays zurück. | |
Gibt das niederwertige Byte eines Ausdrucks als vorzeichenlosen Wert zurück. | |
Gibt den niedrigsten Wert im Bereich eines Typs, Arrays oder Strings zurück. | |
Wandelt einen ASCII-String in Kleinbuchstaben um. | |
Gibt den größten vorzeichenbehafteten Wert in einem Integer-Array zurück. | |
Gibt den größten vorzeichenbehafteten Wert in einem Array zurück. | |
Gibt den kleinsten vorzeichenbehafteten Wert eines Integer-Arrays zurück. | |
Gibt den kleinsten vorzeichenbehafteten Wert eines Arrays zurück. | |
Erzeugt einen dynamisch zugewiesenen Variablenspeicher und referenziert diesen über den angegebenen Zeiger. | |
Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück. | |
Gibt den ordinalen Integerwert eines Ausdrucks mit ordinalem Typ zurück. | |
Gibt den Index des ersten Einzelbyte-Zeichens eines angegebenen Teilstrings innerhalb eines Strings zurück. | |
Gibt den Vorgänger eines ordinalen Wertes zurück. | |
Konvertiert einen Wert in einen Zeiger. | |
Erzeugt Zufallszahlen in einem bestimmten Bereich. | |
Weist einen dynamisch zuweisbaren Speicher neu zu. | |
Rundet eine reelle Zahl auf die nächste ganze Zahl. | |
Legt die dynamische Länge einer String-Variable oder eines Arrays fest. | |
Setzt den Inhalt und die Länge eines Strings. | |
Zeigt eine Exception-Meldung und ihre physikalische Adresse an. | |
Zeigt ein Meldungsfenster mit einem unformatierten String und der Schaltfläche OK an. | |
Zeigt ein Meldungsfenster mit einem formatierten String und der Schaltfläche OK an. | |
Gibt den Sinus eines Winkels zurück. | |
Gibt die Anzahl der von einer Variable oder einem Typ belegten Bytes zurück. | |
Gibt einen Teilbereich eines Arrays zurück. | |
Gibt das Quadrat einer Zahl zurück. | |
Gibt die Quadratwurzel einer Zahl zurück. | |
Konvertiert einen Integer- oder Real-Wert in einen String. | |
Konvertiert einen String in einen Währungswert. | |
Konvertiert einen String in einen Datumswert (TDateTime-Objekt). | |
Konvertiert einen String in einen TDateTime-Wert. | |
Konvertiert einen String in einen Gleitkommawert. | |
Konvertiert einen String in einen Integerwert. | |
Konvertiert einen String in ein TDateTime-Objekt. | |
Gibt einen ASCII-String in Großbuchstaben zurück. | |
Gibt den Nachfolger einer Ordinalzahl zurück. | |
Konvertiert eine Variable des Typs TDateTime in einen String. | |
Gibt die aktuelle Uhrzeit zurück. | |
Konvertiert eine Variable des Typs TDateTime in einen String. | |
Konvertiert eine reelle Zahl in einen Integerwert. | |
Stellt sicher, dass ein String nur eine Referenz hat (der String kann kopiert werden, um eine einzelne Referenz zu erzeugen). | |
Wandelt ein Zeichen in einen Großbuchstaben um. | |
Gibt einen String in Großbuchstaben zurück. | |
Erstellt ein variantes Array. | |
Gibt die Anzahl der Dimensionen eines varianten Arrays zurück. | |
Gibt die Obergrenze einer Dimension in einem varianten Array zurück. | |
Sperrt ein variantes Array und gibt einen Zeiger auf die Daten zurück. | |
Gibt die Untergrenze einer Dimension in einem varianten Array zurück. | |
Erstellt und füllt ein eindimensionales, variantes Array. | |
Ändert die Größe eines varianten Arrays. | |
Gibt eine Referenz auf das übergebene variante Array zurück. | |
Entsperrt ein variantes Array. | |
Konvertiert eine Variante in den angegebenen Typ. | |
Konvertiert eine Variante in den angegebenen Typ und speichert das Ergebnis in einer Variable. | |
Leert eine Variante. | |
Kopiert eine Variante. |