Страница 1 из 1

поиск файла по уникальному значению

Добавлено: 04 мар 2021, 11:00
Espada
Доброго дня. Может подскажете с помощью каких функций можно реализовать идею: есть список файлов, у каждого в наименовании (помимо основного наименования) есть своё уникальное значение. я задаю это значение, присваиваю переменной. нужно из списка найти файл, в котором это значение есть и открыть его.

Re: поиск файла по уникальному значению

Добавлено: 04 мар 2021, 14:29
Irina_
Здравствуйте.
Как-то Вы не совсем точно формулируете задачу. Что Вы имеете ввиду, написав о списке файлов? Это файлы в определенной папке или например таблица в памяти, содержащая имена файлов?
Для работы с файлами в зависимости от расширения файла (DBF, TXT, XLSX,...) нужно использовать разные команды.
См. VipProgr.chm :
- Функции общего назначения — Функции для работы с файлами.
- Работа с БД и SQL – Функции для работы с БД — Функции ля работы с DBF файлами.
См. Excel_lib.chm. Здесь ф-ции для работы с Excel.

Re: поиск файла по уникальному значению

Добавлено: 04 мар 2021, 16:00
Espada
Irina_ писал(а):Здравствуйте.
Как-то Вы не совсем точно формулируете задачу. Что Вы имеете ввиду, написав о списке файлов? Это файлы в определенной папке или например таблица в памяти, содержащая имена файлов?
Для работы с файлами в зависимости от расширения файла (DBF, TXT, XLSX,...) нужно использовать разные команды.
См. VipProgr.chm :
- Функции общего назначения — Функции для работы с файлами.
- Работа с БД и SQL – Функции для работы с БД — Функции ля работы с DBF файлами.
См. Excel_lib.chm. Здесь ф-ции для работы с Excel.
извиняюсь ,что не уточнил. в Определённом месте лежит папка в которой находится множество xltm-файлов(шаблоны excel). как открыть файлик я понимаю, не могу понять, как найти нужный. как из всего списка выбрать именно тот, у которого в наименовании есть определенные символы. но ещё прогоню методички, спасибо)

Re: поиск файла по уникальному значению

Добавлено: 04 мар 2021, 16:06
Espada
хотя, я могу выгружать название всех файлов в таблицу в памяти, а там уже находить нужное название и по нему обращаться. по идее должно сработать)

Re: поиск файла по уникальному значению

Добавлено: 04 мар 2021, 16:30
Irina_

Код: Выделить всё

Var strNeed,  PathToFile : String;
       bFind : Boolean;
PathToFile:= '…….'; // папка с файлами
strNeed:= '123'; // определенные нужные символы в имени файла
bFind:= False;
str:= GetFirstFile( PathToFile, '*.xltm');
While str <> strDataIsEmpty do
{
   If InStr( strNeed, str ) > 0
      {
          bFind:= True;
          Break;
       }
   str:= GetNextFile;
}
If  bFind
  Message( ‘Искомый файл ‘ + str )
else
  Message( ‘Не найден файл’ );

Re: поиск файла по уникальному значению

Добавлено: 04 мар 2021, 19:05
spark
Так не подходит?

Код: Выделить всё

  path:='C:\temp'
  mask:='искомое'
  fPath := GetFirstFile(path,'*'+mask+'*.xltm');
  if fPath <> strDataIsEmpty
  {
   ExecProgram('', fPath, 'Открытие документа',pfFullScreen+pfDontWait, aErrorCode);
  }

Re: поиск файла по уникальному значению

Добавлено: 05 мар 2021, 10:42
Espada
spark писал(а):Так не подходит?
Почему-то ругается Ошибка: Нет такой функции, поля или метода : GETFIRSTFILE ...
Хотя это, вроде как системная функция. не понятно.

Re: поиск файла по уникальному значению

Добавлено: 05 мар 2021, 12:34
Den

Re: поиск файла по уникальному значению

Добавлено: 09 мар 2021, 11:59
Espada
Irina_ писал(а):

Код: Выделить всё

Var strNeed,  PathToFile : String;
       bFind : Boolean;
PathToFile:= '…….'; // папка с файлами
strNeed:= '123'; // определенные нужные символы в имени файла
bFind:= False;
str:= GetFirstFile( PathToFile, '*.xltm');
While str <> strDataIsEmpty do
{
   If InStr( strNeed, str ) > 0
      {
          bFind:= True;
          Break;
       }
   str:= GetNextFile;
}
If  bFind
  Message( ‘Искомый файл ‘ + str )
else
  Message( ‘Не найден файл’ );
Спасибо большое ,всё получилось. :grin: