S.A. arakdaşlar;
Kontrol etmem gereken bir dosya listesi mevcut yalnız bu dosyalar zamanla artış gösteriyor, bu nedenle kontrol etme zorlaşıyor. Klasördeki listeyi bir file listboxa alıyorum ve dosyaları kontrol ediyorum. Listenin Filelistbox a yüklenme sürersi bile bir kayıp sayılır çünkü dosya sayısı gitikçe artacak ve ben bu listeyi her defasında taramak zorunda kalacağım. Listeyi hafifletmek için hiç birşekilde dosya silme yada yer değiştirme lüksüm yok. Bana pratik olabilecek bir yol göstermenzi rica ediyorum. Mesela en son kontrol ettiğim dosya itibari ile filelistboxa yükleme imkanım varmı yada ona benzer bir yol mümkün mertebe zaman kaybı olmadan sadece ihtiyacım olanı alıp kontrol etmek istiyorum.
Saygılar.
Klasördeki dosya listesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Klasördeki dosya listesi
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Re: Klasördeki dosya listesi
Ne yapmak istediğinizi tam anlayamamış olsam da şöyle bir kod işinizi görebilir/fikir verebilir sanırım.
Kod: Tümünü seç
procedure DosyaKontrol;
var
EskiListe,YeniListe:TStringList;
i:Integer;
sr:TSearchRec;
el:String;
begin
el:='DosyaListesi.txt';
EskiListe:=TStringList.Create;
YeniListe:=TStringList.Create;
if FileExists(el) then EskiListe.LoadFromFile(el);
i:=FindFirst('*.*',faAnyFile-faDirectory,sr);
while (i=0) do
begin
If EskiListe.IndexOf(sr.Name)=-1 then YeniListe.Add(sr.Name);
i:=FindNext(sr);
end;
FindClose(sr);
//Eski listede olmayan yeni dosyalar YeniListe içerisinde.
if YeniListe.Count=0 then
ShowMessage('Yeni dosya yok') else
ShowMessage('Yeni dosyalar:'+#13+#13+YeniListe.Text);
//Eski listeyi de güncelleyeceksek;
EskiListe.AddStrings(YeniListe);
EskiListe.SaveToFile(el);
YeniListe.Free;
EskiListe.Free;
end;
Re: Klasördeki dosya listesi
Teşekkür ederim istediğim şeyi farklı bir mantık ile yapmışsın. İşe yarıyor ancak ben başka bir mantık kullandım çünkü dosya sayısı çok fazla olduğu için bu gibi karşılaştırmalar zaman kaybına sebep olur diye işe bu açıdan yaklaşmamıştım doğrusu, ama çalışıyor.
Benim yaptığım ise senin yaptığına banze ancak ancak ben senin mantığın üzerinden değerlendirecek olursak listeyi ilk okuduğum zaman dosya tarihi en büyük olanın dosya tarih bilgisini saklıyor ve listeyi tekrar kontrol ettiğim zaman kontrol edilenler arasında sakladığım tarihten daha büyük olan dosyaları yeni dosya olarak değerlendiriyorum. bunuda paylaşmak istedim tekrar teşekkür ederim.
Benim yaptığım ise senin yaptığına banze ancak ancak ben senin mantığın üzerinden değerlendirecek olursak listeyi ilk okuduğum zaman dosya tarihi en büyük olanın dosya tarih bilgisini saklıyor ve listeyi tekrar kontrol ettiğim zaman kontrol edilenler arasında sakladığım tarihten daha büyük olan dosyaları yeni dosya olarak değerlendiriyorum. bunuda paylaşmak istedim tekrar teşekkür ederim.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;