Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zassas

Revisão de codigo

Recommended Posts

E ae galera! beleza??

 

primeiro me desculpem se postei no lugar errado! É que como eu criei esse código com um pouco de conhecimento na programação delphi decidi postar ele aqui, para que vocês verifiquem se possíveis o seu funcionamento e para que os outros usuários o utilizem da forma que lhe convir!

 

O código a seguir eu estou utilizando ele em um programa que faz um download via FTP

Como já disse anteriormente criei esse code com pouco conhecimento da área! E algumas leituras sobre como funciona o Idftp

 

A minha ideia para este código é a seguinte:

 

O cliente vai escolher entre duas opções para download (sendo que ele pode optar pelas duas)

Ao clicar no botão de iniciar, o programa vai avalizar a opção escolhida pelo cliente e vai fazer o download.

Quando iniciado o download um botão de cancelar o download ira ativer para caso o cliente desista de baixá-lo.

 

var
 
  Form1: TForm1;
  down: integer;
  arq: string;
  link: string;

Estas são as variáveis que eu declarei para fazer o download

 

procedure TForm1.BitBtn13Click(Sender: TObject);
begin
label6.Caption:='Download Iniciado';
// inicia o download
idftp1.Host:= '';
idftp1.Username:= '';
idftp1.Password:= '';
if checkbox3.Checked = true then
begin
    down:= 1;// coloca na variável global que tem um arquivo sendo baixado.
    bitbtn13.Enabled:= false;
    arq:= '\';//nome do arquivo com extensão.
    link:= '';//link do download.
    idftp1.Connect(true);
    idftp1.ChangeDir(edit1.Text);//pega o diretório que o cliente seleciona.
    idftp1.Get(link,arq,true);
    bitbtn14.Enabled:= true;//libera o botão de cancelar.
    label7.Caption:= 'Fazed Download de:' + arq;
end;
if checkbox4.Checked = true then
begin
  IF down = 0 teen //testa a variável global down para ver se tem algum arquivo sendo baixado.
  begin
      down:= 2; // coloca na variável global que tem um arquivo sendo baixado.
      bitbtn13.Enabled:= false;
      arq:= '\';//nome do arquivo com extensão.
      link:= '';//link do download.
      idftp1.Connect(true);
      idftp1.ChangeDir(edit1.Text);//pega o diretório que o cliente seleciona.
      idftp1.Get(link,arq,true);
      bitbtn14.Enabled:= true;//libera o botão de cancelar.
      label7.Caption:= 'Fazendo Download de:' + arq;
  end else
  begin
      timer1.Enabled:= true;// se a variável global estiver "ocupada" com outro valor ativa o timer.
  end;
end;
end;

este é o código pro botão de iniciar o download

 

procedure TForm1.BitBtn14Click(Sender: TObject);
begin
// cancelar o download.
if down = 1 then //veridical qual o download esta baixando.
begin
    IdFTP1.Abort;
    IdFTP1.Disconnect;
    arq:= '\';//nome do arquivo com extensão.
    IdFTP1.Delete(edit1.Text + arq); //deleta o arquivo que estava baixando.
    timer1.Enabled:= false;//desliga o timer se ele estiver ativo.
    down:= 0;// torna a variável global igual a 0, ou seja, diz a variável que não tem download ativo.
    Label7.Caption:= 'Download Cancelado';
end;
if down = 2 then //veritica qual o download esta baixando.
begin
    IdFTP1.Abort;
    IdFTP1.Disconnect;
    arq:= '\';//nome do arquivo com extensão.
    IdFTP1.Delete(edit1.Text + arq); //deleta o arquivo que estava baixando.
    timer1.Enabled:= false;//desliga o timer se ele estiver ativo.
    down:= 0;// torna a variável global igual a 0, ou seja, diz a variável que não tem download ativo.
    Label7.Caption:= 'Download Cancelado';
end;
label6.Caption:='Download Cancelado!';
bitbtn6.SetFocus;// seta para sair da aplicação.
end;

este é o botão de cancelar o download

 

procedure TForm1.Timer1Timer(Sender: TObject);
begin
//o timer vai testar a variável global 'down' para ver se tem algum arquivo sendo baixado.
if down = 0 then //se a variável for 0 então testa para ver se o checkbox4 esta selecionado se tiver inicia o download do arquivo.
begin
     if checkbox4.Checked = true then
     begin
      down:= 2;//torna a variável global ativa para o segundo download.
      bitbtn13.Enabled:= false;
      arq:= '';//nome do arquivo com extensão.
      link:= '';//link do download.
      idftp1.Connect(true);
      idftp1.ChangeDir(edit1.Text);//pega o diretório selecionado pelo cliente.
      idftp1.Get(link,arq,true);
      bitbtn14.Enabled:= true;// ativa o botão cancelar.
      label7.Caption:= 'Fazendo Download de:' + arq;
      timer1.Enabled:= false;// desliga o timer já que a aplicação tem apenas duas opções de download.
     end;
end;
end;

este é um timer que eu utilizei para no caso do cliente querer fazer os dois downloads, ele fica testando a variável down;

 

 

Bom este é o código que eu criei aqui no meu delphi (utilizei o delphi 7)

por favor verifique se possível o meu código, como disse no inicio não sei muita coisa em delphi ainda

 

se alguém for copiar o post por favor mantenha a autoria

gratos a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer que ajude a resolver algo neste código ou ele esta funcionando e esta compartilhando com a comunidade?

 

Abraços...

 

bom postei ele pros outros usuarios poderem tirar ideias tbm ou utilizar so que não sei se esse codigo funciona 100%

 

se você poder da uma testa e postar aqui o resultado fico grato

 

abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.