Rättningssystem i C++ windows form

Trädvy Permalänk
Medlem
Plats
Halland
Registrerad
Maj 2011

Rättningssystem i C++ windows form

Hej mitt namn är Karl och jobbar med ett projekt som ska fungera som en sorts glosmaskin.
Jag är nästan klar med projektet och behöver bara få till rättningssystemet av orden att fungerar.
Jag använder mig av en lista. där användaren får skriva in det svenska ordet och ett engelska ord.

Det som inte fungerar är rättningen med "nästa ord knappen" och att få listen att slumpa fram orden i textlådan med det svenska ordet.

// "lägg till" knappen btn_add, lägger till både de svenska och engelska ordet. private: System::Void btn_add_Click(System::Object^ sender, System::EventArgs^ e) { if (tbx_addSv->Text == "" || tbx_addEng->Text == ""){ btn_add->Enabled=false; } else{ String^ Svensktord = tbx_addSv->Text; glosa->Add(Svensktord); tbx_addSv->Text = ""; String^ Engelsktord = tbx_addEng->Text; glosa->Add(Engelsktord); tbx_addEng->Text = ""; if (txtResultat->Text==""){ txtResultat->Text="Tillagda glosor: " + "\n" + Svensktord; } else{ txtResultat->Text=txtResultat->Text + "\n" + Svensktord; } } } private: System::Void tbx_addSv_TextChanged(System::Object^ sender, System::EventArgs^ e) { if (tbx_addSv->Text->Length != 0) { tbxSvInmatad = true; if(tbxEngInmatad == true && tbxSvInmatad == true) { btn_add->Enabled=true; } } } private: System::Void tbx_addEng_TextChanged(System::Object^ sender, System::EventArgs^ e) { if (tbx_addEng->Text->Length != 0) { tbxEngInmatad = true; } if(tbxEngInmatad == true && tbxSvInmatad == true) { btn_add->Enabled=true; } } private: System::Void txtResultat_TextChanged(System::Object^ sender, System::EventArgs^ e) { } // Svara Glossi, användaren får svara på den svenska inmatningen i engelska. private: System::Void btn_Svara_Click(System::Object^ sender, System::EventArgs^ e) { if (tbx_SvarEng->Text == glosa[i+1]) { txtResultat->Text ="Rätt svar!" + "\n" + glosa[i] + " = " + glosa[i+1] ; //glosa->RemoveAt(i); } else{ MessageBox::Show("Fel svar försök igen!"); } } // Starta Glossi minst 20 glosor (I detta fall 2 för att förenkla testerna) private: System::Void btn_Start_Click(System::Object^ sender, System::EventArgs^ e) { if(glosa->Count >= 4 ){ txtResultat->Text = ""; gtbtest->Enabled=true; btn_New->Enabled=true; srand (time(0)); do{ i = rand()% glosa->Count; }while( i%2==1 && i==1 ); tbx_SvarSv->AppendText(glosa[i]); } else{ MessageBox::Show("Mata in minst 20 glosor!"); } } // Återställer programmet och nollställer allt. private: System::Void btn_New_Click(System::Object^ sender, System::EventArgs^ e) { if (glosa->Count >= 2 ){ txtResultat->Text = ""; glosa->Clear(); gtbtest->Enabled=false; tbx_SvarSv->Text = ""; tbx_SvarEng->Text = ""; } } // Nästa ord, här ska nästa ord starta och visas när du har svarat på det första angivna ordet. private: System::Void btn_Next_Click(System::Object^ sender, System::EventArgs^ e) { tbx_SvarSv->Text = ""; tbx_SvarEng->Text = ""; i = rand()% glosa->Count; tbx_SvarSv->AppendText(glosa[i]); } // Ifall tbx_SvarEng är tom är "Nästa" inaktiverad private: System::Void tbx_SvarEng_TextChanged(System::Object^ sender, System::EventArgs^ e) { if (tbx_SvarEng->Text == ""){ btn_Next->Enabled=false; } else btn_Next->Enabled=true; }

Tackar för all hjälp!

Trädvy Permalänk
Medlem
Registrerad
Maj 2013
Skrivet av looxztation:

Gör om gör rätt, använd [ code ][ /code ] taggarna
Tänker inte ens försöka läsa din kod utan att du använt dig utav dessa

M-ITX: Fractal Design Node 304 Gigabyte H97N i7 4790k Msi GTX980 Gaming Ballistix Sport 16GB @ 1600MHz

Trädvy Permalänk
Medlem
Plats
Halland
Registrerad
Maj 2011

Fixat, ledsen och tack för tipset!

Skrivet av Pamudas:

Gör om gör rätt, använd [ code ][ /code ] taggarna
Tänker inte ens försöka läsa din kod utan att du använt dig utav dessa