Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
İşlem Süresinin Bulunması
#1
Bazen hangi methodun ne kadar sürdüğü bilgisine ihtiyacımız olabiliyor. Bunun için profiler uygulamalar mevcut fakat bir çoğu ücretli. Bende bir profiler olmasada bir methodun ne kadar süre çalıştığı bilgisini veren bir örnek hazırladım. Bunun için C# ta olan bir kütüphanenin delphi versiyonunu kullandım. Sınıfın ismi StopWatch. Bu sınıfı şu Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol inceleyebilirsiniz.

Bu sınıf ile methodun başlangıç ve bitiş arasında geçen sürenin milisaniye cinsinden değerini alabiliyoruz. Daha sonra bu değeri Delphi IDE sinde göstermek için windows kütüphanesinin "OutputDebugString" methodunu kullanıyoruz. Bu method ile Delphi içerisinden kod ile IDE ye mesaj göndermiş oluyoruz. Ayrıntılı anlatım için şu Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol göz atabilirsiniz.

Örnek kullanımı:
procedure TForm1.Button1Click(Sender: TObject);
var
 i : integer;
 StopWach : TStopWatch;
begin
 try
   StopWach := TStopWatch.Create(True); 

   for i := 0 to StrToInt64(Edit1.Text) do
     begin
       Sleep(1000);
     end;

   StopWach.Stop;
   DebugMsg('Button1Click için geçen Süre : %s',[StopWach.GetElapsed]);
 finally
   if Assigned(StopWach) then
     StopWach.Free;
 end;   
end;

DebugMsg ile gönderdiğimiz mesajı View>Debug Windows>Event Logs yada Ctrl + Alt + V tuşu ile açtığımız Event Log ekranından görebilirsiniz.

Ekran Görüntüsü:

0EL0NL.gif

Kaynak Kodları Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol indirebilirsiniz | YandexDisk
WWW
Cevapla
#2
Teşekkürler Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#3
Değerli paylaşım için teşekkürler.
Sanırım siz Delphi 7 kullanıyorsunuz. Yeni versiyonlarda TStopwatch tipi, çok daha kapsamlı şekilde tanımlı olarak geliyor.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
There's no place like 127.0.0.1
WWW
Cevapla
#4
Oooo süpermiş Delphi 7 de olmadığı için dediğiniz gibi hiç karşıma çıkmadı. Teşekkür ederim paylaşım için.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi