Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TSpinEdit und Komma (https://www.delphipraxis.net/189864-tspinedit-und-komma.html)

hoika 1. Aug 2016 13:20

TSpinEdit und Komma
 
Hallo,
das normale TSpinEdit erlaubt auch die Eingabe eines Kommas.
Kann ich das ohne ein Event abzufangen verhindern?

Quick&Dirty sieht das bei mir Im Moment so aus:
(die 0 ist hier gerade auch nicht erlaubt)

Delphi-Quellcode:
procedure SpinEdit_PruefeZeichen(var Key: Char);
begin
  if (Key<>'1') and
     (Key<>'2') and
     (Key<>'3') and
     (Key<>'4') and
     (Key<>'5') and
     (Key<>'6') and
     (Key<>'7') and
     (Key<>'8') and
     (Key<>'9') and
     { Löschen über Rücktaste }
     (Key<>#8) then
  begin
    Key := #0;
  end;
end;
Danke

DeddyH 1. Aug 2016 13:26

AW: TSpinEdit und Komma
 
Geht es damit?
Delphi-Quellcode:
SetWindowLong(SpinEdit.Handle, GWL_STYLE, GetWindowLong(SpinEdit.Handle, GWL_STYLE) or ES_NUMBER);

Aviator 1. Aug 2016 13:45

AW: TSpinEdit und Komma
 
Die Methode könntest du etwas übersichtlicher gestalten. :-D

Zitat:

Zitat von hoika (Beitrag 1343905)
Hallo,

Delphi-Quellcode:
procedure SpinEdit_PruefeZeichen(var Key: Char);
begin
  if not (CharInSet(Key, [0..9, #8]) then // #8 war glaube ich Backspace EDIT: Ach ja, steht ja bei dir drin. Wer lesen kann ...
  begin
    Key := #0;
  end;
end;


DeddyH 1. Aug 2016 13:50

AW: TSpinEdit und Komma
 
Müsste es nicht
Delphi-Quellcode:
CharInSet(Key, ['0'..'9', #8]
heißen?

p80286 1. Aug 2016 13:51

AW: TSpinEdit und Komma
 
Ist das auch hinreichend schnell?
Bei mir hat es sich festgesetzt, das
Delphi-Quellcode:
Or
und
Delphi-Quellcode:
in
zwar leserlich sind, die erreichbare Performance dem aber diametral gegenüber steht?

Gruß
K-H

himitsu 1. Aug 2016 14:27

AW: TSpinEdit und Komma
 
Wenn du es schaffst paar Millionen Tasten pro Sekunde zu drücken, dann kannst du dir auch über die Geschwindigkeit von IN weitere Gedanken machen.

Aviator 1. Aug 2016 16:12

AW: TSpinEdit und Komma
 
Zitat:

Zitat von DeddyH (Beitrag 1343911)
Müsste es nicht
Delphi-Quellcode:
CharInSet(Key, ['0'..'9', #8]
heißen?

Joa :-D
Habe das gerade nur so dahingedaddelt. Kein Delphi gehabt und nicht an Char gedacht. Also mal schnell die Hochkomma vergessen. :roll: :-D

Danke für den Hinweis. :thumb:

hoika 1. Aug 2016 18:14

AW: TSpinEdit und Komma
 
Hallo,
sonst schreibe ich ja

"Danke, schau ich mir an",

aber heute (dada ...)

"Danke, schau ich mir morgen auf der Arbeit an"


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz