Autor Beitrag
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mo 26.06.06 14:30 
user profile iconBiarchiv 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!:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
  sFloatArr : Array [0..9of String;
//...
procedure TForm1.AllEditChange(Sender: TObject);
var E: Extended;
const _DEFAULT = '0,00';
//const _DEFAULT = '';//
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;

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )