AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Key-Code Ziffer Null

Ein Thema von TomyN · begonnen am 27. Jan 2021 · letzter Beitrag vom 28. Jan 2021
Antwort Antwort
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Key-Code Ziffer Null

  Alt 28. Jan 2021, 14:32
Da wäre ggf. die Auswertung deines "AddChar" interessant, wenn die "0" dort richtig ankommt, muss der Fehler ja da drinnen passieren.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
270 Beiträge
 
Delphi 10.3 Rio
 
#2

Problem gefunden - Frage zu RegEx

  Alt 28. Jan 2021, 17:28
Ja.... wenn man sich auf den Kunden verlässt. Das Problem lag nicht an der Null sondern dran, dass keine zweite Ziffer möglich war. Er hat nur immer versucht eine Null einzugeben.

Ansonsten bleibt mir das ganze immer noch etwas rätselhaft. Ich bin mit Regulären Ausdrücken nicht so vertraut und wollte es mal versuchen. Der Zweck war, zu erkennen wenn ein zweites Mal ein Dezimaltrenner eingegeben wird und das zu verhindern.

Code:
 i:= TRegEx.Matches(myValueString, formatSettings.DecimalSeparator).Count;
 if (i > 1) then begin
   //Wir haben zwei DS...
   SetLength(myValueString, Pred(Length(myValueString)));
 end;
Allderdings war i beim Kunden immer zwei, wenn der String 2 Zeichen lang wurde, so dass er immer gekürzt wurde. Bei mir gab es keinerlei Probleme.

Tomy
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de

Geändert von TomyN (28. Jan 2021 um 17:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Key-Code Ziffer Null

  Alt 28. Jan 2021, 18: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, '.', ''));
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
270 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Key-Code Ziffer Null

  Alt 28. Jan 2021, 18:48
Hallo,

Welches Edit siehst Du denn? Ich fange die Tastendrücke ab und bastel mir den String indem ich das zuletzt eingegebene Zeichen hinten anhänge. Reinkommen da nur die Zahlen sowie der Decimalseparator.

Tomy
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz