Dosyaya Yazılan Veriyi Okuma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Dosyaya Yazılan Veriyi Okuma

Mesaj gönderen akissoftware »

Arkadaşlar herkese merhaba.

Şirketimizde kullandığımız bir program log.txt dosyasına çeşitli sürelerde veri yazıyor. Bu log.txt dosyasını açarak eklenen verileri görebiliyoruz.

Benim yapmak istediğim; program ve log.txt dosyası arasına girip bu dosyaya yazılan verinin kopyasını kendi programımdan görmek. Böyle bir sniff işlemi yapabilir miyim ? Bu konuda bilgisi tecrübesi olan tüm arkadaşların yardımına ihtiyacım var.
Şimdiden çok teşekkürler
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Dosyaya Yazılan Veriyi Okuma

Mesaj gönderen akissoftware »

Ayrıca bir şeyi ekleyeyim;
Program çalışırken log.txt dosyasını kitliyor....
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Dosyaya Yazılan Veriyi Okuma

Mesaj gönderen SimaWB »

Kod: Tümünü seç

TFileStream.Create(Dosyaİsmi, fmOpenRead or fmShareDenyNone);
ile dosya açılmıyor mu?
There's no place like 127.0.0.1
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Dosyaya Yazılan Veriyi Okuma

Mesaj gönderen akissoftware »

Verdiğiniz kod ile bir kaç araştırma yaptım.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
    slFile: TStrings;
    stream: TStream;
begin
Memo1.Lines.Clear;
   slFile := TStringList.Create;
   try
      stream := TFileStream.Create('c:\log.txt', fmOpenRead or fmShareDenyNone);
      try
         slFile.LoadFromStream(stream);
      finally
         stream.Free;
      end;

      memo1.Lines.Add(slfile.Text);
   finally
      slFile.Free;
   end;


end;

fakat burda bir soru daha ortaya çıkıyor. bu dosyaya veri yazıldığını nasıl anlayabilirim ? bu sayede her yeni yazılan veriyi kendi programıma çekmek istiyorum. şimdiden teşekkürler
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Dosyaya Yazılan Veriyi Okuma

Mesaj gönderen SimaWB »

periyodik olarak stream.size'ı kontrol edebilirsiniz. En son baktığınızdakinden farklı ise yeni kayıt eklenmiş demektir. Yada dosya özelliklerinden dosyanın en son değiştirilme tarihini kontrol edebilirsiniz.(Bu forumda var, araştırabilirsiniz). Aklıma gelen bir başka seçenek; dosyanın bulunduğu klasörü sürekli kontrol eden directory watch tarzı birşey kullanman. (FindFirstChangeNotification) Bu sayede klasörde herhangi bir dosyada değişiklik olduğunda senin dosyanda mı değişiklik yapıldığını yakalayabilirsin.
There's no place like 127.0.0.1
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Dosyaya Yazılan Veriyi Okuma

Mesaj gönderen orhancc »

Cevapla