bir klasörün içerisinde oluşturulan enson dosya nasıl yakala

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

bir klasörün içerisinde oluşturulan enson dosya nasıl yakala

Mesaj gönderen diseqc »

merhabalar arkadaşalr yapmak istediğim bir yedekleme programı yedeklenecek dosyayı başka bir program bir klasörün içerisine yedek_17_08_2009 adıyla oluşturuyor ve hergün tarihi değiştirerek devam ediyor yamak istediğim ise hergün bu dosyayı yakalayıp başka bir yere copyalamak

yani
copyfile(pchar(ensondosyayı_yakala),pchar(c:\yedekdosya\ensondosyayı_yakala)) gibi
bu en son dosyayı yakala nasıl olacak bir yardım edin umarım anlatabilmişimdir....
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: bir klasörün içerisinde oluşturulan enson dosya nasıl yakala

Mesaj gönderen conari »

FindLast işinizi görür sanırım.

Kod: Tümünü seç

Function FindFirst: Boolean;
Function FindLast : Boolean;
Function FindNext : Boolean;
Function FindPrior: Boolean;
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: bir klasörün içerisinde oluşturulan enson dosya nasıl yakala

Mesaj gönderen sabanakman »

Aynı cevabı buradan da verelim :) . Maksat kaynak bol olsun.

Kod: Tümünü seç

function EnSonDosya(KlasorAdi:String):String;
var Dosya:TSearchRec; DosyaTar:Integer;
begin
  Result:='';DosyaTar:=-MaxInt;
  if (KlasorAdi<>'') and (KlasorAdi[Length(KlasorAdi)]<>'\') then
   KlasorAdi:=KlasorAdi+'\';
  if FindFirst(KlasorAdi+'*.*',faAnyFile,Dosya)=0 then repeat
    if ((Dosya.FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)=0) and (DosyaTar<Dosya.Time) then begin
      DosyaTar:=Dosya.Time;
      Result:=KlasorAdi+Dosya.Name;
    end;
  until FindNext(Dosya)<>0;
  FindClose(Dosya);
end;
Örnek Kullanım..:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var DosyaAdi:String;
begin
  DosyaAdi:=EnSonDosya('c:\klasor'); //klasördeki son dosya adını yoluyla verir
  if DosyaAdi<>'' then //->dosya varsa ve bulmuşsa
   CopyFile(PChar(DosyaAdi),PChar('c:\yedekdosya\'+ExtractFilePath(DosyaAdi)),False);
end;
şeklinde olabilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla