Описание |
Функция Copy имеет 2 формы. В первом случае она создает новую строку из части существующей строки. Во втором - она создает новый массив из части существующего массива.
1. Копия части строки
Первый символ строки имеет индекс = 1.
Возвращает строку состоящую из указанных в Count количестве символов, начиная с StartChar символа.
Если до конца строки меньше символов, чем указано в Count, то копируются все символы, начиная с StartChar и до конца строки.
2. Копия части массива
Первый элемент массива имеет индекс = 0.
Возвращает массив состоящий из указанных в Count количестве элементов, начиная с индекса .
Если до конца массива меньше элементов, чем указано в Count, то копируются все элементы начиная с StartIndex и до конца массива.
|
|
Примечания |
Для копирования строки, где StartChar меньше чем 1 он будет обработан как 1.
Чтобы гарантировать копирование до конца строки или массива, используйте константу MaxInt как значение Count.
При копировании многомерных массивов, копируется только первое измерение. Все элементы кроме последнего измерения массива - все указатели на подмассивы, которые составляют целый массив. После копирования, целевые элементы массива продолжают указывать на подмассивы исходного массива. Таким образом, эти подмассивы разделены на исходный и целевой массивы. Вы были предупреждены!
|
|
Похожие команды |
AnsiReplaceStr Заменяет часть одной строки другой
Concat Соединяет несколько строк в одну
Delete Удаляет часть символов из строки
Insert Вставляет строку в другую строку
Move Копирует байты данных из источника в место назначения
StringOfChar Создает строку из одного символа, повторенного много раз
StringReplace Заменяет одну или несколько подстрок, найденных в заданной строке
StuffString Заменяет часть одной строки на другую
WrapText Добавьте перенос строки в строку, чтобы имитировать перенос слов
| |
|
Пример кода : Копирование строки |
var
Source, Target : string;
begin
Source := '12345678';
Target := Copy(Source, 3, 4);
ShowMessage('Target : '+Target);
end;
|
Target : 3456
|
|
| Пример кода : Копирование массива |
var
i : Integer;
Source, Target : array of Integer;
begin
SetLength(Source, 8);
for i := 1 to 8 do //
Формирование динамического исходного массива Source[i-1] := i; //
Запомните, что массивы начинаются с индекса = 0
Target := Copy(Source, 3, 4);
for i := 0 to Length(Target) -1 do //
Показываем созданный массив
ShowMessage('Target['+IntToStr(i)+'] : '+IntToStr(Target[i]));
end;
|
Target[0] : 4
Target[1] : 5
Target[2] : 6
Target[3] : 7
|
|