ho preso l'idea di cui sopra e implementato in un tokenreader utilizzato per l'importazione di dati. Ogni token è una stringa, che viene quindi convertita nel tipo appropriato. Il codice necessario per la conversione in intero e la stringa si trova nella parte inferiore del post.
da leggere e convertire un gettone è necessaria solo il seguente codice:
Myvalue := DataImporter.ImportToken;
A seconda del tipo di MyValue, la corretta conversione implicita viene attivato.
Il codice:
TTokenValue = record
public
FValue:string;
constructor Create(const AValue:string);
class operator Implicit(const AFoo:TTokenValue): integer;
class operator Implicit(const AFoo:TTokenValue): string;
end;
Attuazione
function TDataImporter.ImportToken: TTokenValue;
begin
result := TTokenValue.Create(GetCurrentToken());
end;
constructor TTokenValue.Create(const AValue: string);
begin
FValue := AValue;
end;
class operator TTokenValue.Implicit(const AFoo: TTokenValue): integer;
begin
result := strtointdef(AFoo.FValue, 0);
end;
class operator TTokenValue.Implicit(const AFoo: TTokenValue): string;
begin
result:=AFoo.FValue;
end;
Ah bene, non proprio la risposta che speravo, ma interessante comunque. Saluti. – HMcG