Delphi – Ekstrakcija naziva fajla

Kao što sigurno znate u Delphi je ugrađena funkcija za ekstrakciju (izdvajanje) naziva određenog fajla iz cele putanje do fajla. Ta funkcija je „ExtractFileName„, a sintaksa je sledeća:


function ExtractFileName(const FileName: string): string;

Rezultat funkcije je string koji predstavlja naziv fajla sa ekstenzijom. Na primer ako je ulazni string – putanja bila „C:WindowsMediaDing.wav“, rezultat će biti „Ding.wav“.

Radi proširenja mogućnosti ove funkcije navešćemo vam novu funkciju koja će da ekstrahuje naziv fajla iz putanje i da rezultat podeli na sam naziv, i na ekstenziju. Pokrenite novi projekt u Delphi-ju i iskopirajte sledeću funkciju u projekt:


function IzdvojNazivFajla(Fajl:string):string;
var
S:string;
begin
S:=“;
while Pos(‘.’, Fajl) > 0 do
begin
S:=S+Copy(Fajl,1,Pos(‘.’,Fajl)-1);
Delete(Fajl,1,Pos(‘.’,Fajl));
end;
result:=S;
end;

Ova funkcija će samo da iz rezultata funkcije ExtractFileName da izdvoji naziv. Evo i primera, na formu dodajte jedno dugme i tri label kontrole. U događaj „Click“ dugmića ubacite sledeći kod:


procedure TForm1.Button1Click(Sender: TObject);
var
strNazivFajla, strEkstenzija, strPutanja:string;
begin
strPutanja:=’C:WindowsMediaDing.wav’;
strNazivFajla := ExtractFileName(strPutanja);
label1.Caption:= strNazivFajla;
strEkstenzija := ExtractFileExt(strNazivFajla);
label2.Caption:= strEkstenzija;
label3.Caption := IzdvojNazivFajla(strNazivFajla);
end;

Kao što vidite, uvodimo tri varijable, pa varijabli strPutanja dodeljujemo punu putanju do fajla. Zatim varijabla strNazivFajla prima pun naziv (ekstenzija i naziv) fajla dobijen pozivom ugrađene funkcije ExtractFileName. Potom iz rezultujućeg stringa izdvajamo pomoću dve funkcije:
  • ExtractFileExt – izdvajamo ekstenziju fajla (ugrađena funkcija).
  • IzdvojNazivFajla – izdvajamo samo naziv, bez ekstenzije.

Pratite Krstaricu na www.krstarica.com