Главная страница
    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.035 c
3-1081830855
Sens
2004-04-13 08:34
2004.05.09
Помогите вычислить промежуток времени между двумя записями в базе


1-1082698992
tlan
2004-04-23 09:43
2004.05.09
dll с отчетом выкидывается ошибка EOleSysError


14-1082016380
TUser
2004-04-15 12:06
2004.05.09
Та ли книга?


1-1082957632
voprosik
2004-04-26 09:33
2004.05.09
Динамический PopUp


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