mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 13:39:11 +02:00
implemented filename case check before adding to project
git-svn-id: trunk@3424 -
This commit is contained in:
parent
6f35e069d6
commit
c5786f8b63
@ -94,6 +94,8 @@ function CopyDirectoryWithMethods(const SrcDirectory, DestDirectory: string;
|
|||||||
function ProgramDirectory: string;
|
function ProgramDirectory: string;
|
||||||
function FindFilesCaseInsensitive(const Directory,
|
function FindFilesCaseInsensitive(const Directory,
|
||||||
CaseInsensitiveFilename: string; IgnoreExact: boolean): TStringList;
|
CaseInsensitiveFilename: string; IgnoreExact: boolean): TStringList;
|
||||||
|
function FindFirstFileWithExt(const Directory, Ext: string): string;
|
||||||
|
function FindShortFileNameOnDisk(const Filename: string): string;
|
||||||
function FilenameIsPascalUnit(const Filename: string): boolean;
|
function FilenameIsPascalUnit(const Filename: string): boolean;
|
||||||
function FilenameIsPascalSource(const Filename: string): boolean;
|
function FilenameIsPascalSource(const Filename: string): boolean;
|
||||||
function FilenameIsFormText(const Filename: string): boolean;
|
function FilenameIsFormText(const Filename: string): boolean;
|
||||||
@ -106,7 +108,6 @@ function SearchDirectoryInSearchPath(const SearchPath, Directory: string;
|
|||||||
function CreateRelativePath(const Filename, BaseDirectory: string): string;
|
function CreateRelativePath(const Filename, BaseDirectory: string): string;
|
||||||
function CreateRelativeSearchPath(const SearchPath, BaseDirectory: string): string;
|
function CreateRelativeSearchPath(const SearchPath, BaseDirectory: string): string;
|
||||||
function CreateAbsolutePath(const SearchPath, BaseDirectory: string): string;
|
function CreateAbsolutePath(const SearchPath, BaseDirectory: string): string;
|
||||||
function FindFirstFileWithExt(const Directory, Ext: string): string;
|
|
||||||
|
|
||||||
// XMLConfig
|
// XMLConfig
|
||||||
procedure LoadRecentList(XMLConfig: TXMLConfig; List: TStringList;
|
procedure LoadRecentList(XMLConfig: TXMLConfig; List: TStringList;
|
||||||
@ -235,7 +236,7 @@ begin
|
|||||||
if (FileInfo.Name='.') or (FileInfo.Name='..') then continue;
|
if (FileInfo.Name='.') or (FileInfo.Name='..') then continue;
|
||||||
if (AnsiCompareText(CaseInsensitiveFilename,FileInfo.Name)=0)
|
if (AnsiCompareText(CaseInsensitiveFilename,FileInfo.Name)=0)
|
||||||
and ((not IgnoreExact)
|
and ((not IgnoreExact)
|
||||||
or (CaseInsensitiveFilename<>FileInfo.Name))
|
or (CompareFilenames(CaseInsensitiveFilename,FileInfo.Name)<>0))
|
||||||
then begin
|
then begin
|
||||||
if Result=nil then Result:=TStringList.Create;
|
if Result=nil then Result:=TStringList.Create;
|
||||||
Result.Add(FileInfo.Name);
|
Result.Add(FileInfo.Name);
|
||||||
@ -254,6 +255,30 @@ begin
|
|||||||
and (ExtractFileNameOnly(Filename)<>'');
|
and (ExtractFileNameOnly(Filename)<>'');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function FindShortFileNameOnDisk(const Filename: string): string;
|
||||||
|
var
|
||||||
|
FileInfo: TSearchRec;
|
||||||
|
ADirectory: String;
|
||||||
|
ShortFilename: String;
|
||||||
|
begin
|
||||||
|
Result:='';
|
||||||
|
ADirectory:=ExtractFilePath(Filename);
|
||||||
|
if SysUtils.FindFirst(AppendPathDelim(ADirectory)+FindMask,
|
||||||
|
faAnyFile,FileInfo)=0
|
||||||
|
then begin
|
||||||
|
ShortFilename:=ExtractFilename(Filename);
|
||||||
|
repeat
|
||||||
|
// check if special file
|
||||||
|
if (FileInfo.Name='.') or (FileInfo.Name='..') then continue;
|
||||||
|
if CompareFilenames(ShortFilename,FileInfo.Name)=0 then begin
|
||||||
|
Result:=FileInfo.Name;
|
||||||
|
break;
|
||||||
|
end;
|
||||||
|
until SysUtils.FindNext(FileInfo)<>0;
|
||||||
|
end;
|
||||||
|
SysUtils.FindClose(FileInfo);
|
||||||
|
end;
|
||||||
|
|
||||||
function FilenameIsPascalUnit(const Filename: string): boolean;
|
function FilenameIsPascalUnit(const Filename: string): boolean;
|
||||||
var Ext: string;
|
var Ext: string;
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user