Процедура SetString в Delphi копирует символы из буфера в строку.
System unit
procedure SetString (var TargetString : string; BufferPointer : PChar; Length : Integer);
Процедура SetString меняет длину TargetString на Length перед копированием этого количества символов из буфера, заданного переменной BufferPointer.
Длина меняется только в том случае, если строка не типа ShortString. Фактически, память под строку перераспределяется – ссылка на TargetString указывает на эту новую строку.
Процедура SetString: Пример кода
var
target : string;
source : array[1..5] of Char;
srcPtr : PChar;
i : Integer;
begin
// Заполнение массива символов
for i := 1 to 5 do
source[i] := Chr(i+64);
// Копирование этих символов в строку
srcPtr := Addr(source);
SetString(target, srcPtr, 5);
// Показываем, что мы имеем
ShowMessage('target теперь = '+target);
end;
Результат
target теперь = ABCDE
Похожие функции, процедуры и команды
FillChar — заполняет раздел памяти значением байта или символа-заполнителя.
SetLength — изменяет размер строки или размер динамического массива.
StringOfChar — создает строку из одного символа, повторенного много раз.
