Zitat von
Hansa:
Alzaimer ... das hat er wohl noch nicht gelesen. Da wird er wohl demnächst einen Kommentar dazu abgeben. 8)
Woher weiss er das?
Hier soll offensichtlich ein String umgewandelt werden, entweder in eine Zahl, Datum, etc. Da würde ich eine Funktion definieren, zumal einem diese Problemstellung doch häufiger unterkommt. Die Funktion könnte so aussehen:
Delphi-Quellcode:
Function ConvertString(Const s: String): Variant;
Var
i: Integer;
r: Double;
d: TDateTime;
b: Boolean;
Begin
If TryStrToInt(s, i) Then Begin
Result := i;
Exit
End;
If TryStrToFloat(s, r) Then Begin
Result := r;
Exit
End;
If TryStrToDateTime(s, d) Then Begin
Result := d;
Exit
End;
If TryStrToBool(s, b) Then Begin
Result := b;
Exit
End;
Result := s;
End;
Und dann der eigentliche Aufgruf...
MyValue := ConvertStringToAny (LEValue.Text);
Somit wird auch die ursprüngliche Frage eigentlich überflüssig: Der Zugriff auf die Property ist auf das notwendige Minimum reduziert, die 'Forderung' nach Übersichtlichkeit wurde erfüllt. Alle sind zufrieden.
Ach, eins noch: Ich kenn den Spaghetticode aus Basic-Zeiten. Bei einer visuellen Codeanalyse mit entsprechender Software wurden die Goto's durch Linien im Code veranschaulicht. Bei schlechter Strukturierung sah das Ganze dann eben aus wie eine Portion Spaghetti. Ohne Soße.