Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Class oluşturmam şart mı ?
#1
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.
Cevapla
#2
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.
Cevapla
#3
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ı

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
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#4
(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ı

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
Cevapla
#5
Thumbs Up 
(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ı

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
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Class ile ilgili sorun. seci20 4 1.332 22-06-2020, Saat: 21:34
Son Yorum: seci20
  Class Event CesuR 4 2.188 19-03-2019, Saat: 12:08
Son Yorum: ismailkocacan
  Veritabanı tablosundan class oluşturma Abdullah ILGAZ 3 2.425 05-11-2018, Saat: 12:30
Son Yorum: Bay_Y
  Aynı türden iki class'ı nasıl klonlarız? uparlayan 20 7.603 15-09-2018, Saat: 10:41
Son Yorum: ismailkocacan
  Class kullanımı hakkında esistem 11 5.523 21-02-2017, Saat: 09:50
Son Yorum: kimimben



Konuyu Okuyanlar: 1 Ziyaretçi