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
Moderador: Moderadores
- 09466261000176
- Usuário Nível 1

- Mensagens: 39
- Registrado em: 19 Mar 2014 15:50
- Localização: lorena sp
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Versatilidade
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,
Veja:
https://pctoledo.org/forum/viewto ... 027#p58027
https://pctoledo.org/forum/viewto ... f=4&t=9097
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Versatilidade
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
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
- 09466261000176
- Usuário Nível 1

- Mensagens: 39
- Registrado em: 19 Mar 2014 15:50
- Localização: lorena sp
Versatilidade
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
http://bielsys.blogspot.com.es/2009/02/ ... ca-de.html
pode ser feito com qualquer gt (tem que adaptar) e modo texto tambem
Versatilidade
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.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)


