Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Builder 6 ponowny odczyt z pliku

$
0
0

Hej,

Wykonałem w c++ klasę obsługującą logowanie.

Jest w niej funkcja sprawdzająca czy w pliku baza.txt istnieją login i hasło zwracając true gdy użytkownik został zweryfikowany.

bool logowanie::logUser(std::string n,std::string p)
{
    file.open ("baza.txt",std::ios::in);
    std::string nn,pp;
    while(true)
    {

        if(file.good())
        { 
            file >> nn >> pp;
            if (nn==n&&pp==p)
            {
                file.close();
                return true;
            }
        }
        else break;
    }
    file.close();
    return false;
}

W code blocks działało bez zarzutu - przeniosłem klasę do Buildera 6 i okazuje się, że działa, ale tylko za pierwszym strzałem.

Wywołuję ją przyciskiem:

 

void __fastcall TForm2::Button1Click(TObject *Sender)
{
       if(user.logUser(EditLogin->Text.c_str(),EditHaslo->Text.c_str()))
       {
       Label1->Caption="OK";
       Form2->Close();
       }
}

Gdy za pierwszym razem podam niewłaściwe dane funkcja zwróci false, po korekcie i ponownym wywołaniu nawet przy poprawnych stringach nie chce zwrócić true.

Nie wiem w czym problem, czy może to dotyczyć otwierania/zamykania pliku, czy może ponownego pobierania i przekazywania łańcuchów do funkcji.

 


Viewing all articles
Browse latest Browse all 21942

Trending Articles