Salvar arquivo em pasta pre-definida
Olá,
Alguem sabe como fazer isso, o usuario clica em um button abre uma caixa de dialogo onde ele vai procurar por um arquivo na maquina dele e qdo achar seleciona o arquivo e depois clica em SALVAR e o arquivo é salvo numa pasta pre-definida (C:\Contas). Isso pode ser feito com o SAVEDIALOG ou tem que ser outro componente?
Grato
Luiz Carlos
Alguem sabe como fazer isso, o usuario clica em um button abre uma caixa de dialogo onde ele vai procurar por um arquivo na maquina dele e qdo achar seleciona o arquivo e depois clica em SALVAR e o arquivo é salvo numa pasta pre-definida (C:\Contas). Isso pode ser feito com o SAVEDIALOG ou tem que ser outro componente?
Grato
Luiz Carlos
Luiz Carlos
Curtidas 0
Respostas
Joel Rodrigues
14/06/2012
Cara, você vai usar um componente TOpenDialog e definir o diretório inicial dele. Ao clicar no botão, você pega o nome do arquivo selecionado (opendialog.FileName) e usa para copiar o arquivo para a pasta padrão usando o comando FopyFile.
Boa sorte.
Boa sorte.
GOSTEI 0
Luiz Carlos
14/06/2012
Voce poderia me dar um exemplo de como usar esse comando, por exemplo o usuario vai buscar o arquivo na maquina dele com o opendialog, ai seleciona o arquivo e clica em ABRIR no opendialog e o arquivo é salvo na pasta C:\Contas direto.Como faço isso?
Grato
Luiz Carlos
Grato
Luiz Carlos
GOSTEI 0
Joel Rodrigues
14/06/2012
O código é o seguinte:
Eu não testei esse código, escrevi direto aqui. Adeque à sua necessidade e teste.
if openDlg.Execute then begin if CopyFile(PChar(openDlg.FileName), PChar(´C:\Contas\´+ExtractFileName(openDlg.FileName)), True) then ShowMessage(´Arquivo copiado com sucesso!´); end;
Eu não testei esse código, escrevi direto aqui. Adeque à sua necessidade e teste.
GOSTEI 0
Luiz Carlos
14/06/2012
Blza Joel, funcionou perfeito. Agora desculpe pertubar de novo, mas como faria para se em vez de aalvar na pasta C:\Contas eu quisesse salvar em uma subpasta cujo nome seria o conteudo de um edit, exemplo: salvar o arquivo que foi selecionado no opendialog em C:\Contas\ + edconta.text (este edconta.text contem o nome da subpasta).
Grato
Luiz Carlos
Grato
Luiz Carlos
GOSTEI 0
Joel Rodrigues
14/06/2012
Ora, cara, você mesmo postou a resposta. Você chegou a tentar fazer?
[code]
´C:\Contas\´ + edconta.text+´\´+ExtractFileName(openDlg.FileName)
[code]
[code]
´C:\Contas\´ + edconta.text+´\´+ExtractFileName(openDlg.FileName)
[code]
GOSTEI 0
Luiz Carlos
14/06/2012
Tentei fazer desse jeito mas não deu certo:
if AbrePDF.Execute then
begin
if CopyFile(PChar(ABREPDF.FileName), PChar(C:\Contas\ + edcontas.Text + ExtractFileName(abrePDF.FileName)), True) then
ShowMessage(Anexo gravado com sucesso!);
end;
Mas ao inves de salvar na subpasta (cujo nome esta no edcontas) ele salva na pasta C:\Contas e o nome do arquivo é alterado da seguinte forma, nome original ALMOX, apos salvar na pasta errada ele tambem altera o nome para 10ALMOX, onde 10 é o conteudo do edcontas.
Grato
Luiz Carlos
if AbrePDF.Execute then
begin
if CopyFile(PChar(ABREPDF.FileName), PChar(C:\Contas\ + edcontas.Text + ExtractFileName(abrePDF.FileName)), True) then
ShowMessage(Anexo gravado com sucesso!);
end;
Mas ao inves de salvar na subpasta (cujo nome esta no edcontas) ele salva na pasta C:\Contas e o nome do arquivo é alterado da seguinte forma, nome original ALMOX, apos salvar na pasta errada ele tambem altera o nome para 10ALMOX, onde 10 é o conteudo do edcontas.
Grato
Luiz Carlos
GOSTEI 0
Luiz Carlos
14/06/2012
Rapaz, foi vacilo meu, esqueci de colocar a + \
GOSTEI 0
Luiz Carlos
14/06/2012
Rapaz, foi erro meu, esqueci de colocar + \ + depois do edcontas.text, por isso estava dando errado. Muito obrigado pela ajuda Joel.
Grato
Luiz Carlos
Grato
Luiz Carlos
GOSTEI 0