procedure ChessInsertSS(const firstStr:shortString; var secondStr:shortString); firstStr: вставляемая строка secondStr: целевая строкаПример:
| Программа | Результат работы |
var s1:shortString='12345';
s2:shortString;
begin
s2:='testing';
writeln(s1);
writeln(s2);
ChessInsertSS(s1,s2);
writeln(s2);
end.
|
12345 testing t1e2s3t4i5ng |
procedure ChessInsertPC(const firstStr:PChar; var secondStr:PChar); firstStr: вставляемая строка secondStr: целевая строка Считать, что для целевой строки уже выделено достаточно оперативной памяти (см. пример)Пример:
| Программа | Результат работы |
uses strings;
var s1:pchar='12345';
s2:pchar;
data:array[0..100] of char;
begin
s2:=strcopy(@data,'testing');
// теперь s2 ссылается на массив data достаточного объема
writeln(s1);
writeln(s2);
ChessInsertPC(s1,s2);
writeln(s2);
end.
|
12345 testing t1e2s3t4i5ng |
procedure ChessInsertAS(const firstStr:AnsiString; var secondStr:AnsiString); firstStr: вставляемая строка secondStr: целевая строка Для обеспечения достаточного объема оперативной памяти в ShortString рекомендуется до вызова функции провести операцию увеличения размера строки, а затем - уменьшения до исходного объема (см. пример)Пример:
| Программа | Результат работы |
var s1:AnsiString='12345';
s2:AnsiString;
cnt:word;
begin
s2:='testing';
cnt:=length(s2);
SetLength(s2,100); SetLength(s2,cnt);
// выделили дополнительную память для s2
writeln(s1);
writeln(s2);
ChessInsertAS(s1,s2);
writeln(s2);
end.
|
12345 testing t1e2s3t4i5ng |