Главная страница
    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.034 c
3-1081396835
Серж
2004-04-08 08:00
2004.05.09
Как округлить число в процедуре Interbase?


4-1079555272
KPV-10k
2004-03-17 23:27
2004.05.09
Получить SID пользователя...


1-1082467091
siriusP
2004-04-20 17:18
2004.05.09
Вопрос по созданию компонент.


1-1082971123
BALU1111
2004-04-26 13:18
2004.05.09
Как запретить запуск дубликата программы?


7-1080143283
IrBisoff
2004-03-24 18:48
2004.05.09
Не совсем трэй...





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