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

Вниз

Как лучше организовать список из двух   Найти похожие ветки 

 
StarLit   (2005-02-27 00:39) [0]

string колонок, чтобы потом легко по значению первой получать соответствующее значение второй?
P.S. визуально он не нужен.


 
TButton ©   (2005-02-27 00:41) [1]

...
sl: TStringList;
...
sl:=TStringList.Create;
...
sl.Add("a=1");
sl.Add("b=2");
sl.Add("c=3");
...
label1.Caption:=sl.Values["a"];
...
sl.Free;
...


 
olookin ©   (2005-02-27 00:47) [2]

Ну по любому, тема не оформлена (panov Copyright)


 
StarLit   (2005-02-27 00:49) [3]

большое спасибо.

видимо придется заполнять его так:

...
sl: TStringList;
...
sl:=TStringList.Create;
...
sl.Add("a=1");
sl.Add("b=2");
sl.Add("a1=3");
sl.Add("b2=2");
sl.Add("a3=3");
sl.Add("b3=2");
....

:-(


 
StarLit   (2005-02-27 00:51) [4]

olookin - чего?!


 
DiamondShark ©   (2005-02-27 00:52) [5]

Можно заполнять и так:

sl.Values["a"] := "1";
sl.Values["b"] := "2";
sl.Values["qweqwe"] := "djfbhvdjfvb";


 
StarLit   (2005-02-27 00:55) [6]

учту ;-)


 
StarLit   (2005-02-27 01:01) [7]

слушайте, а поиск как тогда смостерить ?

s1.Find("b1=45",i);

я же как раз хочу и найти что 45 лежит в b1 :-)
или только перебором всего списка и отсекть все до знака = и сравнивать?


 
GuAV ©   (2005-02-27 01:11) [8]

StarLit   (27.02.05 1:01) [7]
слушайте, а поиск как тогда смостерить ?


см ещё раз [1], что подчёркнуто :-)


 
StarLit   (2005-02-27 01:13) [9]

GuAV © - спасибо, что ткнул носом :-), видимо пора спать идти :-)


 
TButton ©   (2005-02-27 01:28) [10]

*немного опоздал (зачитался оффтопом в "Потрепаться")*
а ещё заполнять можно с помощью LoadFromFile


 
GuAV ©   (2005-02-27 01:54) [11]

А про заполнять, так ещё вариант sl.DelimitedText := "a=1, b=2, c=3";


 
jack128 ©   (2005-02-27 02:04) [12]

как два TStringList"а в первом имена, во втором параметры. Первый отсортирован и в его свойстве Objects хранится индекс соответствующего значения во втором листе.

NameStringList.Sorted := True;

Пример:
Доступ
 ValueStr := ValueStringList[Integer(NameStringList.Objects[NameStringList.IndexOf(NameStr)])];
Добавление элемента
 NameStringList.AddObject(NameStr, TObject(ValueStringList.Add(ValueStr)));
Удаление
 Index := NameStringList.IndexOf(NameStr);
 ValueStringList.Delete(Integer(NameStringList.Objects[Index]));
 NameStringList.delete(Index);


А использование Names и Values - это хронический тормоз.


 
StarLit   (2005-02-27 07:52) [13]

ok спасибо Jack128


 
Alex Konshin ©   (2005-02-27 10:25) [14]

jack128 ©   (27.02.05 02:04) [12]
А просто использовать поле Objects религия не позволяет?

Я уж не говорю про очевидную идею по создание записи или объекта и их уже пихать в список.

Еще как вариант могу предложить свои юниты Arrays и AVLtrees, которые очень замечательно подходят для случаев, когда есть какой-то ключ (в данном случае типа String) для быстрого доступа к элементам. Каждый из юнитов хорош по-своему. Кстати, я обновил AVLtrees на сайте, пофиксен один баг.
ссылка на сайт в моей анкете.


 
jack128 ©   (2005-02-27 17:07) [15]

Alex Konshin ©   (27.02.05 10:25) [14]
Я уж не говорю про очевидную идею по создание записи или объекта и их уже пихать в список.

и кодировать быстрый поиск элемента в этом списке самому? Зачем?
Alex Konshin ©   (27.02.05 10:25) [14]
А просто использовать поле Objects религия не позволяет?

Лишний раз возится дин памятью не хотелось..


 
TButton ©   (2005-02-27 19:05) [16]

а вот как хеши в перле реализованы?


 
Alex Konshin ©   (2005-02-28 04:12) [17]

Alex Konshin ©   (27.02.05 10:25) [14]
>А просто использовать поле Objects религия не позволяет?
Лишний раз возится дин памятью не хотелось..

А и не нужно. В случае строк нужно просто использовать PString (только не забывать о корректном удалении). В случае чисел (как в этом конкретном случае) так вообще просто хранить их в Objects.

TButton ©   (27.02.05 19:05) [16]
а вот как хеши в перле реализованы?

Думаю, что также, как HashMap и Hashtable в Java. Можно тоже самое сделать с помощью моих юнитов, упомянутых выше. Высокую скорость работы гарантирую - там применяются алгориты сбалансированных бинарных деревьев поиска (AVL-деревья).



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
3-1108021049
denis24
2005-02-10 10:37
2005.03.13
вы зов процедуры в запросе


14-1108743112
Nic87
2005-02-18 19:11
2005.03.13
Помогите найти песню


14-1109005883
Дмитрий В. Белькевич
2005-02-21 20:11
2005.03.13
read_port_buffer_ulong


14-1109152797
olookin
2005-02-23 12:59
2005.03.13
Динамо - Авангард


1-1109676753
dmitry81_2
2005-03-01 14:32
2005.03.13
Cannot create application object in shared object or library





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский