Log dosyası oluşturma.

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Log dosyası oluşturma.

Mesaj gönderen aslangeri »

S.A.
Kullanıdığınız programlarda kullanıcıların yaptıkları işlemleri log dosyasına yazmak isterseniz aşağıdaki uniti programınıza ekleyip işinizi görebilirsiniz.

Kod: Tümünü seç

unit ULog;

interface
uses sysutils, dialogs;

const
//aşagıdaki sabitleri kendi programınıza göre değiştirebilirsiniz.
//ben sık kullandıklarımı bu şekilde sabit olarak oluşturmuşturm
  HOpenApplication=' Program açıldı.';
  HUserName = ' Kullanıcı adı girilmedi. ';
  HUserLogin=' Kullanıcı programa giriş yaptı. ';
  HUserLogon=' Kullanıcı adı onaylandı. ';

  HUserLogout=' Kullanıcı programdan çıktı. ';
  HUserCloseApplication=' Kullanıcı programı kapattı. ';
  HNone = '';
  HUnknown=' Bilinmeyen Hata !!! ';
//sabitler buraya kadar.

Procedure hatayaz(mesaj,onceki,sonraki:string);

Procedure deletelogfile;

Procedure LogDosyasiniOlustur;

implementation

Const
  hatafilename='Satis.log';
  TmpFolder='C:\';
var
  hatafile:Textfile;

Procedure hatayaz(mesaj,onceki,sonraki:string);
Begin
  assignfile(hatafile,TmpFolder+hatafilename);
  {$I-}
  reset(hatafile);
  if IOResult<>0 then rewrite(hatafile);
  {$I+}
  append(hatafile);
  system.writeln(hatafile,datetimetostr(now)+' '+onceki+mesaj+sonraki);
  closefile(hatafile);
End;

Procedure deletelogfile;
Begin
  assignfile(hatafile,TmpFolder+hatafilename);
  erase(hatafile);
  closefile(hatafile);
End;

Procedure LogDosyasiniOlustur;
Begin
  assignfile(hatafile,TmpFolder+hatafilename);
  {$I-}
  rewrite(hatafile);
  if IOResult<>0 then Showmessage(hatafilename+' dosyası oluşturulamadı.');
  {$I+}
  closefile(hatafile);
end;
end.
Kullanımı

Öncelikle unitteki proceurleri kullanmak istediğiniz unitlerin uses kısmına ULog ekliyoruz.

ana formunuzun oncreate olayında

Kod: Tümünü seç

 LogDosyasiniOlustur;
proceduresini çağırıyorsunuz.
daha sonra log dosyasına eklemek istediğiniz olay gerçekleştiği zaman

Kod: Tümünü seç

hatayaz('log dosyasına eklenecek metin','','');
şeklinde

Açıklama
Unitte üç tane procedure var.
Bunlar:
1.Hatayaz;
1.1. Mesaj Parameteresi log dosyasına eklenecek string ifade.
1.2. Onceki Parametresi : Mesaj parametresinden önce eklenmek istenen string ifade.
1.3. Sonraki Parametersi : Mesaj parametresinden sonra eklenmek istenen sitrin ifade.

2.DeleteLogFile;
Log dosyasını siler. Program içinde log dosyasını sıfırlamak isterseniz.

3.LogDosyasınıOluştur.
Log dosyasını oluşturur. Program her açıldığında log dosyasını sıfırdan oluşturur. (rewrite) Eğer log dosyasını he seferinde sıfırlamak istemezseniz kodda {$I-} ve {$I+} arasındaki kodları aşağıdaki ile değiştirin.

Kod: Tümünü seç

  {$I-}
  reset(hatafile)
  if IOResult<>0 then  rewrite(hatafile);
  if IOResult<>0 then Showmessage(hatafilename+' dosyası oluşturulamadı.');
  {$I+}
Log dosyası implementation kısmında tanımlı olan

Kod: Tümünü seç

Const
  hatafilename='Satis.log';
  TmpFolder='C:\';
sabitlere göre oluşturulur.
örnekde C:\Satis.log

Kolay Gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Eline sağlık Artık bu makale sayesinde bende Log dosyası tutmayı düşünüyorum. :)

Teşekkürler.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
babyboy
Üye
Mesajlar: 31
Kayıt: 03 Eki 2010 11:29

Re: Log dosyası oluşturma.

Mesaj gönderen babyboy »

Hocam ellerinize sağlık çok güzel bir şey bu..Size çok teşekkür ederim.
Cevapla