Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GUI для консольного приложения, Оболочка для консольного приложения 
:(
    Опции темы
pomogite
  Дата 2.3.2010, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 24.3.2006

Репутация: нет
Всего: нет



Здравствуйте, у меня есть консольное приложение запускающееся с параметрами, хотелось бы написать GUI интерфейс к этой программе, как можно это реализовать, например я в Форме ввожу в первом Edit '5' во втором Edit '4' нажимаю кнопку? далее запускается моя 2 программа умножает эти числа, в Edit 3 появляется - 20, консольная программа закрывается...подскажите каким образом это можно сделать? 
PM MAIL   Вверх
dvamaster
Дата 3.3.2010, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: нет
Всего: 10



совет первый: Открой MSDN

совет второй: есть функция CreateProcess, у ней параметр lpStartupInfo: TStartupInfo


Код

  _STARTUPINFOA = record
    cb: DWORD;
    lpReserved: PAnsiChar;
    lpDesktop: PAnsiChar;
    lpTitle: PAnsiChar;
    dwX: DWORD;
    dwY: DWORD;
    dwXSize: DWORD;
    dwYSize: DWORD;
    dwXCountChars: DWORD;
    dwYCountChars: DWORD;
    dwFillAttribute: DWORD;
    dwFlags: DWORD;
    wShowWindow: Word;
    cbReserved2: Word;
    lpReserved2: PByte;
    hStdInput: THandle;    // это поле заслуживает твоего внимания (ввод данных)
    hStdOutput: THandle;  //  это поле заслуживает твоего внимания (получение данных)
    hStdError: THandle;     // это поле не особо заслуживает твоего внимания (получение данных ошибок, обычно равно hStdOutput)
  end;


для hStdInputhStdOutputhStdError удобно использовать пайпы, чтение и запись в них идет через WriteFile


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
Snowy
Дата 3.3.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



CreateProcess, ShellExecute... Примеры запуска программы с параметрами есть в FAQ и DRKB.
А ловить переданные параметры через ParamStr и ParamCount.
Вобщем-то всё довольно просто. Так что даже не знаю, что из этого нужно разжевывать.
PM MAIL   Вверх
pomogite
Дата 3.3.2010, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 24.3.2006

Репутация: нет
Всего: нет



Ну вот например прогамма запустилась с параметрами programm.exe -5 5 выполнила умножение, на экране в командной строке  вывела -  otvet 20 и вот как терь мне эти 20 обратно вернуть в форму?  При том что вторая программа написана не мной и исходников нет. 
PM MAIL   Вверх
Snowy
Дата 5.3.2010, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Через пайп захватить вывод.
Вот пример из FAQ
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0813 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.