Skocz do zawartości
subox

Błąd W Programie...:| (c++ Builder)

Rekomendowane odpowiedzi

wyrzuca mi błąd gdy w polu edit nie ma rzadnej liczby...

void __fastcall TForm1::Edit1Change(TObject *Sender){wybor = ComboBox1->Text;liczba = Edit1 -> Text.ToDouble();if(wybor == "przez 8") Label1 -> Caption = FloatToStr(liczba / 8);if(wybor == "razy 8") Label1 -> Caption = FloatToStr(liczba * 8);}

jeśli zamiast Text.ToDouble() wpisałbym Text.ToIntDef(0) to działa, ale mi są potrzebne liczby rzeczywiste...:/. pomóżcie...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wygodnie było by tu skorzstać z wbudowanej w buildera obsługi wyjątków, można na inne sposoby ale po co ?

Twój przykład jest nieco przerobiony , żeby było to łatwiej pokazać.

 

void __fastcall TForm1::Edit1Change(TObject *Sender){  String wybor = "przez 8";  double liczba;  try{        liczba = Edit1 -> Text.ToDouble();        if(wybor == "przez 8") Label1 -> Caption = FloatToStr(liczba / 8);        if(wybor == "razy 8") Label1 -> Caption = FloatToStr(liczba * 8);      }  catch(...)  {     //ShowMessage("Podaj prawidlową liczbę");  }}

Trochę go przerobiłem ale myslę że rozumiesz sens tego.

Poprostu gdy wystąpi jakiś error w bloku try{} wtedy program go wyłapie i nie wyświetli nic , poprostu nie wykona sie dzielenie.

Edytowane przez razor1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...