Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Funktion mit mehreren Results
Jakyll - Fr 01.08.03 04:44
Titel: Funktion mit mehreren Results
Wie kann ich aus einer Funktion mehrere Results bekommen..
Also
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function xyz():Integer; begin Result:=x; Result:=y; end; |
quasi so...! Aber so bekommt man ja nur Result=y raus.
hat da vielleicht jemand ne Idee?
Moderiert von
Klabautermann: Delphi-Tags hinzugefügt.
hansa - Fr 01.08.03 07:18
Du mußt VAR Parameter benutzen, wie bei einer Prozedur, oder besser gleich eine Prozedur.
derDoc - Fr 01.08.03 08:11
In deinem Fall wäre eine Lösung mit Var Parametern z.B.
Delphi-Quelltext
1:
| function Rechnen(var x: Integer; var y: Integer; Zahl1, Zahl2: Integer): Integer; |
Aufrufen kannst du das dann so:
Delphi-Quelltext
1: 2: 3: 4:
| var x, y: Integer; begin Rechnen(x, y, 20, 25); |
Keldorn - Fr 01.08.03 08:17
alternativ ein Record für die Rückgabe verwenden
Delphi-Quelltext
1: 2: 3: 4: 5:
| function Rechnen(Zahl1, Zahl2: Integer):Tpoint; begin result.x := zahl1+10; result.y := zahl2+10; end; |
hängt halt davon ab, wie du dein Code beim Funktionsaufruf aussehen soll.
Mfg Frank
hansa - Fr 01.08.03 09:58
Herr Doktor, so aber nicht. :lol:
| derDoc hat folgendes geschrieben: |
Aufrufen kannst du das dann so:
Delphi-Quelltext 1: 2: 3: 4:
| var x, y: Integer; begin Rechnen(x, y, 20, 25); | |
Der Funktion muß er trotzdem noch einen Wert zuweisen.
Delphi-Quelltext
1: 2: 3:
| var z : integer;
z := Rechnen(x, y, 20, 25); |
Wie gesagt, bei mehr als einem Rückgabewert nimmt man besser gleich eine Prozedur, sonst kommt man leicht durcheinander. 8)
MSCH - Fr 01.08.03 10:02
oder offene Arrays oder erstellt eine Klasse die das macht (Kapselung) und greift auf Eigenschaften (properties) zurück.
grez
msch
derDoc - Fr 01.08.03 10:17
Also ich sehe keinen Bedarf einem Wert die Funtion zuzuweisen. Du rufst sie auf und sie schreibt dir ein paar Sachen in deine Variablen.
Du musst zwar einen Rückgabewerttyp festlegen, ihn aber nicht benutzen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!