|
-
- Delphi 5 Enterprise
-
- Delphi 5 Professional
-
- Delphi 5 Standart
-
- Delphi 5 Yenilikler
-
- Delphi 5 Enterprise
Delphi 5 Enterprise
Delphi
5 Enterprise internet ve dağıtık hesaplama için yüksek üretkenlik
çözümüdür. Delphi'nin InternetExpress'i, e-ticareti destekleyen,
esnek, yayılabilen sistemleri oluşturmak için HTML 4 ve XML'i
kullanan Web Client Page Wizard'ı, dağıtık HTML uygulamaları
oluşturmak için MIDAS PageProducer ve WebBroker'ı içerir. ADOExpress
ile her türlü bilgiye hızlı erişim kazanırsınız ve TeamSource ile
bütün geliştirme takımınızın üretkenliğini arttırabilirsiniz. CORBA,
COM ve MTS gibi bütün dağıtık hesaplama standartlarını kullanan
MIDAS'ı kullanarak internet uygulamalarınızı arttırabilirsiniz.
200'ün üstünde tekrar kullanılabilen bileşenleri ve kaynağıyla
birlikte Visual Component Library kullanan güvenilir uygulamaları
oluşturabilir, hata ayıklayabilir ve programlarınızı yayabilirsiniz.
Kilit veritabanı sistemleri oluşturmak için Interbase Express'i
kullanabilirsiniz. Ayrıca bu paket InterBase, MS SQL, Informix,
Sybase ve Oracle için Native SQL Link'leri içermektedir.
Delphi
5 Professional
Delphi
5 Professional, web ve veritabanı uygulamaları oluşturmak için en
hızlı, en üretken Windows geliştirme aracıdır. Delphi 5 Professional
, profesyonel IDE, WebBroker, Native Internet Components, InterBase
Express ve güvenilir hata ayıklama araçlarını içerir. Project
Browser, Code Explorer ve Data Module Designer görüntüleriyle
kodunuzu anlayabilir ve araştırabilirsiniz.İşiniz için bileşenleri
Frame'ler ile görsel olarak oluşturabilirsiniz. MS Office otomasyon
kontrolcülerinin tamamını içeren COM nesne ve sunucularını oluşturup
yeniden kullanın. Delphi 150 tekrar kullanılabilir bileşeni ile
üretkenliği arttıtır ve bütün uygulama evresini yönetir. Güvenilir
uygulamaları pazara daha hızlı getirmek için dünyanın en hızlı
32-bit derleyicisini ve Advanced Project Manager' i kullanır.
Delphi
5 Standard
Delphi
5 Standard , sürükle ve bırak görsel programlama, örnekler ve 85'in
üstündeki tekrar kullanılabilir bileşenli Visual Component Library
ile Windows altında uygulama geliştirmeyi kolaylaştırır. Kolay ve
çabucak Word, Excel, PowerPoint ve Outlook için MS Office
bileşenleri gibi COM nesnelerini otomatikleştiren Windows
uygulamaları oluşturabilir, hata ayıklayabilir ve yayabilirsiniz.
Kodu sizin için tamamlayan CodeInsight Wizard'ı kullanabilir, Tek
bir satır kod yazmadan tekrar kullanılabilir bileşenleri oluşturmak
için Componenet Template'leri kullanabilirsiniz. Artı Microsoft
Windows 95 ve Windows NT, Win32 API, COM, ActiveX ve OLE
Automation'ı içeren endüstri standartları için tam destek hakkı
kazanın. Geliştirme ortamınızı tamamen kişiselleştirmek için
Dockable Toolbars ve Dockable Windows'u bu pakette
kullanabilirsiniz.
Delphi
5 Yenilikler
XML:
Delphi 5, veri dağıtımını ve değişimini kolaylaştırır!
Verilerinizi web'e çabucak ulaştıran yüksek hızlı Internet
uygulamaları geliştirebilirsiniz. Delphi'nin XML veri desteği esnek
olduğu için internetteki e-ticaret'i desteklemek için
genişletilebilir sistemleri kurmanızı sağlar.
HTML 4 : Web için nitelikli Dynamic Thin-client
Delphi 5, HTML 4 ve XML kullanan dinamik ultra-thin istemciler
kurmanız için ihtiyacınız olan gücü getiriyor. Bu size nitelikli ve
isteklerinize yanıt veren istemci uygulamalarını Internete hızlı
yayma olanağı tanır.
ADO:
Bütün bilgi kaynaklarına hızlı erişim.
Delphi 5 e-posta ve dosya sistemleri de dahil olmak üzere her
türlü veri tabanına hızlı erişim sağlar. Microsoft'un ActiveX Veri
Nesnesini ve OLEDB teknolojisini kullanarak
son-kullanıcılarınızın daha iyi ticari karar vermeleri için ihtiyaç
duydukları veri evrenine anında erişim kazanabilirsiniz. Delphi'nin
açık veri bileşenlerini kullanarak, kısa zamanda ticari verilerinizi
internette müşterilerinize, son kullanıcılarınıza ve bütün hedef
kitlenize götüren sistemler kurabilirsiniz. ADO son kullanıcınızın
istemci işletim sisteminin standart bir parçası haline geldiğinden,
programlarınız kolayca yayılabilecek.
InterBase
Express: Yüksek performanslı sistemler
InterBase Express ile, VAR'lar, SI'lar ve ISV'ler programları, çabuk
dağıtılabilen yüksek performanslı sistemleri inşa edebilirsiniz.
Delphi ve InterBase ile, yüksek üretkenlik, yüksek performanslı
geliştirme yapabilirsiniz. Ayrıca yüksek hızlı, az bakım isteyen,
small-footprint ilişkisel veri tabanı birleştirilmiştir. Interbase
Express ile mükemmel gömülü sistemler oluşturmak için artık Borland
Database Engine ile geliştirme ve dağıtma yapmanıza gerek
kalmayacak.
TeamSource:
Bütün geliştirme takımınıza üretkenlikte cesaret verin
Delphi 5 ile bütün takımınız, birlikte daha iyi ve daha hızlı
çalışacak. TeamSource kaynak kodunuzu yönetim biçiminizde bir
devrimdir. TeamSource, varolan kaynak kodu yönetiminizin ve sürüm
motorunuzun üzerinde oluşturulur ve bunları büyük dağıtık takımlar
için kaynak kodu yönetimini basitleştiren yüksek üretkenlikli iş
akışı modeli ile yayar.
Borland
Çeviri Takımı: Dünya çapında yeni pazarları keşfedin!
Delphi 5 ile, programlarınız için pazar bütün gezegeni kapsayacak
şekilde büyümüştür. Borland Çeviri Takımında programlarınızı yeni
dil ve kültürler için hızlı bir şekilde globalleştirmek veya
yerelleştirmek için ihtiyacınız olan herşey mevcut. Programlarınızı
daha hızlı pazarlayabilmek için aynı anda birden fazla bölge için
geliştirebilirsiniz. Delphi, kaynakların tercümesini yönetir ve
uluslarası geliştirmenizi ivmelendirmek için çevrilmiş nesnelerin
bir örneğini tutar.
MIDAS:
Internet uygulamalarınız için ölçülebilirlik.
MIDAS ile Internet tabanlı uygulamaların taleplerini karşılayan
sistemler inşa edebilirsiniz. MIDAS işlem hacminizin ölçüsü
programları dağıtmak için Delphi'nin yüksek üretkenliği üzerine inşa
edilmiştir. Son kullanıcı sayısını arttırır. Çok sayıda web
tarayıcısı istemcilerinin , internetteki veya intranet inizdeki
Windows istemcilerinin kolaylıkla üstesinden gelebilecek Internet
uygulamalarını oluşturabilirsiniz.MIDAS, varolan sistemleriniz ile
e-ticaret uygulamalarının birleştirilmesini kolaylaştırmak için
CORBA, COM ve MTS gibi bütün dağıtık hesap standartlarını kullanır.
MIDAS'taki birçok yeni özellikten bazıları:
· Mobil ve düşük bant genişliği durumlarında daha fazla
kontrol için Stateless DataBroker
· Programlarınızı firewall'un dışına güvenli bir şekilde
taşıyabilmek için WebConnection bileşenleri
· Geliştirilmiş ölçülebilirlik için sunucu nesne havuzlama
IDE:
Geliştirici için yüksek üretkenlik.
Delphi 5 IDE, kodu okuma, yazma ve araştırma işlemini
kolaylaştırarak geliştiricinin üretkenliğini yüksek ölçüde artırır.
Kod editörü bir ünite içinde veya ilişkili üniteler arasında
gezinmeyi kolaylaştırır. Proje yöneticisindeki Sürükle ve Bırak
desteği herhangi bir açık projeden veya Windows Gezgini dosya
diyalogundan projeye dosyaları eklemeyi kolaylaştırır. Proje
yöneticisinin çoklu proje desteğini kullanarak, EXE ve DLL dosyaları
gibi birden fazla hedefte kolay derleme yapabilirsiniz. Delphi'nin
görsel form dizayncısı ile hızlı bir şekilde Internet, dağıtık hesap
ve Windows uygulanmalarını görsel olarak bir panelden bileşenleri
seçerek oluşturabilirsiniz.
Delphi
5 birçok yeni özellik ve VCL'e artırımlar içerir:
· Geliştirme ortamınızın daha fazla kontrolü için
kişiselleştirilebilen Masaüstü Ayarları
· Editörü çalışma şeklinize göre ayarlayabileceğiniz Editor Key
mapping
· Kodunuzu daha iyi anlamak ve VCL'i taramak için proje çapında
araştırma
· Programınızda verinin ayrıntılı anlatılabilirlik kazanması
için Tree ve Data Diagram View ile DataModule Dizayncısı
· Proje yöneticisi ve derleyicisi için bütünleşmiş RC Dosyaları
· Uygulamanızın takvimini tutmak için Yapılacaklar listesi
· Programınızın özelliklerini ayarlamak için Denetim Masası
Visual
Component Library: Kod tekrar kullanımında son nokta
Delphi ile güvenilir ve verimli uygulamalar oluşturmak için nesne
tabanlı uygulama gücünü, kendi yararınıza kullanırsınız. Delphi'nin
ispatlanmış nesne tabanlı bileşen yapısı ile kendi bileşenlerinizi
inşa edin. Delphi 5 (Delphi Enterprise'da) 200'ün üstünde Internet
ve Windows uygulamalarınız için pazarlama hızını dramatik arttıran
bileşenleri içeren Visual Component Library içerir. Yeni Frame
özelliği ile işiniz için görsel olarak bileşenler inşa edeceğinizden
üretkenliğiniz artacak. Kaynak koda açık erişim ile VCL' in
şıklığını keşfedeceksiniz. (Şimdi Decision Cube bileşenleri ve ek
Property Editors için ek kaynak kod içerir). Delphi ile bileşen
tabanlı geliştirme, Windows ya da Internet uygulamaları gibi en zor
geliştirme görevlerini basitleştirir. Delphi 5 VCL ile ilgili birçok
yeni özellik ve artırımlar içerir:
·
Karmaşık bileşenler derlemek ve inşa etmek için Frameler
· Uygulamanızla HTML arattırmayı birleştirmek için WebBrowser
bileşeni
· Word, Excel ve Outlook gibi Office uygulamaları ile kendi
programlarınızı hızlı bir şekilde entegre etmek için MS Office
otomasyon bileşenleri kümesi
· Öğrenme ve üretkenliği arttırmak için Property Category'ler
· Özellik seçeneklerini basitleştirmek için Property
Editor'ünde Owner Draw desteği
· Windows API üzerinde daha fazla kontrol için Advanced Custom
Draw fonksiyonlarına geliştirilmiş destek
Karmaşık projeleri pazara daha hızlı taşımak için gelişmiş
hata ayıklama
Delphi ile, en karmaşık projelerde bile hataları bulmak ve ayıklamak
daha önce hiç daha basit olmamıştı. Delphi'nin geliştirilmiş hata
ayıklayıcısı kodunuzun ne yapacağını anlamanıza ve kontrol etmenize
yardımcı olur. Breakpoint'ler ile kodda istediğimniz noktada
yoğunlaşabilirsiniz. Şimdi breakpoint'te yapılması gereken işi
ayarlayıp breakpoint'leri gruplayarak kodunuzun ilgilendiğiniz
bölümlerini çabucak hata ayıklayabilirsiniz. Delphi 5 hata
ayıklayıcısı için birçok yeni özellik ve artırımlar içerir:
·
Pano ve sürükle ve bırak desteği de dahil olmak üzere, editör ile
hata ayıklama pencerelerinin entegrasyonu ve kolay kullanılabilirlik
· Daha hızlı araştırma için Breakpoint ToolTip'leri
· Hata ayıklama işlemi üzerinde daha fazla kontrol için
Breakpoint Action'ları
· Birden fazla breakpoint'i daha kolay kontrol için Breakpoint
Groups
· DCUlar ve Hata Ayıklama sembol arama yolları ile daha kolay
hata ayıklama
· Artırılmış düşük seviyeli hata ayıklama için MMX desteğiyle
birlikte FPU görüşü
· Çok-işlem hata ayıklama
· Merkezileşmşt çok-işlemli hata ayıklama için Temporary
Process Option'ları
· İşlem sınırlarını geçmek için Çapraz işlem hata ayıklama
· Üretilmiş işlemleri ayıklama
· Çalışan işleme ekleme yapma ve hata ayıklama
Form1
Form tasarımcısı.
Object İnspector F11 (Bir nesnenin özelliği ve değeri değişir.)
Componet Palet Bileşen Paleti
Run (F9)
Programı çalıştırır.
Her satırdan sonra mutlaka ; konur.
1. SHOWMESSAGE ('yazılacak mesaj');
Butona tıklayınca ekran mesaı verir. Örnek: showmessage('merhaba')
2. CLOSE
Butona tıklayınca kapatsın.
Begin
Close;
end
String
Karakter
İnteger Sayısal değerler
3. TIME
Form1'in
başlığına saati gösterir.
Form1.caption:=TimeToStr(time);
Hem saat
hem tarih için;
Form1.caption:=datetimeToStr(now);
Edit
Butonu :
Form1.caption:=edit1.text
İki
sayının toplamını üçüncüye yazdıran kod: Ama 5+5 sonucunu 55 yazar.
Edit3.text:=edit1.text+edit2.text;
Tam
String ifadeyi integer ifadeye çevirmek suretiyle doğrusu yazılır.
edit3.text:=intToStr(StrToint+(edit1.text)+StrToint(edit2.text));
Butona
tıkladığında .exe dosyasını çalıştıran kod:
Winexec(pchar('C:\windows\scandskw.exe'),sw_shownormal);
&
işareti karakterin altını çizer ve Alt tuşu ile kullanılmasını
sağlar.
Kapat yazan butonun caption özelliğine &Kapat yazarsa sonuç; Kapat
olur.
BİLEŞENLERİ (COMPONENTLERİ) KULLANMAK
NESNE
Events
Properties Method
İPUCU :
Shift tuşu ile birlikte butona basılırsa aynı butondan bir çok buton
çizilebilir.
4.
CAPTİON : Nesnenin etiketini değiştirir.
5. CONSTRAİNTS : Nesnenin en geniş veya en dar alabileceği en yüksek
ve en küçük değeri gösterir.
Maxheight : En büyük alabileceği yükseklik
Maxwidht: Genişliğinin en büyük alabileceği değer.
Minheight : Minimum yükseklik
Minwidht : Minimum genişlik
If …(a)…. then
begin (a) şartı temsil eder.
(b) (b) Koşul sağlandığında işleyecek kodlar
end
else
begin (c) Koşul sağlanmadığında işleyecek kodlar
(c)
end;
end;
end.
ÇALIŞMA-1
1 nci
butona tıklayınca 4 nolu button enabled (pasif) olsun.
2 nci
buttona tıklayınca font özellikleri 1 nciye kopyalansın.
3 ncü
buttona tıklayınca 6 ncı buttonu genişletsin.
4 ncü
buttona tıklayınca button1 eski halini alsın.
5 nci
buttona tıklayınca 2 nciyi gizlesin. Show yazsın.
6 ncı
buttona tıklayınca kendini küçültsün.
Çözüm Açıklaması
1.Button
(onclick olayına yazılacak kod)
if
button4.enabled=True then {Eğer, Button4 enabled(aktif) özelliği
doğru ise;}
begin
button4.enabled=False; {Button4'in enabled özelliği yanlış ise,}
button1.caption:='&1 Enabled 4'; {Button1'in Caption özelliğine '&1
Enabled 4' yaz.}
end
else
Değilse,
begin
button4.enabled.=True; {Button4'ün enabled özelliği doğru ise,}
button1.caption:='&1 Disable 4' {Button1'in caption özelliğine '&1
Disable 4' yaz.}
end;
end;
end.
2.
Button (onclick olayına yazılacak kod)
button1.font:=button2.font; {Button2'nin font özelliğini Button1'e
kopyalar.}
3.
Button (onclick olayına yazılacak kod)
button6.height:=button6.height+2; {Button6'nin yüksekliğini 2 birim
artırır.}
button6.widht:=button6.widht+2; {Button6'nin genişliğini 2 birim
artırır.}
4.
Button (onclick olayına yazılacak kod)
button1.parentfont:=True;
{Button1'in Parentfont (eski font ayarlansın) doğru yap.}
Not: (PARENFONT
özelliği; font ayarlarının eski haline dönmesini sağlar)
5.
Button (onclick olayına yazılacak kod)
if
button2.visible=True then; {Eğer button2 visible (görünür) özelliği
doğru ise.}
begin
button2.visible:=False; {Button2nin visible özelliği yanlış ise;
(yani görünmüyorsa)}
button5.caption:='&5 Show 2'; {Button5'in caption'una &5 Show yaz.}
end
else Değilse,
begin
button2.visible:=True; {Button2nin visible özelliği doğru ise
(görünüyorsa)}
button5.caption:='&5 Hide 2'; {Button5'in capiton özelliğine &5 Hide
2 yaz.}
end;
end;
end.
6.
Button (onclick olayına yazılacak kod)
button6.height:=button6.height-3;
{Button6'nın yüksekliğini 3 birim küçültsün}
ÇALIŞMA-2
WORDRAP
: Etikette alta yazmasını sağlar. (True olursa )
Label'in formu kaplaması için Align özelliği alclient yapılır.
Alignment Özellikleri
Tacenter à Yazıyı ortalar.
TaLeftJustify à Sola hizalar.
TaRightJustify àSağa hizalar.
Onclick
olayına yazılacak kod
Label1.Alignment:=taLeftJustify
Onclick
olayına yazılacak kod
Label1.Alignment:=taRightJustify
Onclick
olayına yazılacak kod
Label1.Alignment:=taCenterJustify
Renkler
için dialogs bölümünden colordialog kutusu formun üzerine getirilir.
Name
özelliği dlgRenkKutusu olarak yazabiliriz.
Onclick
olayına yazılacak kod
DlgRenkKutusu.Execute; (execute: dialog kutusunu getirir.)
Label1.color:=dlgRenkKutusu.color;
Onclick olayına yazılacak kod
DlgRenkKutusu.Execute; (execute: dialog kutusunu getirir.)
Label1.font.color:=dlgRenkKutusu.color;
DELPHİDE KAYDETME İŞLEMİ
Her uygulamanın adına Application denir.
Project (Program)
Unit (Form)
Her
uygulama için ayrı bir klasör oluşturmak gerekir.
Project1.exe à Bizim verdiğimiz isimler olacak.
Unit1.pas
Project1.dpr
Unit1.dfm
ÇALIŞMA-3 (sürükleme)
Yukarıdaki şekilde soldaki Label'lerin renkleri mouse ile yandaki
StaticText nesnesinin rengi değişecek.
1. İki
çeşit sürükleme vardır. Manual ve Automatic
Nesnenin dragmode özelliği ayarlanır.
2. Label'in Properties'inden DragMode özelliği Automatic seçilir.
3. Üstüne sürüklenen nesnenin dragover olayındaki accept true
olacak. Yani statictext'in event bölümünde;
Accept:=True;
4. Sonra sürüklenen yerde ondragDrop olayı oluşur.
5. Kendi üzerine birşey sürüklenen nesnenin sürükleme işlemi devam
ederken onDragDop olayı oluşur.
DragDrop : Çekti buraktı,
DragOver : Çekti dolaştırdı.
6. StaticText'in ondragDrop olayına yazılacak kod;
StaticText1.color:=(source as Tlabel).color;
Çalışma 3-1
Yukarıdaki uygulamada; edit1.text içindeki yazı label'lerin üzerine
sürüklendiğinde label'lerin caption özelliğine kopyalansın.
Yapılacak İşlemler
1. edit1'in DragMode olayı dmAutomatic yapılır. (properties)
2. Label1'in onDragOver olayına Accept:=True; kodu yazılır:
3. Label1'in onDragDrop olayına Label1.caption:=edit1.text kodu
yazılır.
Ama
burda sadece bir label için oldu. Biz bütün Label'ler için olmasını
istiyorsak eğer;
(sender as Tlabel).caption:=(source as Text).text; kodu yazılır.
Sender :
Olayın meydana geldiği yer.
edit1.text:=(sender as Tbutton).caption;
NOT:
Yazılan kodlar içine kendimiz açıklama yazmak istiyorsak eğer; 3
yöntem kullanabiliriz.
1. // tek satırlık açıklamalarda kullanılır.
2. { } birden çok satırlı açıklamalarda kullanılır.
3. (* *) birden çok satırlı açıklamalarda kullanılır.
ÇALIŞMA-4 (Giriş Odağının Yönetilmesi)
TabOrder
: Tabsırasını ayarlar.
Tabstop : True iken False olursa tab sekmesi o nesneye uğramaz.
OnEnter : Odaklanan nesnenin hakkında bilgi verir.
StatusBar1 (Durum çubuğu) : StatusBar'ın üzerinde yazı görünmesini
sağlar. StatusBar'ın üzerine yazı yazmak için simpletext özelliği
kullanılır.
Yazının StatusBar'da gözükmesi için; SimplePanel à True olacak.
Password
yazarken * gözükmesi için, özelliklerden PasswordChar bölümüne bir
tane * konur.
Edit2'ye
gelince status bar'da yazı görünmesi için
OnEnter olayında
Statüs Bar1.snpktext:='Adınızı Giriniz'; diğer Ed,tler içinde
geçerlidir.
Statüs Bar1'deki yazı fontunun değişmesi için UseSystemFont özelliği
True olmalıdır.
Hint(ipucu) özelliği
O nesnenin hint özelliğine açıklama yazılır.
Showhint özelliği True olmalıdır.
StatusBar1.simpletext:=(sender as (edit).hint;
Onexit
Edit1'de çıkmaya çalıştığında boş ise mesaj verilir.
Tamama tıklayın sonra o edite dönsün
If edit1.text:='' then ('')hiçbirşey anlamındadır.
Begin
Showmessage('adınzı yazınız');
Edit1.setfocus;
End;
End;
End;
Sender ile yaparsak;
If(sender as tedit).text:=" then
Begin
Showmessage((sender as tedit).hint));
(Sender as tedit).setfocus;
end;
end;
end.
DÖNGÜLER
DÖNGÜ:Ağaç veya birbirine çok benzeyen işlemlerin birden çok kez
tekrarlandığı kısımlara denir.
Bu işlemleri alt alta yazmak yerine bir döngü içinde tanımlamak kodu
kısaltır ve olanaklığını arttırır
Ali
ayaklarını yıkada gel
Boşlukları say
Edit1.text[1] texin ilk değeri
Length(edit1.text)
text'deki krakter sayısını gösterir.
Kodu
Var
I,s:integer;
Begin
Fori:=1 to length(edit1.text) do
If edit1.text[I]=" " then s:=s+1;
Show message('boşluk sayısı:'+inttostr(s));
End;
End
End;
Var
Ad:string[10] ad değişkenine en fazla 10
Soyad:string[15] ad değişkenine en fazla 15
ÖDEV
Klavye yazılan paragraftaki istatiklik kodu yazılacak
Boşluk
Kelime
Cümle
Nokta
Virgül
For
Döngü Değişkeni:iİlk değer 10 son değer 00
Begin
……
end;
for x:=1 to 10 do
begin
……..
end;
AÇIKLAMA:X döndü değişkeni ilk blok içindeki program satırı 10 kez
arka arkaya iletilir.
Var
I:string[100];
Begin
For I:=to length(edit1.text) do
If edit1.text[I]=string[100]
Edit
kutusuna girilecek karakterleri tanımlamak
pp
Check ile run edilince
Check
butonunun OnClick olayı
Var
Sayi,kod:integer;
Begin
If edit1.text<>" then
Begin
Val (edit1.text,sayi,kod);
If kod<>0 then
Begin
Edit1.setfocus;
Label6.caption:=inttostr(kod);
MessageDlg('giriş hatalı',mterror,[mbOK];
Var
I,sc,sn,skb,sv:integer;
Begin
Sc:=0;
Sn:=0;
Skb:=0;
For I:=1
to length
Edit1'in
OnChange Olayı
Var
Sayi,kod:integer;
CurEdit:Tedit;
Begin
CurEdit:=sender as tEdit;
If CurEdit.text<>" then
Begin
Val(curedit.text,sayi,kod);
If kod<>0 then
Begin
Curedit.setfocus;
Label6.caption:=inttostr(kod);
MessageDlg('giriş hatalı',mtError,[mbOK];
End;
End;
End.
Edit'tin OnExit olayı
Odak bir nesneden ayrıldığı zaman o nesnenin OnExit olayı meydana
gelir.
Var
Sayi,kod:integer;
Begin
If edit1.text<>"" then
Begin
Val(edit1.text,sayi,kod);
If kod<>0 then
Begin
Edit1.setfocus;
Label6.caption:=inttostr(kod);
MessageDlg('giriş hatalı',mtError[mbOK],0');
End;
End;
End;
Sayı
girdikçe her edit dosyasına geçişi sağlıyor.
Aynı kodu Edit1'in OnChange yazdığımız zaman (karakter seçtiğimiz
zaman )hata veriyor.
RichEdit1:Sadece seçili alanlar için özellik ayarlar.
Memo1:Hepsi birden değişir (özelliklerinin).
[ ] olan
özellikler kümes tipi özelliklerdir.
+ Bir kümeye eleman ekler.
- Bir kümeden eleman siler.
Style :[ ];
Style:=[fsBold,fsitalic];
Style:=style+[fsunderline];
Style:=Style-[fsbold];
Eğer
memo1'deki yazı hem italic, hemde bold olacaksa, ayrıca
tıklandığında, Bold; seçiliyken tıklandığında Bold özelliği kalkacak
kod;
if
checkBox1.checked then
memo1.font.style:=memo1.font.style+[fsBold]
else
memo1.font.style:=memo1.font.style-[fsBold];
end;
RadioButton
Begin
Memo1.font.name:=RadioButton1.caption;
end
Case
Of Deyimi
Case
RadioGroup1.itemindex of
0:
memo1.alignment:=taleftJustify;
1:
memo1.alignment:=taRightJustify;
2:
memo1.Alignment:=tacenter;
end;
Ödev: Kutuya yazılan paragraftaki istatistik kodu yazılacak. (Boşluk
sayısı, Kelime sayısı, Cümle sayısı, Nokta sayısı, Virgül sayısı)
FOR
DÖNGÜ DEĞİŞKENİ
İlk değer TO son değer DO
Begin
……….
End;
For x=1
TO 10 DO
Açıklama : X döngü değişkeni
İlk blok içindeki program satırı 10 kez arka arkaya işletilir.
var
i:string[100]
begin
for
i=1 TO length (edit1.text) DO
if edit1.text[i]=string [100]
CHECK ile RUN edilince;
Check
Butonunun OnClick olayı
Var
Sayi,kod:integer;
Begin
If edit.text<>" then
Begin
Val (edit1.text,sayi,kod);
If kod<>0 then
Begin
Edit1.setfocus;
Label 6.caption:=inttostr(kod);
MessageDlg('Giriş Hatalı',mtError,[mbOK];
Editin change olayı
var
sayi,kod:integer
CurEdit:Tedit;
Begin
CurEdit:=Sender as Tedit;
If CurEdit.text<>" then
Begin
Val(Curedit.text,sayi,kod);
If kod<>0 then
Begin
CurEdit.setfocus;
label6.caption:=inttostr(kod);
messageDlg('giriş hatalı',mtError,[mbOK];
end;
end;
end.
EDİTİN
ONEXIT OLAYI
Odak nesneden ayrıldığı zaman o nesnenin onExit olayı meydana gelir.
Var
Sayi,kod:integer;
Begin
Val(edit1.text,sayi,kod);
If kod<>0 then
Begin
Edit1.setfocus;
Label6.caption:=inttostr(kod);
MessageDlg('giriş hatalı',mtError,[mbOK];
End;
End;
End;
Sayı
girildikçe her edit dosayasına geçişi sağlıyor.
Yanı
kodu edit1 in OnChange yazdığımız zaman (karakter girdiğimiz
zaman)hata veriyor.
RichEdit1:sadece seçili alanlar için özellik ayarlar.
Memo1:hepsi birden değişir(özelliklerinin)
[] olan
özellikler küme tipi özelliklerdir
+:bir kümeye eleman ekler.
-:bir kümeden eleman siler.
Style :[];
Style:=[fsBold,fsItalik]
Style:=style+[fsunderline];
Style:=style-[fsbold];
Eğer
memo1 deki yazı hem italikihem bold olacaksa ayrıca
tıklandığındabold özelliği kalkacak
KOD
CHECKBOX
If checkbox1.checked then
Memo1.fontstyle:=memo1.fontstyle+[fsbold];
Else
Memo1.font.style:=memo1.font:style-[fsbold];
End;
RADIO BUTTON
Begin
Memo1.fontname:=radiobuton1.caption;
End
Label1.caption:=inttostr(radiogroup1.ItemIndex);
CASE
OF DEĞİMİ
Case radioGroup1.ItemIndex of
0
memo1.aligment:=toleftjustfy;
1
memo1.aligment:=torightjustfy;
2
memo1.aligment:=tocenter;
end
ÖDEV
Fist
object position second object
RadioGroup1.Items[RadioGroup1.ItemIndex]
ONKEYPRESS
Odak bir
nesne üzerindeyken klavyeden bir tuşa basılınca meydana gelen olay
Editii onkeypress olayıdır.
Var(edit1 de sadece rakamları alıyor)
Key:char
Begin
If not((key in ["0".."y",#8]) then
Begin
Key:=#0;
Beep
End
End;
Eğer 9 değer girildiği zaman edit 4'e karakter yazamıyoruz
Program 0'dan büyük harf olmak koşuluyla Y'e kadar değergirebiliriz.
MASKEDIT(Additional altında 3.button)
Editmask özelliği\çift tıkla\extension\ok
Kaç haneli rakam girileceğini belirtiyor.
ÖDEV
Adınızı giriniz(küçük) OnKeypress özelliği
Soyadınızı girin(büyük)
Aksi
taktirde klavye yazmıyacak.
PROGRAM
Var
Key:char;
Begin
Key:=#0;
End;
End;
Var
Key:char;
Begin
If not(key in ['A'..'Y',#8]) then
Begin
Key:=#0;
End;
End;
Var
I,sc,sn,sk,b,sv:integer;
Begin
Sc:=0;
Sn:=0;
Skb:=0;
Sv:=0;
For i:=1 to lenght(edit1.text) do
If edit1.text[i]='?' then
Sc:=sc+1;
Else
If edit1.text[i]='.' Then
Begin
Sc:=sc+1;
Sn:=sn+1;
End
End;
Else
SHOWMESSAGE
('cümle sayısı'+inttostr(sc)+#13+'nokta sayısı'+inttostr(sn)+#13+'kelime
sayısı' inttostr(skb+1)+#13+'boşluk sayısı'+intostr(skb+#13+'virgül
sayısı+inttostr(sv));
Begin
Dlgrenk_kutusu.execute
Label1.color:=Dlgrenk_kutusu
End;
SORU1
Zeminin OnClik
Begin
Dlgrenk_kutusu.color
End;
F9 run ediliyor
--------------------------------------------------------
begin
Dlgrenk_kutusu.execute
Label1.color:=Dlgrenk_kutusu.color;
Label2.color:=Dlgrenk_kutusu.color;
Button1.caption:=Dlgrenk_kutusu.color
End;
F9 run ediliyor
cvp:Button1 color özelliği yok
Var
Key:char;
(program çalışmıyor eğer kullanılmıyorsa)
begin
key:=#0;
.
.
.
.
soru3)
if kod<>0 (<>0 :hatalı kod(integer mi))
(<>0 doğru kod,1 hatalı kodmu)
EDİTÖR YAPIMI DİOLOG ALTINDA PANEL
AlTop
üçte taşır Panel'in align özelliğini
AlClient akranı kaplar(özelliklerden)
Font'a tıkladığımıda seçili nesne varsa dialog kutusu açılacak
Her procedure begin ile başlar.
Begin
If re.sellength>0 then
Begin
Fd.fontAssign(RE.defAtributes);
Parantezin içindekilerFD'nin içine kopyalanıyor.
If FD.execute then
Re.selAtributes.Assign(FD.font);
Re.setfocus;
End,
Else
Showmessage('metin seçin');
F9run edilince
Richtext nesnesi içeriğine yazı yazılıp seçilip,font tuşuna
basılınca ,font menüsü ekrana gelir.
Aynı panele ekliyoruz.
Begin
If memo1.sellenght>0 then
Begin
Fd.font:memo1.font;
If fd.execute then
Memo1.font:=fd.font;
Memo1.setfocus ;
End ;
Else
Showmesage('önce metin seçin'),


|