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

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

28.03.2020, 17:42. Показов 1166. Ответов 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
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
28.03.2020, 19:08
Странный вопрос, учитывая что переменные никак не привязаны к отображаемым окнам.
0
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,377
28.03.2020, 21:51
на Qt подобное провернуть без проблем можно - просто передаём нужные параметры в сигнал, а в соответствующем слоте их обрабатываем.
0
0 / 0 / 0
Регистрация: 28.03.2020
Сообщений: 4
28.03.2020, 23:46  [ТС]
Все дело в том, что надо сделать в Visual studio
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
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,267
29.03.2020, 07:40
Для того, что-бы сделать тестирование, вовсе не обязательно для каждого вопроса открывать новую форму. И для результата новая форма не обязательна. При желании всё можно сделать в одной.
0
0 / 0 / 0
Регистрация: 28.03.2020
Сообщений: 4
29.03.2020, 10:27  [ТС]
Задача стоит, сделать тестирование на разных формах
0
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,377
29.03.2020, 10:38
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
да это везде сделать можно, даже без слотов
ну да - и способов масса, просто в Qt это сделать можно без каких либо "заморочек" и всё будет выглядеть строго по "фен-шую" с точки зрения архитектуры.

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

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

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

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

А вообще - можно WinAPI использовать (но это для тех, кто любит "хардкор жесткач и содомию" )
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
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
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,377
31.03.2020, 12:47
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
умеет ли Qt выполнять только один проход цикла обработки событий
Честно - не знаю, я пока не очень хорошо знаю Qt.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это для мазохисторв
Согласен, но я давно хочу отнести себя к таким мазохистам, да времени никак не найду нормально изучить WinApi.
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru