Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Kill the Global Variable
Smartie - Mo 04.07.05 08:59
Titel: Kill the Global Variable
Hallo,
ok, inzwischen beider Kosmetik angelangt, sollte mein Teilprojekt bissel schönes aussehen, bevor es ins große Projket eingebunden wird.
Mein Hauptproblem: Ich habe hier HAUFENWEISE globaler Variablen.
Gut, jetzt mal ganz doof, wenn ich Rückgabewerte ausgeben möchte, sollte ich ja aus einigen meiner Prozeduren Funktionen machen.
Nur, wie mache ich das, wenn ich merh als einen Rückgabewert habe? Wie übergebe ich das in eine Prozedur wenn ich das Ding ausführe, ohne auf globale Variablen zurückzugreifen?
Herzlichsten Dank und Gruß
Smartie
uall@ogc - Mo 04.07.05 09:04
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure blub(var a,b,c: integer); begin a := a*2; b := b*b; c := c/2; end;
procedure main; var a,b,c: integer; begin a := 1; b := 2; c := 3; blub(a,b,c); end; |
Smartie - Mo 04.07.05 09:15
Alles klar, herzlichen Dank! Bisher habe ich imemr nur Variablen an eine Prozedur weitergegeben, noch nie umgekehrt, nur bei Funktionen.
Dabei ist es so simpel *An Hirn fass*
Gruß und Danke
Smartie
BenBE - Mo 04.07.05 12:41
Ergänzung:
Es gibt noch zwei weitere Möglichkeiten:
Delphi-Quelltext
1:
| Procedure blub(ain, bin, cin: Integer; out aout, bout, cout: Integer); |
Wobei aout, bout und cout vom Compiler am Anfang der Routine als undefiniert betrachtet werden.
Oder per Record:
Delphi-Quelltext
1: 2: 3: 4: 5:
| type TResult = record A, B, C: Integer; end;
function blubb(InParams:ParamList): TResult; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!