AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie war das nochmal mit dem Funktionsaufruf

Ein Thema von Osse · begonnen am 17. Mai 2005 · letzter Beitrag vom 19. Mai 2005
Antwort Antwort
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#1

Wie war das nochmal mit dem Funktionsaufruf

  Alt 17. Mai 2005, 05:37
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 !!


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

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie war das nochmal mit dem Funktionsaufruf

  Alt 17. Mai 2005, 05:41
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Wie war das nochmal mit dem Funktionsaufruf

  Alt 19. Mai 2005, 19:25
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.
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie war das nochmal mit dem Funktionsaufruf

  Alt 19. Mai 2005, 19:30
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 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