|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.12.2009, 12:55 | #1 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 78
|
Помогите выбрать компонент
День добрый всем.
Надо написать файловый менеджер на Delphi_7. Один из его модулей - список файлов и папок с которым нужно будет работать Список будет создаваться перетаскиванием файлов и папок с диспетчера задач или рабочего стола в наш контейнер. При этом в контейнере создается строка из 3 записей: 1) Полный путь и имя файла/папки 2) Доступность (т.е. наличие этого файла/папки) 3) Размер этого файла/папки Список при закрытии формы сохраняется в реестре и при следующем открытии грузится из реестра автоматически проверяя доступность всех элементов. Для организации списка даны компоненты (на выбор): Memo, RichEdit, ListBox, TreeView, ListView, ShellTreeView, ShellListView Нужен совет по организации списка. Т.к. список может быть большим, а все алгоритмы работы с ним будут содержать рекурсию, то очень важно быстродействие алгоритмов. Я начал писать. взял за основу ListBox с 3 колонками, но столкнулся с "не быстрым" доступом к его ячейкам и усомнился в правильности выбора. Может быть лучше не создавать колонки в ListBox, а, скажем, подшивать стригновое поле слева к пути/имени файла и в это поле вносить 2 стринга: Доступность и размер? Или вообще делать не на ListBox? Сижу в раздумье, тупею постепенно ) Выручайте... Mail: puzik_off@mail.ru ICQ: 483129208 PS: Я студент, но тема не имеет отношения к учебе. Последний раз редактировалось puzik_off; 30.12.2009 в 13:03. Причина: поправка |
30.12.2009, 14:52 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Используй две структуры. Например TStringList-TListView. Причем визуальный используй только для отображения, все работы проводи в TStringList. И отображай ровно столько сколько поместиться на экране (ну может чуть больше для прокрутки).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
30.12.2009, 21:43 | #3 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 78
|
г.Utkin
Прошу прощения за нескромность, - ваш альтруизм и приближающийся праздник, не помогут мне убедить вас набросать хотя бы блок-схему предложенного вами решения? |
30.12.2009, 22:31 | #4 | |
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Я бы создал TListView и TFileListBox. Сейчас объясню зачем.
Ну с TListView таким образом: Цитата:
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); |
|
30.12.2009, 23:02 | #5 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 78
|
TFileListBox использовать не могу,- его нет в нужной мне библиотеке, да и предыдущий пример с невизуальным компонентом, хоть и более сложный, скорее всего реально быстрее работать будет...
|
31.12.2009, 09:00 | #6 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Разбейте задачу на два этапа: 1. Решите задачу только с использованием TStringList (при этом отображение можно не реализовывать, достаточно лишь чтобы Вы убедились, что все работает как положено). 2. Поместите Ваш визуальный компонент и отлавливайте события (например прокрутку) или имитируйте прокрутку и перемещение сами.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
31.12.2009, 10:36 | #7 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 78
|
Ясно, буду пытаться, организовать взаимосвязь между 2 списками будет самое трудное для меня, особенно если учесть что каждая строка должна содержать 3 поля...
|
31.12.2009, 10:44 | #8 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Ты определяешь позицию откудова и до кудова показывать. Допустим, тебе надо видеть 20 строчек (а в папке пусть будет хоть тысяча файлов), вот и бери эти 20 из СтрингЛистов и всобачивай туда. Нажал клавишу прокрутки вверх? Чудненько, удаляешь последний элемент и вставляешь первый (в визуальном компоненте).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
31.12.2009, 10:49 | #9 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 78
|
а в визуальном компоненте 3 столбца делать? или отображать в одной строке три параметра.?
|
31.12.2009, 10:50 | #10 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Это уже не принципиально, как лучше смотрится так и делай .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите выбрать железо | martwy | Компьютерное железо | 2 | 20.12.2009 21:01 |
Помогите выбрать язык | RNT | Помощь студентам | 3 | 23.05.2009 19:27 |
Какой компонент выбрать ? | pashokq | Компоненты Delphi | 3 | 28.04.2009 22:24 |
Какой компонент выбрать для вывода таблицы картинок ICO | Comer_Jus | Мультимедиа в Delphi | 3 | 21.05.2008 20:35 |