Fórum Live Update... #202421
21/12/2003
0
alguem tem alguma dica... exemplo... trabalho a algum tempo com Delphi mas nunca fiz nada usando ferramentas para internet. :?:
obrigado.
Josinaldo
Curtir tópico
+ 0Posts
21/12/2003
Edilcimar
Gostei + 0
22/12/2003
Nigro
Gostei + 0
22/12/2003
Tnaires
Gostei + 0
22/12/2003
Nigro
Gostei + 0
22/12/2003
Turbo Drive
Me coloco a disposição de todos
Gostei + 0
22/12/2003
Tchoninho
Pegue Arquivo da Net
Crie uma Aplicação Delphi que faça downloads de arquivos da Internet; Adicione um auto-update para seus programas.
Se você tem costume de atualizar seus programas com novas versões de DLLs, Packages e outros mais, e isso te dar um certo trabalho além de ocupar grande parte do seu tempo com atualizações, você pode fazer isso facilmente pela Internet criando uma aplicação no Delphi que faça essa atualização automaticamente. A Internet provê agora uma maneira muito fácil para realizar está tarefa. Adicionando uma opção de auto-atualização para suas aplicações pode ser uma boa maneira de manter suas aplicações Delphi atualizadas.
Veremos como criar a parte mais importante de código de qualquer aplicação FTP.
O Delphi nos dá acesso completo para a WinInet API (wininet.pas) com o qual nós podemos usa-la para conectar e receber arquivos de um site Web que use Hypertext Transfer Protocol (http) ou File Transfer Protocol (FTP). Por exemplo, nós podemos usar as funções de WinInet API para: adicionar um browser de FTP para uma aplicação, criar uma aplicação que baixe arquivos automaticamente de um FTP público ou procure em um site da Internet para localizar o que deseja.
Para começarmos vamos criar a nossa função, como é mostrado abaixo:
GetInetFile function
uses Wininet;function GetInetFile(const fileURL, FileName: String): boolean;const BufferSize = 1024;var hSession, hURL: HInternet; Buffer: array[1..BufferSize] of Byte; BufferLen: DWORD; f: File; sAppName: string;begin Result:=False; sAppName := ExtractFileName(Application.ExeName); hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); try hURL := InternetOpenURL(hSession, PChar(fileURL), nil,0,0,0); try AssignFile(f, FileName); Rewrite(f,1); repeat InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen); BlockWrite(f, Buffer, BufferLen) until BufferLen = 0; CloseFile(f); Result:=True; finally InternetCloseHandle(hURL) end finally InternetCloseHandle(hSession) endend;
Nota: Para provê um visual mais atraente para o usuário, você pode adicionar uma linha de comando como (FlashWindows(Application.Handle,True) no bloco repeat/until. O FlashWindows API da um brilho no caption de sua aplicação na barra de tarefa.
Como usar:
Para chamar a função GetInetFile você pode usar o bloco de código abaixo:
var FileOnNet, LocalFileName: stringbegin FileOnNet:= ´http://seuendereconainternet/nomedoarquivo.zip´; LocalFileName:=´Nomedoarquivobaixado.zip´ if GetInetFile(FileOnNet,LocalFileName)=True then ShowMessage(´Download successful´) else ShowMessage(´Error in file download´)end;
Este código pegará o arquivo “nomedoarquivo.zip” deste site, irá carrega-lo, e salva-lo como “Nomearquivobaixado.zip”.
Nota: Dependendo de qual versão do Delphi você tem, você pode encontrar vários componentes na paleta Internet da VCL que são projetados para facilitar a tarefa de habilitar suas aplicações para internet. Para um exemplo de um componente FTP de uma olhado no componente TNMFTP na paleta FastNet da VCL do Delphi.
Eu ainda não a testei mas acho que funciona direitinho.
Gostei + 0
17/01/2004
Bacalhau
tchoninho esta resposta é só para agradecer. Muito obrigado.
Gostei + 0
01/03/2004
Gmsilva
Ele consiste em acessar meu servidor FTP abrir um aquivo que contem o numero da ultima versão e se o usuario esta licenciado para fazer a atualização (usuario que não paga não faz), e baixa o executavel zipado e descompacta o mesmo.
Para isto eu preciso usar os componentes de FTP e ZIP (zipmaster), e esta funcionando sem problema.
O único incoveniente é que niguem pode estar usando a aplicação pq se não da erro ao descompactar o executavel, eu sou contra um executavel para cada estação.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)