Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
Componet
Öncelikle component delphi ile birlikte gelen yada
dışardan alına bilen ve hatta delphi ile birlikte yapıla bilen görsel veya görsel
olmayan objelerdir. Delphi dünya pazarında bu component yapma olayını çok iyi
oturtmuştur hatta component yapan ve bu componentleri kullanarak uygulama yapan , bu
uygulamalarıda satan firmalar ortaya çıkmıştır.
Delphide üç şekilde component yapılabilir. Bunlar :
- Görsel olmayan componentler
- Görsel olup sıfırdan türetilen componentler
- Olan bir componenti kullanarak geliştirilen componentler
Burada bu üç gruptan sadece olan bir componenti
kullanarak geliştirilen componenlere örnek verilcektir . Bunun için önce file
menüsünden close all deyin. Ve daha sonra yine file menüsünden new deyip ordan
componenti seçin.
Karşınıza çıkan bu pencerede Ancestor type ana bileşeni yani hangi bileşenden
üretilceği seçilir.
Class Name de yapılan bileşenin sınıfı seçilir. Palette Page bölümünde paletin
hangi sayfasında gözükmesinin istendiği belirtilir. Unit file name de yapılan
dosyanın dizini yazılır. Search Page de ise delphi kayıtlı olan dizinler
yazılıdır. Bunları doldurduktan sonra Create Unit butonnuna basın sizin için bir
source kod yazacaktır. Şimdi bizim yapcağımız ilk beleşende yaratıldığı zaman
yani sayfaya konduğu zaman font size 12 olacak ve içinde merhaba yazacaktır bunu için
source kodu aşağıdaki gibi değiştirin.
Public bölümünü ...
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
şeklinde değiştirdikten sonra implementation yazısının hemen
ardına aşağıdaki kodu girin böylece editbox yaratıldığında fonsize'ı 12 yazısı
ise merhaba olacaktır
constructor TEditBOX1.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
font.Size:=12;
text:='MERHABA';
end;
Bu kez bu bileşenimize bir özellik ekleyelim bunu aşağıdaki gibi yapabiliriz.
Aslında eklediğimiz özelliğin hiç bir anlamı yok. Çünkü ekliyeceğimiz özellik
edit componentinin text özelliği ile aynı ama yinede nasıl özellik eklenceğine bir
örnek olur.
Bu kez size direk source kodu vericeğim
1. unit EditBOX1;
2. interface
3. uses
4. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
5. StdCtrls;
6. type
7. TEditBOX1 = class(TEdit)
8. private
9. { Private declarations }
10. oku :string;
11. procedure yaz(drm:string);
12. protected
13. { Protected declarations }
14. public
15. { Public declarations }
16. constructor Create(AOwner: TComponent); override;
17. published
18. property metin:string read oku write yaz;
19. { Published declarations }
20. end;
21. procedure Register;
22. implementation
23. procedure TEditBOX1.yaz(drm:string);
24 . begin
25. oku:=drm;
26. text:=oku;
27. end;
constructor TEditBOX1.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
font.Size:=12;
text:='MERHABA';
end;
procedure Register;
begin
RegisterComponents('Samples', [TEditBOX1]);
end;
end.
Burda dikkat etmemiz gereken ilk nokta 10,11,18 satırlardır. 10. satırda oku diye bir
string yazıyorum. Metin özelliği içindeki değeri bu oku stringinden alacak. 11.
satırda yaz diye bir procedure yaratıyoruz. Bu procedure oku stringine verilen değeri
yazıyor aynı yamanda editbox1 bileşeninin içine de bu değeri yazıyor.
18. satırda ise değerini oku adlı stringden alan bir metin adlı procedure yapıyoruz.
Bu metin adlı procedure'ün içine yazılan değer otomatik olarak editbox1 bileşeninin
içinede yazılacaktır.
Bunları yaptıktan sonra 23 ile 27 numaralı satırlar arasına yaz adlı proceduru
ekliyoruz.
Bu kodu ekleyip kaydedin ve file menüsünden close all deyin. Daha sonra new application
deyip yeni bir uygulama açın. Burdan component bölümünden install component deyip
componentin bulunduğu adresi yazın ve compile deyin bunları dedikten sonra size
componentin eklendiğini söyleyen bir mesaj gelecektir. Buna okey dedikten sonra palette
sample bölümüne bakarsanız orda yazmış olduğumuz EditBox1 componentini
görürsününz. Bunu forma yerleştirdiğinizde içinde merhaba yazacaktır. ve object
inspector menüsünde metin adlı bir bölüm gözükecektir.
Bu konu çok geniş kapsamlıdır. Ama burda bu kadar açıklanmıştır. Gerisi size
kalmış.