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

Makrolar ve Basic programlama dili özel bölümü

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

#2424 İleti | Aslofke | 19 Oca 2019, 10:51

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
Aslofke
 
İleti: 22
Kayıt: 05 Şub 2018, 14:41
İşletim Sisteminiz: Windows
LibreOffice Sürümü: 5.1.5.2

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

#2426 İleti | Hamurcu | 19 Oca 2019, 23:15

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.

wait1.png
wait
wait1.png (30.23 KiB) 95 defa 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.png
wait2
wait2.png (13.6 KiB) 95 defa görüntülendi
Kullanıcı avatarı
Hamurcu
 
İleti: 165
Kayıt: 06 Ağu 2012, 00:14
Konum: İstanbul
İşletim Sisteminiz: Windows 10
LibreOffice Sürümü: 6.x

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

#2430 İleti | Aslofke | 20 Oca 2019, 13:39

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
Aslofke
 
İleti: 22
Kayıt: 05 Şub 2018, 14:41
İşletim Sisteminiz: Windows
LibreOffice Sürümü: 5.1.5.2

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

#2431 İleti | Hamurcu | 21 Oca 2019, 10:25

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.
Kullanıcı avatarı
Hamurcu
 
İleti: 165
Kayıt: 06 Ağu 2012, 00:14
Konum: İstanbul
İşletim Sisteminiz: Windows 10
LibreOffice Sürümü: 6.x

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

#2434 İleti | Aslofke | 21 Oca 2019, 23:28

evet hocam bu güzel bir çözüm oldu teşekkürler
Aslofke
 
İleti: 22
Kayıt: 05 Şub 2018, 14:41
İşletim Sisteminiz: Windows
LibreOffice Sürümü: 5.1.5.2


Makrolar ve Basic

Kimler çevrimiçi

Kayıtlı kullanıcılar: Bing [Bot], Google [Bot]