No final de semana eu, o Pablo e o Maligo, conversamos bastante sobre como fazer para detectar se o computador está conectado a internet, descobrimos várias maneiras e isso acabou resultando em uma nova opção que é de fazer atualização automática do sistema, bastando para isso que o computador esteja conectado a internet.
Se quiserem ver o tópico completo que gerou essa idéia :
https://pctoledo.org/forum/viewtopic.php?t=5452
Separei pois talvez alguns dos colegas acabesse perdendo por não entrar no outro tópico.
Segue abaixo um rotina de exemplo funcionando :
Código: Selecionar todos
*------------------*
// Marcelo Mendes //
*------------------*
// Funcao para verificar e baixar atualizacao de um sistema
CLS
VERSAOATUAL="4.71" // Aqui fica o numero da versao atual
*** Neste caso o arquivo que contem a versao deve ter os seu primeiros
*** 4 bytes com o numero da versao disponivel
*** Cada um vai colocar da forma que usa
*** Mas terá que alterar o FREADSTR() para o tamanho usado
FERASE("update.txt")
FERASE("BRUPDATE.EXE")
COMANDO="U2F http:\\sistemabr.v10.com.br/info.upd update.txt"
RUN &COMANDO
IF FILE("update.txt")=.F.
@ 02,00 SAY "Sem conexao ou arquivo nao encontrado no servidor !"
INKEY(3)
RETURN(.T.)
ELSE
HAND=FOPEN("update.txt")
VERSAODISP=FREADSTR(HAND,4) // Le os 4 primeiros bytes do aquivo baixado
FCLOSE(HAND)
IF VERSAOATUAL<VERSAODISP
@ 02,00 SAY "Atualizacao disponivel "+VERSAODISP+", pressione uma tecla..."
INKEY(10)
EDITA=MEMOREAD("update.txt")
CLS
@ 00,00 SAY PADC("Novidades da versao "+VERSAODISP,80)
@ 24,00 SAY PADC("Tecle <ESC> para sair",80)
MEMOEDIT(EDITA,01,00,23,79)
CLS
BAIXAR=SPACE(1)
@ 02,00 SAY "Deseja baixar e executar a atualizacao ?";
GET BAIXAR PICT "@! A" VALID BAIXAR $"SN"
READ
IF BAIXAR="S"
COMANDO="U2F http:\\www.phrep.com.br/brupdate.exe brupdate.exe"
RUN &COMANDO
RUN BRUPDATE.EXE
ELSE
CLS
RETURN
ENDIF
ELSE
@ 02,00 SAY "Nenhuma atualizacao disponivel !"
INKEY(3)
RETURN(.T.)
ENDIF
ENDIF
www.phrep.com.br/update.zip
Já está com o executável e funcionando, podem testar a vontade.
O próximo passo é uma idéia do Maligno :
Até logo.Maligno escreveu:Uma extensão natural da sua função é a criação de um tipo de WebService para atualização de licença de uso. Uma excelente forma de proteção de programa. Basta que o programador tenha um site onde hospedar os arquivos de controle.
Marcelo




