So das mit dem auf füllen hab ich nun auch hingebastelt bekommen.
Einfach kann jeder! Ich mach es gern kompliziert
Wollte das wenn eine nur komma und dann ne zahl tippt vor dem komma dann ne null ist. und wenn einer nur ne zahl tippt ohne komma das dann automatisch das komma plus drei nullen hingeschrieben werden. hab das mit dem onexit gemacht.
Delphi-Quellcode:
procedure TForm1.InnendurchmesserExit(Sender: TObject);
var
Zeichenpuffer, Zeichenpuffer2: String;
Stellenanzahl: Integer;
Position: Integer;
Nachkommastellen: String;
begin
Zeichenpuffer := Innendurchmesser.Text;
if Pos('.', Zeichenpuffer) > 0 then
begin
Stellenanzahl := Length(Zeichenpuffer);
Position := Pos('.', Zeichenpuffer);
Nachkommastellen := Copy(Zeichenpuffer, Position+1, Stellenanzahl-Position);
Zeichenpuffer2 := Copy(Zeichenpuffer, 0, Position);
Stellenanzahl := Length(Nachkommastellen);
while Stellenanzahl < 3 do
begin
Nachkommastellen := Nachkommastellen + '0';
Stellenanzahl := Length(Nachkommastellen);
end;
Innendurchmesser.Text := Zeichenpuffer2 + Nachkommastellen
end;
if Pos('.', Zeichenpuffer) = 1 then
Innendurchmesser.Text := '0.' + Nachkommastellen;
if Pos('.', Zeichenpuffer) = 0 then
Innendurchmesser.Text := Zeichenpuffer + '.000'
end;
Jetzt such ich nur noch was wenn ich wieder in das Tedit zurück gehe mit der maus oder mit tab und ich mit dem cursor vor das komma gehe das ich dann noch ne zahl eingeben kann bzw eine löschen oder so. geht ja im moment nicht weil ja drei zahlen nach dem komma da stehen. *grummel* irgendwie muß ich doch die cursor position in dem edit feld abfragen können und dann entscheiden ob ich davor bin und ne zahl eingeben darf oder löschen oder ob ich danach bin und nich darf.
naja ich such mal hier im forum bisschen rum. vielleicht find ich ja was.
Markus.
[EDIT=Luckie]Das Forum kennt auch Code-Tags, sogar speziell für Delphi. Die muß man nur nutzen, von alleine geht das nicht.[/EDIT]