![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем доброго утра.
Вопщем с delphi работаю недавно, нужно помощь в написаниипрограмки как показано на скрине. Тут скрин Меня интересует какие компоненты нужно использовать.. дальше думаю разберусь. Немного опишу. Там где "Схемы", "TabSheet2" добавится кнопка "Настройки. "Добавить марку" уберется. Категории и под-категории создаются на диске ручками. По сути название категории=название папки "Добавить схему" уберется. Схемы добавляются в папки - под-категории на диске ручками Кнопочку "Удалить схему" можно поставить рядом к каждой схемкой. При клике удалить должно вылезти окно о подтверждении. В левом окне выводятся Категории и под-категории, при клике на под-категории в правой окошке должны появится схемки как показано на скрине. пс; я не прошу писать за меня прогу, я прошу помочь разабраца какие компоненты использовать. До скорых встреч. ![]() Последний раз редактировалось mishqa35, 20.01.2010 в 17:00. |
#2
|
||||
|
||||
![]() Тебе нужны компоненты базы данных...
Копай в сторону BDE или ADO...на твой выбор... Во вкладках Delphi7 - Data Access, Data Controls, BDE, ADO все найдешь... Ну и нужно немного полистать литературу по базам данных в Delphi, в сети такой инфы предостаточно... В начале был Бит, потом Байт и только потом появилось Слово... |
#3
|
|||
|
|||
![]() NIch, мне дб не нужны... тут все просто вроде как..
![]() я хочу сделать вот так.. Тут скрин вот исходники того что получилось.. rapidshare Последний раз редактировалось mishqa35, 20.01.2010 в 17:00. |
#4
|
|||
|
|||
![]() Так в чем конкретно вопрос?
Вообще-то, БД тут не помешала бы - где ты будешь хранить всю информацию между запусками программы. Другой вопрос - какую БД использовать и надо ли именно СУБД. Можно написать свою хранилку, благо это не так сложно. А можно хранить в виде файлов на диске, но тогда переносить неудобно. |
#5
|
|||
|
|||
![]() Тут задача такая, у мня на винте куча схем они все разбросаны по углам, хотел прибраца и забацать програмульку, чтобы все по папкам отсортировать. (по папкам буду ручками сортировать))
например Диск D:\ (флешка F:\) там папки: Автомагнитолы [папка] -Pioneer [папка] --Pioner DEH-1524.pdf [файл] -Prology [папка] --Prology CMD-200.pdf [файл] --Prology MDD-702L.pdf [файл] -Clarion [папка] Телевизоры [папка] -Lg [папка] -Samsung [папка] Телефоны [папка] Радиостанции [папка] и вот в каждой папке куча файлов(схем) я хачу прогрмаму как показано на 1-2 скрине, чтобы слева выводились папки а справа файлы, те что отмечены. Так же щас проблемы с поиском, хочется чтобы можно было выбрать категорию где искать и поле чтобы имя ввести, а искать тока по имени. Тут скрин ps; Так же возможно запишу на дики, этот exe-шник будет типа автораном. Последний раз редактировалось mishqa35, 20.01.2010 в 17:16. |
#6
|
||||
|
||||
![]() Так в чем вопрос, то???
Если не хочешь использовать базу данных, то и компонентов то никаких секретных нет... Стандартные компоненты + можг в голове))) За тебя программу могут написать "тильки за гроши"... Ты лучше конкретный вопрос задай, а не Цитата:
В начале был Бит, потом Байт и только потом появилось Слово... |
#7
|
|||
|
|||
![]() У мня есть форма, на ней TreeView1 и ListView1
не знаю как вывести в TreeView1 папки и под-папки с диска D:\ не знаю как сделать чтобы нажав на под-папку (в TreeView1), если в ней есть файлы ,чтобы все эти файлы выводились в ListView1 и их можно было от туда открыть, двойным кликом. о файле показывалась название, формат, размер (кб. мб. гб). Файлы в папках тока двух форматов .pdf и .djvu. ps; с головкой все впорядке, просто делфи мучал всего пару раз. |
#8
|
||||
|
||||
![]() Есть такой стандартный компонент ShellTreeView...И вообще все компоненты с началом Shell...работают с файлами и папками винды...
В начале был Бит, потом Байт и только потом появилось Слово... |
#9
|
|||
|
|||
![]() Появилось еще пара вопросов по теме..
1. У меня форма на ней ShellTreeView и ShellListView. В ShellTreeView выводятся тока папки и под-папки, из директории D:\ - как сделать чтобы выводились те папки от куда запущена программа...? В ShellListView выводятся тока файлы из отмеченной папки ShellTreeView. У ShellListView стоит ViewStyle > vsReport и в окне ShellListView сверху пишется Имя, Размер, Тип, Изменен - Не знаю как оставить тока Имя и Размер 2.На форме установлены компоненты Edit1, Edit2, Button1, Button2, Memo1, Label1 Edit1 - то что ищем Edit2 - где ищем Button1 - Кнопка Найти Button2 - кнопка Обзор Memo1 - выводит найденые обекты Label1 - выводит число найденых обьектов Вот код: Код:
var FileName: string; // имя или маска искомого файла cDir: string; n: integer; // кол-во файлов, удовлетворяющих запросу // поиск файла в текущем каталоге procedure Find; var SearchRec: TSearchRec; // информация о файле или каталоге begin GetDir(0,cDir); // получить имя текущего каталога if cDir[length(cDir)] <> '\' then cDir := cDir+'\'; if FindFirst(FileName, faAnyFile,SearchRec) = 0 then repeat if (SearchRec.Attr and faAnyFile) = SearchRec.Attr then begin Form1.Memo1.Lines.Add(cDir + SearchRec.Name); n := n + 1; end; until FindNext(SearchRec) <> 0; // обработка подкаталогов текущего каталога { Если не обрабатывать системные каталоги, то вместо faAnyFile можно задать faDidertory. Это объясняется тем, что значение SearchRec.Attr для обычного каталога равно faDirectory (16), для Program Files - faDirectory+faReadOnly (17), а для каталога Windows - faDirectory+faSysFile (20). } if FindFirst('*', faAnyFile, SearchRec) = 0 then repeat if (SearchRec.Attr and faDirectory) = faDirectory then // каталоги .. и . тоже каталоги, // но в них входить не надо !!! if SearchRec.Name[1] <> '.' then begin // Form1.Memo1.Lines.Add('>>>>'+SearchRec.Name); ChDir(SearchRec.Name);// войти в каталог Find; // выполнить поиск в подкаталоге ChDir('..');// выйти из каталога //Form1.Memo1.Lines.Add('<<<<'+SearchRec.Name); end; until FindNext(SearchRec) <> 0; end; // щелчок на кнопке Поиск procedure TForm1.Button1Click(Sender: TObject); begin if not DirectoryExists(Edit2.Text) then begin ShowMessage('Каталог указан неверно.'); Edit2.SetFocus; exit; end; Button1.Enabled := False; Label1.Caption := ''; Label1.Repaint; Memo1.Clear; // очистить поле Memo1 Label1.Caption := ''; FileName := Edit1.Text; // что искать cDir := Edit2.Text; // где искать n:=0; // кол-во найденных файлов ChDir(cDir); // войти в каталог начала поиска Find; // начать поиск if n = 0 then ShowMessage('Файлов, удовлетворяющих критерию поиска нет.') else Label1.Caption := 'Найдено файлов:' + IntToStr(n); Button1.Enabled := True; end; // возвращает каталог, выбранный пользователем function GetPath(mes: string):string; var Root: string; // корневой каталог pwRoot : PWideChar; Dir: string; begin Root := ''; // корневой каталог - папка Рабочий стол GetMem(pwRoot, (Length(Root)+1) * 2); pwRoot := StringToWideChar(Root,pwRoot,MAX_PATH*2); if SelectDirectory(mes, pwRoot, Dir) then if length(Dir) = 2 // пользователь выбрал корневой каталог then GetPath := Dir+'\' else GetPath := Dir else GetPath := ''; end; // щелчок на кнопке Папка procedure TForm1.Button2Click(Sender: TObject); var Path: string; begin Path := GetPath('Выберите папку'); if Path <> '' then Edit2.Text := Path; end; И немагу сделать чтобы вместо Edit2 и Button2 был выпадающий список тех файлов от куда запущем exe'шник Последний раз редактировалось mishqa35, 21.01.2010 в 16:28. |
#10
|
|||
|
|||
![]() Админы закройте темку.
|