4 Haziran 2012 Pazartesi

Timer İle Formun Caption Özelliğindeki Yazıyı Kayan Yazı Haline Getirmek


Timer bileşeni kullanılarak formun caption özelliğine yazılan yazının sabit kalması yerine kayan yazı şeklinde olmasını sağlayabiliriz.
Bunun için forma 1 tane timer bileşeni eklememiz yeterli.

  1. procedure TForm1.Timer1Timer(Sender: TObject);
  2. var
  3.     a,b: String;
  4. begin
  5.     a := copy(form1.Caption,1,1)// caption’ın ilk karakterini kopyalar
  6.     b := copy(form1.Caption,2,length(form1.caption))// caption’ın ilk karakterden sonraki kısmını kopyalar
  7.     form1.Caption := b+a; // kopyalanan metinleri ters bir şekilde birleştirir
  8. end;



3 Haziran 2012 Pazar

Delphi Timer Bileşeni



Belirli zaman aralıklarında veya belirli bir süre içerisinde çalışmasını istediğiniz her hangi bir kod, olay varsa, istenilen bu işi yapmamız için gereken bileşen timer bileşenidir. Eğer her saniye çalışmasını istediğiniz bir kod varsa bunu timer bileşeninin OnTimer olayına yazarız. Ardından bileşenin Interval özelliğini 1000 olarak ayarlarsak yazdığımız kod her saniye işletilir.
Enabled Özelliği: Timer bileşeninin kodları çalıştırıp çalıştırmayacağına karar verdiği özelliğidir. Eğer enabled özelliği true ise timer istenilen sürelerde kodları çalıştırır. Enabled özelliği false ise timer çalışmaz.


Aşağıdaki kodlarda timer bileşenin enabled özelliği true ve false olarak değiştiriliyor.

Timer1.Enabled := True; // timer aktif hale getiriliyor
Timer1.Enabled := False; // timer pasif hale getiriliyor

Interval Özelliği: Bu özellik timer bileşeninin hangi aralıklarla işletileceğini belirten özelliğidir. Eğer Intervali 1000 olarak ayarlanırsa timer her saniye işleyecektir. Yani 1000 değeri 1 saniye anlamına gelmektedir. Eğer Interval değeri 500 olursa timer saniyede 2 kez işleyecektir.
Timer İle Kronometre Yapımı
Delphide timer kullanarak krometre yapımını aşağıdaki örnekte olduğu gibi gerçekleştirebiliriz. Uygulama için forma 3 adet button (başla/devam, durdur ve sıfırlamak için), 1 adet label (süreyi yazmak için) ve 1 tanede timer bileşeni (süreyi kontrol etmek için) eklenir.
Bileşenlerin isimlerini aşağıdaki şekilde değiştirelim.
Button: btnBasla
Button: btnDurdur
Button: btnSifirla
Label: lblSure
Timer: tmrZaman
Timer bileşenin Interval özelliği 100 olarak ayarlanırsa kronometre her saniyeyi 10 eşit parçaya bölerek çalışacaktır.

  1. var
  2.     sure : Integer;
  3. procedure TForm1.tmrZamanTimer(Sender: TObject);
  4. var
  5.     sn, ss :Integer;
  6. begin
  7.     inc(sure)// sure := sure + 1 ile aynıdır. Sure değişkeninin değerini 1 artırır
  8.     sn := (sure div 10);  // geçen sürenin 10a bölümünden bölümü alır ve saniyeyi bulur
  9.     ss := (sure mod 10)// geçen sürenin 10a bölümünden kalanı alır ve saliseyi bulur
  10.     lblSure.Caption := Inttostr(sn)+‘.’+Inttostr(ss)// saniye ve saliseyi birleştirerek labela yazar
  11. end;
  12. procedure TForm1.FormCreate(Sender: TObject);
  13. begin
  14.     sure := 0// form oluşturulurken sure değişkenini sıfırlar
  15. end;
  16. procedure TForm1.btnBaslaClick(Sender: TObject);
  17. begin
  18.     tmrZaman.Enabled := true// timer bileşenini aktif hale getirir
  19. end;
  20. procedure TForm1.btnDurdurClick(Sender: TObject);
  21. begin
  22.     tmrZaman.Enabled := false// timer bileşenini pasif hale getirir
  23. end;
  24. procedure TForm1.btnSifirlaClick(Sender: TObject);
  25. begin
  26.     tmrZaman.Enabled := false;  // timer bileşenini durdurur
  27.     sure := 0// süreyi sıfırlar
  28.     lblSure.Caption := ’0′// süreyi labela yazar
  29. end;





Delphi PDF Kitap

ARKADAŞLAR İNTERNETTE BULDUGUM VE HOŞUMA GİDEN BİR DELPHİ 7 PDF KİTABİ SİZE GÖSTERMEK İSTEDİM...ARZU EDENLER AŞAĞIDAN İNDİREBİLİRLER...ÇOK GELİŞMİŞ BİR KAYNAK...DELPHİ İÇİN BİZE ÇOK YARDIMLARI OLACAKTIR..:)

PDF Formatında Delphi 7 Kitabı indirmek için buraya sağ tıklayıp farklı kayıt et'e basınız.

25 Mayıs 2012 Cuma

DELPHİ'DE YAPILAN ÖRNEK UYGULAMALAR


 DELPHİ'DE YAPILAN ÖRNEK UYGULAMALAR


Örnek 1) Formun başlığını değiştirmek ve forma tıklandığında mesaj veren program

unit Unit1;

interface

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

type
TForm1 = class(TForm)
procedure Mesaj(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Mesaj(Sender: TObject);
begin
showmessage('aaaaaa');
Form1.Caption:=('borland Delphi 7')
end;

end.




Örnek 2) Boolean değişkenini kullanarak ögrencinin inputbox fonksiyonu ile girilen notunun 50'den büyükse geçerli not 50 den küçükse geçerli not değil oldğunu gösteren,ögrencinin aldığı notun 0-100 arası olması gerektiğini gösteren programı yazınız.

procedure TForm1.FormClick(Sender: TObject);
var
sonuc:Boolean;
sinav_sonucu:integer;

begin
sinav_sonucu:=strtoint(inputbox('sınav sonucunu ','lütfen 0-100 arası değer giriniz..',''));
sonuc:=sinav_sonucu>50;
sonuc:=sinav_sonucu<100;
if sonuc=true then
showmessage('alınan sonuç geçerli');
if sonuc=false then
showmessage('alınan sonuç geçerli değil');

if sinav_sonucu>100 then
showmessage('girdiğiniz değer sınav aralığından büyük olduğundan dolayı geçerli değildir..lütfen 0-100 arası değer giriniz..');

end;
end.



Örnek 3)Herhangi bir değişkene 2 farklı değer atadığımızda en son girdiğimiz değeri kaideye alan program.
procedure TForm1.FormClick(Sender: TObject);
var
degisken1:variant;
tip:variant;
begin
degisken1:='dddd';
degisken1:=121;
tip:= vartype(degisken1);
showmessage(tip);
end;
end.
Örnek 4) Tarih ve zaman atamalarını yapan program.

procedure TForm1.FormClick(Sender: TObject);
var
tarih:tdatetime;
zaman:tdatetime;
begin
tarih:=strtodate('25.05.2012');
zaman:=strtodate('22:30');

end;
end.



Örnek 5) ilk 4 karekterden sonrasını silen program.

procedure TForm1.Button1Click(Sender: TObject);
var
sehir:String;
sonuc:String;

begin
sehir:='erzincan';
sonuc:=leftstr(sehir,4);
showmessage(sonuc);

end;

end.

10 Mayıs 2012 Perşembe

Anolog Saat Uygulaması



procedure TForm1.Timer1Timer(Sender: TObject);
begin
Min_Check:=min;
Hour_Check:=hour;
tid:=timetostr(time);
ss:= tid[7] +tid[8];
sek:=strtoint(ss);
m:= tid[4] +tid[5];
min:=strtoint(m);
h:= tid[1] +tid[2];
hour:=strtoint(h);
 
if (min_check <> min) then
Min_Update:=true;
 
if (Hour_Check <> Hour) then
Hour_Update:=true;
form1.Canvas.Pen.Width :=1;
form1.Canvas.pen.Color:=clwhite;
form1.Canvas.LineTo(strtoint(floattostr(oldx)),str toint(floattostr(oldy))) ;
form1.Canvas.LineTo(strtoint(floattostr(midx)),str toint(floattostr(midy))) ;
 
HourX1 := s * Cos((Pi / 180) * (30 * hour - 90)) + MidX;
HourY1 := s * Sin((Pi / 180) * (30 * hour - 90)) + MidY;
 
MinX1 := s * Cos((Pi / 180) * (6 * Min - 90)) + MidX;
MinY1 := s * Sin((Pi / 180) * (6 * Min - 90)) + MidY;
 
X1 := s * Cos((Pi / 180) * (6 * sek - 90)) + MidX;
Y1 := s * Sin((Pi / 180) * (6 * sek - 90)) + MidY ;
x:=int(x1);
y:=int(y1);
OldXMin := XMin ;
OldYMin := YMin ;
XMin:=int(MinX1);
YMin:=int(MinY1);
OldXHour:=XHour;
OldYHour:=YHour;
XHour:=int(HourX1);
YHour:=int(HourY1);
 
form1.Canvas.pen.Color:=clred;
form1.Canvas.Pen.Width :=1;
form1.Canvas.LineTo(strtoint(floattostr(x)),strtoi nt(floattostr(y))) ;
form1.Canvas.LineTo(strtoint(floattostr(midx)),str toint(floattostr(midy))) ;
OldX := X ;
OldY := Y ;
if (Min_Update=true) then
begin
 
form1.Canvas.pen.Color:=clwhite;
form1.Canvas.LineTo(strtoint(floattostr(OldXMin)), strtoint(floattostr(OldYMin))) ;
form1.Canvas.LineTo(strtoint(floattostr(MidX)),str toint(floattostr(MidY))) ;
Min_Update:=false;
end;
 
form1.Canvas.pen.Color:=clblack;
form1.Canvas.LineTo(strtoint(floattostr(XMin)),str toint(floattostr(YMin))) ;
form1.Canvas.LineTo(strtoint(floattostr(MidX)),str toint(floattostr(MidY))) ;
 
if (Hour_Update=true) then
begin
form1.Canvas.Pen.Width :=3;
form1.Canvas.pen.Color:=clwhite;
form1.Canvas.LineTo(strtoint(floattostr(OldXHour)) ,strtoint(floattostr(OldYHour))) ;
form1.Canvas.LineTo(strtoint(floattostr(MidX)),str toint(floattostr(MidY))) ;
Hour_Update:=false;
end;
form1.Canvas.Pen.Width :=3;
form1.Canvas.pen.Color:=clblack;
form1.Canvas.LineTo(strtoint(floattostr(XHour)),st rtoint(floattostr(YHour))) ;
form1.Canvas.LineTo(strtoint(floattostr(MidX)),str toint(floattostr(MidY))) ;
 
end;
 
procedure TForm1.FormShow(Sender: TObject);
begin
form1.Width :=200;
form1.Height:=200;
 
 
s := Form1.Width * 0.3;
MidX := 50;
MidY := 50;
form1.Canvas.LineTo(strtoint(floattostr(midx)),str toint(floattostr(midy))) ;
oldx:=midx;
oldy:=midy;
form1.Canvas.Pen.Color :=clblack;
form1.Canvas.Ellipse(0,0,100,100);
form1.Canvas.Pen.Width :=8;
end;
//ekranda sadece akrep yelkoval ve saniye gözükecektir 
//saat ler için ayrı ayrı shape ekleyebilirsiniz
//eğer her saat için bi shape eklemek isterseninz
// formun wiev as tet kısmına bunları yazmanız gerekmektedir
//tabi shapeleri ekledikden sonra
object Shape2: TShape
Left = 48
Top = 0
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape3: TShape
Left = 0
Top = 48
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape4: TShape
Left = 88
Top = 48
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape5: TShape
Left = 25
Top = 4
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape6: TShape
Left = 69
Top = 85
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape7: TShape
Left = 85
Top = 70
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape8: TShape
Left = 48
Top = 88
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape9: TShape
Left = 6
Top = 70
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape10: TShape
Left = 5
Top = 24
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape11: TShape
Left = 69
Top = 4
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape12: TShape
Left = 25
Top = 85
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape13: TShape
Left = 86
Top = 24
Width = 5
Height = 5
Brush.Color = clLime
Shape = stCircle
end
object Shape14: TShape
Left = 48
Top = 48
Width = 5
Height = 5
Brush.Color = clRed
Shape = stCircle
end

3 Boyutlu Küp Örneği


 TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  x,y,x1,y1:integer;
  aci:real;
  p1,p2,p3,p4,p5,p6,p7,p8:tpoint;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
aci:=aci+2*pi/360;
  p1.X:=200;
  p1.Y :=200;
  p2.X :=p1.X +100;
  p2.Y :=p1.Y ;
  p3.X :=p1.X +100;
  p3.Y :=p1.Y +100;
  p4.X :=p1.X ;
  p4.Y :=p1.Y +100;
  p5.X :=p1.X +round(sin(aci)*50);
  p5.Y :=p1.X +round(cos(aci)*50);
  p6.X :=p5.X +100;
  p6.Y :=p5.Y ;
  p7.X :=p5.X +100;
  p7.Y :=p5.Y +100;
  p8.X :=p5.X ;
  p8.Y :=p5.Y+100 ;
  canvas.Pen.Color :=clblack;
  canvas.Pen.Style:=psdot;
  canvas.Pen.Width :=1;
  canvas.MoveTo(p1.X ,p1.y);
  canvas.LineTo(p2.X ,p2.Y);
  canvas.LineTo(p3.X ,p3.Y);
  canvas.LineTo(p4.X ,p4.Y);
  canvas.LineTo(p1.X ,p1.Y);
  canvas.Pen.Style :=pssolid;
  canvas.Pen.Width:=3;
  canvas.LineTo(p5.X ,p5.Y);
  canvas.LineTo(p6.X ,p6.Y);
  canvas.LineTo(p7.X ,p7.Y);
  canvas.LineTo(p8.X ,p8.Y);
  canvas.LineTo(p5.X,p5.Y);
  canvas.MoveTo(p2.X,p2.Y);
  canvas.LineTo(p6.X ,p6.y);
  canvas.MoveTo(p3.X,p3.Y);
  canvas.LineTo(p7.X ,p7.y);
  canvas.MoveTo(p4.X,p4.Y);
  canvas.LineTo(p8.X ,p8.y);
  sleep(1);
  canvas.Pen.Color :=form1.Color;
   canvas.MoveTo(p1.X ,p1.y);
  canvas.LineTo(p2.X ,p2.Y);
  canvas.LineTo(p3.X ,p3.Y);
  canvas.LineTo(p4.X ,p4.Y);
  canvas.LineTo(p1.X ,p1.Y);
  canvas.LineTo(p5.X ,p5.Y);
  canvas.LineTo(p6.X ,p6.Y);
  canvas.LineTo(p7.X ,p7.Y);
  canvas.LineTo(p8.X ,p8.Y);
  canvas.LineTo(p5.X,p5.Y);
  canvas.MoveTo(p2.X,p2.Y);
  canvas.LineTo(p6.X ,p6.y);
  canvas.MoveTo(p3.X,p3.Y);
  canvas.LineTo(p7.X ,p7.y);
  canvas.MoveTo(p4.X,p4.Y);
  canvas.LineTo(p8.X ,p8.y);
end;
end.

13 Nisan 2012 Cuma

HESAP MAKİNESİ UYGULAMASI

Hesap Makinesi Uygulaması

Şimdide hesap tabanlı bir örnek üzerinde çalışacağız.Bu örnek dört işlemi kolaylıkla yapabilecektir.

- Yeni Uygulama Başlatın

File - New - Application menü seçenekleri ile yeni bir proje başlatın.

Bu programımızda; hesaplanan sonuçları görmek için Label , kullanıcının sayıları girebilmesi için edit kutusu ve işlemi yapabilmesi için de button kontrollerini kullanacağız.

- Formun Tasarımını Yapın

Sözü edilen araçları Component paletin Standart sayfasından alarak form tasarımını yapın.

Form üzerindeki Label ve Button bileşenlerin Caption özelliklerini aşağıdaki değiştirin.

                                                                                                                                                                                                    

- Bileşenlerin Özelliklerini DeğiştirinSonuç İçin kullanacağımız Label4 elemanının Name özelliğini değiştirerek lblsonuc yapın.

Form üzerindeki düğmeleri sırasıyla btntopla,btncikar,btncarp ve btnbol olarak değiştirin aynı yöntemle.

- Düğmeler İçin Program Kodunu Yazın

Her bir düğmeyi tıklayarak onlara ait prosedürlere kodları yazabilirsiniz.

Toplama İşlemi İçin Aşağıdaki Kod Kullanılacaktır.


procedure TForm1.btntoplaClick(Sender : TObject); begin //iki sayıyı topla lblsonuc.Caption:=intToStr(StrToint(Edit1.text)+StrToint(Edit2.text)); end; end.
Açıklama : Burada Edit1 ve Edit2 kutularının içerisindeki sayısal olmadığı için önce onları StrToInt fonksiyonu ile sayısala çeviriyoruz.Daha sonra hesaplana sonuç sayısal olmayan (string) lblsonuc etiketi içerisine aktarılacağı için dönüştürme yapyıoruz.Bu iş içinde IntToStr fonksiyonunu kullanıyoruz.Çıkarma işlemi için aşağıdaki kodu kullanacağız.


procedure TForm1.btncikarClick(Sender : TObject); begin //iki sayıyı çıkar lblsonuc.Caption:=intToStr(StrToint(Edit1.text)-StrToint(Edit2.text)); end; end.

Çarpma işlemi için aşağıdaki kodu kullanacağız.


procedure TForm1.btncarpClick(Sender : TObject); begin //iki sayıyı çarp lblsonuc.Caption:=intToStr(StrToint(Edit1.text)*StrToint(Edit2.text)); end; end.

Bölme işemi için aşağıdaki kodu kullancağız.


procedure TForm1.btntoplaClick(Sender : TObject); begin //iki sayıyı Böl lblsonuc.Caption:=FloatToStr(StrToint(Edit1.text)/StrToint(Edit2.text)); end; end.
Bölme işleminde farklı bir durum ortaya çıkmaktadır.Çünkü elde edilecek sonuç ondalık olabileceği için bu defa FloatToStr fonksiyonunu kullanıyoruz



LİSTEDEKİ ELEMENLERI SİLME

Listedeki Elemanları Silin
Listeye eklenen elemanları silmek için Button2 (Sil) düğmesi için kod yazacağım.Yazacağım kod listedeki seçili elemanı silecektir.Şİmdi Butona çift tıklayarak kodu yazın.


procedure TForm1.Button2Click(Sender:TObject);
begin
//Listedeki seçili elemanı silListview1.items.delete(Listview1.itemindex);
end;
end.



Programı Kapatacak Kodu Yazın

Şimdi Button3 (Çık) düğmesi için kullanacağımız ve aynı zamanda programdan çıkacak kodu yazıyorum.

procedure TForm1.Button3Click(Sender:TObject);
begin
//Programdan Çıkclose;
end;
end.



Programı Çalıştırın ve Test Edin

Şimdi F9 Tuşuna basın.Program çalışacaktır.ilgili Kutuları bilgi girin yada hazır olarak seçin ve ekle düğmesine basarak listeye eklenmesini sağlayın.

Çalışma Zamanı Hataları İçin Önlem Alın
Çalışma zamanında belirli şartların sağlanmaması durumunda programınız hata vericektir.Örneğin listeden eleman silmek için öncelikle bir elemanı seçme şartı vardır.Çünkü yazılan program satırı sadece seçili bir elemanı silmektedir.Eğer seçili eleman yoksa doğal olarak hata verecektir.

Bu durumun önüne geçmek için eğer kullanıcı eleman seçmemiş ise önce listeden elemanı seçmesini sağlyacağız.

Bunun için Button2(Sil) düğmesi için yazılan kodu aşağıdaki gibi düzenlememiz gerekecektir.


procedure TForm1.Button2Click(Sender: TObject);
begin
if Listview1.itemindex < 0 thenShowMessage('Önce Listeden Eleman Seçin!...')
else
//Listedeki seçili elemanı sil
Listview1.items.delete(Listview1.itemindex);
end;
end.


LİSTEYE ELEMAN EKLEME

Button1 Ekle düğmesi kullanıldığında Edit1,ComboBox1,DataTimePicker1 kutularının içeriğini ListView1 in sırasıyla " Adı Soyadı", "Bölümü" ve "Kayıt Tarihi" sütünları altına ekleyecektir.

Bunun için düğmeyi çift tıklayın ve kod pencersinde açılacak olan Button1Click prosedürüne aşağıdaki kodu yazın.



procedure TForm1.Button1Click(Sender:TObject);

//Statik bir değişken tanımlaconst s:integer=0;
begin

//Eğer listede eleman yoksa sayacı sıfırla
if Listview1.items.count=0 then s:=0;

//Yeni eleman ekleListview1.items.add;

//satır İçerikleri
//Birinci SütunListview1.items.item[s].Caption:=edit1.text;

//İkinci SütunListview1.items.item[s].Subitems.add(ComboBox1.text);

//Üçüncü SütunListview1.items.item[s].Subitems.add(DateToStr(DateTimePicker1.Date);

//sayacı bitirs:=s+1;
end;
end.

ÖĞRENCİ KAYIT UYGULAMASI







Öğrenci Kayıt Uygulaması


Aşağıda vereceğim uygulamada Delphi'nin bir çok özelliğini bizzat kullanarak programlama alanına sağlam bir adımla girmiş olacaksınız.Bu örnekte form tasarımını,bileşenlere ait özelliklerin değiştirilmesini,program kodu kullanılmasını bulacaksınız.

Programda eklenecekler şöyledir:

Component paletin Standard kısmında Label bileşenini bulun ve tıklayarak form üzerine yerini almasını sağlayın bundan 3 Adet ekleyin.
Aynı yerde Edit,ComboBox elemanlarından Birer tane ve üç tane Button ekleyin.
Şimdi Component paletin Win32 sayfasını tıklayın bu gruptaki DateTimePicker ve Listview bileşenlerini tıklayarak form üzerine yer almasını sağlayın.






Elemanların Etiketlerini DeğiştirinForm üzerinde yer alan Label1,Label2,Label3 elemanları açıklama amacıyla kullanılacakları için sırasıyla bu elemanları seçtikten sonra Object Inspector penceresindeki Caption özelliklerini değiştirin.Benzer Şekilde form üzerindeki buttonları seçin ve caption özelliklerini Ekle,Sil,Çık olarak ayarlayın.Formun Caption Özelliğinide "Öğrenci Kayıt Formu" olarak Düzenleyin.






Başlangıç SeçenekleriProgram çalıştıktan sonra daha önce ayarlanmış başlangıç değerleri kullanmak ve programı bunlar vasıtasıyla yönlendirmek oldukça önemli bir adımdır.

Şimdi buarada bölüm isimleri dışarıdan değilde hazır olarak ComboBox1 kutusundan seçileceği için bu değerleri tasarım zamanında iken girmeniz gerekir.Bunun için ComboBox1 kutusunu seçin ve Object Inspector penceresinde kendisine ait olan String List Editor ' e kutuda bulunması istediğiniz seçenekleri girin. Ok Düğmesi ile editör penceresini kapatın.




ComboBox elemanının Items özelliği String List Editor ile değiştiriliyor



Şu ana kadar programımız için bir arabirim tasarladık ve yaptığımız tüm işlemleri tasarım zamanında gerçekleştirdik.Şimdi ise arabirimimiz ile tümleşik olarak çalışılacak fakat etkisi çalışma zamanında görülecek program kodlarını yazacağız.Bu kodlar çalışma zamanında bir olayı cevaplayacaktır.Örneğin bir düğme tıklandığında ona karşılık ButtonClick olayını çalıştıracaktır.Form yüklendiğinde Form1Create olayını çalıştıracaktır.işte tüm bu işlemler cevap verecek olan kodlar olay yakalayıcısı(Event handler) olarak tanımlanır.Bir aksiyona karşı tepki verirler.

- Şimdi Formun herhangi boş bir noktasına tıklayın.Forma ait özellikler ve olaylar Object Inspector penceresinde yer alacaktır.

- Events sekemsini tıklayın.Forma ait olaylar listesi yer alacaktır.

- OnCreate olayına Çift tıklayın.

- Kod penceresinde prosedür yerini alacaktır


Örnek:
procedure TForm1.FormCreate(Sender:TObject);
begin

end;
end.




Bu prosedür içerisine yazılan kodlar program çalıştıktan sonra aktif hale gelecekve giriş değerlerini hazır bulunduracaktır.

Başlangıç İçin yazacağımız kodlar şöyledir :

Not: // Bu şekilden sonra gelen yazılar açıklamadır program kodu değil ve program çalışıncada gözükmez açıklama niteliği taşır.


procedure TForm1.FormCreate(Sender:TObject);
begin
//ComboBox1 içinde Bilgisayar aktif olsunComboBox1.itemindex:=0,

//Listview1 listesi için sütünları ayarlar
Listview1.Viewstyle:=vsReport;

//Sütun ekleListview1.Columns.Add;

//ilk sütun için başlık ayarla
Listview1.Columns.Items[0].Caption:='Adı Soyadı';

//ilk sütunun genişliğini ayarlaListview1.Columns.Items[0].width:=100;

//sütun ekleListview1.Columns.add;

//ikinci sütun için başlık ayarlaListview1.Columns.Items[1].Caption:='Bölümü';

//ikinci sütunun genişliğini ayarlaListview1.Columns.Items[1].width:=100;

//sütun ekleListview1.Columns.add;

//Üçüncü sütun için başlık ayarlaListview1.Columns.Items[2].Caption:='Kayıt Tarihi';

//Üçüncü sütunun genişliğini ayarla
Listview1.Columns.Items[2].width:=100;
end;
end.




6 Nisan 2012 Cuma

İF / THEN / ELSE Yapısını Kullanarak Örnek Bir Program Yazalım... Nasıl Mı ?

     Arkadaşlar, bu hafta size if / then / else yapısını kullanarak vize-final notunun ortalamasını hesaplayan bir program nasıl yazılır onu göstereceğim.

      -Programımızı yazmak için öncelikle form (çalışma) alanımızı açalım ve daha sonra form alanımıza 3adet label ekleyip object ınspector kutumuzdan label'larımızın isimlerini ;
   
-Label1= vize
-Label2= final ve
-Label3= ortalama

olarak değiştirip kaydedelim ve bir adette buton ekleyip butonumuzun adınıda aynı şekilde object ınspector alanından "ortalama" adını vererek değiştirelim. Ve form alanımıza 3 adette edit kutucuğu yerleştirelim ve bunlar sırasıyla Label kutularımızın karşısına gelecek şekilde olsun ;












     






Daha sonra butonumuzu çift tıklayarak kod bölümümüze girelim  ve programımızı yazmaya başlayalım. program başlığının altında begin blogunu göreceğiz. Begin blogumuzdan önce bir değişken tanımlayalım. Ve bu değişkenimize "ort" diyelim. Programımız işlem sırasına göre şöyle olmalıdır ;


  var
ort : real;

begin

ort:=strtoint(edit1.text)*0.4+strtoint(edit2.text)*0.6;

if (ort-trunc/ort))>0.5 then

edit3.text:=inttostr(trunc(ort)+1)

else

edit3.text:=inttostr(trunc(ort));

end;

end.

        Programımızı tamamladıktan sonra F9 tuşuna basarak programımızı çalıştırabiliriz.

        Yazdığımız programda aklınıza takılabilecek ifadeler ;


1-Strtoint nedir ? 

-String olan değerimizi integer yapar.

2-Trunc nedir ?

-Oracle / PLSQL olarak, trunc fonksiyonu ondalık basamak belirli sayıda kesilmiş bir sayı döndürür.
 Trunc işlevi için sözdizimi şöyledir:

   -trunc (sayı, [decimal_places])

 decimal_places için kesecek ondalık basamak sayısıdır. Bu değer bir tamsayı olmalıdır. Bu parametre atlanırsa, trunc işlevi 0 ondalık sayı keser.

3-inttostr nedir ?

-integer olan değerimizi string yapar.