Pablo AG 0 Denunciar post Postado Novembro 9, 2005 Bom dia amigos, Estou com um problema em uma rotina de backup que estou criando e gostaria de uma ajuda. Não estou conseguindo copiar nada ! O que fiz foi : var origem, destino : string;origen := Modulo.cdsBackupDESTINO.Text;destino := Modulo.cdsBackupORIGEM.Text;CopyFile(PChar(origen),PChar(destino), True); Agradeço a ajuda, Pablo Aguillar Compartilhar este post Link para o post Compartilhar em outros sites
lenn0n 0 Denunciar post Postado Novembro 9, 2005 essa função eu tenho aqui numas apostilas, não tive tempo de testa nem nada, mas funciona... []'s Function CopiaArquivo(scrname,destname:string):byte;var source,destination:file; buffer:array[1..1024] of byte; readcnt,writecnt:word; pname,dname,fname,ename:String; { USO: R:=COPIAARQUIVO('C:\diretorio\FILE.EXT','C:\diretorio\FILE.EXT'); Devolve 0=Ok, 1=Erro no Origem, 2=Erro no Destino, 3=Disco Cheio }begin AssignFile(source,scrname); Try Reset(source,1); Except CopiaArquivo:=1; Exit;end;If destname[length(destname)]='\' then begin pname:=scrname; destname:=destname+separa(scrname,'\',Ocorre(scrname,'\')+1); end; AssignFile(destination,destname); Try Rewrite(destination,1); Except CopiaArquivo:=2; Exit;end;Repeat BlockRead(source,buffer,sizeof(buffer),readcnt); Try BlockWrite(destination,buffer,readcnt,writecnt); Except CopiaArquivo:=3; {Disco Cheio?} Exit;end;until (readcnt=0) or (writecnt<>readcnt);CloseFile(destination);CloseFile(source);CopiaArquivo:=0;end; Compartilhar este post Link para o post Compartilhar em outros sites
Pablo AG 0 Denunciar post Postado Novembro 9, 2005 LennOn,Essa função copia *.* tipo, todos arquivos e subdiretórios de um diretório origem para um destino ?Att,Pablo Aguillar Compartilhar este post Link para o post Compartilhar em outros sites
lenn0n 0 Denunciar post Postado Novembro 9, 2005 LennOn,Essa função copia *.* tipo, todos arquivos e subdiretórios de um diretório origem para um destino ?Att,Pablo AguillarPS: antes do begin tem a forma de usá-la comentadoessa não, copia tal arquivo de tal pasta para tal arquivo de tal pasta, eu tenho uma aqui q copia usando coringa (ex: *.exe / *.* / *.txt)eh isso q você precisa? Compartilhar este post Link para o post Compartilhar em outros sites
Pablo AG 0 Denunciar post Postado Novembro 10, 2005 LennOn,É isso mesmo .... eu preciso que copie *.* de uma pasta para outra.Manda ela ai pra mim.Abraço,Pablo Aguillar Compartilhar este post Link para o post Compartilhar em outros sites
lenn0n 0 Denunciar post Postado Novembro 10, 2005 procedure TForm1.Button2Click(Sender: TObject);var SR: TSearchRec; I: integer; Origem, Destino: string;begin I := FindFirst('c:\Origem\*.*', faAnyFile, SR); while I = 0 do begin if (SR.Attr and faDirectory) <> faDirectory then begin Origem := 'c:\Origem\' + SR.Name; Destino := 'c:\Destino\' + SR.Name; if not CopyFile(PChar(Origem), PChar(Destino), true) then ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino); end; I := FindNext(SR); end;end; agora foi? []'s Compartilhar este post Link para o post Compartilhar em outros sites
Pablo AG 0 Denunciar post Postado Novembro 11, 2005 Esta caindo direto no erro. Olha o que estou fazendo. Armazeno no bco Origem e Destino. Origem = c:\Arquivos Destino = c:\backup procedure CopiaArquivoDiretorio();var SR: TSearchRec; I: integer; Origem, Destino: string;begin I := FindFirst(Origem + '\*.*', faAnyFile, SR); while I = 0 do begin if (SR.Attr and faDirectory) <> faDirectory then begin Origem := Modulo.cdsBackupORIGEM.Text + SR.Name; Destino := Modulo.cdsBackupDESTINO.Text + SR.Name; if not CopyFile(PChar(Origem), PChar(Destino), true) then ShowMessage('ERRO AO COPIAR ' + Origem + ' PARA ' + Destino); end; I := FindNext(SR); end;end; depois chamo a função assim. CopiaArquivoDiretorio(); Compartilhar este post Link para o post Compartilhar em outros sites
lenn0n 0 Denunciar post Postado Novembro 11, 2005 ixi..bom, como eu disse eu soh peguei de uma apostila que eu tenho aqui (ctrl+c / ctrl+v) ...da uma debugada aí q infelizmente nao vou pode ajuda-lo[]'s Compartilhar este post Link para o post Compartilhar em outros sites
Pablo AG 0 Denunciar post Postado Novembro 11, 2005 LennOn, Creio que este problema deve ser alguma boberinha que estou cometendo, vou estudar um pouquinho o que esta ocorrendo, mas mesmo assim muito obrigado pela ajuda. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Abraço Pablo Aguillar Compartilhar este post Link para o post Compartilhar em outros sites