Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Visual Basic => Konuyu başlatan: veliusta - 04 Temmuz 2013, 20:31:31

Başlık: Visual Basic 6'da KeyDown Sorunu (KOLAY)
Gönderen: veliusta - 04 Temmuz 2013, 20:31:31
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKey1 Then Kutu.Text = Val(Kutu.Text) + 1
End Sub


Yukarıdaki kod sayesinde 1.ci tuş ile Text kusundaki 0 sayısı +1 artıyor. Ama Tuştan parmağımı kaldırmaz isem sürekli sayıyı artırıyor. Bunu nasıl engelleyebilirim?
Başlık: Ynt: Visual Basic 6'da KeyDown Sorunu (KOLAY)
Gönderen: muhittin_kaplan - 04 Temmuz 2013, 21:15:11
keyup la yap. basınca değil çekince saysın.
Başlık: Ynt: Visual Basic 6'da KeyDown Sorunu (KOLAY)
Gönderen: veliusta - 04 Temmuz 2013, 21:25:43
Alıntı yapılan: muhittin_kaplan - 04 Temmuz 2013, 21:15:11
keyup la yap. basınca değil çekince saysın.

Basınca sayan lazım hocam.
Başlık: Ynt: Visual Basic 6'da KeyDown Sorunu (KOLAY)
Gönderen: Salih - 04 Temmuz 2013, 21:31:23
Delphi'de Onclick Event'ı var. Vbasic'deki karşılığını bilmiyorum.
Onu kullanabilirsin.
Ya da ilk_defa diye boolean bir değişken tanımlarsın.
İlk çalışmanın sonunda False değeri atarsın.
Tuş yukarı kalktığında tekrar True yaparsın.
Eylemi yapmak için
if ilk_defa then sayi = sayi + 1;
Başlık: Ynt: Visual Basic 6'da KeyDown Sorunu (KOLAY)
Gönderen: influx - 04 Temmuz 2013, 21:51:24
Dim x As Boolean

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF1 And x = False Then
    kutu.Text = Val(kutu.Text) + 1
    x = True
    End If
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
x = False
End Sub

Private Sub Form_Load()
x = False
End Sub
Başlık: Ynt: Visual Basic 6'da KeyDown Sorunu (KOLAY)
Gönderen: muhittin_kaplan - 04 Temmuz 2013, 22:10:35
keypress oluyormuydu ki. Hatırlamıyorum.
Başlık: Ynt: Visual Basic 6'da KeyDown Sorunu (KOLAY)
Gönderen: veliusta - 05 Temmuz 2013, 00:28:17
Alıntı yapılan: influx - 04 Temmuz 2013, 21:51:24
Dim x As Boolean

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF1 And x = False Then
    kutu.Text = Val(kutu.Text) + 1
    x = True
    End If
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
x = False
End Sub

Private Sub Form_Load()
x = False
End Sub

Teşekkürler bu işimi görür.