improved case renaming of pascal files

git-svn-id: trunk@3404 -
This commit is contained in:
mattias 2002-10-01 15:45:34 +00:00
parent ca3b7a17ce
commit d4f67913c0

View File

@ -93,6 +93,8 @@ function CopyDirectoryWithMethods(const SrcDirectory, DestDirectory: string;
OnCopyFile: TOnCopyFileMethod; OnCopyError: TOnCopyErrorMethod;
Data: TObject): boolean;
function ProgramDirectory: string;
function FindFilesCaseInsensitive(const Directory,
CaseInsensitiveFilename: string; IgnoreExact: boolean): TStringList;
// XMLConfig
procedure LoadRecentList(XMLConfig: TXMLConfig; List: TStringList;
@ -150,6 +152,13 @@ uses
{$ENDIF}
{$EndIf};
const
{$IFDEF Win32}
FindMask = '*.*';
{$ELSE}
FindMask = '*';
{$ENDIF}
function AddToRecentList(const s: string; RecentList: TStringList;
Max: integer): boolean;
begin
@ -182,6 +191,37 @@ begin
SaveStringList(XMLConfig,List,Path);
end;
{-------------------------------------------------------------------------------
function FindFilesCaseInsensitive(const Directory,
CaseInsensitiveFilename: string; IgnoreExact: boolean): TStringLists;
Search case insensitive in Directory for all files
named CaseInsensitiveFilename
-------------------------------------------------------------------------------}
function FindFilesCaseInsensitive(const Directory,
CaseInsensitiveFilename: string; IgnoreExact: boolean): TStringList;
var
FileInfo: TSearchRec;
begin
Result:=nil;
if SysUtils.FindFirst(AppendPathDelim(Directory)+FindMask,
faAnyFile,FileInfo)=0
then begin
repeat
// check if special file
if (FileInfo.Name='.') or (FileInfo.Name='..') then continue;
if (AnsiCompareText(CaseInsensitiveFilename,FileInfo.Name)=0)
and ((not IgnoreExact)
or (CaseInsensitiveFilename<>FileInfo.Name))
then begin
if Result=nil then Result:=TStringList.Create;
Result.Add(FileInfo.Name);
end;
until SysUtils.FindNext(FileInfo)<>0;
end;
SysUtils.FindClose(FileInfo);
end;
procedure LoadRecentList(XMLConfig: TXMLConfig; List: TStringList;
const Path: string);
begin
@ -1152,12 +1192,6 @@ function CopyDirectoryWithMethods(const SrcDirectory, DestDirectory: string;
function CopyDir(const CurSrcDir, CurDestDir: string): boolean;
// both dirs must end with PathDelim
const
{$IFDEF Win32}
FindMask = '*.*';
{$ELSE}
FindMask = '*';
{$ENDIF}
var
FileInfo: TSearchRec;
CurFilename,