Delphi/Kod İle Nesne Oluşturup Form Üzerine Yerleştirme//Cem Adrian

BÖKE

Yaşayan Forum Efsanesi
20 Ağu 2016
8,754
411
Kodlama yaparken bazen nesneyi kod satırında oluşturup form üzerine ekleme gibi ihtiyaç duyabiliyoruz bu gibi durumlar için bu konumda örnek olarak ListBox sınıfından bir inheritance(kalıtım) alıp form üzerine oluşturmuş olduğumuz nesneyi eklemeyi göreceğiz delphi kategorisindeki diğer konularımada bakmayı unutmayın :)


[*]Öncelikle yapmamız gereken Uses Satırına Vcl.StdCtrls(Standart Kontroller Sınıfı)’nı ekliyoruz böylece standart kontrollerin class(sınıf)’ina erişebileceğiz. Embarcaderonun sürüm farklılıklarından dolayı uses satırına sadece StdCtrls eklemeniz gerekebilir üstteki kütüphaneye erişemezseniz birde “StdCtrls” kütüphanesini kullanmayı deneyin ikiside aynı ama Embarcadero’nun sürümüyle beraber gelen değişikliktir.


Örnek uses satırı
Kod:
uses
  Vcl.Forms, Vcl.StdCtrls;

Global olarak tanımlama yapabileceğimiz variable(değişken) bloğuna aşağıdaki örnek kodda görüldüğü gibi TListBox sınıfından ListBox adından bir kalıtım alacağız.

Kod:
var
  Form1: TForm1;
  //TlistBox sınıfından ListBox adında bir kalıtım(inheritance) alınmıştır.
  ListBox: TListBox;

En son olarakda Formun Oluşma Olayı olan OnCreate olayına isterseniz form üzerinden çift tıklayarak isterseniz formun boş bir alanına tıkladıktan sonra Object Inspector Kısmından Oncreate Adlı satırın sağındaki kısım eğer boşsa daha önce form create olayına herhangi bir olay bağlanılmamış demektir eğer yeni bir OnCreate olayı oluşturmak isterseniz çift tıklamanız yeterlidir böylece OnCreate Procedure’ne yönlendirileceksiniz.

Oncreate Olayına eklemeniz gereken kod satırları şu şekildedir;

Kod:
procedure TForm1.FormCreate(Sender: TObject);
begin
  {TListBox Sınıfının Örneği Oluşturulmuştur Form1 yazan yere 
   Self'de yazabilirsiniz aynı işi yapmaktadır.}
  ListBox := TListBox.Create(Form1);
  {ListBox nesnesinin hangi nesnenin alt 
   üyesi olacağını belirtiyoruz buraya panel, groupbox gibi nesnelerinde 
   alt üyesi olması için gerekli nesnenin adını Form1 kısmına yazabiliriz.}
  ListBox.Parent := Form1;
  //Oluşan nesnenin üstten alacağı boşluk.
  ListBox.Top := 15;
  //Oluşan nesnenin soldan alacağı boşluk.
  ListBox.Left := 10;
  //ListBox nesnesine Asp adında yeni bir eleman ekliyoruz.
  ListBox.Items.Add('Asp');
end;

Kullanmış olduğumuz kodların tam halide şu şekildedir;

Kod:
uses
  Vcl.Forms, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
 
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  //TlistBox sınıfından ListBox adında bir kalıtım(inheritance) alınmıştır.
  ListBox: TListBox;
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  {TListBox Sınıfının Örneği Oluşturulmuştur Form1 yazan yere 
   Self'de yazabilirsiniz aynı işi yapmaktadır.}
  ListBox := TListBox.Create(Form1);
  {ListBox nesnesinin hangi nesnenin alt 
   üyesi olacağını belirtiyoruz buraya panel, groupbox gibi nesnelerinde 
   alt üyesi olması için gerekli nesnenin adını Form1 kısmına yazabiliriz.}
  ListBox.Parent := Form1;
  //Oluşan nesnenin üstten alacağı boşluk.
  ListBox.Top := 15;
  //Oluşan nesnenin soldan alacağı boşluk.
  ListBox.Left := 10;
  //ListBox nesnesine Asp adında yeni bir eleman ekliyoruz.
  ListBox.Items.Add('Asp');
end;
 
end.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.