Thema: Delphi Key-Code Ziffer Null

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#6

AW: Key-Code Ziffer Null

  Alt 28. Jan 2021, 19:44
Kann man den Punkt nur am Ende eingeben?

Also Grundsätzlich ist es einfacher "Ungültiges" garnicht erst ins Edit reinkommen zu lassen.
-> Wenn Key='.' und ein Punkt bereits vorhanden, dann Key:=0; (eventuell das Ganze bereits im OnKeyDown, anstatt im OnKeyPress)



PS: Sobald das Edit nicht ReadOnly/Disabled ist und die Eingaben ausschließlich durch deinen Code in der Anzeige landen:

Im Notpade den Text "....." mit Strg+C abholen
und dann via Strg+V, Shift+Einfg, Kontextmenü oder sonstwie in dein Edit rein.

Schon hast du viele Punkte und dein "bei . prüfen ob schon vorhanden" hat nix mitbekommen.
Im OnChange könnte man sowas zusätzlich/sichrer prüfen und dann das "Böse" rauslöschen.
Alternativ im OnChange nur Prüfen und das Edit nur "rot" malen, und eine Fehlermeldung/Exception erst bei anschließender Verarbeitung, um den Eingabefluss nicht zu stören.



Ach ja, statt RegEx hier eher ein Delphi-Referenz durchsuchenTStringHelper.CountChar
oder die "billige" alte Variante ala Anzahl := Length(myValueString) - Length(ReplaceStr(myValueString, '.', ''));
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat