Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Function rückgabe


FlameDiver - So 31.10.04 13:09
Titel: Function rückgabe
wenn ich eine funktion habe wie legel ich dann fast was zurück gegeben wird aus der function
in php und c++ weiß ich das es return is aber in delphi is es was anderes


Delphi-Quelltext
1:
2:
3:
4:
function name(var1:intager; var2:sting):sting;
begin

end;


und daraus will ich das ein string wie oeben auch steht zurück gegebn wird.....
aber wie is der befehl

achja und sorry fals es im falschen forum is ich wuste ned wohin ich das schreiben sollte

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
Moderiert von user profile iconChristian S.: Topic aus Sonstiges verschoben am So 31.10.2004 um 12:10


tommie-lie - So 31.10.04 13:15


Delphi-Quelltext
1:
2:
3:
4:
function name(var1:intager; var2:sting):sting;
begin
  Result := 'blubb';
end;


FlameDiver - So 31.10.04 13:26

danke


Luzzifus - So 31.10.04 13:30

Man kann auch statt 'Result' den Funktionsnamen verwenden:


Delphi-Quelltext
1:
2:
3:
4:
function bla(var1: integer; var2: string):string;  
begin  
  bla := 'blubb';  
end;

Nur der Vollständigkeit halber.. :wink:


FlameDiver - So 31.10.04 15:41

auch dir danke :D
der vollständigkeit halber :D


fritierte - So 31.10.04 21:03

da der thread grad so schön passt, ist das mit result und *funktionsname* nur der kompatibilität mit alten programmen wegen drin, oder is das fester bestandteil von object pascal?


jasocul - So 31.10.04 21:36

Früher gab es result nicht. Da wurde immer der Funktionsname verwendet. Irgendwann haben die bei Borland wohl gemerkt, dass man oft das Ergebnis schon "in der Mitte" der Funktion kannte. Statt sich dafür dann eine Variable in der Funktion zu definieren, die man immer wieder aktualisiert um dann am Ende das Ergebnis an den Funktionsnamen zu übergeben, hat man Result eingeführt.
Ein anderer Vorteil ist, dass man mit Result weiter arbeiten kann. Wenn man das mit dem Funktionsnamen macht, ist das wie ein rekursiver Aufruf.
Die Einführung von Result hat also mehrere Vorteile. Ob es noch weitere gibt, weiß ich nicht.
Nachteile kann ich jedenfalls nicht erkennen.
Um auf die Frage von fritierte zu kommen: Es ist einfach nur weiterhin möglich das so zu nutzen. Kompatibilität spielt da sicher auch ein Rolle.