procedure SetLength (var S: String; NewLength: Integer);
SetLength explicitly assigns a new length NewLength to the string parameter S. The contents of the string elements (characters) are not changed; if the operation increases the length of the string, the characters appended at the end are undefined.
SetLength is a Borland Delphi 2.0 extension.
program SetLengthDemo; var S: String (26); begin S := 'Hello, world!'; SetLength (S, Length ('Hello')); WriteLn (S); { 'Hello' } SetLength (S, 26); WriteLn (S); { 'Hello, world!(%$xy"!#&~+(/]' } { undefined characters ^^^^^^^^^^^^^^ } { SetLength (S, 42); GPC detects this overflow at compile time. } end.