Projekt Tombola

//---------------------------------------------------------------------------
 
#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="---";
}
//---------------------------------------------------------------------------