Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Atualizar sistema pela internet


Alberto Mota

Pergunta

Prezados colegas gostaria de criar um aplicativo onde

o usuário iria clicar num botão e baixar o sistema atraves de um endereço

tipo assim:

http://infornow.com.br/downloads/sistema1.rar

entretanto ele esta zipado pois não se pode baixar como executavel,

Gostaria que baixando, já descompactasse e enviasse para a pasta onde o executavel anterior se encontra.

E sobrescrebendo-o finalmente.

É possivel?

Existe uma outra maneira de se fazer isso?

Desde já, obrigado.

Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

esse componente faz parte do pacote BMS

http://en.pudn.com/downloads343/sourcecode...1499789_en.html

ou no active delphi, mas precisa se logar

http://www.activedelphi.com.br/modules.php...tit&lid=411

ou procure na net por BmsPack.zip

entretanto se voce não conseguir baixa-lo, basta trocar pelo TButton do delphi e copiar o código

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, criei uma aplicação em substituição ao componente que não consegui obter, o Xbutton.

Todos os links estão quebrados.

E apos ao criar um novo executavel, surge a mensagem:

Unable to create process: A Operação solicitada requer elevação.

Pesquisei na net e vi que era permissão do windows 7.

Abri como administrador e clico em configurar nada acontece.

Quando clico no botão onde tem o código abaixo nada acontece, nenhuma mensagem:

procedure Tfrmproutupdate.batualizarClick(Sender: TObject);

begin

if not ftpupdate.Connected then

begin

threadftp:=threadupdate.Create(true);

threadftp.Resume;

end

else

showmessage('Conectado no FTP');

end;

O que deixei de fazer?

Editado por Alberto Mota
Link para o comentário
Compartilhar em outros sites

  • 0
Todos os links estão quebrados.
não estão não... baixei os componentes BMS do link do Active Delphi... voce precisa fazer o registro (gratis) para poder baixar o arquivo de componentes

criei uma aplicação em substituição ao componente que não consegui obter, o Xbutton.

Quando clico no botão onde tem o código abaixo nada acontece, nenhuma mensagem:

procedure Tfrmproutupdate.batualizarClick(Sender: TObject);

begin

if not ftpupdate.Connected then

begin

threadftp:=threadupdate.Create(true);

threadftp.Resume;

end

else

showmessage('Conectado no FTP');

end;

não era necessario criar uma nova aplicação, bastaria trocar o componente BMS que voce não tem por outro nativo do delphi e manter o código

voce pode ter esquecido de incluir todas as uses necessarias ao funcionamento

unit untfrmproutupdate;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, BmsXPButton, StdCtrls, ExtCtrls, IdBaseComponent,
  IdComponent, IdTCPServer, IdFTPServer, IdTCPConnection, IdTCPClient,
  IdFTP,untthreadupdate, Gauges, IdUDPBase, IdUDPClient, IdTrivialFTP,dateutils;
unit untfrmconfigurar;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, BmsXPButton, IniFiles;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, consegui baixar pelo active Delphi.

Antes não estava conseguindo.

Assim que fizer algum progresso entrarei em contato.

Valeu.

Jhonas, infelizmente ao executar surge o erro

[Error] RLINK32: Unsupported 16bit resource in file "C:\sysboletosonline\Proutupdate\untfrmproutupdate.dfm"

Deve ser por causa do windows 7?

Tenho um diretorio virtual do xp, vou tentar por ele para ver se é isso.

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas,

esta dando um erro ao abrir

Error reading batualizar.Glyph.Data: property Glyph does not exist.

Esqueci de mencionar isso.

Pode ser o causador do erro RLINK32: Unsupported 16bit

Pos é a mensagem que surge depois ao recompilar e segundo seu post não

consegui ainda.

Mas prosseguirei até sanar um erro apos o outro sem pular a sequencia em que surgem.

Link para o comentário
Compartilhar em outros sites

  • 0

Error reading batualizar.Glyph.Data: property Glyph does not exist.

Erro de leitura batualizar.Glyph.Data: propriedade glyph não existe

a propriedade glyph pressupoe que voce esta usando uma imagem no botão ... essa propriedade faz parte do botão do componente BMSPack ... se voce trocou por um botão nativo do dephi, voce deve usar o BitBtn ou SpeedButton do delphi

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, consegui avançar bastante com seu ultimo post.

Troquei por bitbtns e a mensagem não aparece.

Surge a mensagem de elevação depois.

Isso é relativo ao windows 7.

Abro como Administrador. Surge a tela:

Deseja permitir que o programa de um fornecedor desconhecido

faça alterações no seu computador?

Imagino depois os usuários vendo essa tela, mas até aí tudo bem.

Ele reconhece o ftp mas não transfere.

...Lendo. Fica assim,

Acredito ser as configurações:

Criei no meu pc uma pasta de nome downloads

e coloquei no parametro salvar esse nome: \downloads

O arquivo exe coloquei no provedor em httpdocs.

e em Arquivo esta o nome do executavel.

Estou a um passo de finalmente ver o atualizador funcionando,

mesmo com esse inconveniente da permissão do windows 7.

Fiz a configuração corretamente?

Link para o comentário
Compartilhar em outros sites

  • 0
Jhonas, consegui avançar bastante com seu ultimo post.

Troquei por bitbtns e a mensagem não aparece.

voce não disse que tinha baixado os componentes ... então era só instalar é usar o código sem alterar nada

com relação ao windows 7, voce deve executar o programa como administrador

Ele reconhece o ftp mas não transfere.

com relação ao FTP, verifique se o seu firewall não esta bloqueando

config.JPG

no windows 7, a pasta onde será salvo o arquivo, precisa ter permissão de escrita, caso contrário, não vai salvar.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas,

Desativei o firewall

Compartilhei a pasta downloads dando permissão de escrita e gravação.

Executei como administrador,

Infelizmente continua não transferindo, o executavel aparece na pasta, só que com 0 bytes.

De fato algo esta bloqueando a transferencia. Coloquei as configurações conforme abaixo:

(os xxx susbtituem a informação real)

[CONEXAO]

FTP=xxx.webservidor.net

USUARIO=xxxxxx

PASSWD=yyyyyy

PASSIVO=N

SALVAR=\downloads

ARQUIVO=bachus.exe

DIRETORIOFTP=httpdocs

Editado por Alberto Mota
Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, agradeço tambem sua paciencia em me ajudar.

Baixei o que você indicou e surge um erro: Class TNMHTTp not found

Não possuo a paleta FastNet no meu Delphi.

Estou usando o Delphi 7.

Pesquisei na net para baixar e não obtive sucesso.

Qual o link que baixo o componente ou como devo instalar?

Um abraço

Editado por Alberto Mota
Link para o comentário
Compartilhar em outros sites

  • 0

Alberto, o componente NMHTTP é um componente nativo do delphi 5 que fica na paleta FastNet, no delphi 7 esta na paleta dos componentes Indy

O Componente: TNMHTTP

Descrição: Este componente permite trazer um documento de uma conexão HTTP. Ele é bastante completo, suportando "proxy" e "cookies". É um componente interessante para interagir com um servidor da Web. Ele pode ser usado para:

· Baixar um documento (arquivo) de um site Web.

· Subir um documento através do método POST (se o seu servidor suportar este recurso)

Para usar este componente faça o seguinte:

· Ajuste a propriedade Host com o nome ou endereço do servidor Web.

· Use o método Get para recuperar um documento.

· Use o método Post para enviar um documento.

O documento recuperado pode ser gravado em um arquivo cujo nome está na propriedade Body (InputFileMode = true) ou colocado em um string na propriedade Body (InputFileMode = false). Da mesma forma, o documento a ser enviado pode vir de um arquivo cujo nome está na propriedade PostData (OutputFileMode = true) ou de uma string na propriedade PostData (OutputFileMode = false).

o delphi 7 não possui esta paleta ( FastNet ) mas pode ser instalada do delphi 5

voce pode tentar baixar os componente da paleta FastNet para a versão do seu delphi

ou tente baixar o nmhhtp.pas desse link

http://en.verysource.com/fastnet7-20379.html

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

voce pode baixar o arquivo desse link

http://www.bvbcode.com/code/h4aet29j-1653141-down

olhando nesse voce vai ver todos os .pas que fazem parte do pacote

http://en.pudn.com/downloads69/sourcecode/...l246726_en.html

se voce tem o delphi 7 pode usar o idHTTP da paleta indy do delphi

http://www.planetadelphi.com.br/dica/6764/...p-e-progressbar

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, consegui pelo que você indicou do Indy Cliente

Não tem tela de permissão, vai direto para a pasta.

Faz o download e ainda sobrescreve, caso exista.

O unico senão é que o progressbar não acompanha, conforme os segundos vão passando

só mostra no final ele concluido.

Tenho que fazer algum código para inicializa-lo?

De antemão agradeço toda a ajuda dispensada.

Esse simples aplicativo muito me ajudará nas atualizações.

Um abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...