Главная страница
    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.45 MB
Время: 0.006 c
1-70320
Переяслов Григорий
2003-05-07 19:02
2003.05.22
Присваивние строки полю Pointer


1-70250
Igorek
2003-05-09 16:43
2003.05.22
Простой вопрос по указателю на метод


14-70453
aga
2003-05-01 16:59
2003.05.22
Ftp-server


14-70500
Шоломицкий
2003-05-01 22:38
2003.05.22
Прикол №2. Решил повеселить вас ещё одной историей!


14-70491
limpik
2003-04-26 19:13
2003.05.22
WInSock





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский