Programalama > VISUAL BASIC

Etiketler: keypress, olayi

Ort. 0
Puan ver:
'Klavyede basılan tuşları kontol ederek istediklerinize izin verip
'istemediklerinizi hiç basılmamaış gibi gösterebilirsiniz...
'Bunun için iki metot vardır. Bu dersimiz bunlardan ilki olan
'KeyPress özelliğidir. Şindi dersimize başlayalım

'Öncelikle standart bir proje oluşturun
'Sonra Aşağıdaki Nesneleri oluşturun
'Nesleri yerleştirmek için uğraşmanıza
'gerek yok onları kod ile ben halletim

'Command1
'Text1
'Text2
'text2 nin "Multiline" özelliğini "True" yaplım
'Option1
'Option2
'Option3
'Option4

'Not : Eğer bu konu hakkında bilginiz varsa buradan okumaya
'Devam edebilirsiniz. Ancak konu hakkında daha detaylı
'bilgi almak için bu dersin tamamını Visual Basic
'Projenizin içine kopyalayabilirsiniz.
'Burada okuduğunuz açıklamalar VB ile sorun çıkarmayacak şekilde
'yazılmış ve her satırın başında ' (VB açıklama başlangıcı işareti)
'Bulunmaktadır.

Option Explicit

Private Sub Command1_Click()
'içerikleri temizliyoruz
Text1.Text = ""
Text2.Text = ""
End Sub

Private Sub Form_Activate()
'Nesnelerin yerlerine yerleştiriyoruz
Me.ScaleMode = 1 ' Twip
Me.Width = 7485
Me.Height = 5250

Command1.Move 120, 180, 1815, 495
Option1.Move 2160, 180, 1215, 495
Option2.Move Option1.Left + 60 + 1215, 180, 1215, 495
Option3.Move Option2.Left + 60 + 1215, 180, 1215, 495
Option4.Move Option3.Left + 60 + 1215, 180, 1215, 495
Text1.Move 120, 780, 7095, 420
Text2.Move 120, 1320, 7095, 3375
End Sub

Private Sub Form_Load()
'Başlangıç ayarlarını yapıyoruz.
Command1.Caption = "Temizle"
Command1_Click 'Olayı burada çağırarak sanki buraya yazılmış gibi işliyoruz
Option1.Caption = "Hepsi"
Option2.Caption = "Sayılar"
Option3.Caption = "Büyük Harf"
Option4.Caption = "Küçük Harf"
Option3.Value = True 'Büyük harf seçili olasun
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
'işlemler başlıyoruz
If Option1.Value = True Then
'eğer hepsi seçili ise yapacak bir kontrol yok aslında
'Burası her şeyi yazdıracağı için aslında gerekyok
'Fakat ben açıklayıcı olsun diye burayı da yazdım
ElseIf Option2.Value = True Then
'Eğer sayılar seçili ise
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
'48 ve 57 sayılara ait ascii kodlarıdır
'Bu sayılarda dahildir
ElseIf Option3.Value = True Then
'Eğer büyük harf isteniyorsa
'Burada Fonksiyon çağırıyoruz
KeyAscii = trkBuyuk(KeyAscii)
Else
'Eğer küçük harf isteniyorsa
'Burası aslında 4 seçenek olan Küçük harf seçeneği
'Ancak biz daha önce büyün seçenek olasılıklarını
'yukarıda yazdığımız için buraya
'"ElseIf Option4.Value = True Then"
'komutu yerine sadece "ELSE" yazıyoruz.

'Burada Fonksiyon çağırıyoruz
KeyAscii = trkKucuk(KeyAscii)
End If




'Burası yazdığımız harfin text2 içinde kodunu görmemizi
'sağlıyor ancak istenilen ile basılan tuşun farklı olması
'sonucunda bazı karakterleri biz 0 (sıfır) ladığımız için
'Text2 içine boş parantez "(" çıkmasını engellemek amaçlı
'olarak eğer boş ise yazmasın diyoruz
If KeyAscii > 0 Then
Text2.Text = Text2.Text & "(" & Chr(KeyAscii) & " : " & KeyAscii & ") "
End If
End Sub


Private Sub Text2_KeyPress(KeyAscii As Integer)
KeyAscii = 0
MsgBox "Buraya Yazma izniniz yok", vbCritical
Text1.SetFocus
End Sub

Private Function trkBuyuk(key As Integer) As Integer
'Burası bizim Büyük harfe dönüşüm sağlayan fonksiyonumuz
'Fonksiyonlarla ilgili bilginiz yoksa ileride o konu
'ile ilgili de bir ders vermeyi düşünüyorum
'Şimdilik buna kafa yormayınız....

'Tükçe karakterlerin kodları aşağıdaki gibidir.
'(Ç : 199) (Ş : 222) (Ğ : 208) (Ü : 220) (I : 73 ) (İ : 221) (Ö : 214)
'(ç : 231) (ş : 254) (ğ : 240) (ü : 252) (ı : 253) (i : 105) (ö : 246)


'evet artık kodları karşılaştırmaya başlıyoruz..
'Öncelikle Türkçe karekterleri karşılaştıralım.
'ancak onlar sıralı olmadıkları için Bunu tek tek
'Yapmamız gerekiyor.

If key = 231 Then
key = 199
ElseIf key = 254 Then
key = 222
ElseIf key = 240 Then
key = 208
ElseIf key = 252 Then
key = 220
ElseIf key = 253 Then
key = 73
ElseIf key = 105 Then
key = 221
ElseIf key = 246 Then
key = 214
'Burada türkçe karakterler bitti.
'Şimdi tükçe karakter içermeyen küçük harfleri
'Büyük yapalım Ancak bunlar için tektek uğraşmayacağız
'Çünkü her bir küçük harf büyük harf kodundan 32 sayı
'büyüktür. yani biz girilen küçük harf kodundan
'32 sayı çıkarttığımızda o harfin büyük harf kodunu elde ederiz.
'işte yapılış şekli
ElseIf key > 96 And key < 123 Then
key = key - 32

'Şimdi sırada kullanıcı zaten büyük harflerle işlem yapıyorsa
'(Bunlar Tükçe karakter içermeyen harfler oluyor)
'bu karakterlerde IF sorgulamasını sonlandırmak için
'koşulu yazıp içini boş bırakıyoruz
'Aslında burada "trkBuyuk = key" komutunu yazabilirdik ama
'bunu aşağıda yaptığımız için gerek yok
ElseIf key > 64 And key < 91 Then
'BU SAYILAR BÜYÜK HARFLER OLUYOR

'Şimdi ise Tükçe karakterli büyük harflerin kontrolünü yapalım
'Ancak bunları yine tektek yapacağız çünkü bunlarda sıralı değil.
ElseIf key = 199 Or key = 222 Or key = 208 _
Or key = 220 Or key = 73 Or key = 221 _
Or key = 214 Then
'BU SAYILAR TÜRKÇE BÜYÜK HARFLER OLUYOR


'Evet şimdiye kadar bütün olasılıkları gözden geçirdik.
'Artık bunların dışında kalan karakterler bizi ilgilendirmiyor.
'Bu nedenle Ascii kodu olarak 0 (sıfır) atıyoruz ve sanki o
'tuşa basılmamış gibi işlemi iptal ediyoruz.
'Bu bir anlamda tuşa basılmamış gibi davranmak oluyor
Else
key = 0
End If

'Koşuk işlemlerinden sonra her bir koşul değerlendirmesinde
'Atama yapmamak için bunu değerlendirmenin sonunda yapıyoruz
've işlem bitmiş oluyor
'Artık trkBuyuk değişkenine atanan sayı Bizim Ascii kodumuz oluyor
trkBuyuk = key
End Function 'Buradan kaldığımız yere geri dönüyoruz


Private Function trkKucuk(key As Integer) As Integer
'Buranın içeriği buyuk olanın tersi olacak
'Sizler için bir alıştırma olması amacı ile
'burası boş bırakılmıştır.

'Eğer konu hakkında bilgiye sahip değilseniz
'Lütfen buraya yazılacak kodlar için biraz egzersiz
'yapın ve gerekli kodları yazın yukarıdaki açıklamalar
'sizlere yardımcı olacaktır.

'İnanıyorum ki mantığı kavradıktan sonra
'Bunu yapmak sizlere çok kolay gelecektir.

'İyi çalışmalar

trkKucuk = key
End Function


Yorumlar                 Yorum Yaz
omer (0) Sakıncalı Yorum 02 March 21:04
Ya birşey sorcam Bendekiler Senınki Gibi Deyil :/ Bir Yardımedermısın -------------------------------------------------- Public Class Keypress Private Sub Keypress_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = " " TextBox2.Text = " " End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged End Sub End Class
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.