[C++ Builder] Problem ze stworzeniem kalkulatora
Ostatnio zmodyfikowano 2012-03-23 08:34
sikora9300 Temat założony przez niniejszego użytkownika |
[C++ Builder] Problem ze stworzeniem kalkulatora » 2012-03-20 15:38:36 hej, mam do zrobinia kalkulator na zasadzie tego systemowego, i na samym początku mam już problem nie wiem jak wprowadzić liczby za pomocą Button'ów, (jak klikam na 1 to żeby w polu Edit1 pojawiła się jedynka, analogicznie do reszty liczb), mam dwa pola Edit1 i Edit2 i po kliknięciu na Edit1 liczby mają być wprowadzane do Edit1, a po kliknięciu na Edit2 to dane mają być wprowadzane do Edit2, kod który napisałem działa, ale po kliknięciu ne Edit2 liczby nadal są wprowadzane do Edit1, jak to zmienić?? void __fastcall TForm1::Edit1Change( TObject * Sender ) { ktory = 1; }
void __fastcall TForm1::Edit2Change( TObject * Sender ) { ktory = 2; }
void __fastcall TForm1::Button15Click( TObject * Sender ) { if( ktory == 1 ) { Edit1->Text = Edit1->Text + '0'; } else if( ktory == 2 ) { Edit2->Text = Edit2->Text + '0'; } } |
|
m4tx |
» 2012-03-20 16:22:35 |
|
malan |
» 2012-03-20 18:05:53 Nie możesz odczytać, który przycisk został wciśnięty z obiektu Sender ? |
|
akwes |
» 2012-03-20 20:51:47 Nawet nie sprawdziłeś czy złapanie fokusu przez Edit2 wywołuje zdarzenie OnChange. Otóż nie wywołuje tego zdarzenia, toteż przypisanie dwójki do zmiennej nigdy nie następuje. Lepiej użyj zdarzenia OnClick.
I również jak kolega wyżej. To powinno być obsługiwane przez Sendery (no ale znów wyrażając pogardę do nauczycieli muszę zauważyć, że moja nauczycielka nie wiedziała do czego to służy, więc i może tak jest w tym przypadku). |
|
sikora9300 Temat założony przez niniejszego użytkownika |
» 2012-03-23 03:18:54 Dzięki ale mógłbyś podać przykład użycia OnClick?? |
|
akwes |
» 2012-03-23 08:34:14 ...? Jeżeli funkcja powstanie przez kliknięcie: void __fastcall TForm1::Edit2Click( TObject * Sender ) { ktory = 2; }
lub jeżeli nie chcesz jej tworzyć zakładkę events void __fastcall TForm1::TwojaFunkcja( TObject * Sender ) { } __fastcall TForm1::TForm1( TComponent * Owner ) : TForm( Owner ) { Edit2->OnClick = TwojaFunkcja; }
|
|
« 1 » |