Hallo bin blutiger Anfänger aber das mit den Kommas hat mich echt tierisch genervt. Wollte einfach das ich noch angeben kann wieviel Stellen ich noch nach dem Komma eingeben kann. Naja bin dann nach langem rumprobieren auf das hier gekommen:
Geht sicher auch noch einfacher aber wie gesagt blutiger Anfänger.
Delphi-Quellcode:
procedure TForm1.InnendurchmesserKeyPress(Sender: TObject; var Key: Char);
var
Komma: Boolean;
Position: Integer;
Stellenpuffer: String;
Zeichenpuffer: String;
Stellenanzahl: Integer;
begin
Komma := False;
Zeichenpuffer := Innendurchmesser.Text;
if Pos('.', Zeichenpuffer) > 0 then Komma := True;
if (Komma = True) and (Key = #44) then Key := #0;
if (Komma = True) and (Key = #46) then Key := #0;
if (Komma = False) and (Key = #44) then Key := '.';
if Pos('.', Zeichenpuffer) > 0 then
begin
Stellenanzahl := Length(Zeichenpuffer);
Position := Pos('.', Zeichenpuffer);
Stellenpuffer := Copy(Zeichenpuffer, Position+1, Stellenanzahl-Position);
Stellenanzahl := Length(Stellenpuffer);
if Stellenanzahl = 3 then
begin
if (Key in [#44, #46, #48..#57]) then Key := #0
end;
end;
if Key = #13 then Key := #0;
if not (Key in [#8, #44, #46, #48..#57]) then Key := #0;
end;
Jetzt muß ich mir nurn noch was basteln wo wenn ich das Edit Feld verlasse die Stellen hinter dem Komma mit Nullen aufgefüllt werden.
Also aus z.B. 3 wird 3.000 oder aus 12.37 wird 12.370
Ich finde das Forum hier echt super muß ich noch sagen. Respekt gibt keine übersichtlicheres als das hier. Man sieht das ihr Euch echt viel Arbeit damit macht und ich hoffe Ihr macht weiter so. Damit ich noch viel lernen kann
Gruß Markus