![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тип TRecord и его копирование...
fly_mer © (2006-09-07 13:19:00)Здравствуйте, ув. жители!
Подскажите пожалуйста, каким образом можно перегнать данные из одной TRecord в другую если в другой есть те же (но НЕ ВСЕ) поля?
Например:
type x1=record
n1: string;
n2: string;
n3: integer;
end;
type x2=record
n1: string;
n3: record; // <- тут n2 не используется - для укомпакчивания данных
end;
Вот.:) помогите, пожалуйста?
Barloggg (2006-09-07 13:41:00) [21]если есть несовпадение, то только по одному полю за раз.
более того нельзя сделать а:=в даже в том случае если поля одинаковы, но типы разные (всмысле объявлены как независимые типы данных). компилятор ругается.
лично я для таких случаев использую фишку "OVERLOAD".
то есть у меня есть стопка процедур
procedure copy(one:typeA;two:typeB);overload;
и всего делов. для каждой комбинации типов запустится своя собственная процедура.
что вроде старого бейсиковского оператора Let.
lessard (2006-09-07 13:38:00) [22]balera, нифига. если не совпадают некоторые поля типа l: (v1, v2, v3), то ничего не скопируется, уже пробовал...
n3: string
записался просто.
balepa (2006-09-07 13:27:00) [23]X1.N1:= x2.n1
....
x1.Ni:= x2.Ni
Elen (2006-09-07 13:22:00) [24]
> n3: record
Что еще за record ?