Página 1 de 1

Versatilidade

Enviado: 21 Mai 2014 08:33
por 09466261000176
Olá companheiros.

Preciso atualizar a versão do meu aplicativo nas instalações de meus clientes.
Hoje me conecto via Team Viewer a cada maquina que quero por uma nova versão do programa.
Gostaria de fazer algo assim: O programa ao iniciar faria uma checagem em minha home page. Se houvesse uma versão superior a dele ele automaticamente faria o download para dentro de sua pasta na máquina que estivesse e se gravaria em cima da antiga versão. Consequentemente quando fosse rodar novamente já assumiria a versão nova. Isso me pouparia muito, mais muito trabalho mesmo. Hoje isso é feito de forma braçal. Tem como alguém me ajudar nisso?

Versatilidade

Enviado: 21 Mai 2014 09:05
por Toledo
Amigo, use o sistema de busca do fórum, procure por FTP que você vai encontrar alguns tópicos sobre este assunto.

Veja:
https://pctoledo.org/forum/viewto ... 027#p58027
https://pctoledo.org/forum/viewto ... f=4&t=9097

Abraços,

Versatilidade

Enviado: 22 Mai 2014 20:44
por Abel
ola,
antigamente eu fazia desta forma, "braçal", apos algumas pesquisas no forum e com um pouco de dedicacao e ajuda do pessoal, consegui fazer.
primeiro comecei usando a wapi do maligno para fazer o download, so que ela gerava alguns problemas em alguns clientes por causa dos antivirus, entao fiz usando a hbtip

acho q vc acha no forum a funcao que usei, procure por:

tipclienthttp() , readall() e readtofile

Abel

Versatilidade

Enviado: 22 Mai 2014 21:44
por 09466261000176
Não consegui achar o que foi citado. Se pudesse me enviar esta rotina...

Versatilidade

Enviado: 24 Mai 2014 11:03
por zazibr
segue link

http://bielsys.blogspot.com.es/2009/02/ ... ca-de.html


pode ser feito com qualquer gt (tem que adaptar) e modo texto tambem

Versatilidade

Enviado: 25 Mai 2014 10:20
por asimoes
Segue exemplo que eu utilizo:

Código: Selecionar todos

#include "hbcompat.ch"
#include "hbdyn.ch"

FUNCTION Donwload_Auto()
LOCAL ftpproto :="ftp://",;
      ftpserver:= "ftp.seuservico.kinghost.net:21",;
      ftpuser  := "usuario",;
      ftppass  := "senhausuario",;
      cURL     :=ftpproto+ftpuser+":"+ftppass+"@"+ftpserver,;
                 oURL, oFTP, aLista, lAtualizacao:=.F.
LOCAL nArquivos
                              
   HB_Default(@cFile,"versao.txt")

   IF Internet()
      TRY
         oURL:=TURL():New(cURL)
         oFTP:=TIPclientFTP():New(oURL,,.T.)
         oFTP:nDefaultPort:=21 
         oFTP:nConnTimeout:=2000
         oFTP:BusePasv    :=.T.
         IF oFTP:Open()
            oFTP:Cwd("/DOWNLOAD/")     // muda o diretorio no FTP
            lAtualizacao:=.F.
            nArquivos:=0
            FOR EACH aLista IN oFTP:listFiles("*.*") //Obtem a lista dos arquivos 
               lAtualizacao:=.T.
               Notificar("Recebendo arquivo(s), "+aLista[1], "Monitor DownLoad" )
               oFTP:DownLoadFile(HB_DirBase()+"DOWNLOAD"+HB_PS()+aLista[1],aLista[1])  // baixa o arquivo para a pasta update local
               oFTP:dele(aLista[1]) //Deleta o arquivo para não repetir.
               nArquivos++
            NEXT
            IF lAtualizacao
               Notificar(AllTrim(Str(nArquivos))+" arquivo(s) recebido(s)", "Monitor DownLoad" )
            ENDIF
            oFTP:Close()
         ELSE
            //Info(oFTP:lastErrorMessage())
         ENDIF
      END
   ENDIF
RETURN Nil

FUNCTION Internet( cAddress )
LOCAL aHosts, cName
   HB_InetInit()
   IF cAddress == Nil
      cAddress := "www.google.com.br"
   ENDIF
   aHosts := HB_InetGetHosts( cAddress )
   IF aHosts == Nil .OR. Len(aHosts)=0
      HB_InetCleanup()
      RETURN .F.
   ENDIF
   HB_InetCleanup()
RETURN .T.