Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2013, 11:06   #1
VOVA-74
Пользователь
 
Регистрация: 19.02.2013
Сообщений: 16
По умолчанию Построение графика функции при нажатии кнопки (OnButtonClick)

Здравствуйте. Написал код. На ФОРМЕ1 расположил ЭДИТ1, БАТТОН1. На второй ФОРРМЕ2 расположил ЛЭЙБОЛ1. Смысл заключается в том, что при активации формы1 и формы2 вводя любое число в ЭДИТ1 и нажимая на БАТТОН это число появлялось во второй форме в ЛЭЙБОЛ1. Все процедуры связи ФОРМЫ1 и ФОРМЫ2 сделал успешно. При активации ФОРМЫ появляется ошибка:is not a valid floating point value (-не является допустимым значением с плавающей точкой).
Представляю код:

ФОРМА1
Код C++
Код:
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->ShowModal();
}
//---------------------------------------------------------------------------
ФОРМА2

Код C++
Код:
#include <vcl.h>
#pragma hdrstop
 
#include "Unit2.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm2::FormCreate(TObject *Sender)
{
float N;
N=StrToFloat(Form1->Edit1->Text);
 
Label1->Caption=FloatToStr(N);
 
}
//---------------------------------------------------------------------------

Последний раз редактировалось Stilet; 20.05.2013 в 10:54.
VOVA-74 вне форума Ответить с цитированием
Старый 19.05.2013, 13:28   #2
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

Так ошибка появляется при создании второй формы:
Код:
void __fastcall TForm2::FormCreate(TObject *Sender)
{
float N;
N=StrToFloat(Form1->Edit1->Text);

Label1->Caption=FloatToStr(N);

}
Значит в Form1->Edit1 записано не число а что-то другое
revizor вне форума Ответить с цитированием
Старый 20.05.2013, 10:17   #3
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

VOVA-74
Считывание значения из Edit1 происходит при создании формы2 по событию OnCreate. Т.е., в тот самый момент, когда программа запускается, а в Edit1 ещё никто ничего не вводил. Неправильно выбран обработчик. Если предполагалось постоянно что-то выводить на форму2 при нажатии кнопки, то надо использовать событие OnShow или OnActivate.
FataLL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение графика функции, мигание(затухание) шарика в минимумах функции kas1m_rus Паскаль, Turbo Pascal, PascalABC.NET 0 27.05.2012 20:28
Изменение цвета кнопки при ее нажатии RedRec Microsoft Office Excel 2 04.08.2011 09:11
Запуск формы при нажатии кнопки SkrudjMakdak Microsoft Office Excel 4 30.07.2010 22:29
Ошибка при нажатии кнопки Skynet91 БД в Delphi 1 08.02.2010 19:45