danielrgoes Postado Maio 29, 2009 Denunciar Share Postado Maio 29, 2009 Boa tarde pessoaleu queria fazer um programa de BackUp mais ele tem que entrar no C:\ da pessoa e copiar todos os xls por exemplomais do c inteiro das pastas e sub pastasalguém tem alguma ideia?abraçossss Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Maio 29, 2009 Denunciar Share Postado Maio 29, 2009 Encontrei uma Rotina para Localizar todos os arquivos do tipo que você quiser, e exibir em um ListBox, entretanto, para copiar todos eles para um outro local, ainda vou fazer ake pra você...Segue o Codigo:public procedure AddFilesToList (Filter, Folder: string; Recurse: Boolean); end; var Form1: TForm1; implementation {$R *.dfm} procedure GetSubDirs (Folder: string; sList: TStringList); var sr: TSearchRec; begin if FindFirst (Folder + '*.*', faDirectory, sr) = 0 then try repeat if (sr.Attr and faDirectory) = faDirectory then sList.Add (sr.Name); until FindNext(sr) <> 0; finally FindClose(sr); end; end; procedure TForm1.AddFilesToList(Filter, Folder: string; Recurse: Boolean); var sr: TSearchRec; sDirList: TStringList; i: Integer; begin if FindFirst (Folder + Filter, faAnyFile, sr) = 0 then repeat lbFiles.Items.Add (Folder + sr.Name); // o lbFiles é o seu ListBox! until FindNext(sr) <> 0; FindClose(sr); if Recurse then begin sDirList := TStringList.Create; try GetSubDirs (Folder, sDirList); for i := 0 to sDirList.Count - 1 do if (sDirList[i] <> '.') and (sDirList[i] <> '..') then begin Application.ProcessMessages; AddFilesToList (Filter, IncludeTrailingPathDelimiter (Folder + sDirList[i]), Recurse); end; finally sDirList.Free; end; end; end; Para Testar, insira o listbox no form, 2 Edits, e um botão em seguida insira o nome do listbox la naquela linha de codigo: lbFiles.Items.Add (Folder + sr.Name); // no lugar do lbFiles e depois no botão insira esse codigo: ListBox1.Clear; AddFilesToList(Edit1.Text, Edit2.Text, True);no caso, no primeiro edit você escreve *.xls e no segundo edit você escreve C:\ e clica no botão que vai te listar tudo!Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Maio 29, 2009 Denunciar Share Postado Maio 29, 2009 Ae Amigao, você tá com muita, muita sorte mesmo! como hoje estou de bom humor! ehehe!, passei o fimzinho de tarde para fazer o programinha especialmente para você e para quem mais quiser aproveitar!Ta do jeitinho que você pediu! Testa o programa ai e me fala !http://www.4shared.com/file/108617837/3dc5...lizaeCopia.htmlOlha a Imagem dele:Agora cá entre nós, isso é mais do que uma ajuda eim?, eheheh!Abraços!!!! :P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Maio 29, 2009 Denunciar Share Postado Maio 29, 2009 boa Douglas :D;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 danielrgoes Postado Junho 1, 2009 Autor Denunciar Share Postado Junho 1, 2009 Ae Amigao, você tá com muita, muita sorte mesmo! como hoje estou de bom humor! ehehe!, passei o fimzinho de tarde para fazer o programinha especialmente para você e para quem mais quiser aproveitar!Ta do jeitinho que você pediu! Testa o programa ai e me fala !http://www.4shared.com/file/108617837/3dc5...lizaeCopia.htmlOlha a Imagem dele:Agora cá entre nós, isso é mais do que uma ajuda eim?, eheheh!Abraços!!!! :PDouglas primeiro de td MUito obrigado mesmo pela atenção caravaleu mesmo por ter pertido tempo ai pra ajudarseguinte to testando ela aki e ela encontyra os arquivos certinhomais na hora de copiar tem uns que não copia saberia me dizer porque?a e outra uso o delphi 2007 e você coloco um componete que eu não tenhoeu já dei um jeitinho coloquei no codigo o caminhomais eu gostei do componente poderia me dizer se tem pra delphi 2007muito obrigado pela atençao abraçossss Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Junho 1, 2009 Denunciar Share Postado Junho 1, 2009 Que bom que ajudei em alguma coisa, eheh! qual o componente que você está se referindo?, eu testei aqui, tem arquivos que não copia mesmo, pois são arquivos do proprio windows, e não temos permissões para copiar eles, procura no forum algo como: Dar permissões em pastas e arquivos....é isso.... eehehe!Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 danielrgoes Postado Junho 2, 2009 Autor Denunciar Share Postado Junho 2, 2009 Que bom que ajudei em alguma coisa, eheh! qual o componente que você está se referindo?, eu testei aqui, tem arquivos que não copia mesmo, pois são arquivos do proprio windows, e não temos permissões para copiar eles, procura no forum algo como: Dar permissões em pastas e arquivos....é isso.... eehehe!Abraços!é realmente tem arquivos que não copia mais é meio caminho andadoo componente he aquele do combo com a imagemmuito obrigado pela atençao valeu mesmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Junho 2, 2009 Denunciar Share Postado Junho 2, 2009 OpaTente copiar usando a Função CopyFile() ao invés de SHFileOperationif CopyFile(PChar('caminho e nome do arquivo atual'), PChar('Caminho e nome do arquivo para onde vai'), False);Pra sobrescrever caso existir deixe False, se não quiser sobrescrever coloque Trueabraxx Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Junho 2, 2009 Denunciar Share Postado Junho 2, 2009 Aê churc, não pode colocar esse seu codigo amigo... porque tipo, no meu codigo, tem tipo umas flags, e já tem a flag overwrite, ele usa a shell do windows pra isso :wacko: , eu já testei... se o arquivo existir ele substitui sem perguntar...Abraços... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Junho 2, 2009 Denunciar Share Postado Junho 2, 2009 (editado) Sim eu verifiquei o código... a flag FOF_NOCONFIRMATION...porém acontece que usando a Shell do Windows as vezes tem algumas limitações, por exemplo, voce copia um executavel de um computador para outro, normalmente o Windows pergunta pra voce se voce deseja executar e tal, pra remover isso tem que desmarcar o "Sempre perguntar pra abrir este arquivo" ou ir nas propriedades dele pra desbloquear...Se voce chamar a execução do arquivo em questão pelo Delphi utilizando ShellExecute() vai dar a mesma mensagem... já chamando por WinExec() não da... ou seja, imaginei que pudesse ser alguma limitação de operações de usar recursos da Shell... rsEntão foi uma idéia :)abrxx Editado Junho 2, 2009 por Churc Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
danielrgoes
Boa tarde pessoal
eu queria fazer um programa de BackUp
mais ele tem que entrar no C:\ da pessoa e copiar todos os xls por exemplo
mais do c inteiro das pastas e sub pastas
alguém tem alguma ideia?
abraçossss
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.