Ver Mensaje Individual
  #1  
Antiguo 10-11-2011
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Reputación: 23
Paulao Va por buen camino
Archivos Thumbs.db aparece de rato

Tengo una aplicacion que cria unas carpetas baseado en una regla. Que pasa es que quando me a copiar unos archivos para esas carpetas(son 3 archivos. PDF, TIF y TXT). Quando me voy a copiar los archivos TXT, me lo aparece esses archivos: Thumbs.db. Como la creacion de las carpetas, los nombres de ellas son parte del nombre del archivo, me lo da error, pues los archivos Thumbs.db pertenence a la regla de construcion del nombre. Abajo mi codigo:

Código:
procedure TForm1.DevolveArquivo(Origem, Destino: String);
var
  SR: TSearchRec;
  DDir,SDir,Dir: String;
  I: Integer;
  nm_dir,
  novo_dir,
  str_token,
  novo_cont,
  nm_arq: String;
begin
  SDir := IncludeTrailingPathDelimiter(Origem);
  DDir := IncludeTrailingPathDelimiter(Destino);
  Dir := IncludeTrailingPathDelimiter(Destino);

  I := FindFirst(SDir + '*.*', faAnyFile-faDirectory, SR);
  while I = 0 do
  begin
    nm_dir := fCopia.CriaDirEdicao(SR.Name);// Aqui dá o erro
    if novo_dir = fCopia.CriaDirEdicao(SR.Name) then
      inc(cont)
    else
      cont := 1;
    novo_cont := fCopia.StrZero(cont,4);
    str_token := fCopia.PegaPosicao(SR.Name,3);
    nm_arq := StringReplace(SR.Name,str_token,novo_cont,[rfReplaceAll]);

    ForceDirectories(Dir + IncludeTrailingPathDelimiter(fCopia.CriaDirEdicao(nm_arq)));
    DDir := DDir + IncludeTrailingPathDelimiter(fCopia.CriaDirEdicao(nm_arq));
    ForceDirectories(DDir + IncludeTrailingPathDelimiter(novo_cont));
    DDir := DDir + IncludeTrailingPathDelimiter(novo_cont);
    MoveFile(PChar(SDir+SR.Name),PChar(DDir+nm_arq));
    DDir := IncludeTrailingPathDelimiter(Destino);
    novo_dir := fCopia.CriaDirEdicao(nm_arq);

    I := FindNext(SR);
  end;
  FindClose(SR);

  I :=  FindFirst(SDir + '*', faDirectory, SR);
  while I =0 do
  begin
     if (SR.Attr = faDirectory) and (SR.Name <> '.') and (SR.Name <> '..') then
       DevolveArquivo(SDir + SR.Name, DDir);
     I := FindNext(SR);
  end;
end;
Responder Con Cita