Коммандная строка в Delphi
Как из Дельфи воспользоваться командной строкой. Например мне из моей программы необходимо вызвать какое-нибудь приложение с определенными параметрами например вот такое c:\asscerton.exe -d caplan. Как это сделать, я понимаю, что вопрос глупый, но очень надо.
Description
ParamCount returns the number of parameters passed to the program on the command line. Separate parameters with spaces or tabs. Use double quotes to wrap multiple words as one parameter (such as long file names containing spaces).
function ParamStr(Index: Integer): string;
Description
ParamStr returns the parameter from the command line that corresponds to Index, or an empty string if Index is greater than ParamCount. For example, an Index value of 2 returns the second command-line parameter.
ParamStr(0) returns the path and file name of the executing program (for example, C:\TEST\MYPROG.EXE).
Note: Use double quotes to wrap multiple words as one parameter (such as long file names containing spaces).
Процедура Winexec(PChar,Cardinal);// это типы а не имена переменных (если мне память не изменяет).
ParamStr - ищи в дельфийсом хелпе (было по-моему в консольной хелпе). Однако у меня были глюки с этим.
Цитата:
On 2002-10-01 1944, Markus wrote
ParamStr - ищи в дельфийсом хелпе (было по-моему в консольной хелпе). Однако у меня были глюки с этим.
Глюки появляются, когда идут параметры с пробелами. Тогда приходится ещё проверять строку на наличие кавычек. Гемор натуральный...
Спасибо всем. Попробую все!!!
procedure TForm1.OnCreate (....
var
s: string;
begin
s := ParamStr(1);
//к примеру, если параметр задан так:
//PROGA.EXE FORMAT
то s примет значение FORMAT
(1) в функции означает массив символов с соответствующим номером, разаделяемый пробелом
Ещё можно посмотреть ShellExecute - у него вообще куча возможностей. Я видел, как с помощью него из проги создавался архив раром или арджи со всеми параметрами.