SetLength, процедура

Синтаксис


procedure SetLength(var S: string; Length: Integer);
procedure SetLength(var А: Тип массива; Length:  Integer);
procedure SetLength(var А: Тип массива; Len1:  Integer;   Len2...);

Описание

Процедура SetLength изменяет размер строки или динамического массива. Если новая длина больше текущей длины, дополнительная область памяти не инициализируется, если только массив не состоит иа строк, интерфейсов, других динамических массивов или Variant, для которых инициализация выполняется.
SetLength не является настоящей процедурой.

Ошибки

Советы и приемы

  • Длина указывается в логических единицах (элементах массива, символах). В частности, если S является WideString, длина определяется в символах, а не в байтах.
  • Если на строку или массив имеется несколько ссылок, SetLength всегда создает новый экземпляр данных и устанавливает его длину, даже если длина совпадает с текущей.
  • Если А - многомерный динамический массив, то в процедуру SetLength можно передать одну или более значений длины. Первое число относится к самому левому измерению, последующие - устанавливают следующие измерения. По умолчанию для всех измерений, для которых не указано значение длины в SetLength, принимается 0.

Пример


// Возвращает строку длины Length, заполненную повторяющимся
// символом Fill.
function FillString(Length: Integer; Fill:  Char): string;
begin
  SetLength(Result, Length);
  FillChar(Result[1],  Length, Fill);
end;

// Создает квадратную единичную матрицу размером N.
type
  TIntMatrix = array of array of integer;
procedure SetdentityMatrix(var M: TIntMatrix; N: Integer);
var
  I, J: Integer;
begin
  SetLength(M, N, N);
  for  I := 0 to  N-1   do
  begin
    for J := 0 to N-1 do
      M[I, J] := 0;
    M[I, I] := 1;
  end;
end;

Смотрите также

Процедуры SetString, UniqueString
    Учебник по языку Pascal          Лабораторные работы по программированию          Справочник




Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: