İyi çalışmalar;
Programda Macro hazırladım. bu işlemleri yaparken macro ekranda tıkladığım işlemlerden hızlı çalıştığı için herşey karşıyor. İşlemleri uygulama hızına nasıl indirebilirim. Sleep kullandım olmadı. Herşeyi bekletti. işlemlerin devam edeceği fakat uygulamayı bekleteceğim komutlar veya yollar varmı?
İşlemleri Yavaşlatma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Bu iş için işlem yapılırken geçen süreyi aynı miktada bekletmelisin. Benim önemim GetTickCount fonksiyonunu kullanman. Bu fonksiyon milisaniye türeden bir değer üretir. İşleme başlarken ilk değeri al ve bu değer o makro için bir milat olsun
. Bir sonraki makro kaydı adımında yine bu değeri al ve milat değeri olan değerden sonra ne kadar geçmişse o değeri kaydet. Tabi işlemi yaptırırkende aynı yöntemi uygula.
1-kayıt işlemine başlarken:
Milat:=GetTickCount;//LongWord veya Cardinal tipinde olmalı.
2-bir işlem kaydı esnasında yapılan işlemle birlikte süreyi de kaydet
Sure:=GetTickCount-Milat;
3-işlem bitene kadar 2. adımı uygula.
Kayıt edilmiş makro çalıştırılırken
1-Çalışma başlatılırken
Milat:=GetTickCount;
2-Bekle ve işlemi çalıştır
while GetTickCount>Sure+Milat do Application.ProcessMessages;
//<-makro kaydını çalıştır
3-Tüm makro kayıtları bitene kadar 2. adımı uygula.

1-kayıt işlemine başlarken:
Milat:=GetTickCount;//LongWord veya Cardinal tipinde olmalı.
2-bir işlem kaydı esnasında yapılan işlemle birlikte süreyi de kaydet
Sure:=GetTickCount-Milat;
3-işlem bitene kadar 2. adımı uygula.
Kayıt edilmiş makro çalıştırılırken
1-Çalışma başlatılırken
Milat:=GetTickCount;
2-Bekle ve işlemi çalıştır
while GetTickCount>Sure+Milat do Application.ProcessMessages;
//<-makro kaydını çalıştır
3-Tüm makro kayıtları bitene kadar 2. adımı uygula.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .