58 / 16 / 26
Регистрация: 07.02.2015
Сообщений: 346

Передача переменной из cpp-файла в главную форму и наоборот

26.07.2017, 19:04. Показов 1419. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сама проблема звучит таким образом в cpp-файле есть динамический массив и мне нужно его содержимое вывести на график Chart, а Chart у меня на главной форме,следовательно...

Было сделано следующее

1)Объявил так же глобальную переменную в TransEquForm(главная форма)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
double** wht;
////-----идут куча разных методов-----/// 
    public:void drawdifnet(double** wht, int Nt)
        {
            chart2->Series["1"]->BorderWidth = 3;
            chart2->Series["2"]->BorderWidth = 3;
            chart2->Series["3"]->BorderWidth = 3;
            chart2->Series["4"]->BorderWidth = 3;
            chart2->Series["5"]->BorderWidth = 3;
            chart2->Series["6"]->BorderWidth = 3;
            chart2->Series["7"]->BorderWidth = 3;
            chart2->Series["8"]->BorderWidth = 3;
            chart2->Series["9"]->BorderWidth = 3;
            chart2->Series["10"]->BorderWidth = 3;
            chart2->Series["11"]->BorderWidth = 3;
            chart2->Series["12"]->BorderWidth = 3;
            for (int j = 1; j < Nt - 1; j++)
            {
                for (int i = 1; i < Nt - 1; i++)//Было Nx
                {
            chart2->Series["" + (j + 1).ToString()]->Points->AddXY(i, wht[j][i]);///–––Исключение-Ссылка не указывает на экземпляр объекта
                }
            }
        }
2-ой вариант это уже в файле .cpp где хранятся остальные процедуры. Но в таком случае chart2 нужно как-то передать,что у меня не получилось.(TransEquForm - это главная форма где всё расположено и где всё происходит)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void drawdifnet(TransEquForm chart2,double** wht, int Nt)
    {
        chart2->Series["1"]->BorderWidth = 3;
        chart2->Series["2"]->BorderWidth = 3;
        chart2->Series["3"]->BorderWidth = 3;
        chart2->Series["4"]->BorderWidth = 3;
        chart2->Series["5"]->BorderWidth = 3;
        chart2->Series["6"]->BorderWidth = 3;
        chart2->Series["7"]->BorderWidth = 3;
        chart2->Series["8"]->BorderWidth = 3;
        chart2->Series["9"]->BorderWidth = 3;
        chart2->Series["10"]->BorderWidth = 3;
        chart2->Series["11"]->BorderWidth = 3;
        chart2->Series["12"]->BorderWidth = 3;
        for (int j = 1; j < Nt - 1; j++)
        {
            for (int i = 1; i < Nt - 1; i++)//Было Nx
            {
                chart2->Series["" + (j + 1).ToString()]->Points->AddXY(i, wht[j][i]);
            }
        }
    }
Вопросы:

1) Как можно передать переменную из .cpp файла в файл где форма?

2) Или мне проще будет загрузить данные с текстового файла в динамический массив и уже по ним строить график.

3) Или существуют возможность как-то передать из Form-ы компонент формы (tChart и другие) в .cpp файл и работать там напрямую?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.07.2017, 19:04
Ответы с готовыми решениями:

Вывод переменной в форму из .cpp-файла
Всем доброго дня! Есть консольная программа, которая открывает файл и работает с байтами. Сейчас делается пользовательский интерфейс. ...

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

Передача переменной в php и наоборот
очень сильно прошу помочь мне т.к. весь инет перерыл(( в php есть переменная она берётся из БД, мне надо использовать во флеш, я даже не...

1
 Аватар для netBool
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
27.07.2017, 16:11
Цитата Сообщение от redseven Посмотреть сообщение
1) Как можно передать переменную из .cpp файла в файл где форма?
Наверное вопрос стоит не в файл, где форма, а передать ее экземпляру класса этой формы?

Цитата Сообщение от redseven Посмотреть сообщение
2) Или мне проще будет загрузить данные с текстового файла в динамический массив и уже по ним строить график.
Если скорость важна, лучше без текстового

Цитата Сообщение от redseven Посмотреть сообщение
2-ой вариант это уже в файле .cpp где хранятся остальные процедуры. Но в таком случае chart2 нужно как-то передать,что у меня не получилось.(TransEquForm - это главная форма где всё расположено и где всё происходит)
Давно плюсы не открывал. И не описано, что конкретно не получилось. Но первое, что мне бросилось в глаза TransEquForm chart2 - это точно указатель на экземпляр класса, а не экземпляр класса? А то будет по значению все передаваться. На строку
C++
1
chart2->Series["" + (j + 1).ToString()]->Points->AddXY(i, wht[j][i]);
компилятор не ругается?

И вообще чего я не понял, так это для чего нужны две абсолютно одинаковых функции внутри класса и мне класса. Кстати та, которая вне класса, где вызывается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.07.2017, 16:11
Помогаю со студенческими работами здесь

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

Запрос пароля в окне и передача его в главную форму
Добрый вечер. В общем есть кнопка на главной форме, при нажатии на неё нужно спросить у пользователя пароль. Было бы удобно что-то вроде...

Передача глобальной переменной в форму
Добрый день. При открытии книги сохраняю в глобальную переменную адрес ячейки: Module: этаКнига Public cell as range Private sub...

Передача переменной в новую форму
Всем привет. Есть 2 формы первая:MainWindow и вторая:Main. Нужно передать значение переменной TLogin из MainWindow в Main.Заранее спасибо.

Передача переменной в новую форму
В теме собственно вопрос... почему то не передается переменная с первой формы &quot;Х&quot; программа собственно что бы понять.... ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru