Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение record в TList [D7, Win2k, WinXP]


ancot ©   (2006-05-31 17:30:00) 

Доброго всем дня.
Подскажите как сохранить запись в TList а потом считать ее оттуда

TMyRecord = record
 a, b: Integer;
 c: String;
end;

procedure...
var myrec: TMyRecord;
begin
 myrec.a = 1;
 myrec.b = 1;
 myrec.c = 'aaa';

 List.Add(@myrec); // писать вроде так
end;


tesseract   (2006-05-31 21:26:00) [1]


> var myrec: ^TMyRecord;

очепятался :-)


AlexWlad   (2006-05-31 20:08:00) [2]

var myrec: ^TMyRecord;
или
var myrec: PMyRecord;

ведь тебе нужен указатель!!!


tesseract   (2006-05-31 17:53:00) [3]

Только накатал перенесли  ветку :-(
PmyRecord = ^TmyRecord;
TMyRecord = record
a, b: Integer;
c: String;
end;

procedure...
var myrec: TMyRecord;
begin
new(Myrec)
list:=TList.create;
myrec^.a = 1;
myrec^.b = 1;
myrec^.c = 'aaa';

List.Add(myrec); // писать вроде так

// Убийство, Freemem строго не рекоменуется, тк. longstring у нас.
Dispose(List.items[0]);  
List.free;
end;


Reindeer Moss Eater   (2006-05-31 17:46:00) [4]

Да, но рекорд-то при этом сохранится не в листе, а в памяти сбоку.

Представить рекорд в виде непрерывной последовательности байт и сохранить их в элементах TList (по четыре штуки в элементе)


Игорь Шевченко   (2006-05-31 17:34:00) [5]


> Подскажите как сохранить запись в TList а потом считать
> ее оттуда


Выделить память под запись, хранить указатель на нее в TList.

Пример смотреть в db.pas класс TLookupList


Наверх

Титульная страница Поиск, карта сайта Написать письмо