Delphi Can

Orjinalini görmek için tıklayınız: Class oluşturmam şart mı ?
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba ustalarım. C++ kod çevirirken gözüme çarpan bir kod oldu. Bu kod class içinde değilde direk global olarak yazılmış. Bazı kodları direk çağırmak gerekiyor. Create etmek vb. kafa karışıklığına sebep olabiliyor. Delphide class oluşturmadan direk unit içine yazsak bana ne zararı olur ?

Şu şekilde.

unit Global;

interface


function Topla(Sayi1,Sayi2 : Integer): Integer;

implementation




function Topla(Sayi1,Sayi2 : Integer): Integer;
begin
Result:= Sayi1+Sayi2;

end;

end.
Ben hep kullanıyorum bir sorun yaşamadım. Ayrıca yukarıdaki gibi

interface ile implementation arasında funtion Topla(.. tanımlamasına gerek yok.

Eğer Topla fonsiyonu içinde bir koponent çağıracaksanız başına "Form1.CommPortDriver1.Connect" diyerek yazmanız gerekiyor.
Bir adım daha ileri gideyim. {$INCLUDE dosya} da kullanabilirsiniz.

örneğin :

eklenti.pas dosyası içeriği herhangi bir ön atama vs. olmayan çıplak bir TEXT/Metin dosyası

Kod:
function Topla(Sayi1,Sayi2 : Integer): Integer;
begin
 Result:= Sayi1+Sayi2;
end;



var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutdown := True;
end;

{$include eklenti}

procedure TForm1.Button1Click(Sender: TObject);
var
  a,b : Integer;
begin
  a := 5;
  b := 3;
  ShowmessageFmt( '%d + %d = %d', [ a, b, Topla(a,b) ]);
end;



htbvybkmufl5vzoz39lo.gif
(08-01-2021, Saat: 21:51)enigma Adlı Kullanıcıdan Alıntı: [ -> ]Ben hep kullanıyorum bir sorun yaşamadım. Ayrıca yukarıdaki gibi

interface ile implementation arasında funtion Topla(..  tanımlamasına gerek yok.

Eğer Topla fonsiyonu içinde bir koponent çağıracaksanız başına "Form1.CommPortDriver1.Connect"  diyerek yazmanız gerekiyor.

Örnek olarak öyle yazmıştım. Teşekkür ederim cevabınız için.

(08-01-2021, Saat: 23:05)mrmarman Adlı Kullanıcıdan Alıntı: [ -> ]Bir adım daha ileri gideyim. {$INCLUDE dosya} da kullanabilirsiniz.

örneğin :

eklenti.pas dosyası içeriği herhangi bir ön atama vs. olmayan çıplak bir TEXT/Metin dosyası

Kod:
function Topla(Sayi1,Sayi2 : Integer): Integer;
begin
 Result:= Sayi1+Sayi2;
end;



var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutdown := True;
end;

{$include eklenti}

procedure TForm1.Button1Click(Sender: TObject);
var
  a,b : Integer;
begin
  a := 5;
  b := 3;
  ShowmessageFmt( '%d + %d = %d', [ a, b, Topla(a,b) ]);
end;



htbvybkmufl5vzoz39lo.gif

Hocam sizden hergün yeni bişe öğreniyorum cevaplarınız için çok teşekkür ederim Smile
(08-01-2021, Saat: 23:05)mrmarman Adlı Kullanıcıdan Alıntı: [ -> ]Bir adım daha ileri gideyim. {$INCLUDE dosya} da kullanabilirsiniz.

örneğin :

eklenti.pas dosyası içeriği herhangi bir ön atama vs. olmayan çıplak bir TEXT/Metin dosyası

Kod:
function Topla(Sayi1,Sayi2 : Integer): Integer;
begin
 Result:= Sayi1+Sayi2;
end;



var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutdown := True;
end;

{$include eklenti}

procedure TForm1.Button1Click(Sender: TObject);
var
  a,b : Integer;
begin
  a := 5;
  b := 3;
  ShowmessageFmt( '%d + %d = %d', [ a, b, Topla(a,b) ]);
end;



htbvybkmufl5vzoz39lo.gif
Valla hocam sayenizde yeni birseyler ögrenıyoruz.. Shy