Форум: "Основная";
Текущий архив: 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