Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.06;
Скачать: CL | DM;

Вниз

Помогите пожалуйста найти правильное решение   Найти похожие ветки 

 
Smok_er   (2002-05-24 11:56) [0]

Уважаемые мастера! Подскажите пожалуйста, каким способом можно организовать таблицу вида Name Value1 Value2 Value3 etc. в памяти и по возможности с быстрым доступом к этим полям, например по имени.
Пробовал создавать такое количество стринг листов, сколько этих самых полей, но не сильно удобно, начинается путаница и т.д.


 
onix ©   (2002-05-24 12:18) [1]

Попробуй в одном TStringlist"е сохранять объекты в которых будут твои поля. К примеру:
type

TMyObject = class
field1 : string;
field2 : integer;
.
.
end;

Затем где-то в программе:

procedure Sample;
var MyObj : TMyObject;
begin
MyObj := TMyObject.Create;
MyStrinfList.Items.AddObject("String1", MyObj);
.....
.....
end;


 
Shaman_Naydak ©   (2002-05-24 13:23) [2]

var
Arr: array of record
Name: string;
Value1: Integer;
Value2: string;
etc
end;
+ через TList, реализовать одно/двунаправленный списое
Вариантов можно организовать до чертиков...


 
Smok_er   (2002-05-25 22:46) [3]

А можно поподробнее про эти 2 варианта?
Дело в том, что я в классах полный профан (к сожалению) и никак не могу получить значение в первом случае.

И интересно, как обращаться к элементам списка во втором случае?

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


 
KilkennyCat ©   (2002-05-25 23:38) [4]

я бы второй пример написал бы по-понятнее:

Type TArr = record
Name: string;
Value1: Integer;
Value2: string;
etc
end;

var
Arr : array of TArr

Доступ:

SetLength(Arr, 2);
Arr[2].Value1 := ...



 
Smok_er   (2002-05-26 00:10) [5]

Вся проблема в том, что количество возможных записей неизвестно :(. Можно использовать этот метод при неизвестном количестве записей?


 
KilkennyCat ©   (2002-05-26 09:19) [6]

Да, можно. SetLength устанавливает необходимое число записей, то есть это - работа с динамическим массивом, размеры которого могут быть ограничены только типом переменной размера и ресурсами.



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

Текущий архив: 2002.06.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-17771
roman_tutov@mail.ru
2002-05-13 13:56
2002.06.06
FibPlus


1-17922
KvORubin
2002-05-27 09:20
2002.06.06
Проблеммы с кодировками!!!


7-18168
Garik
2002-03-09 07:18
2002.06.06
Народ!!! нужен исходник номеронабирателя для модема... заранее благодарен!


1-17885
Tahion
2002-05-20 09:00
2002.06.06
Как printdialog1 заставить вносить имен. в настройки QuickRep1


3-17807
Tem
2002-05-15 11:35
2002.06.06
Работа базы Paradox в сети