Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.07.2017, 20:41
RedBullAndroid RedBullAndroid вне форума
Прохожий
 
Регистрация: 09.07.2017
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Помогите с фунуцией

Помогите разработать описание функции.
Код:
function FormatFilePath(FilePath, Mask: String): String;
var
  Disc, Directory, FileName, Extension: String;
begin
  // Удалить ведущие и хвостовые пробелы
  FilePath := Trim(FilePath);
  try
    // В полном имени файла FilePath найти:
    //   1) имя диска (не работает, если FilePath - сетевой путь)
    Disc := GetFirstRegExpMatch(FilePath, '^([A-Z]{1}):\\');
    //   2) директорию
    Directory := GetFirstRegExpMatch(FilePath, 
      '^[A-Z]{1}:\\(.*)\\[^\\]+');
    //   3) имя файла
    FileName := GetFirstRegExpMatch(FilePath, 
      '^[A-Z]{1}:\\.*\\([^\\]+)\.[^\.\\]+$');
    //   4) расширение файла
    Extension := GetFirstRegExpMatch(FilePath, 
      '^[A-Z]{1}:\\.*\\[^\\]+\.([^\.\\]+)$');
  except
    // Если полное имя файла задано не верно, вернуть пустую строку
    Result := '';
    Exit;
  end;
  // Скомпоновать полученные значения (диск, директорию, имя файла и расширение)
  // в строку, как указано в маске Mask
  Result := Mask;
  // Заменить %D на имя диска
  Result := Replace(Result, '%D', Disc);
  // Заменить %P на путь
  Result := Replace(Result, '%P', Directory);
  // Заменить %N на имя файла
  Result := Replace(Result, '%N', FileName);
  // Заменить %E на расширение
  Result := Replace(Result, '%E', Extension);
end;

lmikle: Пользуемся тегами!

Последний раз редактировалось lmikle, 09.07.2017 в 20:48.
Ответить с цитированием
  #2  
Старый 09.07.2017, 20:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Какое описание нужно-то? Вроде, в коде все откомментированно...

ЗЫ. Для особых извращенцев - есть спец. функции в Delphi:
ExtractFileDrive
ExtractFilePath
ExtractFileName
ExtractFileExt
А для определения, что диск сетевой - путь начинается с '\\'
Ответить с цитированием
  #3  
Старый 09.07.2017, 20:56
RedBullAndroid RedBullAndroid вне форума
Прохожий
 
Регистрация: 09.07.2017
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Какое описание нужно-то? Вроде, в коде все откомментированно...

ЗЫ. Для особых извращенцев - есть спец. функции в Delphi:
ExtractFileDrive
ExtractFilePath
ExtractFileName
ExtractFileExt
А для определения, что диск сетевой - путь начинается с '\\'

Дали тестовое задание для устройства на работу,а как описать не объяснили...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter