
Zitat von
be-2801:
Operator ist auf diesen Operatortyp nicht anwendbar.
Funktioniert genauso wenig

Naja, hättest du dir den Code mal kurz angeschaut, anstatt einfach nur die Fehlermeldung zu kopieren, hättest du das Problem aller Wahrscheinlichkeit sehr schnell gelöst gehabt

Problem ist die eine oder andere fehlende Klammer

Zitat von
be-2801:
Hab die 2 Varianten und noch mehr schon ausprobiert und keine funktioniert
Naja, man sollte eben auch mehr machen als nur Copy&Paste
Ne angepasste Variante:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',DecimalSeparator,#8]) or
((key = DecimalSeparator) and (pos(key, Edit1.Text) > 0) and (Pos(DecimalSeparator,Edit1.SelText) = 0)) then
key := #0;
if (key = DecimalSeparator) and ((length(Edit1.Text) = 0) or (Edit1.SelStart = 0)) then
Begin
Edit1.Text := '0' + Copy(Edit1.Text,Edit1.SelStart+Edit1.SelLength+1,Length(Edit1.Text));
Edit1.SelStart := 1;
end;
end;
Und die funktioniert

Eben getestet, also erzähl mir nix
//Edit: Jetzt auch mit DecimalSeparator aus der SysUtils

//Edit2: Nochmal etwas verbessert. Sieht jetzt grauenhaft aus, aber das Verschönern überlass ich dir

Mir gings eben um das Funktionieren

//Edit3-5: Ich weiß nich, ob ich heute noch alle kleinen Fehlerchen da raus krieg