Cin.fail() w C++ Builder

0

Witam!

Pisząc program konsolowy, dla wczytywania danych (cin) istnieje funkcja cin.fail(), dzięki której możemy wyświetlić komunikat o błędzie:

if(cin.fail())
{
cout << "blad";
}

Mam pytanie dotyczące programu okienkowego w C++ Builder 6. Chcę, aby program sprawdził poprawność danych wpisywanych do Edit1. Użytkownik powinien wpisać tam dowolną liczbę double. Jeśli będzie to string(np 123abc456), program powinien wyrzucić błąd, np MessageBox. Czy istnieje prostszy sposób na wychwycenie błędu, niż zczytywanie kolejnych znaków wpisanego tekstu(tekst[0] == cyfra, tekst[1] == cyfra itd)?

Występujący błąd to: Could not convert variant of type (String) into type (Double).

Z góry dziękuję za pomoc.

0

@Edit
przepraszam za pomyłkę, niedoczytałem do końca posta.

0

Zawsze można zrobić tak:

istringstream iss(string_z_zawartoscia_edita);
double zmienna;
iss >> zmienna;
if(iss.fail())
{
    //error
}

ale zapewne jest prostszy sposób - nie znam Buildera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1