Zassas 0 Denunciar post Postado Janeiro 31, 2010 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
quintelab 91 Denunciar post Postado Fevereiro 2, 2010 Você quer que ajude a resolver algo neste código ou ele esta funcionando e esta compartilhando com a comunidade? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Zassas 0 Denunciar post Postado Fevereiro 2, 2010 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