Подписка

добавить на Яндекс

Наши проекты

Delphi+Google

Google API

Google API в Delphi - проект с открытым исходным кодом.

Chrono

Chrono

Хронометр - программа для ведения списка задач.

ODFProc

ODFProc

ODFProc - работа с документами OpenOffice в Lazarus и FreePascal.

Поддержка блога

А тут я коплю на лицензию Delphi XE на iPad =).
Сумма пожертвования не фиксирована.

Публикации

Год назад

Случайный пост

Последние

Сообщения форума

Комментарии

Социальные сети

Google

Facebook

Twitter

Опрос

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



Loading ... Loading ...

Блоги и сообщества

Статьи по Delphi DelphiFeeds.ru - Все Delphi-блоги Рунета Сообщество умных людей VR-Online.RU Бесплатный журнал для программистов и всех, кто интересуется IT Статьи и уроки по Delphi Новостной блог о высоких технологиях
Система Orphus
Опубликовал Vlad 4 июня 2010 в 16:14.
Категории: Основы Delphi.


IT-блог дня: не определен

Итак, сегодня третья заключительная часть краткого обзора нового модуля Delphi 2010 - IOUtils.pas. Рассматриваем работу с классом TPath.
В начале кратко о том, для чего можно использовать класс. Судя по составу методов, TPath можно использовать для проверки путей к файлам и директориям, извлекать из пути имя и расширения файла, проверять правильность составления пути к файла и директориям и т.д. Рассмотрим эти методы более подробно.

1. Проверка правильности пути и имени файла

Для проверки валидности символов в пути и имени файла используются следующие методы:

class function IsValidPathChar(const AChar: Char): Boolean; inline; static;
class function IsValidFileNameChar(const AChar: Char): Boolean; inline; static;
class function HasValidPathChars(const Path: string;
      const UseWildcards: Boolean): Boolean; static;
class function HasValidFileNameChars(const FileName: string;
      const UseWildcards: Boolean): Boolean; static;

При этом IsValidPathChar провряет валидность символа в пути и если символ - это:

(#0..#31, '"', '<', '>', '|')

то функция возвращает False.
Соответственно IsValidFileNameChar возвращает false, если символ:

( #0..#31, '"', '*', '/', '"', '<', '>', '?', '\', '|');

Соответственно методы HasValidPathChars и HasValidFileNameChars проверяют уже всю строку, а не отдельный символ. При этом UseWildcards определяет будут ли учитываться символы "дикой карты" при проверке.
Для HasValidPathChars такими символави являются:

('*', ':' ,'?' ,'/', '\')

а для HasValidFileNameChars

('*', '?')

Если при проверке строки в ней находится один или несколько символов дикой карты, то пезультат всё равно будет true.

Работа с префиксами

Следующие методы проверяют какой путь задан в Path.

class function IsUNCRooted(const Path: string): Boolean; static;
class function IsUNCPath(const Path: string): Boolean; inline; static;
class function IsDriveRooted(const Path: string): Boolean; static;
class function DriveExists(const Path: string): Boolean; static;

Соответственно, первые два метода относятся к проверке того является ли Path UNC-путем вида:

\\server\folder\path

Третий метод и четвертый определяют является ли путь обчным локальным вида:

C:/Folder/path

и содержит ли путь имя локального диска.

Работа файлами и папкой Temp

Рассмотрим несколько методов, которые можно использовать для работы с файлами:

class function GetRandomFileName: string; static;
class function GetTempFileName: string; static;
class function GetTempPath: string; static;

Метод GetRandomFileName, как понятно из названия, возвращает абсолютно случайное название файла, например:

TdjfgRTgG.QFH

GetTempFileName возвращает имя, наиболее подходящее для временного, т.е. вида:

tmp????.tmp

Соответственно GetTempPath возвращает путь к директории для хранения временных файлов.
Остальные методы класса TPath так или иначе пересекаются в своей работе с метоами клссов TFile и TDirectory, например, получают атрибуты директории, расширение файла и т.д.
Вот пожалуй очень кратко о том, какие возможности предоставляет нам новый модуль Delphi 2010 - IOUtils.pas. В целом классы TFile, TPath и TDirectory обхединяют в себе все те давно известные нам методы, наподобие ExtractFileName и т.д. которые мы использовали ранее. Ничего нового в принципе нет. Использовать или нет этот модуль в своих разработках - это как обычно, дело каждого. Как по мне, так с IOUtils работа с файлами и директориями становится более простой и понятной.

---------------------------
Наконец-то эта дурная рабочая неделя подошла к концу. Если учесть то, что последние несколько дней меня занимала в рабочее время только одна задача - создание сайта, то мозг разрывает просто аддски...ну почему бы не заказать создание корпоративного сайта профессионалам? Например InWeb.ru. Нет, блин, сами разрабатываем и сами же потом мучаемся...
---------------------------
Понравилась статья? Тогда:
Делись! Загружай! Плюсуй!
   Отправить PDF на   
Читай ещё статьи на WebDelphi.ru

Комментарии (7)

WP_Cloudy

Ваш ответ

Внимание: Все комментарии модерируются, и это может вызвать задержку их публикации. Отправлять комментарий заново не требуется.

Пожалуйста, заключайте исходный код в тэги [code][/code].
Если код большой, то воспользуйтесь Вставкой кода на отдельной странице и оставьте в комментарии ссылку на исходник