Я связал расширение ".file_5" с моим приложением, и я использовал функцию ParamStr (1) в Delphi, чтобы показать окно сообщения, содержащее путь и имя файла, когда я дважды щелкаю по нему в проводнике, используякод ниже.
procedure TForm1.FormCreate(Sender: TObject);
var
TheFile : string;
begin
TheFile := ParamStr(1); //filename for the file that was loaded
ShowMessage(TheFile);
end;
Это работает, но если я переместу файл в другое место, то в место, где он был изначально, то отображаемое сообщение будет неправильным.
Пример: (с использованием test.file_5)
Исходное местоположение файла находится на диске C: \, и когда я дважды щелкаю по нему, мое приложение запускается и отображает окно с сообщением:
C: \ test.file_5
Это правильно.Если я перенесу этот же файл в каталог, содержащий пробелы, например, в папку с программным файлом, то отображаемое Messagbox не будет
C: \ Program Files \ test.file_5
как я и ожидал, но скорее
C: \ PROGRA ~ 1.FILE_
, что, очевидно, не та информация, которая мне нужна, поэтому мой вопрос:могу ли я использовать функцию ParamStr () для учета каталогов, в которых есть пробелы, или есть лучшая функция, которую я должен использовать, которая работает с каталогами, в которых есть пробелы.