Fórum Não consigo transferir arquivo do cliente para o servidor #442682
12/05/2013
0
Busco normalmente o arquivo, e gravo o caminho do mesmo, em um edit, através da procedure abaixo:
procedure Tfrm_CadProposicao.BuscarClick(Sender: TObject);
begin
inherited;
begin
OpenDialog:= TOpenDialog.Create(nil);
OpenDialog.Title:='Selecione um Documento ...';
OpenDialog.Filter:='Todos os Documentos Admitidos |*.pdf;*.doc;*.xls;*.txt;*.rtf;*.ttf';
if OpenDialog.Execute then
edtCaminho.Text:= OpenDialog.FileName;
FreeAndNil(OpenDialog);
btn_Enviar.Visible := True;
txt_Mandato.Text := cbb_Mandato.Text;
txt_Tipo.Text := cbb_TipoProposicao.Text;
end;
end;
Depois passo oas parâmetros do origem e destino para a função CopyFile:
var arquivo_origem, arquivo_destino: string; procedure Tfrm_CadProposicao.btn_EnviarClick(Sender: TObject); begin inherited; arquivo_origem := edtDelphiCaminho.Text; arquivo_destino := '\\192.168.0.5\C:Sistema Prolegis\ARQUIVOS\PROPOSICOES\MANDATO\' + txt_Mandato.Text + '\'+ txt_Tipo.Text + '\'''; CopyFile(PChar(arquivo_origem), PChar(arquivo_destino), True) end;
E o resultado é simplesmente nada, não dá erro, não cria as pastas, e nem copia o arquivo selecionado.
Alguém poderia, pelo amorrrrrrrrr de Deus, me dizer o que está faltando neste código, ou o que eu fiz errado?
Celso Souza
Curtir tópico
+ 0Posts
12/05/2013
Carlos Bernardo
arquivo_destino := '\\192.168.0.5\C:'+ bla bla bla;
arquivo_destino := '\\192.168.0.5\C\'+ bla bla bla;
Gostei + 0
13/05/2013
Celso Souza
Gostei + 0
14/05/2013
Leonardo Xavier
Gostei + 0
14/05/2013
Wilson Brito
procedure Tfrm_CadProposicao.btn_EnviarClick(Sender: TObject); begin inherited; arquivo_origem := edtDelphiCaminho.Text; arquivo_destino := '\\192.168.0.5\C:Sistema Prolegis\ARQUIVOS\PROPOSICOES\MANDATO\' + txt_Mandato.Text + '\'+ txt_Tipo.Text + '\' + ExtractFileName(edtDelphiCaminho.Text); //Informar o nome do arquivo de destino If not DirectoryExists(ExtractFilePath(arquivo_destino)) Then //Forçar a criação dos diretórios ForceDirectories(ExtractFilePath(arquivo_destino)); CopyFile(PChar(arquivo_origem), PChar(arquivo_destino), True) end;
Gostei + 0
14/05/2013
Diego Garcia
Gostei + 0
14/05/2013
Rodrigo Bernal
seguinte coloque da seguinte forma c:\suapasta\seuaquivo e verifica.
Gostei + 0
14/05/2013
Celso Souza
Boa noite Amigos
Com a ajuda de vocês, e mais a importantíssima colaboração do companheiro batera do fórum Active Delphi, conseguimos resolver o problema.
E pra quem precisar vai ai o código completo:
var
//variáveis que armazenarão os valores para a função copyfile
arquivo_origem, arquivo_destino: string;
procedure Tfrm_CadProposicao.btnDelphiBuscarClick(Sender: TObject);
begin
inherited;
begin
//abre a janela para selecionar o arquivo
OpenDialog:= TOpenDialog.Create(nil);
OpenDialog.Title:='Selecione um Documento ...';
OpenDialog.Filter:='Todos os Documentos Admitidos |*.doc;*.xls;*.txt;*.rtf;*.ttf;*.htm;*.html';
if OpenDialog.Execute then
//depois de selecionado o caminho do arquivo é gravado no edit
edtDelphiCaminho.Text:= OpenDialog.FileName;
FreeAndNil(OpenDialog);
btn_Enviar.Visible := True;
//os valores das combobox servem pra definir o caminho de destino, que sempre mudam
txt_Mandato.Text := cbb_Mandato.Text;
txt_Tipo.Text := cbb_TipoProposicao.Text;
end;
end;
procedure Tfrm_CadProposicao.btn_EnviarClick(Sender: TObject);
begin
inherited;
//variável recebe o valor gravado ao buscar o arquivo
arquivo_origem := edtDelphiCaminho.Text;
//variável recebe o endereço do servidor e os valores passados pelas combobox ao edits e mais o nome do arquivo de origem
arquivo_destino := '\\192.168.0.5\C\Sistema Prolegis\ARQUIVOS\PROPOSICOES\MANDATO\' + txt_Mandato.Text + '\'+ txt_Tipo.Text + '\' + ExtractFileName(arquivo_origem);
//criando os diretorios de destino
CreateDir('\\192.168.0.5\C\Sistema Prolegis\ARQUIVOS\PROPOSICOES\MANDATO\' + txt_Mandato.Text);
CreateDir('\\192.168.0.5\C\Sistema Prolegis\ARQUIVOS\PROPOSICOES\MANDATO\' + txt_Mandato.Text + '\'+ txt_Tipo.Text);
//chamada da função copy
if CopyFile(PChar(arquivo_origem), PChar(arquivo_destino), True)=true then
showmessage('Arquivo copiado com sucesso');
end;
Muito bom mesmo! e em breve estarei aqui novamente com mais uma dúvida, tenho certeza disso.
Abraços e muito obrigado mesmo aos amigos pela preciosa atenção.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)