Caps lock komutla açmak ve kapatmak (Büyük küçük harf geçişi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Caps lock komutla açmak ve kapatmak (Büyük küçük harf geçişi

Mesaj gönderen xcom »

Merhaba Arkadaşlar.

Programmımın içerisinde devamlı büyük harfin kulanılması zorunlu kılmak için caps lock olayını kontrol edip küçükse büyük harfe geçmesini sağlamak bununla ilgili araştırdım ama bulamadım. belkide talihimiz ras gitmedi. bununla ilgili bilgisi olan varsa paylaşırsanız sevinirim. iyi çalışmalar.



yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

S.A.

edit nesnelerinin CharCase seceneğini ecUpperCase seçmen bir çözüm yolu olabilir ama dbgrid nesnesi için bu seçim şansı malesef yok

Kolay gelsin
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Mesaj gönderen xcom »

uppercase metodu türkçe karekterlerde sorun yapabiliyor. benim sualim caps lock tuşu controlünü kulanarak büyük harfe geçiş.
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

Kod: Tümünü seç

// Capslock Durumunu anlama ve değiştirme örneği
// Yilmaz KAYGISIZ

procedure CapsLock(BeforeState:Integer; LastState:Integer);
Begin
     CurrentState := GetKeyState(vk_capital);
     GetKeyboardState(KeyState);
     If CurrentState=0 then
     begin
          KeyState[vk_capital] := LastState;
          IF BeforeState=0 Then
          Begin
            LastState:=1;
            BeforeState:=1;
          end
          else
          Begin
            LastState:=0;
            BeforeState:=0;
          end;
     end
     else
     Begin
          KeyState[vk_capital] :=LastState;
          IF BeforeState=1 Then
          Begin
            LastState:=0;
            BeforeState:=0;
          end
          else
          Begin
            LastState:=1;
            BeforeState:=1;
          end;
     end;
     SetKeyboardState(KeyState);
end;

---------------------------------------------------------
//Kullanımı:

procedure TForm1.Edit1Enter(Sender: TObject);
begin
     FrmAna.CapsLock(0,1);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     FrmAna.CapsLock(1,0);
end;

Kod: Tümünü seç

 CapsLock ve Numlock tuşlarını açıp-kapama;


procedure TMyForm.Button1Click(Sender: TObject);
Var
  KeyState : TKeyboardState;
begin
  GetKeyboardState(KeyState);
  if (KeyState[VK_CAPITAL] = 0) then
      KeyState[VK_CAPITAL] := 1
  else
      KeyState[VK_CAPITAL] := 0;
  SetKeyboardState(KeyState);
end;
Numlock tuşu için VK_CAPITAL yerine VK_NUMLOCK yazınız.
Bu kodları KODBANK ta buldum ama denemedim.. umarım işine yarar.
kolay gelsin
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Öncelikle aşağıdaki functionı kütüphanene ekle

Kod: Tümünü seç

Function BuyukHarf(Harf: Char): Char;
begin
     case Harf of
          'ı': Result:='I';
          'ğ': Result:='Ğ';
          'ü': Result:='Ü';
          'ş': Result:='Ş';
          'i': Result:='İ';
          'ö': Result:='Ö';
          'ç': Result:='Ç';
     else
         Result:=UpCase(Harf);
     end;
end;
Daha sonra formun keypreview özelliğini True yap ve formun onkeypress yordamına aşağıdaki satırı yazman yeterli

Kod: Tümünü seç

key:=BuyukHarf(key);
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Mesaj gönderen xcom »

yardımlarınız için teşekkür ederim. Ben yukardakilerinden faydalanarak aşağıdaki şekilde işi çözdüm.

var
form1:Tform;
KeyState:TKeyboardState;


Procedure xar.FormActivate(Sender: TObject);
Begin

GetKeyboardState(KeyState);
if (KeyState[VK_CAPITAL] = 0) then
begin
KeyState[VK_CAPITAL] := 1;
SetKeyboardState(KeyState);
end;
end;
Kullanıcı avatarı
mepc
Üye
Mesajlar: 191
Kayıt: 26 Eyl 2003 11:39
Konum: Ankara

Re: Caps lock komutla açmak ve kapatmak (Büyük küçük harf geçişi

Mesaj gönderen mepc »

Bu başlık daha önce açıldığı için altından devam ediyorum. Yukarıdaki kodlar benim programım içerisinde caps lock tuşunu açıp kapatıyor. ancak ben bu komutla caps locku açtığımda bilgisayarda çalışan diğer programlar bundan etkilenmiyor. Klavyeden basılmış gibi tüm uygulamlarda etkin olacak şekilde caps lock tuşunu nasıl açıp kapatabilirim.
Bilgi paylaşıldıkça güzeldir.
Kullanıcı avatarı
mepc
Üye
Mesajlar: 191
Kayıt: 26 Eyl 2003 11:39
Konum: Ankara

Re: Caps lock komutla açmak ve kapatmak (Büyük küçük harf geçişi

Mesaj gönderen mepc »

Admin kızmasın :twisted: ama demekki yeterince araştırmamışım. Çözümü aşağıdaki linkte buldum

viewtopic.php?f=2&t=20843&p=118808&hili ... 2A#p118808
Bilgi paylaşıldıkça güzeldir.
Cevapla