На нашем сайте ежедневно публикуются десятки качественных и свежих материалов, которые Вы можете скачать абсолютно бесплатно. Рекомендуем Вам добавить Наш сайт в закладки, а также подписаться на RSS ленту, чтобы не пропускать интересных новостей.
Поиск файла – типичная задача, которую ежедневно решают тысячи программистов по всему миру. Чаще всего на Паскале и Delphi эту задачу решают классическим надежным способом с помощью функции FindFirst и FindNext. Этот способ я покажу Вам в уроке: Delphi: Практический пример диаграммы: Распределение файлов по типам. А сейчас покажем способ попроще. Поместите на форму поле ввода Edit, в которое пользователь будет вводить имя файла, и кнопку Button. Предварительно в секцию Uses добавьте модуль Imagehlp.
Код:
Код
uses …, Imagehlp;
procedure TForm1.Button1Click(Sender: TObject); var FilePath: PChar; begin Button1.Enabled:= false; GetMem(FilePath, MAX_PATH); if SearchTreeForFile( (‘C:\’), Pchar(Edit1.Text), FilePath) then ShowMessage (‘Найден файл:’ + FilePath); FreeMem(FilePath); Button1.Enabled:= true; end;
Функция SearchTreeForFile в поисках файла просматривает иерархию папок, начиная с папки, полный путь которой передан ей как первый аргумент. Путь к найденному файлу возвращает в буфере, адрес которого передается функции как третий аргумент. Тип всех аргументов функции SearchTreeForFile – указатель на нуль завершенную строку (LPSTR). В Delphi этот тип называется PChar, и мы преобразовали аргументы в него явным образом. Поиск файла по всему разделу – операция длительная, и на время ее выполнения мы отключаем кнопку Button1.