Biarchiv hat folgendes geschrieben: |
...Nur ein kleinen Fehler hat er noch.
Er soll fals TEdit leer ist einfach 0,00 reinschreiben da es sonst
zu einen flaschen Gleitkommawert kommt. |
als Fehler würde ich das nicht bezeichnen.
Mit 0,00 hättest Du ja eventuell für weitere Berechnungen mit den so erzeugten Werten auch Probleme. Das musst Du ja dann auch in der Berechnungs- oder Auswertungsprozedur überprüfen.
Man kann den Code so umbauen, das 0,00 automatisch gesetzt wird.
Etwa so(und nochmal optimiert), Edit.Tag durchnummerieren!:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| sFloatArr : Array [0..9] of String; procedure TForm1.AllEditChange(Sender: TObject); var E: Extended; const _DEFAULT = '0,00'; begin with TEdit(Sender) do begin if (Text = '') then sFloatArr[Tag] := _DEFAULT else if (Text = '-') or (TextToFloat(PChar(Text), E, fvExtended)) then sFloatArr[Tag] := Trim(Text); Text := sFloatArr[Tag]; SelStart := Length(Text); end; end; |