crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> связь между терминалом и gui программой
ht1515
  опции профиля:
сообщение 31.1.2014, 18:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 14.4.2012
Пользователь №: 3324

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет!
Есть консольная программа - терминал. Там вводятся команды, выполняются и результат сразу же печатается в программе( н-р командная строка в винде ).
Я хочу ее связать с gui программой написанной на куте. Никакой сессии, общей памяти консольная программа не дает. Она подразумевает наличие оператора ПК, который тыкать будет команды.
Можно ли каким-нибудь хитрым способом передавать консольной проге команды, чтобы она их выполняла и потом получать ответ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ht1515
  опции профиля:
сообщение 1.2.2014, 15:48
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 14.4.2012
Пользователь №: 3324

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вчера вечером почитал
http://doc.crossplatform.ru/qt/4.7.x/qproc...waitForFinished

Нашел такой пример, gzip заменил на gdb.
Цитата
QProcess gdb;
gdb.start("gdb", QStringList() << "-c");
if (!gdb.waitForStarted())
return false;

QByteArray result = gdb.readAll(); // Это чтобы вычерпать "шапку", которую печатает gdb при запуске

gdb.write("print");
gdb.closeWriteChannel();

if (!gdb.waitForFinished())
return false;

QByteArray result = gdb.readAll(); // должен прочитать результата команды в gdb


Чуть-чуть изменил код.
Но все равно result выдает все. И шапку и результат выполнения команды и даже (gdb)>
Я вроде понял о чем вы, но не могу собрать пока велосипед, чтобы он поехал как надо.
Что не так сделал я? вроде логично рассуждаю)




небольшая правка
Цитата
gdb.start("gdb");

а не
Цитата
gdb.start("gdb", QStringList() << "-c");

просто в редакторе форума код правил
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 20:53