Sprawdzenie wartości Label

0

Witam. Jak sprawdzić wartość Label1 -> Caption ze zmienną string?

string Poprawna, Odpowiedz;
AnsiString AnsiPoprawna;
AnsiPoprawna = Poprawna.c_str();
Odpowiedz = "d";

Label1 -> Caption = Poprawna.c_str();

if (Label1 -> Caption == Odpowiedz) // tu jest błąd
      {
              ShowMessage("Pyt.1 Poprawna odpowiedź!");
      }
        else
      {
              ShowMessage("Pyt.1 Błędna odpowiedź!");
      }

Taki błąd:

[C++ Error] Unit1.cpp(120): E2094 'operator==' not implemented in type 'AnsiString' for arguments of type 'string'
0

zaraz co tu się dzieje? Co to jest Label1? Dlaczego wyciągasz c_string z Poprawna po czym porównujesz cstring z std::string? Trochę mamy tu pomieszanie z poplątaniem. odsyłam do dokumentacji
doc

0
revcorey napisał(a):

zaraz co tu się dzieje? Co to jest Label1? Dlaczego wyciągasz c_string z Poprawna po czym porównujesz cstring z std::string? Trochę mamy tu pomieszanie z poplątaniem. odsyłam do dokumentacji
doc

Label1 to tekst.
Program pobiera dane z pliku (załóżmy literkę "a") i zapisuje w Label1.
Po czym po zaznaczeniu RadioButton1 przypisuje zmiennej Odpowiedz = "a"
I teraz chcę sprawdzić czy zmienna Odpowiedz == "a" w Label1.

0

@Karpiusz, ale po co mieszasz typy? Skoro programujesz wykorzystując VCL to nie widzę powodów abyś mieszał typy. Przejdź na AnsiString i po kłopocie. Chyba, że masz inny dobry powód, to podaj pomyślimy nad rozwiązaniem.

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