Текущий архив: 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]> А остальные пусть допишут остальные…
Это как на парте пишут: «если ты не голбой нарисуй вагон другой».
← →
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