Delphi: «Открыть с помощью» своей программы, обработка пробелов в имени файла

Сегодня я расскажу, как заставить Вашу программу на Delphi ПРАВИЛЬНО открывать указанный файл при запуске (например, если щелкнуть по какому либо файлу правой кнопкой мыши, выбрать пункт «Открыть с помощью…» и указать Вашу программу). При этом имя открываемого файла передается программе в параметре, и может возникнуть одна проблема — наличие пробелов в имени файла, который будет оценен как разделитель параметров. То есть, при указании имени файла «Новый файл.txt» программе будет передано 2 параметра: «Новый» и «файл.txt». Для правильной обработки этой ситуации нам необходимо «собрать» все параметры в кучу.

Итак, зададим переменную params типа string и в нее «сложим» все наши параметры, получаемые методом ParamStr, количество которых можно получить методом ParamCount. Вот такая простая процедура:

Procedure ...
var params: string;
begin
params:='';
if ParamCount>0 then
for i := 1 to ParamCount do
begin
params := params + ParamStr(i);
if i<>ParamCount then params := params + ' ';
end;
end;

Процедура обычно выполняется в событии FormCreate главной формы приложения. Затем остается только открыть файл, имя которого хранится в переменной params. Чтобы открытие файла можно было произвести в другой процедуре, переменную params делаем глобальной (выносим приведенный блок var, например, под блок uses в начале кода модуля).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *