Tutorial - Trabalhando com ftp no Delphi
Bem , quem vos fala sou eu , OnlyOne , como disse anteriormente , estou
escrevendo este texto sobre como trabalhar com FTP no Delphi 7 ok ?
este nao e mais um daqueles textos explicando o q e ftp ou os seus
comandos basicos , mas sim um texto voltado para programaçao
let's go guys ....
1 - TIdFTP
vamos usar esse componente ai para realizarmos os traballhos com ftp
insira ele no seu projeto. olha so a foto do componente , ao lado desse
bichinho feio ai ...
(//http://i65.photobucket.com/albums/h226/mmmx2/tid.jpg)
de posse do componente , vamos configura-lo
* renomeie seu componente ne ? duh .... , eu to chamando o meu de 'ftp'
2 - Fazendo conexao no servidor FTP
para conectar no ftp , faremos assim :
ftp.Host := 'ftp.host.com.br';
ftp.Port := 21
ftp.Username := 'login';
ftp.Password := 'senha';
ftp.Connect(true);
Eplicando :
ftp.Host := 'ftp.host.com.br';
: endereço do servidor ftp
ftp.Port := 21
: porta do servidor (21 padrao)
ftp.Username := 'login';
: seu login no servidor
ftp.Password := 'senha';
: sua senha no servidor
ftp.Connect(true);
: conecta no servidor , o parametro
TRUE indica q sera feito o login tambem.
3 - Apos conectar
temos duas coisas a serem feitas apos conectar e fazer login no
servidor FTP
* obter a relaçao dos arquivos remotos - logico q quando vc conecta vc
quer ver oq tem no ftp isso pode ser feito da seguinte forma :
ftp.List(lista.Items,'',false);
Explicando :
parametro 1 : lista.Items -> lista e o nome de um componente TListBox q
eu inseri no projeto ,quando vc lista arquivos no ftp pelo metodo
'List', ele devolve a relaçao de arquivos em um TStrings , pra gente
poder ver isso , a gente tem q jogar esse TStrings pra alguem q receba
isso por isso to usando um TListBox , a opçao 'Items' do TListBox
recebe esse resultado , ok ?
parametro 2 : '' -> esse espaço ai e um filtro , filtra o q vai
aparecer pra vc ver , o '' indica q deve ser mostrado tudo o q estiver
no ftp , se vc usar assim
'*' , aparecerao apenas os diretorios do ftp
'*.exe' , aparecerao apenas os *.exe do seu ftp , e assim por diante
parametro 3 : false -> false aqui quer dizer pra nao aparecer os
detalhes dos arquivos , tipo permissao de acesso , data , etc , eu
deixo como false pq as infos poluem muito o resultado
* A segunda coisa q podemos fazer apos a conexao e por algo dentro do
evento OnConnected
, o q estiver ai dentro sera executado
paralelamente , eu desabilto algumas opçoes nesse evento , e opcional .
4 - Acessando uma pasta
ok , pra entrar em uma pasta , deve-se fazer assim :
ftp.ChangeDir(nome da pasta);
e vc estara dentro da pasta
sem segredos ai ne ?
5 - Vendo o conteudo de uma pasta
a mesma coisa:
ftp.ChangeDir(nome da pasta);
ftp.List(lista.Items,'',false);
vc entra na pasta e lista seus arquivos , muito simples
6 - Renomeando uma pasta
para mudar o nome de uma pasta ou arquivo use o metodo :
ftp.Rename(nome antigo , nome novo);
outra coisa simples ne ? , primeiro o nome da pasta , depois o nome q
vc quer dar a ela , e pronto
7 - Subir Nivel
Vc estava na pasta '000' e foi pra pasta '111' , depois precisou voltar
pra pasta '000' , vc fara assim :
ftp.ChangeDirUp;
vc volta de '111' para '000' e assim ate chegar na pasta raiz do seu
FTP , ok ?
8 - Criando uma pasta
para criar um diretorio faça assim :
ftp.MakeDir(nome da pasta)
a pasta sera criada no diretorio em q vc estiver , very easy
9 - Apagando uma pasta
detalhe , as pastas devem estar vazias para serem excluidas , caso
contrario da erro :
ftp.RemoveDir(nome da pasta);
somente isso
10 - Upload
Pra enviar arquivos pro FTP , faça
ftp.Put(origem , destino);
origem : path do arquivo de origem no seu pc
destino : nome do arquivo no ftp
o arquivo sera upado pro diretorio em q vc estiver
11 - Download
Pra fazer download :
ftp.Get(origem , destino , false);
origem : o arquivo q vc escolheu no ftp
destino : onde vc vai salva-lo no seu pc
false : nao sobrescrever arquivo , caso ele ja exista no destino
12 - Renomear arquivos
da uma olhada no item 6
13 - Apagar arquivos
para apagar , faça :
ftp.Delete(nome do arquivo);
14 - Desconectar do FTP
ftp.Quit;
e vc desloga do servidor
end .....
Bom , e isso ae ,,eu passei pra vcs o basico de um cliente de ftp ,
espero ter solucionado algumas duvidas e q este texto seja util pra
todos vcs
OnlyOne
olha ai uma coisinha pra vcs se distrirem
Joy Division - Dead Souls
Someone take these dreams away,
That point me to another day,
A duel of personalities,
That stretch all true realities.
That keep calling me,
They keep calling me,
Keep on calling me,
They keep calling me.
Where figures from the past stand tall,
And mocking voices ring the halls.
Imperialistic house of prayer,
Conquistadors who took their share.
That keep calling me,
They keep calling me,
Keep on calling me,
They keep calling me.
Calling me, calling me, calling me, calling me.
They keep calling me,
Keep on calling me,
They keep calling me,
They keep calling me.
Otimo trabalho
OnlyOne.
Ponto Positivo
Meu client FTP official ;)
ate mais
Ótimo tuto OnlyOne,
Nunca mexi com FTP no Delphi.
Sempre é bom dar uma estudada!
Vlw cara
Abraços
Excelente OnlyOne :)
Atenciosamente,
Fvox
Muito Bom esse Tutorial!

Gostei!
Vlw!
ftp.Host : TldFTP;
ftp.Username : TldFTP;
ftp.Password : TldFTP;
ftp.Connect : TldFTP;
declara assim? n ne... pq... aki deu erro "Private simbol 'ftp' declared, but never userd", ke ki eu tenho q fazer...hehehe, sou noob msm...
Tipo, eu puis 4 comb box, user,pwd,host,port.... ai delcarei as variaveis....
no ON CLICK do botton q puis pra connectar, fiz cada variavel receber
os dados postos na sua comb box correspondente...
ai, naum sei o q eu faço ao certo com isso aki:
ftp.Host := 'VHost';
ftp.Port := 'VP';
ftp.Username := 'VUsr';
ftp.Password := 'VPwd';
ftp.Connect(true);
se ponho junto no ON Click do connectar ou se ponho no Componente do FTP...
eu tenho q declarar isso ai a cima?
hehehe, mtas perguntas ne.. kkk, abraços, t+.
ftp : TldFTP;
ftp.host := 'host';
ftp.Port := 21; ///integer
ftp.Username := 'user';
ftp.Password := 'pass';
ftp.Connect(true);
combo box

?
VHost,VP,VUsr,VPwd :TEdit;
ftp.Host := VHost.Text;
ftp.Port := StrToInt(VP.Text);
ftp.Username := VUsr.Text;
ftp.Password := VPwd.Text;
ftp.Connect(true);
no on click
ou nas propriedades do objeto
estuda mais garoto , hj to de muito bom humor ....