System.SetLength

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure SetLength(var S: <string or dynamic array>; NewLength: Integer);

Eigenschaften

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


Beschreibung

Legt die Länge eines Strings oder einer Variable eines dynamischen Arrays fest.

S ist eine Delphi-String- oder dynamische Array-Variable.

NewLength enthält die neue Anzahl der Zeichen oder Elemente in S.

Bei einem kurzen String ändert SetLength einfach das Längenbyte (das Zeichen an der Position S[0]) in den angegebenen Wert. In diesem Fall muss NewLength einen Wert von 0 bis 255 enthalten.

Bei einer langen String-Variable weist SetLength dem in S referenzierten String die angegebene Länge zu. Dabei bleiben die im String vorhandenen Zeichen erhalten, jedoch ist der Inhalt des neu zugewiesenen Speicherbereichs nicht definiert.

Bei einer dynamischen Array-Variable weist SetLength dem in S referenzierten Array die angegebene Länge zu. Die vorhandenen Elemente des Arrays werden beibehalten, und der neu zugewiesene Platz wird auf 0 oder nil gesetzt. Bei multidimensionalen dynamischen Arrays kann SetLength mehrere Parameter für die Länge übernehmen. Die Parameteranzahl wird lediglich durch die Zahl der Array-Dimensionen beschränkt. Jeder Parameter gibt die Anzahl der Elemente für eine bestimmte Dimension an.

Nach dem Aufruf von SetLength ist sichergestellt, dass S auf einen eindeutigen String oder ein eindeutiges Array zeigt (d.h. dessen Referenzzähler den Wert 1 hat). Ist nicht genügend Speicher für die Variable vorhanden, löst SetLength eine EOutOfMemory-Exception aus.

Siehe auch

Codebeispiele