Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  
Подписаться на рассылку:
Клуб программистов


Основы Delphi
Copy
Функция
Создает копию части строки или части массива System unit
  
1 function Copy ( Source : string; StartChar, Count : Integer ) : string;

2 function Copy ( Source : array; StartIndex, Count : Integer ) : array;
Описание
Функция 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
 



© Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки  |     |  Английская версия