Ein letztes mal noch
die Lösung für welche, die das mal interessiert:
Und du brauchst die Komma-Abfrage noch mindestens ein drittest Mal.
- entweder du verbietest Funktionen ala Strg+V (Einfügen)
- oder du mußt auch beim Einfügen (egal auf welchem Wege) ungültige Dinge rauslöschen
- und/oder überall, wo danach nochmal gerechnet wird, muß ebenfalls nochmals auf ungültige Zeichen geprüft werden
Am Ende habe ich doch den Vorschlag von himitsu genommen (danke nochmal)...
so siehts nun aus und funktioniert einwandfrei:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
if not (Edit1.Text= '') then begin
if not (pos(',', Edit1.Text)<> 0) then
Edit1.Text:= Edit1.Text+ ',';
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Edit1.Text = '') and (Key in [',']) then
Key := #0;
if not (Key in ['0'..'9',',', #8]) then
Key := #0;
if (key = ',') and (pos(',',(sender as TEdit).text) >0)then
key := #0;
end;
end.
Geschlossen!