[Çözüldü] Bulunan dosyanın klasör adını alma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

[Çözüldü] Bulunan dosyanın klasör adını alma

Mesaj gönderen Lord_Ares »

Merhaba, TSearchRec ile D: sürücüsünde bulunan tüm mp3 dosyalarını bir listboxa , dosyanın adı, dosyanın yolu şeklinde ekliyorum.
Peki bulunan dosyanın sadece bulunduğu klasör ismini nasıl alabilirim?
Extractfilepath ile olmuyor çünkü çıktısı ( C:\müzik\yerli ) şeklinde oluyor oysa ben sadece bulunduğu klasör adını ( yerli ) almak istiyorum.
Teşekkürler

Kullandığım kod :

Kod: Tümünü seç

procedure Klasordeki_Mp3leri_yukle(const PathName,FileName: string; const InDir: boolean );
var Rec  : TSearchRec;
    Path,yolu : string;
begin
Path := IncludeTrailingBackslash(PathName);
if FindFirst(Path + FileName, faAnyFile - faDirectory, Rec) = 0 then
 try
   repeat

         yolu:=Path;
         Form1.CheckListBox2.Items.AddObject(Rec.Name , TYoluItem.Create(yolu));

   until FindNext(Rec) <> 0;
 finally
   FindClose(Rec);
 end;
If not InDir then Exit;
if FindFirst(Path + '*.*', faDirectory, Rec) = 0 then
 try
   repeat
    if ((Rec.Attr and faDirectory) <> 0)  and (Rec.Name<>'.') and (Rec.Name<>'..') then
         Klasordeki_Mp3leri_yukle( Path + Rec.Name, FileName, True);
   until FindNext(Rec) <> 0;
 finally
   FindClose(Rec);
 end;
end;


En son Lord_Ares tarafından 12 Eki 2016 12:36 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Bulunan dosyanın klasör adını alma

Mesaj gönderen ertank »

Merhaba,

Kodunuzda IncludeTrailingBackSlash() fonksiyonu yerine IncludeTrailingPathDelimiter() fonksiyonunu kullanmanızı öneririm.

Aşağıdaki satırı kendi fonksiyonunuz içine ekleyerek istediğinizi elde edebilirsiniz.

Kod: Tümünü seç

// Aşağıdaki Path değişkeni sizin fonksiyonunuzdaki Path değişkeni.
yolu := ExtractFileName(ExcludeTrailingPathDelimiter(Path));
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Bulunan dosyanın klasör adını alma

Mesaj gönderen Lord_Ares »

Üstadım çok teşekkürler. Dediğiniz şekilde kullanınca tam da aradığım şeye ulaştım.
Cevapla