Delphi Tuşa Basma Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
omer42u
Üye
Mesajlar: 17
Kayıt: 24 Şub 2014 01:14

Delphi Tuşa Basma Sorunu

Mesaj gönderen omer42u »

Merhaba Arkadaşlar

benim J tuşuyla başım dertte bi çözüm bulamadım o şekilde bir hatası olanda göremedim o yüzden neden kaynaklandığını bilmiyorum. Proğramda kayıt girer ken j tuşuna bastığımızda kaydı iptal edip en üstteki kayda gidiyor neden kaynaklandığını bilen varmı yada başına bu şekilde bişey gelen varmı acaba
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen G.Arkas »

Kod gönderebilirseniz daha sağlıklı yorum yapabiliriz. Uygulama formunda KeyPress ya da KeyDown eventlarını kullanıyor musunuz?
Resim
xxxjedixxx
Üye
Mesajlar: 216
Kayıt: 10 Ara 2013 03:50

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen xxxjedixxx »

Muhtemelen formunuzdaki bir menüye veya action'a (Tazeleme ile ilgili) kısayol olarak "J" tuşunu atadınız. Tazeleme ile ilgili menü yada action elemanın Shortcut özelliğine bakın.
omer42u
Üye
Mesajlar: 17
Kayıt: 24 Şub 2014 01:14

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen omer42u »

KeyPress ya da KeyDown eventlarını kullanıyorum ama bi kod göndereyim size bir formumdaki keypress kodu

Kod: Tümünü seç

procedure TForm7.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#27) then
begin
form7.Close;
end;
if (key=#74) then
begin
Datamodule2.servis_kayit_tablosu.Open;
Datamodule2.servis_kayit_tablosu.Requery;
Datamodule2.servis_sorgu.Open;
Datamodule2.servis_sorgu.Requery;
end;
end;
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen G.Arkas »

Tuş kodlarını şöyle bir araştırdım. Karşıma altta ki site çıktı

http://www.expandinghead.net/keycode.html

ve diyor ki

Kod: Tümünü seç

#74; = J
Yani 74 J tuşuymuş.
Resim
omer42u
Üye
Mesajlar: 17
Kayıt: 24 Şub 2014 01:14

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen omer42u »

Diğer sitelerde F5 tuşu olarak görünüyor ama deniyeceğim inşallah öyledir çok teşekkür ederim deneyip haber vereceğim size
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen SimaWB »

Hexadecimal 74 olursa F5 olur ;)
There's no place like 127.0.0.1
omer42u
Üye
Mesajlar: 17
Kayıt: 24 Şub 2014 01:14

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen omer42u »

if (key=#74) then olan kodlarımı
if Key = Char(VK_F5) then
olarak değiştirdim olmadı sonra formun KeyFreview=False yaptım komple kapattım ama gene olmadı nasıl bir beladır anlamadım
xxxjedixxx
Üye
Mesajlar: 216
Kayıt: 10 Ara 2013 03:50

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen xxxjedixxx »

Merhaba,

F5 tuşu karakter değildir. Bu yüzden keypress event'i ile kontrol edemezsin. Aşağıdaki gibi Keyup event'ini kullan. KeyDown'ı da kullanabilirsin ama elini tuştan çekmeden komutlar çalışır. Bu yüzden Keyup event'ini kullanmak daha doğru olur.

Kod: Tümünü seç

procedure TForm7.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = VK_F5 then
  begin
  end;
end;
omer42u
Üye
Mesajlar: 17
Kayıt: 24 Şub 2014 01:14

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen omer42u »

Tamam o şekildede yaparım ama benim sorunum F5 tuşu değil j tuşu bunu yaptığımda da çözüm olmayacak muhtemelen
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen SimaWB »

omer42u yazdı:Tamam o şekildede yaparım ama benim sorunum F5 tuşu değil j tuşu bunu yaptığımda da çözüm olmayacak muhtemelen
Yukarıda probleminizin neden kaynaklandığı ifade edildi sanırım.
Siz formun OnKeyPress olayında basılan tuş 74'se birşeyler yaptırıyorsunuz. G.Arkas'ın da belirttiği gibi 74, J karakterine denk geliyor. Eğer J'ye basıldığında değil de F5'e basıldığında birşey yapmak istiyorsanız bunun da cevabı verilmiş.
There's no place like 127.0.0.1
xxxjedixxx
Üye
Mesajlar: 216
Kayıt: 10 Ara 2013 03:50

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen xxxjedixxx »

omer42u yazdı:Tamam o şekildede yaparım ama benim sorunum F5 tuşu değil j tuşu bunu yaptığımda da çözüm olmayacak muhtemelen
O zaman tane tane anlatalım.

Kod: Tümünü seç

if (key=#74) then
begin
Datamodule2.servis_kayit_tablosu.Open;
Datamodule2.servis_kayit_tablosu.Requery;
Datamodule2.servis_sorgu.Open;
Datamodule2.servis_sorgu.Requery;
end;
Yukarıdaki kodunu if'ten başlayarak end'in sonuna kadar fare ile seç (boya) ve Ctrl+X yap. Şimdi Keyup event'ine gel ve Ctrl+V ile yapıştır ve if'ten sonraki kısmı aşağıdaki gibi değiştir.

Kod: Tümünü seç

procedure TForm7.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
//if (key=#74) then bunun yerine aşağıdaki gibi yazıyoruz.
  if Key = VK_F5 then
  begin
    Datamodule2.servis_kayit_tablosu.Open;
    Datamodule2.servis_kayit_tablosu.Requery;
    Datamodule2.servis_sorgu.Open;
    Datamodule2.servis_sorgu.Requery;
  end;
end;
Artık sorunun kalmadı. Tebrikler.
omer42u
Üye
Mesajlar: 17
Kayıt: 24 Şub 2014 01:14

Re: Delphi Tuşa Basma Sorunu

Mesaj gönderen omer42u »

Arkadaşlar çok teşekkür ederim hepinize #74 ü kaldırınca sorunum çözüldü :)
Cevapla