Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/23: Рейтинг темы: голосов - 23, средняя оценка - 4.87
4 / 1 / 0
Регистрация: 13.01.2009
Сообщений: 26
1

Запуск програмки через командную строку

03.02.2010, 23:19. Показов 4478. Ответов 3
Метки нет (Все метки)

Сразу говорю, что Builder'ом не дружу, и с с++ не очень, но писать надо, потому у меня несколько вопросов, надеюсь кто-нить поможет))

Не буду расписывать свою реальную задачу, приведу ее к виду учебной.

Программа должна выводить Имя и Фамилию человека. (printname.exe)
Если вызов через командную строку и задаются аргументы (printname Artem Budenov), то в окне программки выводится в любом виде эти фамилия и имя.
Если вызов через командную строку без аргументов - то предлагается форма для заполнения Фамилии и Имени.

Если приложение консольное, то функция хорошо сюда подходит

C++
1
2
3
4
5
6
int main(int argc, char* argv[])
{
if (argc>1)
//что-то делаем
return 0;
}
По-моим идея алгоритм должен быть
1. Проверяем были ли указаны аргументы
да - открываем/создаем форму где выводим что нам нужно
нет - открываем/создаем другую форму

Как соединить и проверку аргументов для вызова с помощью командной строки и дальнейшую работу с окнами...

П.с. Ситуация если вводят только имя или только фамилию, и используют ключи, что бы определить имя это или фамилия..
Как ключи должны обрабатываться? Или они как аргументы тоже идут.. (бррр, запуталась)
Возможно кто-нить приведет пример просто вызова программки с ключами..то, что нуна в команд строке писать..

Надеюсь получилось донести суть задачи
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2010, 23:19
Ответы с готовыми решениями:

Запуск формы через командную строку с параметрами
Знаю, что в консоли можно получить данные из командной строки int main(int argc, char *argv) { ...

Сборка проекта через командную строку
Доброе время суток всем, подскажите как можно собрать уже готовый проект(с++builder XE3) через...

Закрытие программ через командную строку
помогите, вирус поймал, блочит гугл, в диспетчер захожу, при наведении на процессы, процессы...

Управление программой через командную строку
Доброго времени суток. Есть программа на с++ в Builder 6 взятая тут:...

3
Покинул форум
3184 / 1363 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
04.02.2010, 14:13 2
На событие OnFormCreate() вешай код
Код
 for (int i=1;i<=ParamCount();i++)
  {
    if (LowerCase(ParamStr(i)) == "beep")
      Beep(10000,1000);
      if (LowerCase(ParamStr(i)) == "red")
      Form1->Color=clRed;
    else if (LowerCase(ParamStr(i)) == "exit")
      Application->Terminate();
  }
ParamStr(i) соответствует введенному ключу. Если ты ввел ключи: red beep exit , то программа запустится, пропищит, закрасит форму красным цветом и сделает себе харакири. Вроде то о чем ты спрашивал.
1
4 / 1 / 0
Регистрация: 13.01.2009
Сообщений: 26
04.02.2010, 14:23  [ТС] 3
Ну во-первых я девушка) Во-вторых спасибо, но я зашла на форум уже зная ответ

Да, ParamCount() и ParamStr(i) использовала. Ключи передаются так же как обычные параметры

C++
1
2
3
4
5
6
7
8
9
WINAPI WinMain(HINSTANCE, HINSTANCE, [B]LPSTR CommandLine[/B], int)
{//Выводим все ключи поочереди
  for (int i = 0; i  <= ParamCount(); i++)
  {
     MessageBox(Form1, ParamStr(i).c_str(), "caption", 0);
  }
 
......
}
Параметр функции выделенным жирным как раз отвечает за то, что передается в командной строке
0
Покинул форум
3184 / 1363 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
04.02.2010, 14:30 4
Во первых - 1000 извинений!!!! Я просто...извини! Во вторых - не за что. Всегда приятно помочь даме!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2010, 14:30

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Компиляция через командную строку в RAD Studio
Здравствуйте. Образовался вопрос. Можно ли как-нибудь генерировать файл через Windows CMD? Сейчас...

Как в windows сделать динамическую библиотеку из файлов .cpp через командную строку ?
Здраствуйте, вопрос состоит в следующем, как у Виндовс через командную строку сделать ...

Запуск через командную строку
При запуске программы через командную строку возникает ошибка: Может быть, кто сталкивался

Запуск через командную строку
Имеется код: #include &lt;stdio.h&gt; int main(int argc,char *argv) { char *rezhim;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.