TRANSFERENCIA FTP

ARES 07/01/2011 12:44:52
#361541
Amigos,

Já criei alguns tópicos sobre transferencia FTP e, como já devem ter percebido eu tenho
pouco conhecimento e muita força de vontade (rsrs).

Portanto, segue mais uma dúvida;
Gostaria de criar um FTP que não fosse necessário que o usuário selecionase a pasta com os arquivos e sim o
programa, automático.

segue o código que estou usando, acredito ser do Matiolli:

Private Sub cmdRecebe_Click()
Dim contador As Integer
Dim operacao As String
Dim nomeArquivo As String, arquivoSaida As String

For contador = 0 To lstRemote.ListCount - 1
If lstRemote.Selected(contador) = True Then
nomeArquivo = lstRemote.List(contador)
If Len(dirList.Path) > 3 Then
arquivoSaida = dirList.Path & [Ô]\[Ô] & nomeArquivo

Else
arquivoSaida = dirList.Path

End If
operacao = [Ô]recv [Ô] & nomeArquivo & [Ô] [Ô] & arquivoSaida
executaComando operacao, False
lstRemote.Selected(contador) = False
End If
Next contador
filList.Refresh
End Sub


Como poderia muda-lo para localizar a pasta sozinho?

Desde já agradeço.
PLUS 17/01/2011 14:29:35
#362498
Quando se logar no FTP, passe o comando:

cd local_padrao


Até mais
ARES 18/01/2011 08:15:22
#362543
Plus, bom dia!

Obrigado pela resposta mas, como ficaria?

a pasta no servidor é: c:\asgard\export\ah01\clientes.txt
no cliente é: c:\asgard\import\

ou seja, o dado estraido do servidor (c:\asgard\export\ah01\clientes.txt) será enviado para a pasta no cliente (c:\asgard\import\clientes.txt).

segue o código para conexão

Private Sub conectaHost()
Dim operacao As String

On Error GoTo connectError

If txtAddress.Text <> [Ô][Ô] Then
itcFTP.URL = txtAddress.Text
itcFTP.UserName = txtUsername.Text
itcFTP.Password = txtPassword.Text
listaDir
cmdEnvia.Enabled = True
cmdRecebe.Enabled = True
cmdMkDir.Enabled = True
cmdDelete.Enabled = True
lstRemote.Enabled = True
cmdConecta.Caption = [Ô]D&esconectar do Host Remoto[Ô]
Else
MsgBox [Ô]Informe o nome do servidor FTP.[Ô], vbCritical
txtAddress.SetFocus
End If
Exit Sub

connectError:
MsgBox Err.Description, vbExclamation, [Ô]FTP[Ô]
End Sub


Desde já agradeço.
PLUS 18/01/2011 08:48:45
#362547
Resposta escolhida
Entra aqui amigo: http://www.macoratti.net/vb_ftp1.htm
Tenho certeza que tem a resposta, procura sobre a função
Citação:

executaComando

ARES 19/01/2011 09:55:31
#362702
Plus, bom dia!

obrigado pela dica e, desculpe-me por não ter pesquisado adequadamente.

o problema está resolvido, segue o código:


Private Sub conectaHost()
Dim operacao As String

On Error GoTo connectError

If txtAddress.Text <> [Ô][Ô] Then
itcFTP.URL = txtAddress.Text
itcFTP.UserName = txtUsername.Text
itcFTP.Password = txtPassword.Text

Dim operacao1 As String
Dim operacao2 As String

operacao1 = [Ô]recv [Ô] & Me.txtOrigem & [Ô]\clientes.txt[Ô] & [Ô] [Ô] & Me.txtDestino & [Ô]\clientes.txt[Ô]
executaComando operacao1, False

operacao2 = [Ô]recv [Ô] & Me.txtOrigem & [Ô]\vendas.txt[Ô] & [Ô] [Ô] & Me.txtDestino & [Ô]\vendas.txt[Ô]
executaComando operacao2, False

Else

MsgBox [Ô]Informe o nome do servidor FTP.[Ô], vbCritical
txtAddress.SetFocus
End If

Exit Sub

connectError:
MsgBox Err.Description, vbExclamation, [Ô]FTP[Ô]
End Sub

Att.
Ares
Tópico encerrado , respostas não são mais permitidas