işlemleri klavye ile yapma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

işlemleri klavye ile yapma

Mesaj gönderen bobasturk »

Merhaba arkadaşlar, herkese iyi çalışmalar.

Projede mouse olmadığı zaman klavye kullanarak işlemlerin yapılmasını nasıl sağlayabiliriz. Örnek olarak formda yazdır butonu var ve ctrl+Y basıldığında düğme komutunun çalışmasını nasıl sağlayabiliriz.

object inspector de baktım ama ingilizce yoksunu olmanın acısını çekiyorum.

teşekkür ve saygılarla
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

S.A.

Kolay gelsin.

ON KEY PRESS olayına

Kod: Tümünü seç

if key = (vk_ctrl) and (vk_y) then
begin
.........
.........
end;
şeklinde yazabilirsin.
(ama ctrl+y nin tam kullanımı bu şekildemi emin değilim :oops: )

Hatta yapçağın işle ilgili buton varsa kod alanna BUTTON1.CLICK; yazarak aynı kodları yazmamış olursun...

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

https://extrayazilim.com
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

-Butonun captionuna (mesela onizle yazacaksanız)
&onizle diye yazarsanız. alt+o ile bu butonu çalıştırabilirsiniz.
-Eğer ctrl+x gibi bir kısayol istiyorsanız. bir mainmenu koyun ve bir adet item oluşturup onclick olayına, butonun click olayını (yada proc.'ü) yazın. itemin shortcut'una ctrl+x 'i seçin. mainmenunun visiblesini false yapın...

Kolay gelsin
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

öncelikle cevap vererek büyük bir zahmete katlanan ve kendi iş kaybına uğrayan arkadaşlarıma teşekkür ve saygılar sunuyorum.

bgoktas ustam verdiğin yolu yani & işareti koyma olayını biliyordum fakat alt+... şeklinde çalıştığını bilmiyordum direk işaretin konduğu harfe basınca çalışıyordu ama tab olarak butonun üzerine gelmem gerekiyordu bu da kullanıcıya zahmet veriyordu. yardımın için teşekkür eder kolaylıklar dilerim.
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

küçük bir düzeltme

Mesaj gönderen sarp_halit »

yusuf bey in yollamış olduğu mesajda küçük bir düzeltme yapmakistiyorum. onun keypressed olayında vermiş oluğu kodları bileşenin keydown olayında kullanılması gerekiyor. ayrıca bu olay için formun keypreview özelliğinin de true olarak değitirilmesi gerekmektedir.
iyi günler selamlar
Fethiye den herkese sevgiler ...
X))@:>
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

Bu konuda ActionList de kullanabilirsin. Projene birtane action list ekle. Bu bileşen üzerinde sağ tıkla, Action List Editor' den kendine yeni tanımalamar yap. Yeni, Kaydet, Sil gibi. Bu tanımlamar üzerinde iken Object inspector'dan ShortCut kısmından kendine kısa yollarını belirle. Sonra da tanımlamarın üzerinde çift tıklayarak istediğin kodları yazabilirsin. Örnek olarak sana şu kod parçacığını yolluyorum.



procedure TMalzeme_satisi.FirmaListesiExecute(Sender: TObject);
begin
FirmaListeBtn.Click;
end;

procedure TMalzeme_satisi.UrunListesiExecute(Sender: TObject);
begin
UrunListeBtn.Click;
end;

procedure TMalzeme_satisi.CikisExecute(Sender: TObject);
begin
close;
end;
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

sarp_halit arkadaşıma eklemeden dolayı teşekkür ediyorum..
Bu konuda ActionList de kullanabilirsin. Projene birtane action list ekle. Bu bileşen üzerinde sağ tıkla, Action List Editor' den kendine yeni tanımalamar yap. Yeni, Kaydet, Sil gibi. Bu tanımlamar üzerinde iken Object inspector'dan ShortCut kısmından kendine kısa yollarını belirle. Sonra da tanımlamarın üzerinde çift tıklayarak istediğin kodları yazabilirsin. Örnek olarak sana şu kod parçacığını yolluyorum.
muskut arkadaşım bu olayı biraz daha açabilirmisin acaba?
Bahsettiğin olaya tamamiyle yabancıyım ve benim için de kullanışlı olabileceğini düşünüyorum...Şimdiden teşekkür ederim.
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

Şimdi bir örnek ile açıklayacam. Yeni bir proje başlat. bileşen listesinde, standart bileşenlerde ActionList olan bir nesne var. Onu projene ekle, ve formunada 2 tane buton koy. Hiç bir bileşenin adınıda değiştirme (Ben Delphi7 kullanıyorum). eklediğin actionlist e çift tıkla ve yeni iki tane NewAction (açılan formda sol üst köşede buton) tanımla, bunlarında name özelliklerini Tus1 ve Tus2 tanımla sonra da bu yeni actionların (Tus1 ve Tus2) ShortCut larını sıra ile F1 ve F2 i yap. ve bu yeni tanımladığın actionlara çift tıklayarak aşağıdaki kodlar gibi tamamla. Bu örnek ile çalışma mantığını sanırım anlarsın. Bi sıkıntın olursa gene haber edersin.

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Buton1 e basıldığında gerçekleşen olay');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage('Buton2 e basıldığında gerçekleşen olay');
end;

procedure TForm1.Tus1Execute(Sender: TObject);
begin
Button1.Click;
//istersen buraya kendi kodlarınıda yazabilirsin
//Yada tanımladığın procedure/function ları çağrabilirsin
//Bunun için kısayol tuşu F1
end;

procedure TForm1.Tus2Execute(Sender: TObject);
begin
button2.Click;
//istersen buraya kendi kodlarınıda yazabilirsin
//Yada tanımladığın procedure/function ları çağrabilirsin
//Bunun için kısayol tuşu F2
end;
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Arkadaşlar merhabalar ve hayırlı geceler.

Muskut, yusuf, sarp ve bgoktas ustama teşekkür ederim. yeni bi şeyi değişik üç yoldan öğrenmiş oldum. Muskut ustamın dediğini şu an denedim ve yapabildim. hepinize canıgönülden teşekkürler. Yeni bişey öğrenmek çok güzel.

burada belki kolayıma geldiği için olucak bgoktas ustamın dediğini uyguladım projemde. Sizce projenin çalışması (sağlıklı olarak) için aralarında fark varmıdır acep

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

Mesaj gönderen yusuf simsek »

S.A.

Hayırlı Cumalar.
MUSKUT arkadaşım ALLAH RAZI olsun...

çok teşekkür ederim..OLC arkadaşım sayesinde fonksiyon tuşlarını kullanmanın daha kolay bir yolunu daha öğrendim..

Sabah sabah iyi moral oldu yaa.Güne bişeyler öğrenerek başlamak kadar güzeli yok.

Tüm Formdan ve bu imkanı sağlayan herkese tekrar teşekkürler.Allah sizlerden razı olsun..
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Cevapla