Встроенные типы модуля DOS для работы с файловой системой
ComStr = string[127]
Командная строка
PathStr = string[79]
Полный путь файла
DirStr = string[67]
Логический диск или каталог
NameStr = string[8]
Имя файла
ExtStr = string[4]
Расширение, включая точку
Функции модуля DOS для работы с файловой системой
function Fexpand(path: PathStr): PathStr;
Расширяет имя файла до полного имени с указанием маршрута. Результатом обращения к этой функции вида Fexpand('Имя_Файла.pas') будет, например, строка 'c:\Timon\Имя_Файла.pas'. Нужно сразу заметить, что функция Fexpand() не проверяет данный файл на существование. Она лишь дописывает к своему параметру путь, по которому находится исполняемый файл. Как это можно использовать? Наверное разве, что узнать путь по которому была отинсталена (установленна) Ваша программа: path:= Fexpand('');
procedure FSpilit(path: PathStr, var dir: DirStr; var name: NameStr; var ext: ExtStr);
Процедура разбивает значение типа PathStr на компоненты. Например,
После выполнения данного кода переменные будут содержать следуещие значения:
path | d:\User\go.exe
dir | d:\User\
name | go
ext | .exe
Однако тут то собака и зарыта! Дело в том, что даже если path:= '&&&&**--\23\go.exe', то dir = '&&&&**--\23\'. Ну а если файл имеет две точки (например go.4.exe), то ext приобретет значение первая точка + 3 следующих символа. В нашем случае это будет '.4.e'