From 5c15224a081291ec5dc3b4c8770a5938e25c2e40 Mon Sep 17 00:00:00 2001 From: mattias Date: Mon, 19 Oct 2015 11:22:24 +0000 Subject: [PATCH] codetools: added ExtractFileUnitname git-svn-id: trunk@50119 - --- components/codetools/fileprocs.pas | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/components/codetools/fileprocs.pas b/components/codetools/fileprocs.pas index 25a9af4658..bf8a0537da 100644 --- a/components/codetools/fileprocs.pas +++ b/components/codetools/fileprocs.pas @@ -220,6 +220,7 @@ function FilenameIsPascalUnit(const Filename: string; CaseSensitive: boolean = false): boolean; function FilenameIsPascalUnit(Filename: PChar; FilenameLen: integer; CaseSensitive: boolean = false): boolean; +function ExtractFileUnitname(Filename: string; WithNameSpace: boolean): string; function IsPascalUnitExt(FileExt: PChar; CaseSensitive: boolean = false): boolean; function SearchPascalUnitInDir(const AnUnitName, BaseDirectory: string; SearchCase: TCTSearchFileCase): string; @@ -1146,6 +1147,23 @@ begin Result:=false; end; +function ExtractFileUnitname(Filename: string; WithNameSpace: boolean): string; +var + p: Integer; +begin + Result:=ExtractFileNameOnly(Filename); + if (Result='') or WithNameSpace then exit; + // find last dot + p:=length(Filename); + while p>0 do begin + if Filename[p]='.' then begin + Delete(Result,1,p); + exit; + end; + dec(p); + end; +end; + function IsPascalUnitExt(FileExt: PChar; CaseSensitive: boolean): boolean; // check if asciiz FileExt is a CTPascalExtension '.pp', '.pas' var