Главная страница
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.49 MB
Время: 0.016 c
15-1205735888
sds
2008-03-17 09:38
2008.04.27
MS SQL Server 2000


2-1207032743
asdf2
2008-04-01 10:52
2008.04.27
Как в InterBase6.5 сделать select Length(MyField) from MyTable?


15-1205195196
No_Dead
2008-03-11 03:26
2008.04.27
Вот чего-то не пойму (whois)


15-1205232155
TIF
2008-03-11 13:42
2008.04.27
Delphi for PHP


2-1207147200
savyhinst
2008-04-02 18:40
2008.04.27
TSpinEdit