Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 28.03.2020
Сообщений: 4

Передача значения из одной формы в другую

28.03.2020, 17:42. Показов 1196. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать программу для тестирования, состоящую из нескольких вопросов. Для подведения результата нужно посчитать кол-во верных ответов. Как сделать так, чтобы значение какой-то переменной, например "n", можно было передать:
1 Вариант: на следующую форму с вопросом, где можно изменить значение(n=n+1). И так до формы с выводом результата, то есть, где выводится сумма n
2 Вариант: после первого вопроса n передается сразу на форму с результатом и там суммируется(думаю, этот вариант менее возможен)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.03.2020, 17:42
Ответы с готовыми решениями:

Передача переменной из одной формы в другую
Передаю переменную из одной формы в другую через extern. Компилирует всё правильно, но при выпонении содержимое переменной не передаётся во...

Передача массивов из одной формы в другую
Собственно сама задача состоит в том, чтобы в одной форме рассчитать два массива значений, а затем полученный массив вывести в таблицу на...

Передача переменной из одной формы в другую
Объясните пожалуйста: 1. Куда вставлять (1)? 2. Куда вставлять (2)? Покажите пожалуйста на примере, то есть создайте файл в...

13
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
28.03.2020, 19:08
Странный вопрос, учитывая что переменные никак не привязаны к отображаемым окнам.
0
 Аватар для Recrut_rf
388 / 334 / 65
Регистрация: 14.10.2014
Сообщений: 1,459
28.03.2020, 21:51
на Qt подобное провернуть без проблем можно - просто передаём нужные параметры в сигнал, а в соответствующем слоте их обрабатываем.
0
0 / 0 / 0
Регистрация: 28.03.2020
Сообщений: 4
28.03.2020, 23:46  [ТС]
Все дело в том, что надо сделать в Visual studio
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
29.03.2020, 01:00
Recrut_rf, да это везде сделать можно, даже без слотов. Переменные-то в проекте общие, их даже передавать не надо: пишешь в одном месте, читаешь в другом.
Цитата Сообщение от SahaK4 Посмотреть сообщение
Все дело в том, что надо сделать в Visual studio
Visual studio это среда разработки, а не язык или библиотека.
0
0 / 0 / 0
Регистрация: 28.03.2020
Сообщений: 4
29.03.2020, 01:05  [ТС]
я не понимаю, как это реализовать кодом.
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
29.03.2020, 07:40
Для того, что-бы сделать тестирование, вовсе не обязательно для каждого вопроса открывать новую форму. И для результата новая форма не обязательна. При желании всё можно сделать в одной.
0
0 / 0 / 0
Регистрация: 28.03.2020
Сообщений: 4
29.03.2020, 10:27  [ТС]
Задача стоит, сделать тестирование на разных формах
0
 Аватар для Recrut_rf
388 / 334 / 65
Регистрация: 14.10.2014
Сообщений: 1,459
29.03.2020, 10:38
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
да это везде сделать можно, даже без слотов
ну да - и способов масса, просто в Qt это сделать можно без каких либо "заморочек" и всё будет выглядеть строго по "фен-шую" с точки зрения архитектуры.

SahaK4,
А так - есть гетеры, сетеры, глобальные переменные, статические переменные. Можно совсем упороться и сделать своё подобие сигнально-слотовой системы. Или придумать что-то ещё - к примеру - хранить значения в синглтонах, а их создавать через указатель - в общем извращаться можно по-разному

Цитата Сообщение от SahaK4 Посмотреть сообщение
надо сделать в Visual studio
Подружить Qt и Вижуал Студию можно за пару минут - скачиваешь соответствующий плагин и всё.

да и как заметил alexu_007, необязательно плодить кучу форм
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
30.03.2020, 11:24
Цитата Сообщение от Recrut_rf Посмотреть сообщение
ну да - и способов масса, просто в Qt это сделать можно без каких либо "заморочек"
А без Qt это делается еще проще.
Какой смысл для передачи одной переменной внутри одной программы использовать такую монструозию?! Какой смысл вообще передавать одну переменную внутри одной программы, если она и так доступна отовсюду?
0
 Аватар для Recrut_rf
388 / 334 / 65
Регистрация: 14.10.2014
Сообщений: 1,459
30.03.2020, 18:55
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Какой смысл для передачи одной переменной внутри одной программы использовать такую монструозию
если программа мелкая и всё находится в одном исходнике (или вообще в функции main) - никакого.
А если исходников много и используется ООП с его инкапсуляцией - тогда смысл есть. Как минимум, если используется класс для хранения данных (а как писал ТС:
Цитата Сообщение от SahaK4 Посмотреть сообщение
Задача стоит, сделать тестирование на разных формах
а значит можно предположить что у него подразумевалось - одна форма - один класс, а между закрытыми членами класса, как вы наверняка знаете, данные просто так уже не передашь)

Но это уже ТС должен говорить, что ему конкретно нужно.
Про Qt упомянул, потому что с ним работаю. А другие библиотеки (фреймворки) с формами мне особо и не известны (разве что с C# немного работал, ну и вроде как WindowsForm можно к плюсам прикрутить, здесь на форуме даже описание было как это сделать).

А вообще - можно WinAPI использовать (но это для тех, кто любит "хардкор жесткач и содомию" )
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
30.03.2020, 21:57
Цитата Сообщение от Recrut_rf Посмотреть сообщение
А если исходников много
... то объявление переменное выносится в заголовочный файл и проблемы снова нет.
Цитата Сообщение от Recrut_rf Посмотреть сообщение
одна форма - один класс, а между закрытыми членами класса, как вы наверняка знаете, данные просто так уже не передашь)
Так никто ж не заставляет делать переменную, предназначенную для передачи, приватной.
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Про Qt упомянул, потому что с ним работаю.
Ну а я gtk осваиваю потихоньку. И что-то мне кажется, что он еще проще Qt (по крайней мере не городит своих абстракций вокруг языка), хотя, возможно, гибкость поменьше. Ну и внешний вид контролов у gtk несколько... странный, хотя, наверное, это решается.
Кстати! Не знаете, умеет ли Qt выполнять только один проход цикла обработки событий, чтобы основной цикл приложения остался на совести программиста, а не библиотеки. gtk так умеет, функцией while(gtk_events_pending())gtk_main_iteration_do(0);
Цитата Сообщение от Recrut_rf Посмотреть сообщение
А вообще - можно WinAPI использовать
Это для мазохисторв. Уж лучше на curses графику клепать, чем на winapi.
0
 Аватар для Recrut_rf
388 / 334 / 65
Регистрация: 14.10.2014
Сообщений: 1,459
31.03.2020, 12:47
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
умеет ли Qt выполнять только один проход цикла обработки событий
Честно - не знаю, я пока не очень хорошо знаю Qt.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это для мазохисторв
Согласен, но я давно хочу отнести себя к таким мазохистам, да времени никак не найду нормально изучить WinApi.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
31.03.2020, 16:25
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Согласен, но я давно хочу отнести себя к таким мазохистам
Не советую. Для практического применения лучше взять те же Qt или gtk. А для освоения модели событий что-то вроде SDL или SFML. Кстати, GLUT не рекомендую: там эту абстракцию запрятали глубоко в колбэки и не пускают из основного цикла.
А других причин учить графическую часть winapi я не знаю.
Вот системную учить, возможно, придется - но удовольствия в этом не будет. Особенно если перед этим посмотреть как аналогичные действия делаются в POSIX-подобной среде. Это из личного опыта: понадобилось сделать простейшую вещь сначала в Линуксе, потом в Винде. В первом это оказалось довольно просто (даже с учетом того что там оказывается есть еще более прямой способ), во второй по-человечески так и не решилось, пришлось городить костыль.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2020, 16:25
Помогаю со студенческими работами здесь

Передача события из одной формы в другую
Каким образом можно передать событие из одной формы в другую (в Builder c++)

Передача переменной из одной формы в другую
Есть сервер-распределитель, на нем хранятся данные о серверах вычислителях (порт и IP), с "Клиент" (Form1) посылаю запрос для...

Передача значений переменных из одной формы в другую
Извините, но я недавно начал осваивать Builder 5. Неодходимо передать значения 4-х переменный разного типа (char*, int, AnsiString) из...

Передача значения переменной из одной формы в другую
собственно, название темы говорит само за себя) пишу, мол, #include <vcl.h> #pragma hdrstop #include...

Передача значения из одной формы в другую
На form1 стоит чекбокс (чекед). Я поставил условие при закрытиии form1 (FormClosed), чтоб DataGridView на form2 стал visible=true;. ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru