Sample code for 30+ languages & platforms
Delphi ActiveX

Demonstrate Directory Path Functions

Demonstrates the path functions GetDirectoryName, GetExtension, GetFileName, and GetFileNameWithoutExtension.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
fac: TCkFileAccess;

begin
fac := TCkFileAccess.Create(Self);

// Note: Chilkat accepts either forward slash or backslash chars as directory separators..
Memo1.Lines.Add(fac.GetDirectoryName('/MyDir/MySubDir/myfile.ext'));
Memo1.Lines.Add(fac.GetDirectoryName('/MyDir/MySubDir'));
Memo1.Lines.Add(fac.GetDirectoryName('/MyDir/'));
Memo1.Lines.Add(fac.GetDirectoryName('/MyDir'));
Memo1.Lines.Add(fac.GetDirectoryName('/'));

Memo1.Lines.Add(fac.GetExtension('C:/mydir.old/myfile.ext'));
Memo1.Lines.Add(fac.GetExtension('C:/mydir.old/'));

Memo1.Lines.Add(fac.GetFileName('C:/mydir/myfile.ext'));
Memo1.Lines.Add(fac.GetFileName('C:/mydir/'));

Memo1.Lines.Add(fac.GetFileNameWithoutExtension('C:/mydir/myfile.ext'));
Memo1.Lines.Add(fac.GetFileNameWithoutExtension('C:/mydir/'));

Memo1.Lines.Add('---');
end;