ich verstehe da was nicht: ich habe zwei set of char, in einem möchte ich den Punkt haben, in dem anderem nicht. Er ist aber in beiden sets, und noch besser, wenn ich ihn mit '.' eingebe, dann bekomme ich eine Fehlermeldung. Obwohl der Punkt im set InputIntChars nicht enthalten ist kann er im tEdit eingegeben werden - warum?
Code: Alles auswählen
const
  InputFloatChars: set of char = [',', '+', '-', 'e', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', char(vk_Back), char(vk_Delete) ];
  //InputFloatChars: set of char = ['.', ',', '-', 'e', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', char(vk_Back), char(vk_Delete) ];
  InputIntChars: set of char = ['+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', char(vk_Back), char(vk_Delete)];
  //InputIntChars: set of char = ['.', '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', char(vk_Back), char(vk_Delete)];
{$R *.lfm}
{ TMainForm }
procedure TMainForm.IntInput(Sender: TObject; var Key: char);
begin
  if not ( Key in InputIntChars ) then Key := #0;
  //if Key = '.' then Key := #0;
  if Sender is tLabeledEdit then
  begin    
Ich bekomme zwar hin, was ich haben will, aber ich habe die Angst, dass da was nicht stimmt ...
Weiß jemand mehr?
Herzlichen Gruß
Harald
P.S.: Lazarus 2.2 unter Windows 10 auf diversen Rechnern

 
 

 Verein
Verein 
 Links
Links Suche
Suche