listview в делфи с xml
01.02.2008Что то меня занесло в моем предыдущем посте про XML в дельфи, я ведь планировал написать про ListView. У меня есть мой собственный переписанный ListView. В свое время я на него потратил очень много сил времени. Я почти полностью переписал класс TListView имеющийся в стандартной библиотеке дельфи. У этого компонента есть ряд существенных недостатков: как и все контролы в VCL он не уникодный и слишком усложненная реализация виртуального режима. TntUnicodeControls исправляет неуникодность, но какой чудовищной ценой - огромное количество кода и несколько вспомогательных классов для этого. Я ListView использую только в виртуальном режиме - запрос итема для прорисовки, а не хранения инфы в недрах системы: в обычном режиме контрол начинает безумно тормозить - откройте папку в проводнике с несколькими и тысячами файлов: не на сильно новых компьютерах это занимает несколько секунд, что не простительно. В виртуальном режиме все летает. Мой листвью поддерживает уникод и работает в виртуальном режим. Сама Windows запрашивает для прорисовки элемент по координатам - строка и колонка. Когда как при VCL при каждом запросе запрашивает строку полностью, к тому же строка списка в VCL хранится в TStringList - дополнительный буфер. А если еще использовать tntUnicodeControls то добавляется обертка над этим. Сложно и не поворотливо. Как ни странно, но стандартный VCL компонент достаточно резво работает. Я убрал все эти многоступенчатые буферы.
Так к чему я завел разговор? Комментарий или пост будет иметь теже published свойства, что и соответствующая таблица wordpress: без лишних преобразований объект можно будет получить или отправить в wordpress, а также сохранить и восстановить с диска. ListView будет мониторить соответствующую папку на диске и показывать в списке комментарии или посты. В чем же проблема спросите вы? С тем, что хочется написать универсальный механизм отображения колонок и сортировки для разных xml файлов/ объектов. Чувствую непонятно объясняю. Вообще так: комментарии и посты имеют разные колонки в списке, но вот принцип сортировки и выборки текста для списка одинаков. Например дата показывается и сортируется одинаково, строки тоже сравниваются одинаково. Будут нюансы типа курсивом выводит черновики (ожидает модерации), а жирным непрочитано/прочитано. Для каждого списка прописывать в деталях способ работы не хочется: наверняка будут общие участки кода. Хочется сделать сразу класс, который бы обслуживал разнородные объекты. Как точно это реализовать, я пока не знаю. Нахожусь в состоянии мучительного планирования, когда слишком много неизвестных и нет точной постановки задачи. Можно тупо писать в лоб., но хочется изящного решения, которое можно было бы легко реализовать и в последствии легко модифицировать.
Мой блог находят по следующим фразам
• программы для наполнения сплогов
• программа кодировки xml
• как убрать плагин
• как убрать плагин
• mysql импортировать файл
• удаление плагина
← Ранее xml в delphi
Один комментарий на запись “listview в делфи с xml”
-
1 .
Malasha пишет:
Spasibo pomoglo)
Пингбеки
- api социальных сетей и сервисов в интернете | Программы для блогов
- drag&drop для комментариев wordpress | Программы для блогов
- xml rpc в delphi | Программы для блогов
- Безглючный коммент клиент | Программы для блогов
- Социальное комментирование - это коммент сервер | Программы для блогов
- подстановка файлов из каталого другого сайта на одном шаред хостинге | Программы для блогов
- плагин wordpress пропускающий комментарии только на русском | Программы для блогов
- хостинг, sql, а также капчи - будь они не ладны | Программы для блогов
- Шелл скрипты для автоустановки wordpress | Программы для блогов
- пирование строки на php в кодировке utf-8 | Программы для блогов
- PR updated | Программы для блогов
- Выпущена демо версия блоголёта | Программы для блогов
Оставить комментарий