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

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

03.02.2010, 23:19. Показов 5253. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.02.2010, 23:19
Ответы с готовыми решениями:

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

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

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

3
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
04.02.2010, 14:13
На событие OnFormCreate() вешай код
Code
1
2
3
4
5
6
7
8
9
 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  [ТС]
Ну во-первых я девушка) Во-вторых спасибо, но я зашла на форум уже зная ответ

Да, 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
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
04.02.2010, 14:30
Во первых - 1000 извинений!!!! Я просто...извини! Во вторых - не за что. Всегда приятно помочь даме!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2010, 14:30
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru