Skip to main content

AccessTr.neT


Form Üzerinde Bütün Harfleri Büyük Olarak Yazmak

Form Üzerinde Bütün Harfleri Büyük Olarak Yazmak

#1
Merhabalar,
Form üzerinde veri girişi yaparken, capslook tuşu basılı değilken bile büyük harf girilmesi ile ilgili kod. (daha önce bir uygulamamda kullanmıştım, fakat uzun süredir kullanmayınca unutmuşum.)
Form üzerinde tümü büyük harf ile veri girişi yapmak isteyenler için çok kullanışlıdır.

1. Form üzerinde tuşa basıldığında kısmına aşağıdaki kodu yazacaksınız.

 

Private Sub Form_KeyPress(KeyAscii As Integer)
 
If KeyAscii = 246 Then '(ö) ise
KeyAscii = 214 '(Ö) yap
ElseIf KeyAscii = 231 Then '(ç) ise
KeyAscii = 199 '(Ç) yap
ElseIf KeyAscii = 351 Then '(ş) ise
KeyAscii = 350 '(Ş) yap
ElseIf KeyAscii = 105 Then '(i) ise
KeyAscii = 304 '(İ) yap
ElseIf KeyAscii = 252 Then '(ü) ise
KeyAscii = 220 '(Ü) yap
ElseIf KeyAscii = 287 Then '(ğ) ise
KeyAscii = 286 '(Ğ) yap
 
ElseIf KeyAscii = 305 Then '(ı) ise
KeyAscii = 73 '(I) yap
 
ElseIf KeyAscii > 96 And KeyAscii < 123 Then
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End If
 
End Sub


2. Tuş önizleme kısmındaki seçeneği "Evet" yapacaksınız.
Cevapla
#2
paylaşım için teşekkürler
Cevapla
#3
Paylaşımınız için çok teşekkürler ufkumu açtınız.. Yalnız ben tam randıman alamadım hemen araştırmaya koyuldum sonuçta aşağıdaki kodu oluşturdum. Belki birine bir faydası olur.. Türkçe karakterleri otomatik ingilizce uyumlu hale getiriyor. Böylece bir kayıt yaparken sonradan ş mi yazdı Ş mi yazdı gibi soru işaretleri ortadan kalkıyor... Gerçekten çok teşekkür ederim konuyu başlatan arkadaşa..

Kod:
Private Sub Text0_KeyPress(KeyAscii As Integer)
If KeyAscii = 351 Then 'Küçük ş
KeyAscii = 83 'BUYUK S
ElseIf KeyAscii = 350 Then ' Büyük Ş
KeyAscii = 83 'BUYUK S
  ElseIf KeyAscii = 304 Then 'Büyük İ
KeyAscii = 73 ' Büyük I
ElseIf KeyAscii = 305 Then 'Küçük ı
KeyAscii = 73 ' Büyük I
ElseIf KeyAscii = 287 Then 'Küçük ğ
KeyAscii = 71 ' Büyük G
ElseIf KeyAscii = 286 Then 'Büyük Ğ
KeyAscii = 71 'Büyük G
  ElseIf KeyAscii = 231 Then 'Küçük ç
KeyAscii = 67 'Büyük C
   ElseIf KeyAscii = 199 Then 'Büyük Ç
KeyAscii = 67 'Büyük C
    ElseIf KeyAscii = 214 Then 'Büyük Ö
KeyAscii = 79 'Büyük O
     ElseIf KeyAscii = 246 Then 'Küçük Ö
KeyAscii = 79 'Büyük O
     ElseIf KeyAscii = 220 Then 'Büyük Ü
KeyAscii = 85 'Büyük U
      ElseIf KeyAscii = 252 Then 'Küçük ü
KeyAscii = 85 'Büyük U
ElseIf KeyAscii > 96 And KeyAscii < 123 Then
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End If

End Sub

.zip Türkçe Karakter Çevirme.zip (Dosya Boyutu: 21,33 KB | İndirme Sayısı: 28)

Son Düzenleme: 05/05/2014, 10:52, Düzenleyen: SCavusoglu.
Cevapla
#4
Sn pmsata,
çok teşekkür ederim, dediğiniz gibi arayan arkadaşlara faydasının dokunması çok önemli.
Benim yazmış olduğum kodu formun keypress olayına yazıyorsunuz, tuş önizlemesini evet olarak ayarlıyorsunuz, Türkçe küçük harfleri yine Türkçe büyük harfe çevirirken veritabanına da büyük olarak kaydediyor. Sizin örneğinizde anladığım kadarıyla form üzerinde bulunan text kutusunun keypress olayına yazıyorsunuz, eğer form üzerinde çok fazla text alanı varsa hepsine tek tek yazmak gerekir bu da programın hantallaşmasına neden olur diye düşünüyorum.
Sakın bu yorumlarımı yanlış anlamayın niyetim sizi eleştirmek değil, tam randıman alamadığınızı belirtmişsiniz nedeni nedir acaba?
Cevapla
#5
Estafurullah neden yanlış anlayayım.. Maksat bi faydamız olsun.. Randıman alamamktan kasıt Türkçe karakterlerin yine Türkçe olarak kalması. Sonradan arama alanında arama yaparken hangi karakterli kaydedilmiş olacağı mühim oluyor.. Mesela benim adım Şevki eğer ben bunu Ş harfi ile kaydedersem ve sonradan Sevki diye aramaya kalkarsam bir sonuca ulaşamıyorum.. Hep aklımda bunu nasıl giderebilirim sorusu vardı bunu sizin konunuz sayesinde çözdüm.. Tabi tabloya kayıt yapma mevzusunu hiç düşünmemiştim sizin bu mesajınızı okuyana dek.. Birde her textbox a yazmaya gerek duymam diye düşündüm sadece sonradan lazım olacak 1-2 textbox işimi görür diye düşünmüştüm ve sanırım denedim form un key press olayına ekledim ama sonuc alamadım bir daha deneyeceğim.

Şimdi denedim.. kodu aşağıdaki şekilde girdiğimde textbox a yazarken işlevi yok..

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 351 Then 'KUCUK SHE
KeyAscii = 83 'BUYUK S
ElseIf KeyAscii = 350 Then ' BUYUK SHE
KeyAscii = 83 'BUYUK S
ElseIf KeyAscii = 304 Then 'BUYUK i
KeyAscii = 73 ' BUYUK I
ElseIf KeyAscii = 305 Then 'KUCUK I
KeyAscii = 73 ' BUYUK I
ElseIf KeyAscii = 287 Then 'KUCUK YUMUSAKG
KeyAscii = 71 ' BUYUK G
ElseIf KeyAscii = 286 Then 'BUYUK YUMUSAKG
KeyAscii = 71 'BUYUK G
ElseIf KeyAscii = 231 Then 'küçük Ç
KeyAscii = 67 'BUYUK C
ElseIf KeyAscii = 199 Then 'büyük Ç
KeyAscii = 67 'BUYUK C
ElseIf KeyAscii = 214 Then 'büyük Ö
KeyAscii = 79 'BUYUK O
ElseIf KeyAscii = 246 Then 'KÜÇÜK Ö
KeyAscii = 79 'BUYUK O
ElseIf KeyAscii = 220 Then 'büyük Ü
KeyAscii = 85 'BUYUK U
ElseIf KeyAscii = 252 Then 'KÜÇÜK Ü
KeyAscii = 85 'BUYUK U
ElseIf KeyAscii > 96 And KeyAscii < 123 Then
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End If
End Sub

Son Düzenleme: 05/05/2014, 11:09, Düzenleyen: SCavusoglu.
Cevapla
#6
Nezaketiniz için teşekkür eder iyi çalışmalar dilerim. Tuş ön izlemesini "evet" olarak ayarlamayı unutmayın, yoksa kod çalışmıyor. Yazmış olduğunuz kod benim yukarıda belirtmiş olduğum kod değil.

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 246 Then '(ö) ise
KeyAscii = 214 '(Ö) yap
ElseIf KeyAscii = 231 Then '(ç) ise
KeyAscii = 199 '(Ç) yap
ElseIf KeyAscii = 351 Then '(ş) ise
KeyAscii = 350 '(Ş) yap
ElseIf KeyAscii = 105 Then '(i) ise
KeyAscii = 304 '(İ) yap
ElseIf KeyAscii = 252 Then '(ü) ise
KeyAscii = 220 '(Ü) yap
ElseIf KeyAscii = 287 Then '(ğ) ise
KeyAscii = 286 '(Ğ) yap

ElseIf KeyAscii = 305 Then '(ı) ise
KeyAscii = 73 '(I) yap

ElseIf KeyAscii > 96 And KeyAscii < 123 Then
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End If

End Sub
Son Düzenleme: 05/05/2014, 11:15, Düzenleyen: gogoli01.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da