|
Вопрос # 3 211/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
хателос бы узнат можна ли каким нибут образом управление своей программой через cmd ,например primer.exe/1
при етои команде у меня в программе нажмот кнопку 1
 |
Вопрос задал: gast (статус: Посетитель)
Вопрос отправлен: 20 сентября 2009, 16:51
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, gast!
ParamStr(N) - возвращает N-тый параметр, указанный в команжной строке (параметры разделяются пробелами).
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 20 сентября 2009, 17:12
|
Ответ #2. Отвечает эксперт: Егор
Здравствуйте, gast!
Делаем так - создаём новую форму, ставим на неё одну кнопку. Делаем двойной щелчок на кнопке - создастся обработчик нажатия на кнопку - в нём прописываем нужный код. Для примера просто сделаем вывод сообщения "Нажата кнопка". Далее - делаем двойной щелчок по форме - появится обработчик создания формы onCreateForm. В этом обработчике прописываем код, который будет перебирать все параметры, переданные программе (всего количество параметров можно получить, используя функцию ParamCount). Если очередной параметр совпадает с "/1", нажмём кнопку.
Если теперь запустить приложение, то при запуске просто будет выдана форма с нашей кнопкой.
Если же запустить приложение с параметром /1, то будет выдано сообщение "Нажата кнопка".
Код в приложении.
Приложение: Переключить в обычный режим- procedure TForm1.Button1Click(Sender: TObject);
- begin
-
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- var
- i : integer;
- begin
- for i:=1 to ParamCount do
- if ParamStr(i)='/1' then Button1.Click;
- end;
-
- end.
 |
Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 20 сентября 2009, 18:44
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 20 сентября 2009, 20:00; участников в обсуждении: 3.
|
gast (статус: Посетитель), 20 сентября 2009, 17:50 [#1]:
Здравствуйте,Бубырь Александр Николаевич
а можно ли немнога потачнее или пример
|
|
Егор (статус: 10-ый класс), 20 сентября 2009, 18:46 [#2]:
кхм... в ответе опечатка - обработчик не onCreateForm, а FormCreate - но это не суть важно 
в дельфи (7-ой версии) очень хорошая помощь - посмотрите там статьи про функции ParamCount и ParamStr - очень подробно всё расписано, пример приведён хороший.
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
ANBsoft (статус: Студент), 20 сентября 2009, 19:42 [#3]:
Var N:Integer;
Begin
for N:=1 to ParamCount do begin //перебираем все параметры
if ParamStr(N)='/1' then begin
//делаем здесь все что нужно, например
Button1Click(Nil); //Вызываем нажатие кнопки
end;
end;
|
|
Егор (статус: 10-ый класс), 20 сентября 2009, 19:52 [#4]:
зачем было дублировать мой код? только ради комментариев?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
ANBsoft (статус: Студент), 20 сентября 2009, 20:00 [#5]:
Меня попросили написать поточнее или пример, я написал.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|