1. sayfa (Toplam 1 sayfa)

wait komutu ikinci kez çalıştırmayla 0 ı görüyor

Gönderilme zamanı: 19 Oca 2019, 10:51
gönderen Aslofke
wait komutunu kullanmak istediğimde wait 10000 dediğimde sonucunda msgbox ile bir ileti girecek şekilde yazıyorum ancak fonksiyonu ikinci kez çalıştırdığımda 10 saniye beklemiyor ve anında sonuç döndürüyor oysa her tıklamada fonksiyonu yeniden başlattığı için her tıklamada sayacı sıfırlayarak en baştan 10 dan geri saymasını istiyorum ne yapabilirim bu konuda acaba

Re: wait komutu ikinci kez çalıştırmayla 0 ı görüyor

Gönderilme zamanı: 19 Oca 2019, 23:15
gönderen Hamurcu
Merhaba,

Aşağıdaki gibi basit bir kod yazdım.

Kod: Tümünü seç

Sub gecikmeli_mesaj
  Wait 10000
  MsgBox "merhaba"
End Sub
10sn bekleyip ekrana merhaba yazacak.

Sonrasında basit bir İtme Düğmesi oluşturup, yukarıdaki gecikmeli_mesaj prosedürünü düğmeye bağladım.
wait
wait
wait1.png (30.23 KiB) 5644 kere görüntülendi
Son olarak Araçlar menüsünden Formlar-->Tasarım kipi'ni kapatıp İtme Düğmesinin çalışmaya başlamasını sağladım.

Şimdi Düğmeye her bastığımda 10sn. bekleyip merhaba mesajı ekrana geliyor.

Herhangi bir problem olmadı.

Sonuç;
wait2
wait2
wait2.png (13.6 KiB) 5644 kere görüntülendi

Re: wait komutu ikinci kez çalıştırmayla 0 ı görüyor

Gönderilme zamanı: 20 Oca 2019, 13:39
gönderen Aslofke
Evet hocam bı şekilde ben de yaptım ama üst üste tıklayınca 10 saniye beklemiyor ikinci tıklamada msj kutusu açılıyor

[ Post made via Android ] Resim

Re: wait komutu ikinci kez çalıştırmayla 0 ı görüyor

Gönderilme zamanı: 21 Oca 2019, 10:25
gönderen Hamurcu
Merhaba,

Problemi şöyle çözebilirsin.

Düğmeye tıklandığında, düğmeyi pasif yapıp, mesajı aldıktan sonra tekrar aktif yaparsan tam olarak istediğin süre bekletebilirsin.

Kod: Tümünü seç

sub DugmeAktifPasifYap(DugmeninBulunduguForm As Object,Optional Durum As Boolean)
  DugmeninBulunduguForm.getByName("İtme Düğmesi 1").Enabled=Durum
End Sub

Sub OrnekWait
  Dim CalismaKitabi As Object
  Dim CalismaSayfasi As Object
  Dim DugmeninFormu As Object

  CalismaKitabi=ThisComponent
  CalismaSayfasi=CalismaKitabi.Sheets.getByName("Çizelge1")
  DugmeninFormu=CalismaSayfasi.DrawPage.Forms.getByIndex(0)

  DugmeAktifPasifYap(DugmeninFormu,False)
  wait 3000
  msgbox "merhaba"
  DugmeAktifPasifYap(DugmeninFormu,True)  
End Sub
Yukarıda basit bir örnek yaptım.

Re: wait komutu ikinci kez çalıştırmayla 0 ı görüyor

Gönderilme zamanı: 21 Oca 2019, 23:28
gönderen Aslofke
evet hocam bu güzel bir çözüm oldu teşekkürler