Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
AW: Hilfe: Delphi Taschrechner
23. Nov 2013, 16:24
Die "Kommabafrage" brauchst Du ja 2 mal, da bietet sich eine eigene Funktion an. Auf die Schnelle (kann sicherlich noch verbessert werden):
Delphi-Quellcode:
function SeparatorAllowed(const s: string): Boolean;
begin
Result := (s <> '') and (Pos(DecimalSeparator, s) = 0);
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
valid: Boolean;
begin
valid := false;
case Key of
'0'..'9', #8:
valid := true;
else
if Key = DecimalSeparator then
valid := SeparatorAllowed((Sender as TEdit).Text);
end;
if not valid then
Key := #0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if SeparatorAllowed(Edit1.Text) then
Edit1.Text := Edit1.Text + DecimalSeparator;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|