//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "TombolaUnit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int gezogen[100]={0}; int ziehung=0; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) {// Laufbereich ermitteln int zzahl; bool gleich; int start = StrToInt(Edit1->Text); int ende = StrToInt(Edit2->Text); int laufbereich = ende-start+1; // Ziehungsnummer erhöhen ziehung++; randomize(); // Showzufallszahlen ausgeben int sgroesse = 10; int run = 15; int szahl; Label7->Font->Color=clWhite; for (int i=1;i<run;i++){ Sleep(50); Application->ProcessMessages(); szahl = random(laufbereich)+start; sgroesse = sgroesse + 10; Label7->Font->Size=sgroesse; Label7->Caption= IntToStr(szahl); } // es wird eine Zahl ermittelt, die nicht schon gezogen wurde do { gleich=false; // Ziehung durchführen if (ziehung<=laufbereich) { zzahl = random(laufbereich)+start; } else { ShowMessage("Maximalzahl an Ziehungen erreicht!"); Button1->Enabled=false; Label7->Visible=false; break; } // gezogene Zahl wird mit allen Zahlen im Array vergleichen for (int i = 0; i < ziehung; i++) if (zzahl==gezogen[i]){ gleich=true; break; } // wenn gleiche Zahl gefunden wurde, soll eine neue Zahl ermittelt werden } while (gleich); // Gezogene Zahl ins Array schreiben gezogen[ziehung-1]=zzahl; // Ziehung und gezogene Zahl anschreiben // und in Listbox eintragen if (ziehung>0) { Edit1->Enabled=false; Edit2->Enabled=false; } Label7->Font->Color=clMaroon; Label7->Caption= IntToStr(zzahl); if (ziehung==1) { Label4->Caption = IntToStr(ziehung); Label6->Caption = IntToStr(zzahl); ListBox1->Items->Add(zzahl); } if (ziehung>1 && ziehung<=laufbereich) { Label4->Caption = IntToStr(ziehung); Label6->Caption = Label6->Caption+"-"+IntToStr(zzahl); ListBox1->Items->Add(zzahl); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) {if (SaveDialog1->Execute()){ ListBox1->Items->SaveToFile(SaveDialog1->FileName); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) {if (OpenDialog1->Execute()){ ListBox1->Clear(); Label6->Caption=""; ListBox1->Items->LoadFromFile(OpenDialog1->FileName); // Zahlen ins Array und auf den Schirm übertragen for (int i = 0; i < ListBox1->Count; i++) { gezogen[i]=StrToInt(ListBox1->Items[0][i]); if (i==0)Label6->Caption=gezogen[i]; if (i>0) Label6->Caption=Label6->Caption+"-"+gezogen[i]; } ziehung=ListBox1->Count; Label4->Caption=IntToStr(ziehung); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button4Click(TObject *Sender) { int gezogen[100]={0}; int ziehung=0; ListBox1->Clear(); Label4->Caption=0; Label6->Caption="---"; } //---------------------------------------------------------------------------