• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hangi tuşa basıldığını bilebilmek

  • Konbuyu başlatan Konbuyu başlatan Serpily
  • Başlangıç tarihi Başlangıç tarihi
Katılım
28 Temmuz 2004
Mesajlar
275
Yazdığım kodda kullanıcının bastığı tuşa göre yönlenme yaptırmak istiyorum. Mesela Backspace'e basmışsa döngüden çıkacak vb. Bunun için basılan tuşu okutturabileceğimiz bir komut filan var mıdır? inkey gibi, keypress gibi, getkey gibi bir şey.

Aslında benzeri bir soru daha öncede sorulmuş ama cevap yeterli olmamış. Arama yapmadan yazmadım yani.
 
hangi soruydu o ?
 
Peki, tam olarak yapmak istediğiniz olayla ilgili kodu yapıştırabilirmisiniz ? Yani, bir TextBox içindeyken falan mı tuşu denetlemek istiyorsunuz ?
 
Private Sub Tarih_Change()
If ........... = vbKeyBack Then
If Len(Tarih) = 2 Then Tarih = Tarih + "."
If Len(Tarih) = 5 Then Tarih = Tarih + "."
If Len(Tarih) = 10 Then Tarih = Left(Tarih, 10)
End If
End Sub


Tarihin formatını exit ile değil de change de daha yazılırken denetlemek istiyorum. Bunun için yukarıdaki koddan yararlanmayı düşünüyorum. Ancak kullanıcı Backspace'e basmışsa silmek istiyordur ve her tuşa basılmasında bir karakter silinmelidir. Ben bunu eğerle diyemezsem yanlış yazdığı tarihi backspace'le silemiyor.
 
İlgisiz ama ben VB kodları yazmak için VB kutucuğunun üzerine fareyi getirince 'Çalışma zamanı hatası' veriyor. Neyi yüklemem, açmam veya kliklemem lazım.
 
Kodları Tarih_Change yerine, Tarih_KeyPress olayına yazıp da çalıştırsanız olur mu acaba ?
 
İşgüzarlık mı yapıyorum bilmem ama konu bütünlüğü olsun istedim. Kodun son hali.

Private Sub Tarih_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii <> vbKeyBack Then
If Len(Tarih) = 2 Then Tarih = Tarih + "."
If Len(Tarih) = 5 Then Tarih = Tarih + "."
If Len(Tarih) = 10 Then Tarih = Left(Tarih, 10)
End If
End Sub
 
Geri
Üst