|
Autor
|
Thema: Rückgabe von meheren Werten!? (1996 mal gelesen)
|
Schreiber123 Mitglied
 Beiträge: 7 Registriert: 18.02.2012
|
erstellt am: 17. Mrz. 2012 17:01 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebes Forum, es geht darum, dass ich aus Methode A die Methode B mit m_B(para1,para2,para3,para4); aufrufe. Die übergebenen Paramter sind im Kopfteil der Methode m_B deklariert. Das funktioniert soweit auch ganz gut. Mein Problem ist das jetzt in der Methode B Berechnungen stattfinden und wiederum drei Paramter zurückgegeben werden sollen. mir gelingt es sowohl mit "return" als auch mit "result:= " nur einen Parameter zurückzugeben, wenn dieser im kopf mit z.B. :integer definiert ist Ziel--> return p1,p2,p3; -- gibt die drei berechneten parameter an die aufrufende methode A zurück kann man "byref" verwenden und wenn ja wie? wie und wo muss ich die paramter deklarieren, die zurückgegeben werden sollen. Ich hoffe auf Hilfe. Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Projektleiter TGA - Meister SHK / Bauleitung (m/w/d) | | Was entsteht, wenn Leidenschaft und Innovation zusammentreffen? Unsere Mission ist es, durchdachte, energetisch optimierte und nachhaltige Lösungen in der technischen Gebäudeausrüstung zu entwickeln. Wir sehen Technik und Design nicht als Gegensätze, sondern als Einheit, die wir zu einem harmonischen Gesamtbild verbinden. Dabei steht der Mensch stets im Mittelpunkt unseres Schaffens. Du bist gefragt, diese Vision mitzugestalten.... | | Anzeige ansehen | Feste Anstellung |
|
Bon Simul Mitglied Simulant
   
 Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 24. Mrz. 2012 08:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Schreiber123
Hallo, mit return kann wirklich nur ein Wert zurückgegeben werden. Für Ihr Problem gibt es zwei Lösungen: a) globale Variablen b) Übergabe der Ergebnisvariablen als Referenz (byref) Für den zweiten Fall müssten Sie in der Berechnungsmethode in Ihrem Fall 7 Übergabeparameter definieren (davon 3 als Ergebnisvariablen), ihre Berechnungen durchführen und zum Schluss den Ergebnisvariablen die Ergebnisse zuweisen.Die Berechnungsmethode verändert dann die Werte der Variablen in der aufrufenden Methode und Sie können nach der Methodenabarbeitung auf die geänderten Werte zugreifen. z.B. Berechnungsmethode
Code:
para1:integer;para2:integer;para3:integer;para4:integer; byref ergebnis1:integer;byref ergebnis2:integer; byref ergebnis3:integer) is do --Ihre Berechnungen, Ergebnisse werden in den ergebnisvariablen --gespeichert ergebnis1:=xxxx; ergebnis2:=xxxx; ergebnis3:=xxxx; end;
In der aufrufenden Methode (Methode m_a) müssen Sie die Ergebnisvariablen als lokale Variablen definieren und beim Aufruf der Methode m_b mit übergeben (7 Übergabeparameter) Code:
is ergebnis1:integer; ergebnis2:integer; ergebnis3:integer; --- ... do -- ... m_b(para1,para2,para3,para4,ergebnis1,ergebnis2,ergebnis3); -- weiter rechnen mit den ergebnisvariablen xyz:=xxx*ergebnis1; --usw. end;
Rest: Hilfe zu byref Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |