Entwickler-Ecke

Sonstiges (Delphi) - Nur Ziffernblock aktiviert


Startprogrammer - Di 05.11.02 20:28
Titel: Nur Ziffernblock aktiviert
Ich habe versucht so einen Taschenrechner zu programmieren, allerdings möchte ich, dass nur der rechte Ziffernblock aktiv ist: Sprich --> Alle anderen Tasten außer Betrieb bis auf 0-9, +, -, /, und * .


Ex0rzist - Di 05.11.02 20:56

Um das zu verwirklichen, benötigst du die VirtualKeys.

Und dann machst du eine OnKeyDown-Prozedur für dein TEdit (o.Ä.) in der Art:


Quelltext
1:
2:
3:
4:
5:
Case Key Of:
  VK_NUMPAD1: Edit1.Text := Edit1.Text+IntToStr('1');
  VK_NUMPAD2: Edit1.Text := Edit1.Text+IntToStr('2');
    ...
  end;


Für die anderen Tasten machst du dann einfach nichts. Das geht mit:


Quelltext
1:
 Key := 0;                    


Wenn du weitere Fragen hast - einfach posten. :wink:


Delete - Di 05.11.02 22:49

Warum einfach, wenn es umständlich geht. :roll:


Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in [#48..#57, #8, #42, #43, #45, #46, #47]) then
    key := #0;
end;


Ex0rzist - Mi 06.11.02 13:05

Oder so... :wink: