FSF.ProcessName

Programming Far Manager plugins

ProcessName

Функция FSF.ProcessName позволяет обработать некое имя файла: сравнить с маской, с масками или сгенерировать по маске новое имя.
size_t WINAPI ProcessName(
  const wchar_t *Param1,
  wchar_t *Param2,
  size_t Size,
  PROCESSNAME_FLAGS Flags
);

Параметры

Param1
Зависит от Flags.
Param2
Зависит от Flags.
Size
Зависит от Flags.
Flags
Указывает на необходимое действие. Может быть следующим (тип PROCESSNAME_FLAGS):
ДействиеОписание
PN_CMPNAME Сравнить имя файла с маской.
Param1 соответствует Pattern, Param2 соответствует String, Size игнорируется. Параметр Param1 может включать обычные допустимые в именах файлов символы, а также специальные выражения:
МетасимволОписание
* любое количество символов
? любой символ
[c,x-z] любой символ из находящихся в квадратных скобках; допускаются и отдельные символы, и их диапазоны.
Например, файлы ftp.exe, fc.exe и f.ext совпадают с маской f*.ex?, маска *co* совпадает с color.ini и edit.com, маске [c-ft]*.txt будут соответствовать config.txt, demo.txt, faq.txt и tips.txt.
В случае успеха функция возвращает TRUE.
PN_CMPNAMELIST Сравнить имя файла со списком масок, перечисленных через запятую. Аналог предыдущего флага, только Param1 соответствует списку масок. Size игнорируется.
PN_SKIPPATH Может сочетаться с PN_CMPNAME или PN_CMPNAMELIST - указывает на то, что путь к имени файла при сравнении должен игнорироваться.
PN_GENERATENAME Генерировать имя файла на основе существующего (Param1) и маски (Param2). Результат записывается в Param2. Size должен содержать размер буфера с учётом завершающего \0. Возвращаемое значение - необходимый размер буфера.
Если нужно преобразовать только часть Param1, то можно указать размер этой части (может быть до 65535 символов) в Flags (добавить по принципу OR), например: Param1=L"dir1\\file1", а нам нужно изменить только "dir1", тогда параметр Flags должен быть равен PN_GENERATENAME|4
PN_CHECKMASK Проверить валидность маски. Param1 соответствует списку масок для проверки.
PN_SHOWERRORMESSAGE При проверке валидности маски (PN_CHECKMASK) выводить сообщение об ошибке.

Возвращаемое значение

См. описание параметра Flags