| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Посоветуйте класс похожий на TStringList |
| Автор: Ibragim 26.12.2006, 02:30 |
| Добрый вечер. Насоветуйте, может не стоит изобретать велосипед - может уже есть такое. Нужен класс, с функционалом TStringList, а именно - быстрая и удобная загрузка/сохранение в файл - быстая сортировка, уже реализована - если список сортирован, то Add добавляет в соответствующее место а не в конец списка. - удобный вывод, например в TStringGrid (MyStringGrid.Strings[0] := MyStringList;) Мне же нужно такое же, только для ПАР строк. Чтобы не писать самому сортировки по столбцу 1 и 2, загрузка-сохранение в цикле и т.п. Кто знает (если такое есть) - подскажите плз. |
| Автор: Fedia 26.12.2006, 06:18 |
| Три варианта: 1. Строки в TStringList заносить с разделителем типа: 'поле1|поле2' (не удобен для сортировки по второму полю). 2. Использовать два объекта TStringList. При сохранении строки второго стринглиста добавлять в первому. 3. Написать наследника от класса TStringList (отношение типа "иметь"). ЗЫ: готовое решение едва ли удастся найти. |
| Автор: Akella 26.12.2006, 08:43 | ||
| у TStringList это реализовано, смотри свойства Names и Values стандартный разделитель, помоему, знак равно (=)
|
| Автор: Teran 26.12.2006, 10:02 |
record + TList = готовое решение |
| Автор: Ibragim 26.12.2006, 12:36 |
| Гуд, спасибо за советы, будем попробовать что ближе к сердцу ляжет. Похоже, проще всего Names и Values и TStringList. Но поэксперементируем |
| Автор: MetalFan 26.12.2006, 13:38 |
| а мне кажется самое оптимальное - это наследник от TList с необходимым функционалом... естесьно самописный |
| Автор: aktuba 26.12.2006, 14:35 |
| Полностью поддерживаю Metalfan-а. Это самый правильный путь, да и если в будущем понадобится улучшения - TList просто необходим. |
| Автор: Ibragim 26.12.2006, 15:36 |
Не факт что TList. Вполне возможно TStringList. Тогда дописать только обращение к первой-второй части строки, и все. Хотя остаются проблемы с выводом.... PS Akella, s.Values[i] работать не будет. Там в квадратных скобках имя надо писать. Поэтому в несортированых списках тормозиииить должно немерянно. Хотя сам не пробовал. В общем, всем спасибо за отзывы, будем работать |
| Автор: Akella 26.12.2006, 16:52 | ||||
а как на счёт
|
| Автор: aktuba 26.12.2006, 17:11 |
| Ibragim - не только с выводом, но и с сортировкой по столбцам. Лучше все-таки TList. |
| Автор: MetalFan 26.12.2006, 17:12 | ||||
накидал тут за 20 минут для обчего развития примитивный примерчик
сортировку сам прикрутишь, я думаю) пример использования:
|