Hoşgeldin Misafir

Sayısal Loto

MiRaT

13 Kas 2017
2,077 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Kod:
interface





uses





Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,


Dialogs, StdCtrls, Buttons, ExtCtrls;





type


TForm1 = class(TForm)


Edit1: TEdit;


Label1: TLabel;


ListBox1: TListBox;


Edit2: TEdit;


Label2: TLabel;


Label3: TLabel;


Label4: TLabel;


Label5: TLabel;


Label6: TLabel;


Label7: TLabel;


Label8: TLabel;


Label9: TLabel;


Label10: TLabel;


Label11: TLabel;


Label12: TLabel;


Label13: TLabel;


Label14: TLabel;


Timer1: TTimer;


SpeedButton1: TSpeedButton;


SpeedButton2: TSpeedButton;


Timer2: TTimer;


Label15: TLabel;


Label16: TLabel;


procedure FormCreate(Sender: TObject);


procedure Timer1Timer(Sender: TObject);


procedure SpeedButton1Click(Sender: TObject);


procedure SpeedButton2Click(Sender: TObject);


procedure Timer2Timer(Sender: TObject);


procedure Label15Click(Sender: TObject);


procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,


Y: Integer);


procedure Label15MouseMove(Sender: TObject; Shift: TShiftState; X,


Y: Integer);


procedure Label15MouseDown(Sender: TObject; Button: TMouseButton;


Shift: TShiftState; X, Y: Integer);


private


{ Private declarations }


public


{ Public declarations }


end;


var





Form1: TForm1;


a:array[1..6] of integer;//Çekiliş dizisi


b:array[1..6] of integer;//Kolonlar dizisi


sayac,seffaf:integer;





implementation





{$R *.dfm}





procedure TForm1.FormCreate(Sender: TObject);


begin


AlphaBlend:=true;


end;





procedure TForm1.Timer1Timer(Sender: TObject);


begin


seffaf:=seffaf+5;


AlphaBlendValue:=seffaf;


if seffaf=255 then


timer1.Enabled:=false;


end;





procedure TForm1.SpeedButton1Click(Sender: TObject);


var


i,j,deger:integer;


begin


randomize;//Bilgisayar, program açıldığında aynı rakamları ele almasın diye.


a[1]:=random(49)+1;//Çekiliş dizisine 1-49 arasında 6 farklı rakam atanıyor.


a[2]:=random(49)+1;


a[3]:=random(49)+1;


a[4]:=random(49)+1;


a[5]:=random(49)+1;


a[6]:=random(49)+1;


for i:=1 to 6 do


for j:=i+1 to 6 do


if a=a[j] then a:=a+1;//Eğer bilgisayar rasgele aynı rakamlar tutar ise o rakamı bir arttır.


for i:=1 to 6 do


for j:=i+1 to 6 do


if a>a[j] then//Sıralama algoritması.


begin


deger:=a;


a:=a[j];


a[j]:=deger;


end;


edit1.Text:=inttostr(a[1])+? ?+inttostr(a[2])+? ?+inttostr(a[3])+? ?+inttostr(a[4])+? ?+inttostr(a[5])+? ?+inttostr(a[6]);//Çekiliş rakamları edit bileşenine yazdırılıyor.


end;





procedure TForm1.SpeedButton2Click(Sender: TObject);


var


i,j,deger,k:integer;


begin


listbox1.Clear;//Önceden yazdırılan kolonlar bir daha listbox?da görünmesin.


label9.Caption:=?0?;


label10.Caption:=?0?;


label11.Caption:=?0?;


label12.Caption:=?0?;


label13.Caption:=?0?;


label14.Caption:=?0?;


for k:=1 to strtoint(edit2.text) do//Belirtilen kolon sayısına göre dön.


begin


ListBox1.Refresh;//Listbox?ı yenile, gözle görmemizi sağlar.


label9.Refresh;


label10.Refresh;


label11.Refresh;


label12.Refresh;


label13.Refresh;


label14.Refresh;


randomize;


b[1]:=random(49)+1;//Kolonlar dizisine 1-49 arasında 6 farklı rakamlar atanıyor.


b[2]:=random(49)+1;


b[3]:=random(49)+1;


b[4]:=random(49)+1;


b[5]:=random(49)+1;


b[6]:=random(49)+1;


for i:=1 to 6 do


for j:=i+1 to 6 do


if b=b[j] then b:=b+1;//Kolondaki sayılardan biri eşit ise bir arttır.


for i:=1 to 6 do


for j:=i+1 to 6 do


if b>b[j] then//Sıralama algoritması.


begin


deger:=b;


b:=b[j];


b[j]:=deger;


end;


for i:=1 to 6 do


for j:=1 to 6 do


if a=b[j] then sayac:=sayac+1;//Çekiliş rakamları Kolonlar rakamlarından birine eşit ise sayacımızı bir arttır.


if sayac=1 then begin label9.Caption:=inttostr(strtoint(label9.Caption)+1); sayac:=0; end;//Eğer sayaç bir ise o kolonda bir tutturmuştur.


if sayac=2 then begin label10.Caption:=inttostr(strtoint(label10.Caption)+1); sayac:=0; end;


if sayac=3 then begin label11.Caption:=inttostr(strtoint(label11.Caption)+1); sayac:=0; end;


if sayac=4 then begin label12.Caption:=inttostr(strtoint(label12.Caption)+1); sayac:=0; end;


if sayac=5 then begin label13.Caption:=inttostr(strtoint(label13.Caption)+1); sayac:=0; end;


if sayac=6 then begin label14.Caption:=inttostr(strtoint(label14.Caption)+1); sayac:=0; end;


ListBox1.Items.Add(inttostr(k)+? ? ?+inttostr(b[1])+? ?+inttostr(b[2])+? ?+inttostr(b[3])+? ?+inttostr(b[4])+? ?+inttostr(b[5])+? ?+inttostr(b[6]));//Kolonlarımız listbox bileşinine yazdırılıyor.


end;


end;





//Alt satırda bulunan kod kısımları tamamen görselliğe dayalıdır.





procedure TForm1.Timer2Timer(Sender: TObject);


begin


seffaf:=seffaf-5;


AlphaBlendValue:=seffaf;


if seffaf=0 then


begin


timer1.Enabled:=false;


halt;


end;


end;





procedure TForm1.Label15Click(Sender: TObject);


begin


timer2.Enabled:=true;


end;





procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,


Y: Integer);


begin


label15.Font.Color:=clred;


end;





procedure TForm1.Label15MouseMove(Sender: TObject; Shift: TShiftState; X,


Y: Integer);


begin


label15.Font.Color:=$006C6CFF;


end;





procedure TForm1.Label15MouseDown(Sender: TObject; Button: TMouseButton;


Shift: TShiftState; X, Y: Integer);


begin


label15.Font.Color:=$000000B0;


end;