Einzelnen Beitrag anzeigen

Tenobaal

Registriert seit: 9. Mai 2013
21 Beiträge
 
Delphi XE5 Professional
 
#1

Funktion soll als Parameter verschiedene Datentypen akzeptieren

  Alt 9. Mai 2013, 19:23
Delphi-Version: 5
Hallo,
ich möchte eine Funktion schreiben, die als Parameter "Value" verschiedene Datentypen (Integer, String, Single, Double) akzeptiert.
Die Funktion soll abhängig vom Datentypen von "Value" unterschiedliche Operationen ausführen.
Ich habe schon versucht "Value" als Pointer usw. zu deklarieren, aber der Kompiler ließ sich damit nicht austricksen.

Edit: Meine Delphi-Version ist Delphi 2007


Delphi-Quellcode:
function Speichern(s:String; var Value):Integer;
var
    ptrString:^String;
    ptrInteger:^Integer;
    ptrDouble:^Double;
    ptrSingle:^Single;
    error:Integer;
begin

 case VarType(Value) of //hier tritt ein Fehler auf

    VarInteger: Begin
      ptrInteger:=@Value;
      Val(s,ptrInteger^,error);
      ptrInteger:=nil;
      End;

    VarSingle: Begin
      ptrSingle:=@Value;
      Val(s,ptrSingle^,error);
      ptrSingle:=nil;
      End;

    VarDouble: Begin
      ptrDouble:=@Value;
      Val(s,ptrDouble^,error);
      ptrDouble:=nil;
      End;

    VarString: Begin
      ptrString:=@Value;
      s:=ptrString^;
      ptrString:=nil;
      error:=0;
      End;
    Else error:=1;
 end;
 result:=error;
End;

procedure TForm1.Button2Click(Sender: TObject);
var
  a:Double;
  Fehler:Integer;
begin
  Speichern(Edit1.Text,a,Fehler); //Hier ist a vom Datentyp Double. Prinzipiell sollen aber auch alle der oben erwähnten Datentypen funktionieren.
end;

Geändert von Tenobaal ( 9. Mai 2013 um 19:27 Uhr)
  Mit Zitat antworten Zitat