FOR döngüsünü kullanarak rakamları tek tek yazmaktan kurtulmuş oluruz. Yaptığımız bir önceki programın üstünde de FOR döngüsünü kullanabiliriz.
Nasıl mı?
Öncelikle, Begin , End bloklarının arasına yazdığımız satırları etkisiz hala getirmek için çift taksim kullunmamız gerekiyor.
begin
//t:=1+2+3.........+9+10;
//edit1.text:=inttostr(t);
end;
Bu işlemi tamamladıktan sonra yapacağımız işlem sıralaması şöyle olmalı;
Önceki programı aynen yazıp yeni eklediğim yerleri kırmızı ile yazacağım.
var
a,t:integer;
begin
//t:=1+2+3........+9+10;
//edit1.text:=inttostr(t);
t:=0;
for a:=1 to 10 do begin
t:=t+a;
end;
edit1.text:=inttostr(t);
end;
end.
(Açıklama)
*Döngü için bir değişken daha tanımlıyoruz ve önceki satırların alt kısmına gelerek t:=0 yazıp t'mizi sıfırlıyoruz.Daha sonra döngümüzü açıp toplama yapmasını istediğimiz rakam aralığını yazıyoruz. Ve sonucu göstermek istediğimiz alanı belirtip programı bitiriyoruz.*
30 Mart 2012 Cuma
DELPHİ Programlama Dili ile Basit Bir İşlem Yapma
Form alanınıza işleminizin sonucunu gösterecek bir edit kutusu veişlemi yapacak bir buton yerleştirin. Daha sonra işlem butonunuzun adını yapacağınız işleme göre adlandırabilirsiniz. Ben basit bir toplama işlemi yapacağım fakat, sizinyapacağınız işlemler : Çıkarma,bölme,çarpma v.s olabilir.
Butonunuzu adlandırdıktan sonra edit kutunuzun içersini temizleyin. Daha sonra butonunuza çift tıklayarak programın kod alanına giriş yapın.
NOT : 1-formunuz ile kod alanınız arasındaki geçişlerde F12 tuşunu kullanabilirsiniz.
2-Programı çalıştırmak için F9 tuşunu yada run komutunu kullanabilirsiniz.
Kod kısmında yapacağınız işlem sıralaması şöyle olmalı ;
var
t:integer;
begin
t:=1+2+3..........+9+10;
edit1.text:=inttostr(t);
end;
end.
(Açıklama)
* Toplama işlemi için değişkenimizi (t) olarak atayıp integer türünde tanımlıyoruz.*
*Programı başlat komutunun alt kısmına (değişken:=toplamak istediğimiz rakamlar;)*
*Sonucu göstermesini istediğimiz alanı yazarak integer olan sayımızı string'e çeviren komutu yazıyoruz.*
*Ve programı bitiriyoruz.*
Butonunuzu adlandırdıktan sonra edit kutunuzun içersini temizleyin. Daha sonra butonunuza çift tıklayarak programın kod alanına giriş yapın.
NOT : 1-formunuz ile kod alanınız arasındaki geçişlerde F12 tuşunu kullanabilirsiniz.
2-Programı çalıştırmak için F9 tuşunu yada run komutunu kullanabilirsiniz.
Kod kısmında yapacağınız işlem sıralaması şöyle olmalı ;
var
t:integer;
begin
t:=1+2+3..........+9+10;
edit1.text:=inttostr(t);
end;
end.
(Açıklama)
* Toplama işlemi için değişkenimizi (t) olarak atayıp integer türünde tanımlıyoruz.*
*Programı başlat komutunun alt kısmına (değişken:=toplamak istediğimiz rakamlar;)*
*Sonucu göstermesini istediğimiz alanı yazarak integer olan sayımızı string'e çeviren komutu yazıyoruz.*
*Ve programı bitiriyoruz.*
19 Mart 2012 Pazartesi
Delphi 7
Arkadaşlar Dersde Anlatacağım Delphi Konusunun Pdf'si ni Buradan İndirebilirsiniz...
Link: https://hotfile.com/dl/149878092/ac04a51/delphi_7.pdf.html
Link: https://hotfile.com/dl/149878092/ac04a51/delphi_7.pdf.html
18 Mart 2012 Pazar
Veri Tabanı Uygulamaları
1-Borland Database Engıne
Jet,
Btrieve gibi veritabanı motorlarını duymuşsunuzdur. Delphi sistemi veritabanlarına BDE (Borland
Database Engine) ile erişir. BDE, bütün Borland yazılımlarında yerel ve uzak veritabanlarına
erişmek için kullanılır.
BDE
kullanımının üstünlükleri:
1. dBase ve Paradox veritabaları ile veri
alışverişi sağlar.
2. Veritabanı erişimini BDE yerine
getirdiği için programcı yalnızca BDE'yi kullanmayı öğrenir.
3. Veritabanı uygulamanın dışında yerel ya da uzak bir şekilde olabilir.
BDE,
Oracle, Sybase, ODBC, Paradox, dBase ve Interbase gibi veritabanlarına erişim destekler.
Bde Confıg Programı
Delphi kurulduğunda BDE Configuration
program da kurulur. Program gerçekte bir BDE arabirimidir. Program veritabanı
erişimi için farklı yapılandırmaları destekler.
Programı
yapılandırmada kullanılacak sekmeleri:
Drivers: Sürücüler listesi.
dBase: dBase tabloları.
Paradox: Paradox tabloları.
2-Veri Tabanı Uygulamaları
A-Ado
ADO,
Microsoft uyumlu ve diğer veritabanlarına erişim için kullanılan bir veri
erişim tekniğidir.
ADO,
DAO ya da RDO
arabirimlerine gereksinim duymadan verilere erişimi sağlayan bir
arabirimdir. ADO, özellikle SQL Server gibi Microsoft OLEDB veri sağlayıcısının
(data provider) kaynaklarını kullanmak üzere
tasarlanmıştır.
B-Veri Tabanı Bağlantıları
ADO
bileşenleri kullanarak bir veritabanı (SQL Server) bağlantısı gerçekleştirmek
için form üzerinde ADO Connection, DataSet bileşenlerine gereksinim vardır. Bunun yanı sıra
bir Grid ve verilerin Grid'e
bağlamak için bir DataSource kontrolüne gereksinim
duyulur.
ADO
Connenction nesnesi istenilen veritabanına bağlanmak
üzere düzenlenir.
Ardından
bu bağlantı DataSet'e Connection
özelliği ile bağlanır.
Ardından
bu bağlantılar DataSource bileşeninin DataSource özelliğine ADODataset
bileşeni bağlanır. Ardından bu veriler gride bağlanır.
3-Uygulamalar
Veritabanı
bağlantısıyla bağlanılan bir tabloyu form üzerinde bir grid
aracılığıyla getirmek.
Veritabanı
Uygulaması:
Formu
üzerine ADO bileşenlerinden Adoconnection, Data
Access bileşenlerinden DataSource, Datacontrol bileşenlerinden Dbgrid
yerleştirilir.
ADOConnection1:
Veritabanı
bağlantısı seçilir.
Connected = True
Login Prompt: False
ADO
Table 1:
Connection=ADOConnection1
Tablename=tablo adı
Active=True
Datasource1:
Dataset=Adotable1
DbGrid1:
Datasource=datasource1
Uygulama Ekranı 1:
Uygulama Ekranı 2:
Program Denetimi
Program
denetimi program kodlarının işletilmesi sırasında döngüler, sapmalar gibi
yapıların oluşturulmasını sağlayan mekanizmadır. Delphi
programının işletilmesinde kod blokları da önemli rol oynar.
Program
denetiminin ana yapıları:
- Karar (selection)
- Döngü (loop, iteration)
- Atlama (jump)
Klasik
(geleneksel) programlamada programın akışı sıradan gider. Diğer bir deyişle
programın işletimi, deyimlerin sırasıyla yürütülmesiyle (satır satır) devam eder. Bir karar, döngü ya
da bir atlama deyimi ile karşılaşılması durumunda programın akışını değiştirir.
Ana
karar yapıları şunlardır:
- If..Else
- Switch
Döngüler
özellikle programın etkinliği bakımından önemli bir programlama tekniğidir.
Döngü
Yapıları:
- While
- Do
- For
- Foreach
Atlama
(Jump) yapıları ise program denetimini hiçbir koşula
bağlı olmadan (doğruda) bir diğer deyime geçirir.
Atlama
deyimleri:
- Goto
- Break
- Continue
1-If.Then.Else Yapısı
Yapısı:
IF
<koşul> THEN <doğru olduğunda çalışacak kod> ELSE <yanlış
olduğunda çalışacak kod>;
IF
yapısı true ya da false değerinden birisini döndürür.
Örnek:
If yasi >= 18 then
yetiskin:=true
else
yetiskin:=false;
Basit
bir koşul için tek parçalı bir IF yapısı yeterlidir:
Örnek:
If sonuc=true
then
exit;
Örnek:
If yasi>=18 then
Begin
yetiskin:=true;
ucret:=1000;
end
else
Begin
yetiskin:=false;
ucret:=500;
end;
DİKKAT:
Else deyiminden sonra ; işaretinin kullanılmaz.
2-For.To/Downto.Do.; Yapısı
Bir
grup kodun belli bir sayıda yinelenmesi gerekebilir. Örneğin birden ona kadar
saymak gibi.
Örnek:
For x:=10 downto 1 do y:=y+1;
Yukarıdaki
kod ile y'nin değeri bir artırılır.
x:=10;
y:=y+1;
x:=9;
y:=y+1;
x:=8;
y:=y+1;
x:=7;
y:=y+1;
x:=6;
y:=y+1;
x:=5;
y:=y+1;
x:=4;
y:=y+1;
x:=3;
y:=y+1;
x:=2;
y:=y+1;
x:=1;
y:=y+1;
Farklı
döngü adımları da kullanılabilir:
for i:=2 to 10 step 2 do.....
3-While.Do.; Yapısı
While.do döngüleri de bir tür yineleme mekanizmasıdır. Repeat deyimine çok benzer ancak tek farkı While döngüsünde döngüye girmeden önce soru sorulur. Döngü
koşulu sağlanırsa döngüye girilir, sağlanmazsa girilmez.
Örnek:
While x<10 do x:=x+1;
Programlama Temelleri
Object Pascal, nesne yönelimli
özelliklerinin dışında söz dizim kullarına sahiptir:
Bütün
Delphi kodları ; ile sonlandırılır.
Eşittir
işareti := şeklinde belirtilir.
=
işareti ise karşılaştırma işleminde kullanılır.
Procedure ve Fonksiyonlara Giriş
Procedure ve Fonksiyonlar
Prosedure ve fonksiyonlar program kodlarının modüler kısımları olup özel görevler üstlenirler.Bunlar aynı zamanda "Altprogram" olarakta bilinirler.Delphi uygulamaları geliştirmek için çok sayıda hazır procedure ve fonksiyonu kullanıcının hizmetine sokar.
Procedure ve fonksiyonlar nesnelerle birlikte kullanıldığı zaman metod adını alırlar.
PROSEDURLER
bir procedur su sekilde tanımlanır:
procedure procedureadı(giriş parametreleri:tipi); sabit,değişken,tip tanımı begin program kodları; [exit;]
end;
girişparametreleri:çağrıldığı yerden gönderilen bilgilerdir.
sabitdeğişkentiptanımı:proceurenin kullanılacağı değişkenler,sabitler veya tipler bu blokta tanımlanır.bu bölumde tanımlanan değişkenler local değişkenlerdir.
program kodlar:bu kısımda procedurun yapması gerken işi belirleyen kodlar bulunur.
normalde bir procedure bloğun sonuna kadar çalışır.Ancak belirli şartlar gerçekleştiğinde tamamı çalışmadan çıkmak için Exit komuyu kullanılır.
Procedre Çağırma:
procedure çağırma işlemi de procedure ismi ile parametreleri verilerek yapılır.
evciz(1001006080);
proceure Tform1.button1click(sender:tobject); begin
evciz(100,100,60,80); end;
FONKSİYONLAR
Bir fonksiyon ise su sekilde tanımlanır:
functon fonksiyonadi(girişparametreleri:tipi):fonktipi;
sabit,değişken,tiptanımı; begin program kodları; [exit;]
fonksiyonadi:=deger; end;
ifadesine atanan değer ile yapılır.
functon fonksiyonadi(girişparametreleri:tipi):fonktipi;
sabitdeğişken,tiptanımı; begin program kodları; [exit;]
result:=deger; end;
fonksiyon çağırma işlemi bir procedure çağırma işlemi gibidir.Ancak fonksiyondan değer geriye döneceği için,sonucun bir değişkene aktarılması gerekir.
x:=fak(10);
Kara Yapıları
Bu bölümde karar yapılarını ve döngüleri bulacaksınız.Programlamada çoğu kere birden fazla şart arasında bir seçeneği seçmek ve programı seçilen seçeneğe göre dallandırmak gerekir.İşte bu durumlarda karşımızdaki problemin yapısına göre kara ifadelerini kullanırız.
Bu bölümde karar yapılarından if yapısını,case yapısını bulacaksınız.
Karar Yapıları
Programlar normalde satır satır çalışırlar.İstenirse belirli şartlar aranarak programın bir kısmının çalıştrılmasını veya çalıştırılmamasını sağlayabiliriz.
1-Yordamlar (Procedures)
Bir
procedure,bir seferde çağırılabilen bir kod
parçasıdır. Yordamlar parametre de kabul edebilirler.
Örnek:
procedure TColorBox.Button1Click(Sender: TObject);
begin
ColorBox.Color := clGreen;
end;
2-Fonksiyonlar
Fonksiyonlar
da procedure yapısına benzerler ancak bir değer
döndürürler. Örneğin bir hesaplamayı içeren fonksiyon, o hesaplamaya gereksinim
duyulduğunda çağırılarak kullanılır.
Fonksiyon
tanımı:
function UcretHesapla(Deger: Double);
begin
UcretHesapla=1000;
end;
Fonksiyonu
çağırmak:
function UcretHesapla: Double;
3-Kodlama Kuralları
Kodlama
kurallarının başında açıklama satırı yamak gelir:
(* açıklama
*)
{
bu da açıklama }
Delphi'nin kendisi {} metodunu kullanır.
Diğer
bir kodlama kuralı da girinti (indent) işlemidir:
if (form1.caption='Musteri') then
begin
Form1.caption:='Bizim
Form';
end;
Yukarıdaki
satırlar tek bir satır olarak yazılabilir, ancak okumak ve gerektiğinde hata
kontrolünü daha iyi yapabilmek için girinti kurallarına uyulur:
if (form1.caption='Musteri') then Form1.caption:='Bizim Form';
4-Değişkenler
Uzunca
bir zamandır, değişkenleri (variables) şu şekilde
tanımlarız: uygulamalarda verileri temsil etmek, işlemek ve saklamak için
yapılan tanımlamalarda kullanılan sözcüklere değişken denir.
Uygulama
içinde "ücret" bilgisini temsil etmek için Ucret
ya da HesUcret gibi bir
değişken tanımlanır. Ardından bu değişkene değerler atanarak işlemler yapılır.
İPUCU:
Genellikle küçük harf ve büyük harfle başlayan değişken adlandırma kullanılır.
Örneğin: PersonelUcreti gibi.
Değişkenlerin
türleri:
Gerçek
Sayılar Real, Single, Double, Extended, Comp
Integers Integer, Shortint, SmalIint, LongInt, Byte, Word, Cardinal, Boolean, ByteBool, WordBool, LongBool, Char
Strings String,Pchar
Örnek:
var
x : integer;
begin
x:=5;
end;
Değişkenler
Var anahtar sözcüğüyle bildirilirler.
Örnek:
var
x : integer;
adresi: string;
5-Begin End Blokları
Begin ve End blokları bir grup
kodu ifade ederler.
Örnek:
Begin
x:=5;
adresi:='1234 sokak no 1';
end;
Object Pascal
Object Pascal
Object Pascal, Delphi içinde kullanılan programlama dilidir. Turbo Pascal'a benzer ve nesne
yönelimli bir programlama dilidir. Bu anlamda object pascal dili nesne yönelimli program tasarımını ve modern
gereksinimleri karşılayabilecek kodlama olanaklarına sahiptir.
1-Bildirimler
Object Pascal dili özellikleri
arasında koşullu derleme bildirimleri gelir. Bu bildirimler işletim sisteminin
(platform) seçilmesi gibi derleyiciyi yönlendirir.
$IF
$ELSEIF
$WARN
$MESSAGE
$IF bildirimi:
Belli bir simgenin tanımlı olup olmadığını
öğrenmek için kullanılır.
Const
Hatakontrol
= 1;
{$IF Defined(DEBUG)
and (hatakontrol > 2)}
Showmessage
('mesaj');
{$IFEND}
2-Sınıf ve Nesneler
Sınıflar
bir durumu ve belli davranışları olan kullanıcı tanımlı bir veridir. Sınıflar class sözcüğüyle tanımlanırlar. Nesneler ise sınıfların
örnekleridir.
Bir
sınıf türünü tanımlamak:
Type
TDuzenle
= class
Ay, Gun, Yil: Integer;
Procedure
DegerVer (g, a, y: Integer);
Sınıf
tanımlamak:
procedure
TDuzenle.DegerVer (g, a, y:
Integer);
begin
Gun:=g;
Ay:=a;
Yil:=y;
End;
Sınıf
tanımlandıktan sonra nesye yaratılabilir:
var
Tarih: TDuzenle;
begin
// bir nesne yarat
Tarih:= TDuzenle.Create;
Tarih.DegerVer (1, 1, 2003)
end;
3-Bir Delphi Nesnesi
Yeni
bir proje yarattığınızda, Delphi şekillendirebileceğiniz
bir yapı sunar. Code Editor
içinde Delphi yeni bir sınıf türü tanımlar.
unit Unit1;
interface
uses Windows, Classes, Graphics, Forms, Controls, Dialogs;
type
TForm1 = class(TForm) { tür
bildirimlerinin başı. }
private
{ Private bildirimler.}
public
{ Public
bildirimler. }
end; { tür bildirimlerinin sonu.}
var
Form1: TForm1;
implementation { implemente işlemlerinin başı. }
{$R
*.DFM}
end. { implemente işleminin ve unitin
sonu. }
Yeni
sınıf türü TForm1'dır ve TForm sınıfından türetilir.
Bu
değişken Form1 adlı yeni bir değişkeni bildirir:
var
Form1: TForm1;
Form1,
TForm1 sınıfından örneklenir. Örneğin form üzerine bir düğme eklendi ve OnClick olayına kod yazıldı:
procedure TForm1.Button1Click(Sender:
TObject);
begin
Form1.Color := clGreen;
end;
Nesneler
diğer nesneleri birer veri alanı olarak içerirler. Form üzerine yeni bir
bileşen eklediğinizde yeni alan formun tür tanımında görünür.
unit Unit1;
interface
uses Windows, Classes, Graphics, Forms, Controls;
type
TForm1 = class(TForm)
Button1: TButton; { yeni veri alanı.}
procedure
Button1Click(Sender: TObject); { Yeni metot bildirimi.}
private
{ Private
bildirimler.}
public
{ Public
bildirimler.}
end;
var
Form1: TForm1;
implementation
{$R
*.DFM}
procedure TForm1.Button1Click(Sender:
TObject); {
Yeni metodun kodu.}
begin
Form1.Color := clGreen;
end;
end.
17 Mart 2012 Cumartesi
Programları Derlemek ve Çalıştırmak
Delphi'nin başlatılmasıyla uygulama başlandığını ve yapılan tasarım ve kodlama çalışmalarının ardından F9 tuşuyla programın çalıştırıldığını belirtmiştik.
F9 tuşu ya da Run komutunun seçilmesiyle Delphi şu işlemleri yapar:
- Pascal kaynak kodlarını derler. Varsa hataları işaret eder.
- Proje dosyasını derler.
- EXE dosyasını oluşturur.
- İşletilebilir (EXE) dosyası çalıştırır.
2-Hata Giderme (Debuggıng)
Delphi 7 yeni hata giderme araçlarına sahiptir. Hata gidermenin ilk aşaması derleyicidir. Derleme sırasında kodların hataları kontrol edilir ve bulunan hatalar raporlanır
3-Pause
Delphi IDE içinde çalışan bir programı durdurmak için, Run menüsünden Program Pause komutu seçilir ya da Pause düğmesi tıklanır. Bu çalışan uygulamanın durmasını ve gerekli hata giderme çalışmalarının yapılmasını sağlar.
Programı yeniden başlatmak için:
Yeniden Delphi IDE'sinde Run menüsünden Program Reset komutunu seçin. .
4-BreakPoınt
Breakpoints (kesme noktaları) programın belli bir satırda durmasını ve o andaki durum üzerinde kontroller yapılmasına olanak sağlayan bir program denetimi tekniğidir.
Kod satırına bir kesme noktası yerleştirmek için:
Kod satırının başına tıklayın ve bir Stop işaretinin oraya eklendiğine dikkat edin.
Ardından programın çalışması bu noktada kesilir. Bu kesilmenin ardından programcı program değişkenlerinin bu aşamada değerlerini kontrol eder.
5-Steppıng
Bir breakpoint aracılığıyla program durdurulduktan sonra program işleyişine adım adım devam edilmek istenebilir. İşte bu olanak step over seçeneği ile sağlanır. Program adım adım işletilmesi F8 tuşu ile ya da Run menüsünden seçebileceğiniz Step Over komutu ile sağlanır.
6-Derleme Hataları
Aşağıdaki tabloda yaygın karşılaşılan derleme hataları:
- Out of memory
- Identifier expected
- Unknown identifier
- Duplicate identifier
- Syntax error
- Error in real constant
- Error in integer constant
- String constant exceeds line
- Unexpected end of file
- Line too long
- Type identifier expected
- Too many open files
- Invalid filename
- File not found
- Disk full
- Invalid compiler directive
- Too many files
- Undefined type in pointer definition
- Variable identifier expected
- Error in type
- Structure too large
- Set base type out of range
- File components may not be files or objects
- Invalid string length
- Type mismatch
- Invalid subrange base type
- Lower bound greater than upper bound
- Ordinal type expected
- Integer constant expected
- Constant expected
- Integer or real constant expected
- Pointer type identifier expected
- Invalid function result type
- Label identifier expected
- BEGIN expected
- END expected
- Integer expression expected
- Ordinal expression expected
- Boolean expression expected
- Operand types do not match operator
- Error in expression
- Illegal assignment
- Field identifier expected
- Object file too large
- Undefined external
- Invalid object file record
- Code segment too large
- Data segment too large
- DO expected
- Invalid PUBLIC definition
- Invalid EXTRN definition
- Too many EXTRN definitions
- OF expected
- INTERFACE expected
- Invalid relocatable reference
- THEN expected
- TO or DOWNTO expected
- Undefined forward
- Invalid typecast
- Division by zero
- Invalid file type
- Cannot Read or Write variables of this type
- Pointer variable expected
- String variable expected
- String expression expected
- Circular unit reference
- Unit name mismatch
- Unit version mismatch
- Internal stack overflow
- Unit file format error
- IMPLEMENTATION expected
- Constant and case types do not match
- Record or object variable expected
- Constant out of range
- File variable expected
- Pointer expression expected
- Integer or real expression expected
- Label not within current block
- Label already defined
- Undefined label in preceding statement part
- Invalid @ argument
- UNIT expected
- ";" expected
- ":" expected
- "," expected
- "(" expected
- ")" expected
- "=" expected
- ":=" expected
- "[" or "(." expected
- "]" or ".)" expected
- "." expected
- ".." expected
- Too many variables
- Invalid FOR control variable
- Integer variable expected
- File and procedure types are not allowed here
- String length mismatch
16 Mart 2012 Cuma
Code Editör
Code Editor, Delphi
içinde programı oluşturan kodların yazıldığı bir metin düzenleyicidir. Editor bir dizi taba sahip sayfalardan oluşur. Her bir
sayfa tek bir Delphi Project Unit
için kodları içerir: Bir unit .PAS dosyası olarak
saklanır ve uygulamanın görünmeyen elemanlarını içerir. Bazı uniteler ise kendisine ait forma sahip değildir, ancak form
dosyasıyla aynı adı paylaşır. Normalde form dosyası .DFM dosyası olarak
saklanır.
Kaydol:
Kayıtlar (Atom)