Visual Basic - Basic - PicBasic ve Türevleri
VB6 Da Aynı Anda 2 İşlem Nasıl Yaptırabiliriz
VB6 Da Aynı Anda 2 İşlem Nasıl Yaptırabiliriz
-
SpermMan bunu yazdı:
-----------------------------
DOEVENTS
BİR DÖNGÜDE V.B., SIRADAKİ OLAYLARIN YAPILMASINA İMKAN VERİR.
PROGRAMDA ÇALIŞMASI ÇOK UZUN SÜREN KOD BLOKLARI VARSA KOD BLOĞUNUN ÇALIŞMASI BİTENE KADAR BAŞKA BİR İŞLEMM YAPAMAZSINIZ.
BU TİP İŞLEMLERDE, DOEVENTS KOMUTU, KONTROLÜ WINDOWS'A VEREREK DİĞER BEKLEYEN İŞLEMLERİN YAPILMASINI SAĞLAR.
ÖRNEK
Dim i
for i=1 to 20000
list1.additem i
doevents
nextaradığımı buldum gibi ama tam olarak anlayamadım doevents diye bi dalgametre varmış nasıl kullanıldığına tam bi örnek verebilecek birisi var mı :S bazı sitelerde doevents kullanmak için apilere ihtiyaç var falan diyor şu an pc de vb yüklü değil şirketin makineden bağlanıyorum
-----------------------------Senin aradığın bunun tersi
Bu a yı yazmadan b ye geçme demek
flash ile mediaplayerin videoyu açma süreleri nesnelerden kaynaklanan bişeydir
hangisi önce açılıyosa onun önüne aradaki fark kadar sleep koymayı dene
-
DE5TROY3R bunu yazdı:
-----------------------------SpermMan bunu yazdı:
-----------------------------
DOEVENTS
BİR DÖNGÜDE V.B., SIRADAKİ OLAYLARIN YAPILMASINA İMKAN VERİR.
PROGRAMDA ÇALIŞMASI ÇOK UZUN SÜREN KOD BLOKLARI VARSA KOD BLOĞUNUN ÇALIŞMASI BİTENE KADAR BAŞKA BİR İŞLEMM YAPAMAZSINIZ.
BU TİP İŞLEMLERDE, DOEVENTS KOMUTU, KONTROLÜ WINDOWS'A VEREREK DİĞER BEKLEYEN İŞLEMLERİN YAPILMASINI SAĞLAR.
ÖRNEK
Dim i
for i=1 to 20000
list1.additem i
doevents
nextaradığımı buldum gibi ama tam olarak anlayamadım doevents diye bi dalgametre varmış nasıl kullanıldığına tam bi örnek verebilecek birisi var mı :S bazı sitelerde doevents kullanmak için apilere ihtiyaç var falan diyor şu an pc de vb yüklü değil şirketin makineden bağlanıyorum
-----------------------------Senin aradığın bunun tersi
Bu a yı yazmadan b ye geçme demek
flash ile mediaplayerin videoyu açma süreleri nesnelerden kaynaklanan bişeydir
hangisi önce açılıyosa onun önüne aradaki fark kadar sleep koymayı dene
-----------------------------PROGRAMDA ÇALIŞMASI ÇOK UZUN SÜREN KOD BLOKLARI VARSA KOD BLOĞUNUN ÇALIŞMASI BİTENE KADAR BAŞKA BİR İŞLEMM YAPAMAZSINIZ.
BU TİP İŞLEMLERDE, DOEVENTS KOMUTU, KONTROLÜ WINDOWS'A VEREREK DİĞER BEKLEYEN İŞLEMLERİN YAPILMASINI SAĞLAR.alakası yok iyi okusana şunu
-
DoEvents nedir?
Kullanım yeri uzun döngülerdir. Kullanım amacı işlem sırası geçirmektir.
Bir işlemci çekirdeği birim zamanda sadece tek bir iş yapabilir. Bu yüzden windows işletim sisteminde her işlem parçacığı belirli bir önem seviyesinde sıra ile çalışırlar. Bu da sanki aynı anda bir çok program çalışıyormuş izlenimi verir. Şayet bir işlem parçası uzun süre sistemi meşgul ederse sıradaki diğer parçalar beklemek zorunda kalırlar. Uygulama penceresi hatta bazen windows bile kilitlenme durumuna gelir. Tabi windows bu kadar uzun süre kendisine yanıt vermeden çalışan bir program olduğunda uygulamaya "yeter artık" mesajları atmaya başlar hala yanıt alamazsa kapatma yollarına gidebilir.. Neyseki doEvents komutumuz var ki döngünün her dönüşünde sıradaki diğer iş parçalarına (sıradaki kodlar değil, aynı uygulamanın diğer parçaları , başka uygulamalar) çalışma fırsatı doğurular. Tabi bu güzel durum döngünün daha geç bitmesine neden olur.Sen kodlar sıraya geçsin istemiyorsun. Aynı anda çalışsın istiyorsun
-
hocam vb kullanmayalı uzun zaman oldu ama label de caption changed diye bir event varsa oradanda label2nin captionı değiştirebilirsin belki
buton 1 ile label1.captionu değiştiriyoruz.
label1.captionun changed eventi var ise oradanda 2yi değiştiriyoruz :P
-
Bırakın DoEvents() ve Timer'ı. MultiTasking (MultiThreading) budur işte.
MultiThreading kullanacaksın hocam. DoEvents() çok yavaşlatır.
-
La bi tane doğru düzgün cevap veren adam cikmaz mi :)
Hocam multi-thread kullan, kac tane islem yaptirmak istiyosan o kadar thread olustur. Ama vb6 da cöküyor bi yerden sonra vb5 lazm illa vbde kullanicaksan hatirladigim kadariyla :/.
-
gVeR bunu yazdı:
-----------------------------
La bi tane doğru düzgün cevap veren adam cikmaz mi :)
Hocam multi-thread kullan, kac tane islem yaptirmak istiyosan o kadar thread olustur. Ama vb6 da cöküyor bi yerden sonra vb5 lazm illa vbde kullanicaksan hatirladigim kadariyla :/.
-----------------------------Çıkar tabii ki, üstündeki mesaja bak :))
-
tam bi kod veremicem ama aklıma gelen şu;
medya playerla flash playerın açılmaları arasındaki süre farkını tespit edersin...önce medya player açılcaksa bunu bi timerla aradaki zaman farkı kadar sonra açılmasını sağlarsın ve iki playerdada vidyo aynı anda açılır... ama bunu uygulamanın zor yanı şu olur; dosya boyutundaki değişim açılmadaki zaman farkıyla doğru orantılı olur,haliyle sabit bi zaman olmaz,bide o aradaki süre farkını hesaplatıp uygulatmak zorunda kalırsın programa,çok sıkıntı yaratır...
aklıma bu geldi :) :P