Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Вниз

Создание собственного потомка TStringsList   Найти похожие ветки 

 
V.exeR   (2002-08-14 21:39) [0]

Подскажите, как организовать объект типа TStringsList, но со своими данными (вместо String хранить какой-нить record).


 
Anatoly Podgoretsky   (2002-08-14 22:00) [1]

Это он и сейчас может, свойство Objects


 
Юрий Зотов   (2002-08-14 22:37) [2]

А если сами строки не нужны, то еще лучше использовать TList или dynamic array - экономичнее по памяти.


 
V.exeR   (2002-08-15 02:02) [3]

а все же - как?...


 
einsam   (2002-08-15 02:26) [4]


> Anatoly Podgoretsky © (14.08.02 22:00)
> Это он и сейчас может, свойство Objects

Если я не ошибаюсь, то Objects может содержать только объекты, а вот тип-запись к ним вроде не относится.

А чтобы держать в TList данные своего типа, следует использовать указатели. Будет нечто вроде:
type
TMyRec = record
i: integer;
end;
var
PMyRec: ^TMyRec;
List: TList;
...
begin
...
List := TList.Create;
// вот так добавляем новую запись
New(PMyRec);
List.Add(PMyRec);
...
// вот так получаем данные
P := List[0];
ShowMessage(IntToStr(P^.i));
...
// и в конце не забыть всё это удалить
for j := List.Count - 1 downto 0 do
begin
P := List[j];
Dispose(P);
List.Delete(j);
end;
List.Free;
end;


 
Юрий Зотов   (2002-08-15 02:50) [5]

> Objects может содержать только объекты, а вот тип-запись к ним вроде не относится.

Objects может содержать любые данные длиной не более 4-байт.
Пример: Objects[i] := TObject(-100);
И там будет храниться число -100. Только извлекать его надо, приводя к целому типу:
N := Integer(Objects[i]);

Ясное дело, Objects, как и TList, может содержать и любые указатели. В том числе, указатели на любой record. Только неоптимально это - зачем использовать список строк, если сами строки не нужны? Лишние ресурсы гробить только. Лучше TList.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
3-84897
MaXie
2002-08-05 12:24
2002.08.26
DBGrid - не все так просто!


1-85124
jessis
2002-08-15 11:55
2002.08.26
Параметр в командной строке


1-85040
Chandr
2002-08-13 11:59
2002.08.26
Диалоги


14-85225
AL2002
2002-07-31 10:38
2002.08.26
Кто знает, что это за саундтрек?


7-85272
ZavDim
2002-06-12 17:16
2002.08.26
Ресурсы окошек





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский