ExtractFileExt
ExtractFileExt returns the file name extension of a file path. The input parameter can either be just a filename or a complete file path.
The extension is considered to be anything that includes and follows the rightmost '.' in a file name. The case of each character is not changed.
Declaration: Function ExtractFileExt( const FileName : string) : string
A basic example follows.
procedure OnMapEvent(var Value:Variant);begin Value := ExtractFileExt(Source.FileCon.CurrentFilename);end;Therefore:
ExtractFileExt('abc.txt') returns '.txt'
ExtractFileExt('abc') returns '', because there is no '.' in the file name
ExtractFileExt('abc.') returns '.'
ExtractFileExt('abc...') returns '.'
ExtractFileExt('abc.ref1.txt') returns '.txt'
ExtractFileExt('abc.TXT') returns '.TXT'
The following code illustrates this function more completely,
procedure ScriptEvent (var Value : variant);var f: string;begin f := 'abc'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc..'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc...'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.a'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.A'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.txt'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.Txt'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.txT'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.TXT'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.ref1.txt'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.ref1.ref2.txt'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + ''''); f := 'abc.exe'; LogInfo('ExtractFileExt(''' + f + ''') -> ''' + ExtractFileExt(f) + '''');end;