Visual C++ Zabezpieczenie, gdy użytkownik wpisuje w textBox literę zamiast liczby
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Visual C++ Zabezpieczenie, gdy użytkownik wpisuje w textBox literę zamiast liczby

AutorWiadomość
Temat założony przez niniejszego użytkownika
Visual C++ Zabezpieczenie, gdy użytkownik wpisuje w textBox literę zamiast liczby
» 2020-01-13 20:54:55
Witam, tworze swój pierwszy program okienkowy i napotkałem problem. Gdy użytkownik wprowadzi literę zamiast liczby do textBoxa wyświetla się error domyślny od visuala. Ja natomiast chciałem zaprogramować, by przy wprowadzeniu litery wyświetlał się messagebox,a  TextBox "czyścił się".

C/C++
if( !( a = Convert::ToDouble( textBox1->Text ) ) )
{
    MessageBox::Show( "WPROWADŹ LICZBĘ!", "Bład", MessageBoxButtons::OK, MessageBoxIcon::Error );
}



Próbowałem także za pomocą wyjątków, ale nie poskutkowało.
Pozdrawiam
P-176052
» 2020-01-13 21:38:55
Sprawdzasz błędy w zły sposób. Do takiego ifa powinieneś używać Double::TryParse().
P-176053
Temat założony przez niniejszego użytkownika
» 2020-01-14 10:53:30
Nie bardzo rozumiem w jaki sposób to zastosować w takim razie.
Czytając w internecie natknąłem się bardziej na używanie TryParse() ale to w języku C#
P-176057
» 2020-01-14 19:38:56
https://stackoverflow.com​/questions/6475875​/converting-string-to-double-in-vc

Czytając w internecie natknąłem się bardziej na używanie TryParse() ale to w języku C#
A skąd w ogóle wziąłeś Convert::ToDouble? Nie widzę do tego żadnej dokumentacji. No może z wyjątkiem tej do C#.
P-176062
Temat założony przez niniejszego użytkownika
» 2020-01-14 20:44:13
na laboratoriach robiąc kalkulator używaliśmy właśnie Convert::ToDouble stąd mi się to wzięło.
P-176065
Temat założony przez niniejszego użytkownika
» 2020-01-14 21:13:14
Dzięki za pomoc, podziałało w ten sposób:

C/C++
else if( !( Double::TryParse( textBox1->Text, a ) ) )
{
    MessageBox::Show( "Wprowadz liczbe!!",
    "Bład", MessageBoxButtons::OK, MessageBoxIcon::Error );
   
   
}
P-176068
« 1 »
 Strona 1 z 1