Главная страница
    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.035 c
6-1104859757
Lucifer
2005-01-04 20:29
2005.03.13
Создание LAN Chat a


4-1106902281
wizi
2005-01-28 11:51
2005.03.13
Скриншот с рабочего стола.


14-1108938248
ЦУКОР5
2005-02-21 01:24
2005.03.13
настройка гридов


1-1109645574
msgipss
2005-03-01 05:52
2005.03.13
Подскажите интерпретаторы для использования в Delphi 6 и выше


1-1109632966
Stdnet
2005-03-01 02:22
2005.03.13
файл и листбокс





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