[Tutorial] - Trabalhando com ftp no Delphi

Iniciado por OnlyOne, 12 de Setembro , 2006, 10:44:32 AM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

OnlyOne

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 ...



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.



No céu toca Joy Division


DarkGenesis


insanity


shake

Ótimo tuto OnlyOne,
Nunca mexi com FTP no Delphi.
Sempre é bom dar uma estudada!
Vlw cara

Abraços

Fvox

"Achas que estás caindo na insanidade? Mergulhe."


Anonymous


cebolaaa

  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+.

OnlyOne

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 ....
No céu toca Joy Division