Takvim
<<  Mart 2010  >>
PaSaÇaPeCuCuPa
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234
info@bahriyilmaz.net , eingetragen am 12. Aralık 2008, 21:13

Delphi Programlama I dersinde haftalık proje olarak verilen küçük bir uygulama. Diğer arkadaşlarımın da projeyi yaparken yararlanmasını istediğimden burada paylaşmak istedim. Umarım faydalı olur. :) Uygulamaya Geçelim...

İlk olarak aşağıda görünen nesneleri forma ekleyelim...

Kısaca nesneleri sayacak olursak bir adet Timer, bir adet Kronometre için Label, iki adet Radiobutton, bir adet edit, bir adet Checkbox, iki adet Listbox, bir adet Trackbar ve iki adet Buton ekliyoruz. Groupbox ve diğer Label nesneleri görsellik açısından ekledim. bunları isterseniz ekleyebilirsiniz..

unit Unit1;

interface

{Kullandığımız kütüphaneleri "uses" başlığı altına ekliyoruz. Bunlar standart delphi kütüphaneleri ayrıca bi eklenti yok. }

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls;

{Form üzerinde bulunan nesnelerimiz aşağıda "type" başlığı altında tanımlanmıştır.} 

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Timer1: TTimer;
    Button2: TButton;
    ListBox1: TListBox;
    TrackBar1: TTrackBar;
    Label2: TLabel;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    ListBox2: TListBox;
    Label3: TLabel;
    Label4: TLabel;
    CheckBox1: TCheckBox;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure GroupBox1Click(Sender: TObject);
   // procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

{Değiken tanımlamaları. "sayi" ve "durdur" değişkenlerini tanımlayalım. "durdur" değişkeni boolean tipte olması gerekir. Çünkü iki farklı durum için kullanacağız.}

var
  Form1: TForm1;
  sayi: longint;
  durdur : boolean = false;


implementation

{$R *.dfm}

// Geri dönüş değeri olduğu için basit bir fonksiyon tanımlayalım.

Function sayac(x : String) : String;

var

a:Integer;

begin

result := x;

{for a := 1 downto Length(x) Do

Result :='0'+Result;   }

end;

// İlk butonumuz duruma göre değişecek. "Başla" "Durdur" ve "Devam Et" gibi..
procedure TForm1.Button1Click(Sender: TObject);
begin

 if durdur = false then

begin

Button1.Caption := 'Durdur' ;

timer1.Enabled := true ;

durdur := true ;

end else

begin

Button1.Caption := 'Devam et' ;

timer1.Enabled := true ;

durdur := false ;

// Her durdurduğumuzda sayı çift veya tekse ayrı listelere atacak..

if strtoint(label1.Caption) mod 2=0 then begin

listbox1.Items.Add(label1.Caption);

end else
begin
listbox2.Items.Add(label1.Caption);
end;

end ;

end;

{ Kronometremizin saydırma işlemini Timer nesnesi ile yapacağız.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if durdur then

begin

if radiobutton1.Checked=true then begin
 sayi:=sayi+strtoint(edit1.Text); // Fonksiyondan dönen sayıyı edit'in içine girdiğimiz değer kadar artırmak için..
end else
begin
 inc(sayi) ; // Fonkiyondan dönen sayıyı her defasında 1 artırmak için.. bunun yerine "sayi:=sayi+1;" de kullanabiliriz..
end;
Label1.Caption := sayac(inttostr(sayi)) ;

if sayi = 1000000 then //sayımız 1000000 kadar gitsin..
 sayi:=00;
end;
end;

//Bitir butonu.. Burada yapılan işlemler basit. Sadece formu ilk haline getirir..

procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.Enabled:=false;
sayi:=00;
label1.Caption:='00';
button1.Caption:='Başla';
durdur:=false;
edit1.Text:='';
radiobutton1.Checked:=false;
listbox1.Items.Clear;
trackbar1.Position:=0;
radiobutton2.Checked:=false;
listbox2.Items.Clear;
end;

{Trackbar nesnesini Kronometremizin hızı için kullanacağız.. trackbarın pozisyonuna göre Timer nesnesinin Interval olayını değiştiriyoruz.}

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 if trackbar1.Position=1 then begin
   timer1.Interval:=1000;
   end;
 if trackbar1.Position=2 then begin
   timer1.Interval:=875;
   end;
    if trackbar1.Position=3 then begin
   timer1.Interval:=750;
   end;
    if trackbar1.Position=4 then begin
   timer1.Interval:=625;
   end;
    if trackbar1.Position=5 then begin
   timer1.Interval:=500;
   end;
    if trackbar1.Position=6 then begin
   timer1.Interval:=375;
   end;
    if trackbar1.Position=7 then begin
   timer1.Interval:=250;
   end;
    if trackbar1.Position=8 then begin
   timer1.Interval:=125;
   end;
    if trackbar1.Position=9 then begin
   timer1.Interval:=50;
   end;
    if trackbar1.Position=10 then begin
   timer1.Interval:=20;
   end;
end;

// Buradan sonraki işlemlerin herhangi bir bağlayıcılığı yok. Yapmasanız da çalışacaktır.

procedure TForm1.CheckBox1Click(Sender: TObject);
begin

if checkbox1.Checked=false then
begin
groupbox1.Enabled:=false;
checkbox1.Caption:='Artırma İşlemlerini Başlat';
radiobutton1.Checked:=false;
radiobutton2.Checked:=true;
end else
begin
groupbox1.Enabled:=true;
checkbox1.Caption:='Artırma İşlemlerini Bitir';
if edit1.Text='' then begin
radiobutton1.Checked:=false;
radiobutton2.Checked:=false;
end else
begin
radiobutton1.Checked:=true;
radiobutton2.Checked:=false;
end;
end;
end;

procedure TForm1.GroupBox1Click(Sender: TObject);
begin
if checkbox1.Checked=false then
begin
groupbox1.Enabled:=false
end else
begin
groupbox1.Enabled:=true;
end;
end;

end.

// Ve uygulamanın son hali...  

 

Kolay gelsin....  :)

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

İlk makalemde Delphi 8 de DataAdapter ve DataSet konusu ile ilgili bazı gerekli bilgiler ve demo uygulamalar yapacağım. Umarım faydalı bir makale olur.

DataAdapter : Veri kaynağı ile bu verileri kullanmamızı sağlayan bağsız nesneler arasındaki bir nevi köprüdür. DataAdapterler bilgileri veri deposundan alır ve bağsız DataSetleri bu verilerle doldurur. Aynı zamanda da veri deposuna geri gönderilecek olan değişiklikleri de depolar. DataAdapter 4 yapılandırıcıya sahiptir. Aşağıdaki demo uygulamamızda da bunlardan birini ele alalım.

Demo Uygulama Olarak Bir DataAdapder Oluşturalım.

c_cnstr='server=XWING; database=Northwind; Trusted_Connection=Yes';

c_sel_emp=' SELECT * from Tablo1; {Sql Cümleciği}

 

var

sqlDA:SqlDataAdapter;

SqlCMD:SQLCommand;

SqlCn:SQLConnection;

begin

sqlCn:=SQLConnection.Create(c_cnstr);

sqlCmd:=SQLCommand.Create(c_sel_emp, sqlConnection);

sqlDA:=SQLDataAdapter.create;

sqlDA.SelectCommand:=sqlCmd;

end.

 

DataAdapter oluşturduk. Şimdi bu bağlantıyı kullanarak DataSet'in Doldurulmasını inceleyelim. İşte demo uygulamamızın komutları...

program DataSetDoldur;

 

uses {Kutuphaneleri cağıralım}

System.data,

System.Data.SqlCilent;

const

c_cnstr='server=XWING; database=Northwind; Trusted_Connection=Yes';

c_sel_emp=' SELECT * from Tablo1; select * from tablo2;';

 

var

sqlDa:SqlDataAdaper;

ds:DataSet;

begin

sqlDa:=SQLDataAdapter.Create(c_sel_emp, c_cnstr);

ds:=DataSet.Create;

sqlDa.Fill(ds);

end.

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5