splitting a filename into its components

Hi experts,

suppose we have a file:

filename:='c:\programs\windows\my file.txt';

how can I split this filename into its components?

drive:='c:';
directory:='\programs\windows\';
name:='my file';
extension:='.txt';


With kind regards

Mathes
mathesAsked:
Who is Participating?
 
MadshiCommented:
Hi Mathes,

drive:=ExtractFileDrive(filename);
directory:=ExtractFilePath(filename);
Delete(directory,1,length(drive));
name:=ExtractFileName(filename);
extension:=ExtractFileExt(filename);
Delete(name,length(name)+1-length(extension),maxInt);

Regards, Madshi.
0
 
MadshiCommented:
Hmm. Normally it's this way:

drive:='c:\';
directory:='programs\windows\';

If you want to have it the other way round, add this line after the "drive:=..." line:

Delete(drive,length(drive),1);
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.