delphide component

muho06

Üye
Katılım
20 Şub 2007
Mesajlar
2
Puanları
1
Yaş
39
Componet öncelikle component delphi ile birlikte gelen yada disardan alina bilen ve hatta delphi ile birlikte yapila bilen görsel veya görsel olmayan objelerdir. Delphi dünya pazarinda bu component yapma olayini çok iyi oturtmustur hatta component yapan ve bu componentleri kullanarak uygulama yapan , bu uygulamalarida satan firmalar ortaya çikmistir.
Delphide üç sekilde component yapilabilir. Bunlar :
Görsel olmayan componentler
Görsel olup sifirdan türetilen componentler
Olan bir componenti kullanarak gelistirilen componentler
Burada bu üç gruptan sadece olan bir componenti kullanarak gelistirilen 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.
Karsiniza çikan bu pencerede Ancestor type ana bileseni yani hangi bilesenden üretilcegi seçilir.
Class Name de yapilan bilesenin sinifi seçilir. Palette Page bölümünde paletin hangi sayfasinda gözükmesinin istendigi belirtilir. Unit file name de yapilan dosyanin dizini yazilir. Search Page de ise delphi kayitli olan dizinler yazilidir. Bunlari doldurduktan sonra Create Unit butonnuna basin sizin için bir source kod yazacaktir. Simdi bizim yapcagimiz ilk belesende yaratildigi zaman yani sayfaya kondugu zaman font size 12 olacak ve içinde merhaba yazacaktir bunu için source kodu asagidaki gibi degistirin.
Public bölümünü ...
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
seklinde degistirdikten sonra implementation yazisinin hemen ardina asagidaki kodu girin böylece editbox yaratildiginda fonsize'i 12 yazisi ise merhaba olacaktir
constructor TEditBOX1.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
font.Size:=12;
text:='MERHABA';
end;
Bu kez bu bilesenimize bir özellik ekleyelim bunu asagidaki gibi yapabiliriz. Aslinda ekledigimiz özelligin hiç bir anlami yok. Çünkü ekliyecegimiz özellik edit componentinin text özelligi ile ayni ama yinede nasil özellik eklencegine bir örnek olur.
Bu kez size direk source kodu vericegim
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 satirlardir. 10. satirda oku diye bir string yaziyorum. Metin özelligi içindeki degeri bu oku stringinden alacak. 11. satirda yaz diye bir procedure yaratiyoruz. Bu procedure oku stringine verilen degeri yaziyor ayni yamanda editbox1 bileseninin içine de bu degeri yaziyor.
18. satirda ise degerini oku adli stringden alan bir metin adli procedure yapiyoruz. Bu metin adli procedure'ün içine yazilan deger otomatik olarak editbox1 bileseninin içinede yazilacaktir.
Bunlari yaptiktan sonra 23 ile 27 numarali satirlar arasina yaz adli proceduru ekliyoruz.
Bu kodu ekleyip kaydedin ve file menüsünden close all deyin. Daha sonra new application deyip yeni bir uygulama açin. Burdan component bölümünden install component deyip componentin bulundugu adresi yazin ve compile deyin bunlari dedikten sonra size componentin eklendigini söyleyen bir mesaj gelecektir. Buna okey dedikten sonra palette sample bölümüne bakarsaniz orda yazmis oldugumuz EditBox1 componentini görürsününz. Bunu forma yerlestirdiginizde içinde merhaba yazacaktir. ve object inspector menüsünde metin adli bir bölüm gözükecektir
 

Forum istatistikleri

Konular
128,151
Mesajlar
915,483
Kullanıcılar
449,894
Son üye
Mehmet Denizz

Yeni konular

Geri
Üst