programdamın akışını durdurma

censez41
14-07-2010, 21:35   |  #1  
censez41 avatarı
OP Yıllanmış Üye
Teşekkür Sayısı: 3
1,705 mesaj
Kayıt Tarihi:Kayıt: Nis 2009

Ardaşlar Call keybd_event(VK_LEFT, 0, 0, 0) koduyla klavyenin sol tuşuna bastırıyorum sonra Call keybd_event(VK_LEFT, 0, 2, 0) komutu ile tuşu bıraktırıyorum ancak tuşa bastıktan sonra 100milisaniye bekledikten sonra bırakma komutunu uygulaması yazım bu aşağıdaki gibi yaptım


Call keybd_event(VK_LEFT, 0, 0, 0)

sleep(100)
Call keybd_event(VK_LEFT, 0, 2, 0
ancak bu şekilde  yapınca  bütün programın işleyişi duruyor sadece iki komut arasında nasıl 100milisaniye bekletebilirim.

e1ektronick
14-07-2010, 22:14   |  #2  
Yeni Üye
Teşekkür Sayısı: 0
20 mesaj
Kayıt Tarihi:Kayıt: Nis 2010

eger yazilimi yazdigin program pic basic pro ise 100 mili saniye durdurmak icin "pause 100" yazman yeterli. bu olmuyorsa ilk once komutlari kullanarak bi bekleme programi yazacaksin (komutlarinda islenme suresini hesaba katmayi unutma)  mesela bu gecikme programina delay diyelim, gerekli satirda call delay dediginde 100 mili saniye bekletebilirsin.

ornek olacak sekilde ben bunu kendi yaptigim bir projemde bekleme bolumu icin yazmistim ve guzel isliyodu.

msaniye
    movlw    0F9h
   
ms1
    addlw    0ffh
    btfss    STATUS,Z
    goto    ms1
    return
   
bekle
    movwf    BEKR1
   
bekle1
    movlw    0F8h
    call    ms1
    nop
    decfsz    BEKR1
    goto    bekle1
    return
   
bekle100ms
    movlw    .75
    call    bekle
    return

censez41
14-07-2010, 22:49   |  #3  
censez41 avatarı
OP Yıllanmış Üye
Teşekkür Sayısı: 3
1,705 mesaj
Kayıt Tarihi:Kayıt: Nis 2009

teşekkür ederim bu açklaman için ancak programı visual basic için yazıyorum   program içinde eş zamanlı çalışan procedureler yazdım  sadece bir procedure de sleep komutu ile beklemesini istiyorum ancak bütün procedureler bekliyor bu sorunu nasıl aşabilirim

Son Düzenleme: censez41 ~ 14 Temmuz 2010 22:51