Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

textbox sprawdzanie

Ostatnio zmodyfikowano 2016-03-22 17:27
Autor Wiadomość
qscefb
Temat założony przez niniejszego użytkownika
textbox sprawdzanie
» 2016-03-21 22:23:35
Witam,
Jak windows form c++ sprawdzic czy textbox jest pusty? Musze w textbox wpisac tylko liczby i zrobiłem to:
Zaznacz wszystko Kod:

if (e->KeyChar >= '0' && e->KeyChar <= '9' || e->KeyChar == 8)
             {
                e->Handled = false;                                   
             }
             else
             {
                e->Handled = true;                                 
             }

A za bardzo nie wiem jak sprawdzić czy textbox jest pusty, poniewaz jak jest pusty i klikne enter to sie aplkiacja zawiesza. Znalazłem kilak przykładów w necie lecz nie działają.
P-146401
darko202
» 2016-03-22 07:50:25
1.
ogólnie do wartości textbox można się dostać przez Text
np.
textBox1->Text = "";
powinno to być pole typu string (TString) i można sprawdzać poprzez metody stringa.
lub poprzez własne metody

np. powinno mieć metodę Lenght()
textBox1->lenght()


2.
jeśli to mało to poszukaj na
https://www.google.pl/​?gws_rd=ssl#q=c%2B%2B+textbox+example


ewentualnie napisz dokładnie środowisko - bo omawiane pojęcie textbox trochę się chyba różni w CBuilder, Visual, innych środowiskach programistycznych (na formatkach programowałem tylko w CBuilder)
P-146404
qscefb
Temat założony przez niniejszego użytkownika
» 2016-03-22 12:46:10
zrobiłem
if (this->textBox1->Text->Length == 0) {
MessageBox::Show("Wpisz wynik");   
}
jednak po wyświetleniu się MessageBox i kliknięciu ok wyskakuje błąd i się aplikacja zawiesza
P-146411
mateczek
» 2016-03-22 14:55:42
UWAGA!!!!
Napisz jakiej biblioteki do GUI używasz?? Jakie środowisko?? Jeśli to  napiszesz to może ktoś Ci pomoże. Inaczej będzie to gadanie o niczym.
Wklej większy kawałek kodu. najlepiej całą klasę !!!

ja w QT mogę napisać taki kod

C/C++
if( label->text() == "" ) {
   
    //kod gdy labelka pusta
}

//jeśli chcę by w okienku mógł wpisywać tylko liczy

QintValidator v( 0, 999 );
lineEdit->setValidator( v ); // od tej pory okienko lineEdit nie przymnie liter z klawiatury.
P-146416
qscefb
Temat założony przez niniejszego użytkownika
» 2016-03-22 15:11:07
pisze aplikację w visual studio 2013 windows forms c++
w textbox uzywam 2 klas, jednak sprawdza czy jest wpisana liczba czy litera  a druga reaguje po wciśnięciu enter
private: System::Void textbox1(System::Object^  sender, System::Windows::Forms::KeyPressEventArgs^  e) {
if (e->KeyChar >= '0' && e->KeyChar <= '9' || e->KeyChar == 8)// Sprawdzamy czy wciśnięty jest liczbą albo klawiszem backspace
{
e->Handled = false;                                     // Nie blokujemy znaku
}
else
{
e->Handled = true;                                    // W przeciwnym wypadku blokujemy znak
}

}
private: System::Void petla(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {


if (e->KeyCode == Keys::Enter)
{
razem++;
if (this->textBox1->Text->Length == 0) {     //pokazuje informacje jak nic nie wpisze
MessageBox::Show("Wpisz wynik");
}

label6->Visible = true;
label6->Text = Convert::ToString(razem);
wynik = Convert::ToInt32(textBox1->Text);
popraw = liczba1 + liczba2;
if (wynik == popraw)
{
ile_dobrze++;
label18->Text = "Dobrze";
}
else
{
ile_zle++;
label18->Text = "Źle, poprawny wynik wynosi: " + popraw;
}
textBox1->Text = String::Empty; //czyszczenie wpisywania liczb
Random^ losuj = gcnew Random;
liczba1 = losuj->Next(0, 6);
liczba2 = losuj->Next(0, 6);
label1->Text = Convert::ToString(liczba1);
label3->Text = Convert::ToString(liczba2);

if (razem == 10 && ile_zle == 0)
{
runda++;
pictureBox1->Visible = true;
button4->Visible = true;
button5->Visible = true;
label1->Text = String::Empty;
label3->Text = String::Empty;
label6->Text = String::Empty;
}
if (razem == 10 && ile_zle > 0)
{
runda++;
pictureBox2->Visible = true;
button4->Visible = true;
button5->Visible = true;
label1->Text = String::Empty;
label3->Text = String::Empty;
label6->Text = String::Empty;
}
}
}
P-146417
mateczek
» 2016-03-22 17:27:03
jednak po wyświetleniu się MessageBox i kliknięciu ok wyskakuje błąd i się aplikacja zawiesza
C/C++
if( this->textBox1->Text->Length == 0 ) {
    MessageBox::Show( "Wpisz wynik" );
}
//wyświetlasz jakąś wiadomość i co z tego skoro dalej próbujesz konwertować na int pusty text??
wynik = Convert::ToInt32( textBox1->Text );


//zrób tak jakoś

if( this->textBox1->Text->Length > 0 ) {
    wynik = Convert::ToInt32( textBox1->Text );
}

P-146419
« 1 »
  Strona 1 z 1