", "|"." /> Проверка имени файла на наличие запрещённых символов . Delphi , Файловая система , Файлы :: KANSoftWare
Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Проверка имени файла на наличие запрещённых символов

Delphi , Файловая система , Файлы

Проверка имени файла на наличие запрещённых символов

Автор: Aleksiy
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Проверка имени файла на наличие запрещённых символов (? * ...)

Не используйте функцию для проверки пути к какому-либо файлу и т.п.

Зависимости: нет
Автор:       Aleksiy, aleksiy@sch103.krasnoyarsk.su
Copyright:   Собственное написание (Aleksiy)
Дата:        20 апреля 2002 г.
***************************************************** }

function RightFileName(const FileName: string): boolean;
const
  CHARS: array[1..10] of char =
  ('\', '/', ':', '*', '.', '?', '"', '<', '>', '|');
var
  I: integer;
begin
  for I := 1 to 10 do
    if pos(CHARS[I], FileName) <> 0 then //Найден запрещённый символ
    begin
      Result := false;
      Exit;
    end;
  Result := true;
end;

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var
  F: TextFile;
begin
  if RightFileName(Edit1.Text) then
  begin
    AssignFile(F, Edit1.Text);
    Rewrite(F);
    CloseFile(F);
  end
  else
    ShowMessage(
      'Нельзя использовать символы \ / : * . ? " < > | в имени файла');
end;

Перевод контента на русский язык:

Приведенный код - функция Delphi под названием RightFileName, которая проверяет, содержит ли заданный файловый путь запрещенные символы. Функция принимает строковый параметр FileName и возвращает булевое значение, указывающее, является ли файловым путем допустимым или нет.

Работа функции следующая:

  1. Функция объявляет массив CHARS, содержащий 10 символов, которые считаются запрещенными.
  2. Она инициализирует переменную I значением 1, которая будет использоваться как индекс для массива CHARS.
  3. Цикл iterates over элементы массива CHARS, проверяя, содержит ли файловый путь какой-либо из этих символов с помощью функции pos.
  4. Если запрещенный символ найден, функция устанавливает свой возвращаемый результат в false и выходит из процедуры с помощью оператора Exit.
  5. Если после прохождения всех элементов массива CHARS не были найдены запрещенные символы, функция устанавливает свой возвращаемый результат в true.

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

  1. Открывает текстовый файл с указанным именем, если имя файла допустимо.
  2. Если имя файла содержит запрещенные символы, отображается сообщение об ошибке.

Некоторые предложения по улучшению кода:

  1. Вместо жесткого кодирования списка запрещенных символов в массиве CHARS рассмотрите возможность использования отдельной функции или константы для определения этого списка. Это сделает код более гибким и легко поддерживаемым.
  2. Рассмотрите возможность использования регулярных выражений (доступны в Delphi) вместо функции pos для поиска запрещенных символов. Регулярные выражения могут обеспечить более мощные возможности pattern matching.
  3. В примере использования рассмотрите возможность использования более информативного сообщения об ошибке или обработки ошибки более надежно.

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

Функция RightFileName позволяет проверить имя файла на наличие запрещенных символов, таких как "\", "/", " ", "*", ".", "?", "", "<", ">", "|".


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Файлы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-24 19:55:15/0.0036511421203613/0