Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Wie war das nochmal mit dem Funktionsaufruf (https://www.delphipraxis.net/46033-wie-war-das-nochmal-mit-dem-funktionsaufruf.html)

Osse 17. Mai 2005 04:37


Wie war das nochmal mit dem Funktionsaufruf
 
Moin,

hab da mal ne Frage zur Prameterübergabe.
Es gibt eine Klasse
Delphi-Quellcode:
TMSGList = Class
...
end;

TSuchMsgList = CLASS(TMsgList)
procedure blabla(zahl1 : Integer, zahl2 : Integer , zahl3 : Integer);
Irgendwie war es doch möglich den Funktionsaufruf blabla in diesem Bsp. bei SendButtonClick nur mit 2 Übergabeparametern zu starten. So dass die Zahl3 gar nicht mit übergeben wird. Habs letztens im Buch gelsen, weiß aba net mehr wo :wall: !!


Delphi-Quellcode:
procedure TForm1.SendButtonClick(Sender: TObject);
var
  zahl1,zahl2 : Integer;
begin
  zahl1 := 3;
  zahl2 := 4;
  blabla(zahl1,zahl2);
end;
Danke

Luckie 17. Mai 2005 04:41

Re: Wie war das nochmal mit dem Funktionsaufruf
 
Delphi-Quellcode:
procedure blabla(zahl1 : Integer, zahl2 : Integer , zahl3 : Integer = 3);
Wenn du für den Parameter einen Wert vorgibst, ist die Übergabe optional. Es wird dann der vorgegebene Wert genommen. Desweiteren müssen diese Art von Parametern immer als letzte angegeben werden in der Parameterliste.

Alternativ kannst du die Prozedur auch als overload deklarieren und dann eine gleichnamige Prozedur mit unterschiedlicher Parameterliste einführen:

Delphi-Quellcode:
  TMyClass = class(TObject)
  public
    procedure Foo(i: Integer; j: Integer; k: Integer); overload;
    procedure Foo(i: Integer; j: Integer); overload;
  end;

// [..]

procedure TMyClass.Foo(i: Integer; j: Integer; k: Integer);
begin

end;

procedure TMyClass.Foo(i: Integer; j: Integer);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
var
  MyClass: TMyClass;
begin
  MyClass := TMyClass.Create;
  try
    MyClass.Foo(8, 5);
    MyClass.Foo(1, 6, 9);
  finally
    FreeAndNil(MyClass);
  end;
end;
Zitat:

Habs letztens im Buch gelsen, weiß aba net mehr wo
Wie wäre es mal damit im Inhaltsverzeichnis nachzuschlagen? Irgendwie komme ich mir etwas veralbert vor. :roll:

Osse 19. Mai 2005 18:25

Re: Wie war das nochmal mit dem Funktionsaufruf
 
Hey Luckie,

du hast mir vorgestern schnell geantwortet, wofür ich dir sehr dankbar bin, denn das hat mir echt geholfen.
Zitat:

Zitat:

Habs letztens im Buch gelsen, weiß aba net mehr wo
Wie wäre es mal damit im Inhaltsverzeichnis nachzuschlagen? Irgendwie komme ich mir etwas veralbert vor. :roll:
Ich will wirklich niemanden im Forum veralbern, aber ich schreibe gerade Dipl. Arbeit mit Delphi und hab ca. 8 Bücher rumliegen, in denen ich immer querlese. Manchmal stoße ich dann auf hilfreiche Sachen, die erst später im Projekt kommen. Dummerweise kann sie mir aber nicht merken.

Da ich noch nicht so richtig den Plan habe, hab ich mal schnell im Forum gepostet.

Wollte mich hier für meine unwissenheit entschuldigen, und dir nochmal für die schnelle Antwort danken, auf gar keinen Fall möchte ich hier irgendjemanden veralbern.

Danke und einen schönen abend noch

Gruß Oliver

Luckie 19. Mai 2005 18:30

Re: Wie war das nochmal mit dem Funktionsaufruf
 
Du musst dich nicht für deine Unwissenheit entschuldigen. Zum Fragen stellen ist das Forum ja da. Nur wenn du weißt, dass du es in einem Buch stehen hast, warum schlägst du es nicht nach? Die Seiten können ja nicht einfach weg sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz