Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.22;
Скачать: CL | DM;

Вниз

Почему ParamStr() теряет в имени пробелы?   Найти похожие ветки 

 
oleg_sys ©   (2003-05-09 20:19) [0]

Такая проблема: мне нужно знать имя файла, из которого было запущено приложение.
for i:=1 to ParamCount do
begin
str:=str+ParamStr(i);
end;
Но в результате этого получается не "C:\Мои документы\файл.txt" а "C:\Моидокументы\файл.txt".
Почему оно теряет пробел и как мне узнать нормальный путь?


 
pavel_k   (2003-05-09 21:33) [1]

Добавить пробел:)

str:=str+" "


 
pavel_k   (2003-05-09 21:36) [2]

Это надо написать в цикле ниже написанного тобой...


 
default ©   (2003-05-09 21:56) [3]

"мне нужно знать имя файла, из которого было запущено приложение."
ExtractFileName(Application.ExeName)


 
Юрий Зотов ©   (2003-05-10 12:38) [4]

> oleg_sys © (09.05.03 20:19)

> Почему ParamStr() теряет в имени пробелы?

Нет, она ничего не теряет. Просто параметры командной строки разделяются как раз пробелами, поэтому один параметр с пробелом ParamStr воспринимает, как два разных параметра. И совершенно правильно делает.

В результате у Вас получается:
ParamStr(1)= C:\Мои
ParamStr(2)= документы\файл.txt

В цикле Вы склеиваете обе этих строки в одну - вот потому пробел и исчезает. А чтобы получить правильный результат, заключайте параметр с пробелами в двойные кавычки - тогда ParamStr воспримет его именно как ОДИН параметр и не будет разбивать его на несколько.



Страницы: 1 вся ветка

Текущий архив: 2003.05.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-70456
Fable
2003-05-02 20:44
2003.05.22
Замена Quick Report в Delphi 7


7-70552
OlegM
2003-03-24 11:38
2003.05.22
А можно ли под 2000 помигать лампочками на клаве как в 98


1-70303
User
2003-05-13 09:20
2003.05.22
Список объектов


3-70140
Алексей
2003-05-01 12:27
2003.05.22
кодирование потоков данных


4-70563
TankMan
2003-02-13 00:37
2003.05.22
Как сделать TPageControl и TTabsSheet ...например черного цвета?