Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web

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 :

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ış.