herhangi bir klasordeki sartlaa uyan dosyalari silmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Burhan_ast
Üye
Mesajlar: 143
Kayıt: 15 Haz 2003 08:33
Konum: Almaty, Kazakhstan

herhangi bir klasordeki sartlaa uyan dosyalari silmek

Mesaj gönderen Burhan_ast »

Merhaba

kullanicinin belirttigi klasorde bulunan ornegin *.Xls uzantili veya *Ahmet*.Xls ozelliklerine uyan tum dosyalari silmem mumkunmu DeleteFile ile sanirim 1 dosya silebiliyorum,

saygilar
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Mesaj gönderen Battosai »

Kod: Tümünü seç

var
  DirInfo: TSearchRec;
  r : Integer;
begin
  r := FindFirst('C:\Download\Test\*.xls', FaAnyfile, DirInfo);
  while r = 0 do  begin
    if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
        (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
      if DeleteFile(pChar('C:\Download\test\' + DirInfo.Name))
         = false then
       ShowMessage('C:\Download\test\'+DirInfo.Name+' silinemiyor!!!');
    r := FindNext(DirInfo);
  end;
  SysUtils.FindClose(DirInfo);
  if RemoveDirectory('C:\Download\Test') = false then
    ShowMessage('C:\Download\test klasörü silinemiyor!!!');
kod alıntıdır.Üstünde sadece *.* *.xls yaparak oynama yaptım yani belirttiğin klasör içindeki tüm .xls uzantılı dosyalar silinir...kodu kafana göre değiştir.
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

Yeni bir başlık açmak istemedim
benzer yöntem ile Klasör altında *.ini gibi dosyanın olup olmadığını nasıl sorgulatırız.

Kod: Tümünü seç

 r := FindFirst('C:\KursKayitTerminal\Database.ini', FaAnyfile, DirInfo);
  while r = 0 do  begin
    if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
        (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
if    ......(pChar('C:\KursKayitTerminal\' + DirInfo.Name))
     = false then
       ShowMessage('C:\KursKayitTerminal\'+DirInfo.Name+' dosyası bulunamıyor');
    r := FindNext(DirInfo);
gibi
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

yukardaki kodda r= 0 ise yok demektir.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

ayrıca bkz delphi fundementals
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

tmm da hocam DeleteFile ile silme yapmayıp varmı kontrol ettirip böyle bir dosya yok diyeceğiz o yüzden DeleteFile nasıl düzenlenir
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Kod: Tümünü seç

while r = 0 do  begin 
satırı yerine

if komutu ile "r" yi kontrol et r =0 dönüyo ise dosya yok dersin var ise silersin v.s.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

Teşekkürler dediğiniz gibi hallettim
Cevapla