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.