858_____________________________________________Глава 14

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

"C:\\Program Files\\Bcb.exe"

Функция ExtractFileDir возвращает путь к файлу в том виде, который нужен
для передачи в функции CreateDir, GetCurrentDir, RemoveDir, SetCurrentDir
(см. раздел 14.13).

Функция ExtractShortPathName возвращает путь и имя файла FileName, со-
кращая имена каталогов и файлов до формата 8.3. Например, строка

С: \Program Files\Borland\CBuilder\Bm\Bcb. exe
будет возвращена как

С:\Progra~l\Borland\CBuiider\Bin\Bcb.exe

Функция MatchesMask проверяет Filename на использование маски Mask.
Маска может содержать обычные алфавитно-цифровые символы, множества, сим-
волы «*» — любое количество любых символов и <<?» — любой один символ. Мно-
жества заключаются в квадратные скобки [ ]. В скобках без пробелов записывают-
ся возможные символы или диапазоны в виде <символ>-<символ>. Например,
<<а-с». Если первый символ в множестве — восклицательный знак «!», то это мно-
жество содержит символы, которые не должны встречаться. Сравнение с маской
призводится без учета регистра. Функция MatchesMask возвращает true, если Fi-
lename соответствует маске, false, если не соответствует и генерирует исключение
при синтаксически неверной маске. Например, маске

"[a-b]:\\test\\*.*"

будут соответствовать все имена файлов, расположенных на дисководах а: или Ь: в
каталоге «test».

Функция MinimizeName минимизирует имя Filename, сокращая путь до раз-
мера, вмещающегося при изображении на канве Canvas в MaxLen пикселей. Вмес-
то выброшенных частей пути изображаются точки. Например, оператор

Labell->Caption = MinimizeName("С:\\Program Files\\Bcb.exe",
Labell->Canvas, 100);

приведет к появлению в метке Labell надписи:

С:\. . ЛВсЬ.ехе

Функции tmpnam и _mktemp создают уникальное имя файла, которое может
в дальнейшем использоваться для создания временных файлов. Последовательное
обращение к функции tmpnam может создавать до ТМР_МАХ = 65 535 уникаль-
ных имен. Параметр s этой функции должен задаваться или равным NULL, или
указывать на массив размером не менее L_tmpnam символов (эта константа опре-
делена в stdio.h). В случае параметра равного NULL, функция tmpnam сама созда-
ет необходимый объект с именем файла и возвращает указатель на него.

Если вы создаете затем временный файл с именем, сгенерированным tmpnam
или _mktemp, то должны сами позаботиться об его удалении в конце работы про-
граммы. Автоматически он не удаляется.