Sayfayı Yazdır | Pencereyi Kapat

key code table doğru mu?

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=590
Tarih: 08 Ocak 2025 Saat 20:10
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: key code table doğru mu?
Mesajı Yazan: umutbilici
Konu: key code table doğru mu?
Mesaj Tarihi: 08 Mayıs 2024 Saat 19:41
klavyedeki belirli tuşlarla belirdi prosedürlere gitmek istiyorum  key code table nerden bakmalıyım
https://www.toptal.com/developers/keycode/table" rel="nofollow - https://www.toptal.com/developers/keycode/table bu siteden bakmıştım ama yanlış olduğunu farkettim 

void oktuslari
{
  if(anaform.clSenderKeyChar == 37) //sol ok tuşu
   {
     solagit
   }
   else if(anaform.clSenderKeyChar == 39) //sağ ok tuşu
   {
     sagagit
   }
   else if(anaform.clSenderKeyChar == 38) //yukarı ok tuşu
   {
     yukarigit
   }
   else if(anaform.clSenderKeyChar == 40) //aşağı ok tuşu
   {
     asagigit
   }
   else if((anaform.clSenderKeyChar == 107) || (anaform.clSenderKeyChar == 66))//+(numpad) veya b tuşu
   {
     buyultme
   }
   else if((anaform.clSenderKeyChar == 109) || (anaform.clSenderKeyChar == 75))//-(numpad) veya k tuşu
   {
     kucultme
   }
   else
   {
     ShowMessage('Lütfen Aşağıdaki Butonları Kullanınız'#13'Hareket Ettirmek İçin: Ok Tuşları'#13'Büyütmek İçin: B veya + (numpad)'#13'Küçültmek İçin : K veya - (numpad)');
   }
}




Cevaplar:
Mesajı Yazan: BilalCndn
Mesaj Tarihi: 09 Mayıs 2024 Saat 09:51
Merhaba Umut,

clSenderKeyChar özelliği alfabetik, numerik ve sembol tuşları için yani yazılabilir karakter tuşları için kullanılır. Bu tuşların kodlarına 'ASCII Printable Characters' yazarak ulaşabilirsin. Burada dikkat etmen gereken bir durum var. Tuşların karakterini baz aldığımız için büyük harf ve küçük harf kodları birbirinden farklı oluyor. Kullanıcının 'CapsLock' tuşu açık olduğu zaman problem yaşamaması için her iki kodu da kullanmalısın. Bunların dışında kalan yani kontrol tuşları dediğimiz(ctrl, shift, ok tuşları vb.) tuşlarda ise clSenderKey özelliği kullanılır. Bakmış olduğun tablo bu tuşlar için doğru. Eğer tablolardan bakmak kafa karıştırıcı gelirse ShowMessage(clSenderKey + '' + clSenderKeyChar); yazarak bastığın tuşun kodunu mesaj kutusu ile görebilirsin. Aşağıda bu duruma göre kodunun düzenlenmiş halini bulabilirsin.

void oktuslari
{
  if(anaform.clSenderKey == 37) //sol ok tuşu
   {
     ShowMessage('solagit');
   }
   else if(anaform.clSenderKey == 39) //sağ ok tuşu
   {
     ShowMessage('sagagit');
   }
   else if(anaform.clSenderKey == 38) //yukarı ok tuşu
   {
     ShowMessage('yukarigit');
   }
   else if(anaform.clSenderKey == 40) //aşağı ok tuşu
   {
     ShowMessage('asagigit');
   }
   else if((anaform.clSenderKeyChar == 43) || (anaform.clSenderKeyChar == 98) || (anaform.clSenderKeyChar == 66))//+ veya b veya B tuşu
   {
     ShowMessage('buyultme')
   }
   else if((anaform.clSenderKeyChar == 45) || (anaform.clSenderKeyChar == 107) || (anaform.clSenderKeyChar == 75))//- veya k veya K tuşu
   {
     ShowMessage('kucultme');
   }
   else
   {
     ShowMessage('Lütfen Aşağıdaki Butonları Kullanınız'#13'Hareket Ettirmek İçin: Ok Tuşları'#13'Büyütmek İçin: B veya + (numpad)'#13'Küçültmek İçin : K veya - (numpad)');
   }
}

Sorunun çözüme ulaşıp ulaşmadığı ile ilgili geri dönüşünü bekliyorum.
İyi çalışmalar diliyorum.


-------------
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]


Mesajı Yazan: umutbilici
Mesaj Tarihi: 09 Mayıs 2024 Saat 16:56
teşekkürler sorun çözüldü



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net