CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Kilka problemów z z polem edit Rad Studio XE7
Strona 1 z 1

Kilka problemów z z polem edit Rad Studio XE7

Nowy postNapisane: piątek, 5 czerwca 2015, 23:31
przez alek1292
Mam następujące Problemy:
Próbuje napisać warunek który w momencie takim jak użytkownik zaznaczy RadioButton1 który jest nazwany off Program wyświetli MessageBox. Po skompilowaniu okazało się że zadne okno sie nie wyświetla. Nie wiem co jest nie tak. Najlepiej żeby ustawiło blokade pola Edit1 ale to już wyższa szkoła jazdy. Wystarczy tylko te okno
Nie wiem jak dokonać rzutowania znaków na tym float bo int to tak
Nie wiem gdzie domyślie ustawić w radiobuttonie jaką wartość która bd od razu zaznaczona po kompilacji np off itd
To tyle narazie Dzieki za odp



KOD cpp:     UKRYJ  
void __fastcall TForm2::Edit1Change(TObject *Sender)
{




           if (RadioButton1->Checked=='off')
           {
                        Application->MessageBox( L"Należy włączyć urządzenie", L"Status",MB_OK|MB_ICONINFORMATION);

           }
           else
           int edit1=StrToInt(Edit1->Text);

}

Re: Kilka problemów z z polem edit Rad Studio XE7

Nowy postNapisane: sobota, 6 czerwca 2015, 09:08
przez polymorphism
KOD cpp:     UKRYJ  
if (RadioButton1->Checked=='off')

A co to za konstrukt? Co to 'off' tam robi?

Re: Kilka problemów z z polem edit Rad Studio XE7

Nowy postNapisane: wtorek, 9 czerwca 2015, 17:56
przez alek1292
Mam problem. Poniższa część kodu się kompiluje ale niestety nie działa W pole Edit1 wpisuje wartość liczbową tak samo jak w pole Edit 2. Zapisuje wartości wprowadzonych liczb w zminennych o nazwach edit 1 i edit 2 typu float.
w ten sposób:
KOD cpp:     UKRYJ  
float edit2=StrToFloat(Edit2->Text);
tak samo dla edit 1. Następnie tworze zmienną edit3 która ma przechowywać wynik dzielenia.Problem jest taki że po naciśnięciu przycisku Oblicz wyświetla się komunikat: Invalid Floating Point Operation. Nie wiem czym jest spowodowany. Prosze o pomoc

KOD cpp:     UKRYJ  
void __fastcall TForm2::Button1Click(TObject *Sender)
{
 float edit3=StrToFloat(edit2/edit1);
if (edit3>1) {
        Application->MessageBox( L"Wpisz dane jeszcze raz Moc Oddawana nie może byc większa od mocy pobieranej", L"Status",MB_OK|MB_ICONINFORMATION);

}
else
Label17->Caption=edit3*100;

}

Re: Kilka problemów z z polem edit Rad Studio XE7

Nowy postNapisane: wtorek, 9 czerwca 2015, 18:45
przez polymorphism
Pytanie zasadnicze: gdzie przypisania:
KOD cpp:     UKRYJ  
float edit1=StrToFloat(Edit1->Text);
float edit2=StrToFloat(Edit2->Text);

wstawiłeś?

Jeśli te przypisania wyglądają dokładnie tak jak podałeś, to podejrzewam, że błąd polega na tym, że Button1Click operuje na innych zmiennych niż te z przypisań (które zdaje się są zmiennymi lokalnymi).

KOD cpp:     UKRYJ  
float edit3 = StrToFloat(edit2 / edit1);

Po co ta konwersja jeśli edit1 i edit2 to zmienne typu float?

p.s. przed dzieleniem warto sprawdzić, czy edit1 jest różna od zera.