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 |