Технический форум

Технический форум (http://www.tehnari.ru/)
-   C/C++/С# (http://www.tehnari.ru/f42/)
-   -   Переход с консольного на формы (http://www.tehnari.ru/f42/t90640/)

Shalfey 30.08.2013 21:57

Переход с консольного на формы
 
Здравствуйте! Я новенький, но в С++ старенький, программировал все это время консольные приложения и связь с программой была и есть через ини файлы которые программа удачно генерировала и читала я лишь вносил туда изменения, но при этом мне нужно было программу паузить ...

Решил покончить с этим гемороем и решил самостоятельно перейти на формы с чекбоксами и полями для ввода значений ...

Поля научился читать и преобразовывать стр в инт и писать в переменные, так же научился писать события онклик и столкнулся с проблемой:

Проблема(Help, Pls);

Нужно при нажатии кнопки на форме, очень грубо говоря, чтобы запустился бесконечный цикл как у меня все и есть в консольке или по нажатию кнопки запустилось консольное мое приложение которое закомпилировано в экзешник, и чтобы оно читало данные с формы, но форма собака ВИСНЕТ когда в обработчике онклик стартую программу, я вообще не могу вводить никакие значения в эту форму чтобы управлять переменными программы ...

Научите правильно мыслить при работе с формами пожалста ?

Shalfey 30.08.2013 22:01

И микровопрос : Можно ли быстро и легко консольную программу объединить с формой в которой множество полей с переменными и читать их на ходу и вносить изменения на ходу выполнения консольной программы

kreol 31.08.2013 02:44

на чем пишите?

Цитата:

Сообщение от Shalfey (Сообщение 945036)
но форма собака ВИСНЕТ когда в обработчике онклик стартую программу, я вообще не могу вводить никакие значения в эту форму чтобы управлять переменными программы ...

Если я правильно понял, то вы при событии onclick запускаете бесконечный цикл?

Shalfey 31.08.2013 02:53

С++ Билдер ... привык писать в консольке типа int main(){ и пошла жара }

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

Shalfey 31.08.2013 02:58

Да всё верно в моих программах в мейне всегда бесконечный цикл, мейн запускает процедуры в нужном порядке а те вызывают функции и это всё делает одна консольная программа что логично и удобно ... и мне надо чтоб эта шня запустилась при нажатии на кнопку да еще так чтобы она все время читала эту форму на изменения переменных ... ведь моя прога читает из ини файла постоянно значения переменных и применяет изменения на ходу, мне нужно чтоб файл ини трансформировался в визуальную форму на ФОРМЕ в виде окошек со значениями )))))

kreol 31.08.2013 13:01

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

Shalfey 31.08.2013 13:28

Теоретически я тоже знаю что нужно использовать потоки, в принципе я бы это мог бы и реализовывать в консольке ... я думал что эти формы нечто шаманское а оказывается ничего необычного ... консольных программ можно запустить бесчетное множество и все они автоматически запускаются разными потоками даже если код в них одинаковый и работают они с одними и теме же файлами )))))) мне нужно именно чтобы форма не висла от вайла ... иначе смысла переходить на формы нет никакого консоль форева!

kreol 01.09.2013 10:16

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

Shalfey 01.09.2013 11:22

Ну это было понятно ... ну и в завершение нашей бесполезной беседы спрошу: Как много одновременно можно потоков запустить в винде?

kreol 01.09.2013 23:42

Цитата:

Сообщение от Shalfey (Сообщение 945453)
Ну это было понятно ... ну и в завершение нашей бесполезной беседы

Видать, не понял вас...

Цитата:

Сообщение от Shalfey (Сообщение 945453)
Как много одновременно можно потоков запустить в винде?

Походу, сколько выдержит память(Хром собственно на каждую вкладку плодит процесс, а их у меня бывает открыто больше 20)


Часовой пояс GMT +4, время: 00:19.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.