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
10 Mayıs 2012 Perşembe
Anolog Saat Uygulaması
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.
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.








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




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




Ş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.
procedure
TForm1.btncarpClick(Sender : TObject); begin //iki sayıyı çarp
lblsonuc.Caption:=intToStr(StrToint(Edit1.text)*StrToint(Edit2.text)); end; end.
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.
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.
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.
-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.
Kaydol:
Kayıtlar (Atom)




