Delphi Tips & Tricks softsale > Delphi Tips & Tricks      

< poprzednia rada następna rada >

Zapobieganie wyświetlaniu znaków + i - z klawiatury numerycznej

Czasami zachodzi potrzeba szybkiej inkrementacji lub dekrementacji wprowadzonej w polu edycyjnym liczby. Chcemy to zrobić przy użyciu klawiszy 'szary plus' i 'szary minus' z klawiatury numerycznej nie wyświetlając oczywiście wprowadzanych znaków plus lub minus. Aby zobaczyć jak to działa wprowadź liczbę (tu całkowitą ) do pola edycyjnego a następnie zwiększaj lub zmniejszaj tę liczbę naciskając odpowiednio plus lub minus z klawiatury numerycznej.

implementation
const
proof:integer=0;
var
key_sig :integer;

{$R *.DFM}

procedure TForm1.Edit1KeyDown(Sender: TObject;
           var Key: Word; Shift: TShiftState);
   var save_key:byte;
   begin
      key_sig:=0;
      save_key := key;
      if (key=VK_ADD)then key_sig:=+1;
      if (key=VK_SUBTRACT) then key_sig:=-1;
   end;

procedure TForm1.Edit1KeyPress(Sender: TObject;
                                var Key: Char);
   var save_key  :char;
   begin
      save_key:=key;
      key:=#0;
      if key_sig=0 then key:=char(save_key)
   else
      begin
         proof:=strtoint(edit1.text);
         proof:=proof+key_sig;
         edit1.text:=inttostr(proof);
      end;
   end;

SOFTSALE - Oprogramowanie i Szkolenia
softsale@softsale.com.pl

03-565 Warszawa , ul. Borzymowska 43 lok. 301C
tel/fax:4084840,GSM:0607612428