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

Вниз

Как получить параметры...   Найти похожие ветки 

 
Franzy   (2008-03-27 23:28) [0]

...с которыми вызывается консольное приложение Delphi?

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

Помню, что раньше я умел это делать, но сейчас уже давно забыл :)


 
Плохиш ©   (2008-03-28 00:00) [1]


> Помню, что раньше я умел это делать, но сейчас уже давно
> забыл

Да, да, "не знал, не знал и забыл"

PS. Справку почитай и ещё много полезного узнаешь.


 
Efir   (2008-03-28 00:28) [2]

ParamStr?


 
Семеныч   (2008-03-28 00:35) [3]

> Franzy   (27.03.08 23:28)

ParamStr, ParamCount.
Консольная или нет - неважно.


 
Xandr   (2008-03-28 08:27) [4]

ParamStr(0) - путь к программе
ParamStr(1) - первый параметр
ParamStr(2) - второй параметр
итд
насколько я помню, параметры разделяются пробелами.

использовать:
var
s:String;
begin
s:=ParamStr(1);
end;

ParamCount - количество параметров, с которыми вызвана прога.


 
DrPass ©   (2008-03-28 09:52) [5]


> Xandr   (28.03.08 08:27) [4]
> ParamStr(0) - путь к программе
> ParamStr(1) - первый параметр
> ParamStr(2) - второй параметр

Надо бы еще уточнить, что
ParamStr(3) - третий параметр
ParamStr(4) - четвертый параметр
ParamStr(5) - пятый параметр
ParamStr(6) - шестой параметр


 
Palladin ©   (2008-03-28 09:54) [6]

а седьмой и восьмой? а как же все остальные?


 
Семеныч   (2008-03-28 10:59) [7]

> Palladin ©   (28.03.08 09:54) [6]

> а седьмой и восьмой?
ParamStr(7) - седьмой параметр
ParamStr(8) - восьмой параметр

> а как же все остальные?
А остальные пусть допишут остальные...


 
Kolan ©   (2008-03-28 11:38) [8]

> А остальные пусть допишут остальные&#133

Это как на парте пишут: «если ты не голбой нарисуй вагон другой».


 
han_malign ©   (2008-03-28 11:53) [9]


> А остальные пусть допишут остальные...

- угу, их там еще на пару тысяч наберется(если односимвольные и не уникальные), учитывая ограничение длинны коммандной строки в 4К(кажется)...


 
Palladin ©   (2008-03-28 12:07) [10]


> han_malign ©   (28.03.08 11:53) [9]

это в консоли ограничение, а при CreateProcess - гораздо больше можно передать :)


 
Riply ©   (2008-03-28 12:13) [11]

>  [10] Palladin ©   (28.03.08 12:07)
> это в консоли ограничение, а при CreateProcess - гораздо больше можно передать :)

Нет под рукой Delphi - не посмотреть NtCreateProcess.
Если там UNICODE_STRING используется, то всяко не больше чем MAXWORD div 2 символов :)


 
Palladin ©   (2008-03-28 12:17) [12]

а фз, что там используется, я как то экспериментировал в обед, от делать нечего, у меня получилось передать не больше 32Кб...

WinXP, SP2

на других не пробовал...


 
clickmaker ©   (2008-03-28 12:18) [13]


> я как то экспериментировал в обед, от делать нечего

как это в обед делать нечего? а обедать? ))


 
Leonid Troyanovsky ©   (2008-03-29 11:59) [14]


> Palladin ©   (28.03.08 12:17) [12]

>  у меня получилось передать не больше 32Кб...

А чего экспериментировать, в msdn сказано

The maximum length of this string is 32,768 characters, including the Unicode terminating null character.

Правда, там почему-то не указано, что размер каждого передаваемого
параметра ограничен MAX_PATH, а не только the module name portion of lpCommandLine.

--
Regards, LVT.



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

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

Наверх




Память: 0.5 MB
Время: 0.016 c
2-1206483388
Андрей Молчанов
2008-03-26 01:16
2008.04.27
Модальная форма параллельно с обычной


15-1205681847
Поп Гапон
2008-03-16 18:37
2008.04.27
У вас доступ есть?


15-1205527708
noobiecoder
2008-03-14 23:48
2008.04.27
Как сделать это программно


8-1179134344
ЯХ
2007-05-14 13:19
2008.04.27
Библиотека графических файлов


15-1205311341
DiamondShark
2008-03-12 11:42
2008.04.27
Задачка