Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Funktionen aus Crystal Reports im Report Builder anwenden

  Alt 11. Apr 2011, 15:59
Hi,

so sollte es gehen:
Delphi-Quellcode:
Uses
  SysUtils, raFunc, ppRTTI, Math;

type
  TmyRoundToFunction = class(TraSystemFunction)
  public
    class function Category: string; override;
    procedure ExecuteFunction(AParams: TraParamList); override;
    class function GetSignature: string; override;
  end;

implementation

class function TmyRoundToFunction.Category: string;
begin
  Result := 'Crystal Reports';
end;

procedure TmyRoundToFunction.ExecuteFunction(AParams: TraParamList);
var
  AValue: Extended;
  AResult: Extended;
  ATempDigit: Integer;
  ADigit: TRoundToEXRangeExtended; // [-20 .. 20]
begin
  GetParamValue(0, AValue);
  GetParamValue(1, ATempDigit);
  try
    ADigit := ATempDigit; // prüfen auf TRoundToEXRangeExtended
    AResult := RoundTo(AValue, ADigit);
    SetParamValue(2, AResult);
  except
    raise Exception.Create('ADigit ist kein TRoundToEXRangeExtended');
  end;
end;

class function TmyRoundToFunction.GetSignature: string;
begin
  Result := 'function RoundTo(const AValue: Extended; const ADigit: Integer): Extended';
end;

initialization
  raRegisterFunction('RoundTo', TmyRoundToFunction);

finalization
  raUnRegisterFunction('RoundTo');

end.
Frank
Frank Reim

Geändert von dataspider (11. Apr 2011 um 16:10 Uhr)
  Mit Zitat antworten Zitat