Avatar billede hugopedersen Nybegynder
30. maj 2013 - 08:44 Der er 1 løsning

Sammenligning af 2 filnavne går galt

Jeg har nedenstående function med parametrene

aFile  = et absolut filnavn
aFolder = et mappenavn der kopieres/flyttes til
aGuid  = guid som dokumentet er tildelt
aAction = hvad skal der gøres med filen (flyt/kopiere)

Jeg ville antage at linien if Trim(NewFile) = Trim(aFile) then Exit skulle stoppe koden fra at fortsætte men det sker ikke.
Linien if FileExists(NewFile) udføres selv om filnavnene er de samme.

I min debug log står der

30-05-2013 08:10:34:840 # New file: C:_Delphi_Compiled\HomeSuite\Debug\indbo\computerfladskaerm\968ED02C-21B5-4582-8A49-8463E01ADCB3.pdf
30-05-2013 08:10:34:841 # Old file: C:_Delphi_Compiled\HomeSuite\Debug\Indbo\computerfladskaerm\968ED02C-21B5-4582-8A49-8463E01ADCB3.pdf

og efter min bedste overbevisning er det de samme 2 navne

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;
Avatar billede hugopedersen Nybegynder
30. maj 2013 - 08:47 #1
Ja det var så leverpostej på brillerne der var problemet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester