![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно сделать копию структуры? [D7, XP]
gosha73 © (2007-04-06 18:23:00)Привет друзья.
Раньше никогда не задавался таким вопросом, но сейчас возникла необходимость создавать копию структуры. Подскажите каким образом параметры одной структуры можно скопировать в те же самые параметры второй структуры. Я это делаю буквально приравнивая каждый параметр, может есть другой способ?
TMyRec = record
Index: integer;
sName: string;
Value: Cardinal;
....
end;
...
var Rec1: TMyRec;
Rec2: TMyRec;
..
Собственно вот если я заполнил параметрами Rec1, то как не мучаясь можно присвоить структуре Rec2 все параметры Rec1?
При этом Rec2 := Rec1, почему-то не хочет копировать их.
gosha73 (2007-04-06 18:37:00) [1]Хм, а ведь логично :) Спасибо.
Sapersky (2007-04-06 18:35:00) [2]Rec2^ := Rec1^;
gosha73 (2007-04-06 18:32:00) [3]Так уже работает, спасибо.
А каким образом можно скопировать структуры при наличии только их указателей. К примеру:
TMyRec = record
Index: integer;
sName: string;
Value: Cardinal;
....
end;
pMyRec = ^TMyRec;
var Rec1, Rec2: pMyRec;
begin
New(Rec1);
New(Rec2);
...
end;
В данном случае уже нельзя будет присваивать параметры как в прошлый раз обычным Rec2 := Rec1, поскольку тут уже указатели, как в таком случае скопировать параметры?
Loginov Dmitry (2007-04-06 18:29:00) [4]Хотя и так должно копироваться ...
Loginov Dmitry (2007-04-06 18:27:00) [5]var Rec1, Rec2: TMyRec;