Registriert seit: 2. Apr 2004
Ort: Bonn
2.530 Beiträge
Delphi 11 Alexandria
|
AW: array als var-Parameter
30. Jun 2015, 22:52
Danke für die Antworten. Ich habe es mir schon gedacht.
Habe nur gehofft, daß es etwas gibt, was ich noch nicht weis. Schade.
Dann halt wieder:
Delphi-Quellcode:
lMenge1 = 0;
lMenge2 = 0;
lMenge3 = 0;
lMenge4 = 0;
Statt
SetToZero([lMenge1,lMenge2,lMenge3,lMenge4]);
Falls es Dir wirklich nur darum geht, immer nur 2-4 Variablen mit einem Funktionsaufruf zu setzen, könntest Du statt einem Array eine Procedure mit Overload verwenden:
Delphi-Quellcode:
procedure ToZ (var i1, i2:Integer); overload;
procedure ToZ (var i1, i2, i3: Integer); overload;
procedure ToZ (var i1, i2, i3, i4: Integer); overload;
implementation
procedure ToZ (var i1, i2:Integer); overload;
begin
i1 := 0; i2 := 0;
end;
procedure ToZ (var i1, i2, i3: Integer); overload;
begin
i1 := 0; i2 := 0; i3 := 0;
end;
procedure ToZ (var i1, i2, i3, i4: Integer); overload;
begin
i1 := 0; i2 := 0; i3 := 0; i4:= 0;
end;
// ... Programmablauf
var
itest1, itest2, itest3, itest4: Integer;
begin
iTest1 := 10;
iTest2 := 20;
iTest3 := 30;
iTest4 := 40;
ToZ (iTest1,iTest2); // gültiger Aufruf mit 2 Parametern
ToZ (iTest1,iTest2,iTest3,iTest4); // gültiger Aufruf mit 4 Parametern
Vorteil wäre auch, dass Du Dir die eckigen Klammern beim Aufruf der Procedure sparen kannst.
Geändert von Harry Stahl (30. Jun 2015 um 23:12 Uhr)
|
|
Zitat
|