0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12

Каталогизатор фотографий: поиск по выбранной папке

02.03.2016, 16:40. Показов 1646. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Нужно написать программу в delphi в которой будут храниться фотографии, мне ее нужно сдать в определенный срок, дотянул до последнего, не разобрался ни чего не могу сделать. Суть программы в том что,в ней находятся фотографии, они лежат в определенной папке вместе с самой программой, чтобы не создавать базу данных а просто указать путь. Программа со списком фотографий, и поиском по всем фото, нужно вписать название фотографии и она должна появиться на экране. Примерно что-то такое должно получиться. Есть что-то похожее, но туда нужно поставить поиск по папке которую выбрал, и чтоб указывалось только название изображения, а не то где он расположен и т.д.Помогите пожалуйста.

Вот код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Masks, FileCtrl, jpeg;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
 
 
 procedure DirSearch(Dir: string; Mask : string; SL: TStrings);
var
  SearchRec: TSearchRec;
begin
Dir := IncludeTrailingBackslash(Dir);
if FindFirst(Dir + '*.*', faAnyFile, SearchRec) = 0 then
repeat
Application.ProcessMessages;
 
if (SearchRec.Attr and faDirectory) <> 0 then begin
if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
DirSearch(Dir + SearchRec.name, Mask, sl)
end
else
if MatchesMask(ExtractFileName(SearchRec.Name), Mask) then
Sl.Add(Dir + SearchRec.Name);
 
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
chosenDirectory : string;
begin
if SelectDirectory('Выберите каталог','', chosenDirectory)
then 
form1.listbox1.Clear;
DirSearch(chosenDirectory, '*.jpg', form1.listbox1.Items);
end;
 
procedure TForm1.ListBox1Click(Sender: TObject);
var
jpg:tjpegimage;
begin
jpg:=tjpegimage.Create;
jpg.LoadFromFile(listbox1.Items[listbox1.ItemIndex]);
image1.Picture.Assign(jpg);
if Assigned(jpg) then jpg.Free;
end;
 
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2016, 16:40
Ответы с готовыми решениями:

Каталогизатор фотографий
Всем привет, хочу написать каталогизатор фотографий на C++ Builder... Может кто писал, знает как программу реализовать?

Каталогизатор фотографий
В школе заставили делать практическую работу, ну я решил написать программу в delphi в которой будут храниться все таблице по физике за...

Запомнить путь к папке, выбранной в FolderBrowserDialog
Добрый день! Задача такая: в программе использую folderBrowserDialog - через него пользователь задает путь к папке, в которой лежат...

21
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
02.03.2016, 17:43
Цитата Сообщение от nmass Посмотреть сообщение
Помогите пожалуйста.
чем помочь то?
0
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
02.03.2016, 18:01  [ТС]
Цитата Сообщение от nmass Посмотреть сообщение
Есть что-то похожее, но туда нужно поставить поиск по папке которую выбрал, и чтоб указывалось только название изображения, а не то где он расположен и т.д.Помогите пожалуйста.
Примерно этим
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
02.03.2016, 20:19
Цитата Сообщение от nmass Посмотреть сообщение
Примерно этим
чем "этим"?

ты скажи что у тебя не получается, в какой строке ошибка - я подскажу как исправить
1
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
03.03.2016, 04:36  [ТС]
Я просто не знаю что сделать, как создать поиск.
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
03.03.2016, 09:13
у тебя же есть уже поиск
чего ты не знаешь? как им пользоваться?
1
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
10.04.2016, 10:15  [ТС]
Как сделать что бы при открытие программы в lisbox'е был список файлов из определенной папки?
0
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
10.04.2016, 10:46
Есть готовый компонент TFileListBox
1
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
11.04.2016, 15:56  [ТС]
А как из TFileListBox картинку вывести в image?
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
11.04.2016, 16:04
ты когда элемент выбрал, получил имя файла
ну и работай дальше с именем файла
1
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
11.04.2016, 16:19  [ТС]
Спасибо, а еще можно такой вопрос, как с помощью edit провести поиск по данной папке, я ввожу название файла, он высвечивается в listboxe(не в TFileListBox). Если не трудно можно с примером а то команд не знаю.
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
11.04.2016, 16:31
Цитата Сообщение от nmass Посмотреть сообщение
как с помощью edit провести поиск по данной папке,
это в твоем коде процедура поиска?
Цитата Сообщение от nmass Посмотреть сообщение
procedure DirSearch(Dir: string; Mask : string; SL: TStrings);
используй ее

Цитата Сообщение от nmass Посмотреть сообщение
а то команд не знаю.
0
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
11.04.2016, 16:50  [ТС]
сорян но понятней не стало)
не понимаю как этим воспользоваться, и что вообще делать.
0
11.04.2016, 16:55

Не по теме:

а ты диссертацию не пишешь на тему "ох уж эти скифы"?

0
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
11.04.2016, 16:58  [ТС]
нет)
0
5989 / 4564 / 1096
Регистрация: 29.08.2013
Сообщений: 28,207
Записей в блоге: 3
11.04.2016, 17:09
подсказать могу
написать за тебя могу, но не бесплатно

но обучать с нуля не буду
0
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
11.04.2016, 17:21  [ТС]
вот что то наклякал, так должно быть?

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
FindFile(Edit1.Text);
end;

procedure TForm1.FindFile(Dir:String);
Var SR:TSearchRec;
FindRes:Integer;
begin
FindRes:=FindFirst(Dir+'*.*',faAnyFile,S R);
While FindRes=0 do
begin
if ((SR.Attr and faDirectory)=faDirectory) and
((SR.Name='.')or(SR.Name='..')) then
begin
FindRes:=FindNext(SR);
Continue;
end;

if ((SR.Attr and faDirectory)=faDirectory) then
begin
FindFile(Dir+SR.Name+'\');
FindRes:=FindNext(SR);
Continue;
end;

ListBox1.Items.Add(SR.Name);
FindRes:=FindNext(SR);
end;
FindClose(SR);
end;

Добавлено через 6 минут
и еще вопросик, как мне сделать чтобы в FileListBox при нажатии на файл он открывался в image, написал это но не робит

procedure TForm1.FileListBox1Change(Sender: TObject);
begin
FileListBox1.Directory:='D:\Pictures\ио\ ';
end;
procedure TForm1.FileListBox1Click(Sender: TObject);
var
jpg:tjpegimage;
begin
jpg:=tjpegimage.Create;
jpg.LoadFromFile(FileListBox1.Items[FileListBox1.ItemIndex]);
image1.Picture.Assign(jpg);
if Assigned(jpg) then jpg.Free;
end;
0
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
11.04.2016, 19:48
Все несколько проще, после добавления Jpeg в Uses можно напрямую грузить Jpg-файл:
Delphi
1
2
3
4
procedure TForm1.FileListBox1Click(Sender: TObject);
begin
 image1.Picture.LoadFromFile(FileListBox1.FileName);
end;
1
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 12
14.04.2016, 18:14  [ТС]
А как можно сделать чтоб при в воде в edit начало названия что бы он выдавал тебе возможные варианты, как поиск в яндексе.
0
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
14.04.2016, 19:54
Видимо обработать событие изменения текста вашего едита:
Delphi
1
 FileListBox1.Mask := Edit1.Text
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.04.2016, 19:54
Помогаю со студенческими работами здесь

Открыть все файлы в выбранной папке
Помогите написать батник, который открывает все файлы в выбраной папке. Текстовые просто выводит на экран, а для остальных выдает 2...

Как узнать путь к папке, выбранной в Проводнике ?
Задача такая: При ПКМ на папке в Проводнике Винды в контекстном меню должен появиться пункт &quot;Rename by Folder Name&quot;, при клике...

Получить путь к папке, выбранной посредством формы
Здравствуйте! Кто-нибудь знает как получить путь к папке, выбранной указанным ниже способом: &lt;form action = &quot;&quot; method =...

Удалить N строк из всех файлов в выбранной папке
с одним файлом у меня проблем не возникло: считал файл и при записи пропустил через Skip нужное количество строк, а вот как сделать чтобы...

Как правильно создать файлы в выбранной пользователем папке
Есть такая задача: по кнопке пользователь выбирает папку, в которой создаются текстовые файлы с уже известным содержимым. Как правильно это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru