OnKeyPress

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

OnKeyPress

Mesaj gönderen bgoktas »

formumda iki tane buton var .
formumun key preview=true
onkey press olayına;

Kod: Tümünü seç

procedure Tbordrolar.FormKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#27 then
 begin
  if messagedlg('İşlemi iptal etmek istiyor musunuz ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then durdur:=true
 end;
end;
yazdım .

Button1 e basdığımda yapılan işlemi durdurmak için gerekli soruyu soruyor. ve sorunsuz çalışıyor. işlemi kesmek istiyorsam kesiyor, kesmek istemiyorsam kesmiyor.

Fakat buton2'ye bastığımda bu procedureyi çalıştırmıyor. işlemi tamamen bitirdikten sonra soruyu soruyor.

Kolay gelsin
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Açıkcası sorunu tam olarak anlayamadım...
Şimdi öncelikle Buton1 ve Buton2 hangi olayları yönetiyör.
Yukarıda yazdığın procedure ile klavyeden ESC tuşunu kontrol etmişsin bunları butonlara ne şekilde bağladın ki orayı anlamadım..
-Ayrıca Durdur adında global bir değişken tanımlamışsın. Bunun kontrolünü yanlış yerde yapıyor olabilirmisin..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

button1 ve button2 bağımsız işler yapıyor. formun herhangi bir yerindeyken esc ye basdığımzaman button1 veya button2 ye basmamdan dolayı çalışan procedureyi durdurmak istiyorum. button1'in proceduresi çalışırken esc ye basdığımda yukarıdaki if'e giriyor ve işlemi kesiyor.
button2'ye basdığımda işlem tamamen bittikten sonra giriyor.
global değişken ise procedurelerde işlemi kesmek için,
kontrollerde birsorun yok...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

her ikisinde de Application.ProcessMessages kullanıyormusun?
ÜŞENME,ERTELEME,VAZGEÇME
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

tamamdır application.ProcessMessages yazınca halloldu
ben sadece birine yazmışım teşekkürler... :D :D :D :D
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

olur boyle programcı korlukleri 8)
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
akgun83
Üye
Mesajlar: 106
Kayıt: 26 Eyl 2003 11:34

Mesaj gönderen akgun83 »

pardon Application.ProcessMessages ne için kullanılıyor. Ne işe yarar?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

bir işlem yaparken programda yapılan diğer işlemlerinde çalışmasını sağlıyor. Normalde bir database operasyonu sırasında kum saati çıkmışken butona vs. basamazsınız. Program (Application) bunları (bu mesajları) işlemez. Bu komut, işleme az bir ara ver, uygulumanın mesajlarını işle komutu verir.

kolay gelsin.
Cevapla