OZ8*_*8HP 0 delphi string-comparison
我有以下带参数的功能
aFile =完整的文件名
aFolder =要复制/移动到的foldername
aGuid =文档分配的指导
aAction =如何处理fil(移动或复制)
如果Trim(NewFile)= Trim(aFile),我会猜测该行,然后如果旧文件与新文件相同,则应该停止代码执行任何操作.但事实并非如此.即使文件相同,如果执行FileExists(NewFile),该行.
在我的调试日志中
30-05-2013 08:10:34:840#新文件:C:_Delphi_Compiled\HomeSuite\Debug\indbo\computerfladskaerm\968ED02C-21B5-4582-8A49-8463E01ADCB3.pdf
30-05-2013 08:10:34:841#旧文件:C:_Delphi_Compiled\HomeSuite\Debug\Indbo\computerfladskaerm\968ED02C-21B5-4582-8A49-8463E01ADCB3.pdf
据我所知,这些名字是一样的
function DocumentHandle(aFile, aFolder, aGuid: string; aAction: TDocumentAction): string;
const
CopyMsg = 'Der findes allerede en fil med det navn!' + sLineBreak +
'Filen omdøbes derfor til et unikt navn';
var
NewFile: string;
begin
Result := aFile;
try
NewFile := ExtractFileName(aFile);
NewFile := aFolder + NewFile;
if Trim(NewFile) = Trim(aFile) then
Exit;
if FileExists(NewFile) then
begin
NewFile := ExtractFileExt(aFile);
NewFile := aFolder + CleanGuid(aGuid) + NewFile;
MessageDlg(CopyMsg, mtWarning, [mbOk], 0);
end;
case aAction of
daCopy:
begin
if CopyFile(PwideChar(aFile), PwideChar(NewFile), False) then
Result := NewFile;
end;
daMove:
begin
if MoveFile(PwideChar(aFile), PwideChar(NewFile)) then
Result := NewFile;
end;
end;
except
on E: exception do
Logfile.Error('U_Documents.DocumentHandle: ' + E.Message);
end;
end;
Run Code Online (Sandbox Code Playgroud)
比较是大小写敏感的,你必须indbo对Indbo你的文件名.你可以比较一下
UpperCase(f1)=UpperCase(f2)
Run Code Online (Sandbox Code Playgroud)
要么
if SameText(f1,f2) then ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |