Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Function mit mehreren Rückgabewerten

  Alt 22. Jan 2011, 14:46
Um aber auch was konstruktives einzuwerfen hätte ich noch folgendes:

Delphi-Quellcode:
type
  TMoreResults = record
    a,b : integer;
    function Show : string;
  end;

function TMoreResults.Show : string;
begin
  Result := Format( 'Das Ergebnis ist %d und %d', [ a, b ] );
end;

function MoreResults( ParameterA, ParameterB : integer ) : TMoreResults;
  begin
    Result.a := ParameterA;
    Result.b := ParameterB;
  end;

procedure TForm1.Button1Click( Sender : TObject );
  begin
    ShowMessage( MoreResults( 1, 2 ).Show );
  end;
es geht sogar noch schöner
Delphi-Quellcode:
type
  TMoreResults = record
    a,b : integer;
    class operator implicit( const mr : TMoreResults ) : string;
  end;

class operator TMoreResults.implicit( const mr : TMoreResults ) : string;
begin
  Result := Format( 'Das Ergebnis ist %d und %d', [ mr.a, mr.b ] );
end;

function MoreResults( ParameterA, ParameterB : integer ) : TMoreResults;
  begin
    Result.a := ParameterA;
    Result.b := ParameterB;
  end;

procedure TForm1.Button1Click( Sender : TObject );
  begin
    ShowMessage( MoreResults( 1, 2 ) );
  end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (22. Jan 2011 um 14:57 Uhr)
  Mit Zitat antworten Zitat