Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Вопросы по работе с record


Автор: WERITAS 27.3.2006, 14:42
1) Как определдить в программе тип записей (record)?
2) Нужен пример как инициализируются массивы записей (record)
3) Как создать динамический массив записей (record)? Нужен пример
4) Как выполнить присваивание одного динамического массива другому? Нужен пример

Помогите пожалуйста smile

Автор: Guedda 27.3.2006, 14:45
2)
Код

SetLength();

3)
Код

array of TYourRecord;

4) 2) + 3)

Автор: ~FoX~ 27.3.2006, 14:52
1, 2, 3
Код

type
  TMyRecord = record
     MyFirstField: string;
     MyTwoField: integer;
end;
//............
var
  Myrec: array of TMyrecord;
begin
  SetLength(MyRec, 10);
end;

4
Код

var
  i: integer;
  FirstArray, LastArray: array of integer;
begin
  for i := 0 to 10 do FirstArray[i] := LastArray[i];
end;

Автор: Guedda 27.3.2006, 14:56
Немного 4 подкорректирую:
Код

var    
  i: integer;    
  FirstArray, LastArray: array of integer;    
begin    
  SetLength(LastArray, 10);
  for i := 0 to 10 do FirstArray[i] := LastArray[i];    
end;

Автор: Alexeis 27.3.2006, 14:59
в примере ~FoX~, проще присваивание организовать так
FirstArray := Copy(LastArray);//делает тоже
Добавлено @ 15:00
тогда и FirstArray не нужно инициализировать

Автор: Albinos_x 29.3.2006, 15:29
бывает smile
Цитата(Guedda @ 27.3.2006, 14:56 Найти цитируемый пост)
Немного 4 подкорректирую:
код Pascal/Delphi
var   
  i: integer;   
  FirstArray, LastArray: array of integer;   
begin   
  SetLength(LastArray, 10);
  for i := 0 to 10 do FirstArray[i] := LastArray[i];    //  при i:=10, обращение к несуществующему элементу
end;

правильно будет :

for i:=0 to 9 do

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)