Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

передача массивов из консоли в формовское приложение

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> передача массивов из консоли в формовское приложение
Имя
Сообщение << Старые топики   Новые топики >>
передача массивов из консоли в формовское приложение - 2009-05-06 13:38:27.373333   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
Доброго времени суток)
Такая задача:
есть win32 консольное приложение, которое после работы заполняет 3 массива данных и 1 переменную
мне нужно эти данные (массивы и переменную) передать на форму, желательно в winforms application так чтобы уже там я мог оперировать этими данными и выводить их на экран формы.

Не могу понять принцип как организовать эту передачу. Возможно ли как то создать проект winforms и к нему подсоединить проект консоли, так чтоб они могли обмениваться данными, в одностороннем режиме достаточно будет)

Вроде есть вариант сделать так, чтобы сначала отработала консоль, а после результат вывода передать в форму, создавая свой процесс и работая через него. Но полностью не вникаю в эту суть(

Моя задача сделать так чтоб консоль отработала, но пользователь этого не видел, а результат отработки передать на форму и там уже результаты будут видны, таким образом пользователь будет иметь дело только с формой, с красивыми кнопочками менюшками и т.д. (одно из требований программка будет для людей, которым в первую очередь нужна красота, поэтому оставлять вывод в консоли никак нельзя, надо все красиво оформить на форме..)
Post #: 1
RE: передача массивов из консоли в формовское приложение - 2009-05-06 15:21:19.873333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
1. Через промежуточный файл
2. Брутально, через сокеты.
3. Через параметры командной строки, но будут существенные ограничения на длину массива
4. Через маппинг файлов в память
5. Через пайпы
6. Изврат, но можно через оконные сообщения :D
Post #: 2
RE: передача массивов из консоли в формовское приложение - 2009-05-06 16:43:33.240000   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
"1. Через промежуточный файл"
Я правильно понял?
Сначала отрабатывает консоль - заполняются массивы - массивы сохраняются в файл - после формовское приложение вскрывает файл и работает с данными.
Вопрос как сделать так что сначала отработала консоль, а потом формовское приложение (пользователь не должен видеть консоли вообще)? Как соединить эти 2 проекта винформс и консоль?

"4. Через маппинг файлов в память
5. Через пайпы "
можно подробней или линк - чтобы сам почитал, разобрался.
Post #: 3
RE: передача массивов из консоли в формовское приложение - 2009-05-06 18:39:27.723333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Любые линки - в гугле.

Ты лучше скажи, зачем тебе именно отдельное и зачем именно консольное приложение?
Post #: 4
RE: передача массивов из консоли в формовское приложение - 2009-05-06 19:00:48.040000   
vvviperrr

Сообщений: 301
Оценки: 0
Присоединился: 2007-03-20 21:33:16.790000
2Lost_boy в чем проблема из консоли вызвать диалог? не знаю, как там в "виндовс аппликайшн", но обычный вин32 диалог без проблем. кидаешь в ресурсы диалог и описываешь диалоговую процедуру.
Post #: 5
RE: передача массивов из консоли в формовское приложение - 2009-05-06 21:49:59.236666   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Я вообще худею с вопроса. Тебе чем сам WinForms не угодил? как бы *.сpp файл пихнуть лишний в проект не прикольно или как? Реал поясни хитрость) С файлами просто и надежно,но надо синхронизировать,чтобы вместе в один не лазили. Опять же если брать очень простой вариант,то ещё один(пустой) файл можно использовать как ключ.
Post #: 6
RE: передача массивов из консоли в формовское приложение - 2009-05-07 09:13:38.753333   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: Genco
Я вообще худею с вопроса. Тебе чем сам WinForms не угодил? как бы *.сpp файл пихнуть лишний в проект не прикольно или как? Реал поясни хитрость) С файлами просто и надежно,но надо синхронизировать,чтобы вместе в один не лазили. Опять же если брать очень простой вариант,то ещё один(пустой) файл можно использовать как ключ.

Фу какие сложные решения предлагаете :)
Пайпы, пайпы, и ещё раз пайпы. Ничего синхронизировать не надо, всё произойдёт автоматически. Запускаем из оконного приложения дочерний процесс, который всё сосчитает и запихает в пайп. Мы же из пайпа считаем. В венде с этим у меня была одна проблема: как сделать, чтобы не вылазило чёрное окошко консоли, в котороё всё равно ничего не выводится. Я пришёл к выводу, что это было проблемой glib, которая странным образом запускала процесс.

Зачем ТСу нужен такой подход, я не знаю. Я таким образом реализовал мою недоделанную учебную среду программирования. (Надо будет, кстати доделать, как нибудь) Учебные графические библиотеки не очень сочетаются с программированием основанном на обработке сообщений. Обходим на кривой: отдельная учебная программа отправляющая в пайп команды, отдельная программа читающая эти команды, и рисующая на экране. Нигде ничего синхронизировать не надо вообще. Корень chrono возникает в программе лишь в связи с асинхронным i/o: надо из пайпа читать команды и не блокироваться на этом.

Кстати ещё придумал примерчик, зачем это прикольно. Вот вопрёт тебя написать менагер архивов, который будет работать с zip, rar, tar и кучей других. Что ты будешь делать? Разбираться с каждым форматом? Не проще ли запускать отдельным процессом zip.exe или rar.exe передавая нужные аргументы, разбирая их вывод и ничего не зная о бинарном формате хранения данных?
Post #: 7
RE: передача массивов из консоли в формовское приложение - 2009-05-07 14:18:30.123333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
2-й пост :), п.4 - проще, п.5 - быстрее работать будет.

Нам приходилось софтину разрабатывать, в которой требовалось производить очень быстрые вычисления. Так там весь GUI + отчёты + веб часть были под .NET, а вот вычисления были на си++ + асм. Так вот висел себе отдельный процесс, который всё шустренько вычислял, а .NET процесс очень шустренько через маппинг подкидывал свежие данные и забирал уже обработанные. Сначала тоже думали гонять через пайпы, но это оказалось слишком медленно для наших задач.
Post #: 8
RE: передача массивов из консоли в формовское приложение - 2009-05-07 14:59:57.140000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: Genco

Я вообще худею с вопроса


man unix-way
Post #: 9
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> передача массивов из консоли в формовское приложение







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.