Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Как получить параметр командной строки?   Найти похожие ветки 

 
Yong ©   (2004-04-19 23:52) [0]

При запуске программы в командой строке через пробел после ее имени пишется файл, который должен быть в нее загружен. Например
C:\windows\notepad.exe Document.txt. Как получить имя этого файла (Document.txt), т.е. строковой параметр? Или, например, ключ. Подскажите пожалуйста, если кто знает.


 
Yong ©   (2004-04-19 23:52) [0]

При запуске программы в командой строке через пробел после ее имени пишется файл, который должен быть в нее загружен. Например
C:\windows\notepad.exe Document.txt. Как получить имя этого файла (Document.txt), т.е. строковой параметр? Или, например, ключ. Подскажите пожалуйста, если кто знает.


 
Yanis ©   (2004-04-20 00:10) [1]

ParamStr(1)
Указывает на первый параметр. Например, прога с путем и параметром D:\downloads\mydir\myprog.exe d:\docs\doc.txt, то ParamStr(1) будет равно d:\docs\doc.txt
Ещё тебе понадобится функция ParamCount - она возвращает количество параметров.
Например:

for i :=1  to ParamCount do ShowMessage(ParamStr(i));

Будут выводиться сообщения с параметрами командной строки.
В твоём случае, можно вместо ShowMessage написать WinExec("Notepad.exe"+" "+ParamStr(i)).


 
Yanis ©   (2004-04-20 00:10) [1]

ParamStr(1)
Указывает на первый параметр. Например, прога с путем и параметром D:\downloads\mydir\myprog.exe d:\docs\doc.txt, то ParamStr(1) будет равно d:\docs\doc.txt
Ещё тебе понадобится функция ParamCount - она возвращает количество параметров.
Например:

for i :=1  to ParamCount do ShowMessage(ParamStr(i));

Будут выводиться сообщения с параметрами командной строки.
В твоём случае, можно вместо ShowMessage написать WinExec("Notepad.exe"+" "+ParamStr(i)).


 
Yong ©   (2004-04-20 00:21) [2]

Спасибо, Yanis!


 
Yong ©   (2004-04-20 00:21) [2]

Спасибо, Yanis!


 
Германн ©   (2004-04-20 00:25) [3]

При этом хорошо бы еще всегда помнить, что в отличие от ДОСа, нынешние имена файлов и каталогов могут содержать пробелы. И в таком случае стоит учесть, что передавать через коммандную строку имя такого файла принято заключая его в кавычки.


 
Германн ©   (2004-04-20 00:25) [3]

При этом хорошо бы еще всегда помнить, что в отличие от ДОСа, нынешние имена файлов и каталогов могут содержать пробелы. И в таком случае стоит учесть, что передавать через коммандную строку имя такого файла принято заключая его в кавычки.


 
Yong ©   (2004-04-20 00:30) [4]

Спасибо, Германн!


 
Yong ©   (2004-04-20 00:30) [4]

Спасибо, Германн!


 
Anatoly Podgoretsky ©   (2004-04-20 01:21) [5]

Германн ©   (20.04.04 00:25) [3]
ДОС не препятствовал пробелам в имени файла, иногда это использовалось для защиты файлов


 
Anatoly Podgoretsky ©   (2004-04-20 01:21) [5]

Германн ©   (20.04.04 00:25) [3]
ДОС не препятствовал пробелам в имени файла, иногда это использовалось для защиты файлов


 
Германн ©   (2004-04-20 02:11) [6]

2 Anatoly Podgoretsky ©   (20.04.04 01:21) [5]
Дык я же не о том.
Я же о передаче имени файла в качестве параметра командной строки!

Хотя ДОС-то, может и не препятствовал, но как в ДОСе сформировать такой файл?


 
Германн ©   (2004-04-20 02:11) [6]

2 Anatoly Podgoretsky ©   (20.04.04 01:21) [5]
Дык я же не о том.
Я же о передаче имени файла в качестве параметра командной строки!

Хотя ДОС-то, может и не препятствовал, но как в ДОСе сформировать такой файл?



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.03 c
1-1082364110
Moleg
2004-04-19 12:41
2004.05.09
Формирование отчетов в виде html файла?


1-1082452929
Tornado
2004-04-20 13:22
2004.05.09
Помогите побороть TListView


3-1081527404
bit
2004-04-09 20:16
2004.05.09
IBQuery


7-1079509984
Fuad
2004-03-17 10:53
2004.05.09
Как заменить файл используемый системой(Win2k, WinXP).


1-1082655851
<DeL.>
2004-04-22 21:44
2004.05.09
Программа не работает без Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский