Srs. programadores e suas mágicas aqui segue uma, tivemos que construir um aplicativo para transferir do windows sem que o usuário soubesse a senha e caminhos para entrar no Linux, descobrimos um programa chamado PCSP.EXE que realiza a transferência por linha de comando, assim foi fácil, assim foi criado uma tela padrão com todas as configurações de senha e locais de onde tem para onde vai os arquivos, o usuário passa por uma segunda tela onde vai jogando os arquivos e no final clica em um botão para executar a trasferencia, este chama o programa pscp e realiza toda a tarefa.
na cláusula uses coloque shellapi
Crie um botão
Var
Comando : String;
begin
If Not DirectoryExists(Trim(FormCadastroParametros.EditDiretorioOrigem.Text)) Then
Begin
ShowMessage(‘O Diretório ‘ + Trim(FormCadastroParametros.EditDiretorioOrigem.Text) + ‘ não Existe.’);
Exit;
End;
If Not FileExists(ExtractFilePath(Application.ExeName) + ‘pscp.exe’) Then
Begin
ShowMessage(‘O Programa ‘ + ExtractFilePath(Application.ExeName) + ‘pscp.exe não Existe.’);
Exit;
End;
If (Trim(FormCadastroParametros.EditDiretorioOrigem.Text) = ”) Or (Trim(FormCadastroParametros.EditDiretorioDestino.Text) = ”) Or (Trim(FormCadastroParametros.EditArquivosOrigem.Text) = ”) Or (Trim(FormCadastroParametros.EditOpcoes.Text) = ”) Or (Trim(FormCadastroParametros.EditServidorDestino.Text) = ”) Or (Trim(FormCadastroParametros.EditLogonPrincipal.Text) = ”) Or (Trim(FormCadastroParametros.EditLogonSenhaPrincipal.Text) = ”) Then
Begin
ShowMessage(‘Todos os Campos devem ser Preenchidos’);
Exit;
End;
Comando := Trim(FormCadastroParametros.EditOpcoes.Text) + ‘ -l ‘ + Trim(FormCadastroParametros.EditLogonPrincipal.Text) + ‘ -pw ‘ + Trim(FormCadastroParametros.EditLogonSenhaPrincipal.Text) + ‘ ‘ + Trim(FormCadastroParametros.EditDiretorioOrigem.Text) + ‘\’ + Trim(FormCadastroParametros.EditArquivosOrigem.Text) + ‘ ‘ + Trim(FormCadastroParametros.EditLogonPrincipal.Text) + ‘@’ + Trim(FormCadastroParametros.EditServidorDestino.Text) + ‘:’ + Trim(FormCadastroParametros.EditDiretorioDestino.Text);
WinExec(PansiChar(‘cmd.exe /c ‘ + ExtractFilePath(Application.ExeName) + ‘pscp.exe ‘ + Comando),SW_MINIMIZE);