Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de Usuários
»Células Acadêmicas«
intcontpiada : 118
Flanelinha
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
Faça um pequeno teste com 10 questões de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programação com nosso treinamento on-line de lógica de programação
.:.
Veja nosso calendário de treinamentos
Gostou da Página?
Então

para um amigo!
 







Pesquisa personalizada
Pesquisar Dicas:

 






Microsoft Visual Basic
Este curso fornece conceitos avançados de programação com Visual Basic, tal como manipulação e criação de componentes e servidores COM e programação para a internet. Preparatório para prova da Microsoft.
Valor : R$ 246,00 ou 5 X de R$ 52,00

Quer saber mais?
Torne-se um MCP em Visual Basic
Faça um treinamento na Búfalo Informática


Internet Transfer Control (Inet) – Transferindo arquivos com o VB


1-Introdução
2-Propriedades, métodos e Eventos
3-Usando o INET na prática


Não é novidade que a internet cresce dia a dia . A habilidade para usar documentos e artigos armazenados nos computadores na grande Web é de fundamental importância nestes dias. O Visual Basic tem se mostrado uma linguagem versátil com relação ao desenvolvimento para WEB, e, não poderia faltar em nos dispor uma ferramenta para acessar arquivos na Internet.

O Visual Basic possui o um controle ActiveX que torna o acesso a arquivos muito fácil de realizar, estamos falando do Internet Transfer Control - INET para os íntimos. Ele permite enviar e recepcionar arquivos e documentos usando o protocolo FTP ou o protocolo HTTP. Permite também renomear e deletar arquivos usando os comandos DELETE e RENAME quando voce se conecta a um host FTP.

Usar o INET é muito simples. Primeiro definimos as propriedades relacionadas com a conexão a ser feita com o host: protocolo, username, password, nome do servidor remoto (remote server name) , etc.Feito isto podemos usar os métodos do controle para recuperar/restaurar arquivos ou enviar comandos.

O controle INET é invisível em um formulário , como o controle Timer , e, toda sua funcionalidade esta implementada através de seus métodos. Ele suporta transferência de arquivos no modo sincrono como no assincrono. Isto permite que o programa espere até que os dados sejam transferidos ou que voce monitore o progresso da transferência enquanto realiza outras tarefas.

Propriedades, Métodos e Eventos.

Propriedades

O Controle INET possui 14 propriedades, descritas a seguir.

Propriedade Tipo de Dados Descrição
AccessType Enum -Define/Retorna um valor que determina se o controle irá acessar a Internet diretamente(icDirect (1)) ou vai um servidor Proxy.(icNamedProxy (2)). Podemos usar a configuração padrão. (icUseDefault (0))
Document String -Define/Retorna o arquivo ou documento a ser usado com o método Execute.
hInternet Long -Retorna o identificador Internet da API em WININET.DLL.
Password String -Define/Retorna a senha para o requisição de logon para sistemas remotos.
Protocol Enum -Define/Retorna o protocolo ( FTP, HTTP, HTTPS) a ser usado com o método Execute.
Proxy String -Define/Retorna o nome do servidor Proxy usado para acessar a Internet.
RemoteHost String -Define/Retorna o endereço para o sistema remoto o qual o controle envia ou recebe informação.
RemotePort Integer -Define/Retorna o número da porta de um sistema remoto ao qual o controle se conecta.
RequestTimeout Long -Define/Retorna quanto (in seconds) esperar antes que a requisição venha a expirar.
ResponseCode Long -Retorna um codigo de erro da conexão remota.
ResponseInfo String -Retorna uma mensagem de erro da conexão remota.
StillExecuting Boolean -Retorna um valor que indica se o controle esta ocupado ou não executando uma operação.
URL String -Define/Retorna uma URL a ser usada com os métodos Execute e OpenURL.
UserName String -Define/Retorna o nome do usuário para uma requisição de Logon em um sistema remoto.

controle INET possui as seguintes propriedades: Index, Name , Object, Parent e Tag. São as propriedades padrão e são usadas como em qualquer controle ActiveX.

As propriedades Username e Password

Ao estabelecer uma conexão com um servidor remoto voce precisa enviar o nome do usuário (username) e a senha (password) . Alguns servidores permitem a conexão com um usuário anônimo (anonymous) , outros não ; neste caso você precisa definir as propriedades UserName e Password antes de estabelecer a conexão.

Ao acessar um servidor FTP anonymous você pode deixar as propriedades UserName e Password vazias, pois, o controle INET irá atribuir valores automaticamente para estas propriedades. Username será definido como "anonymous" e Password será definida como o e-mail do usuário.

Métodos

O controle INET possui 5 métodos, descritos a seguir.

Método Descrição
Cancel Cancela a requisição ou operação atual e encerra qualquer conexão estabelecida. Ex: Objeto.Cancel
Execute Executa uma operação ou requisição em um servidor remoto. Ex: Objeto.Execute url, operation, data, requestheaders.
GetChunk Recupera/Retorna dados de um servidor remoto.
GetHeader Recupera/Retorna o texto do cabeçalho de um arquivo HTTP.
OpenURL Abre e recupera um documento para um URL específica.

O método Execute

O método Execute permite que você envie comandos para um servidor FTP ou HTTP. Por exemplo voce pode enviar o comando DIR para um servidor FTP lhe retornar o contéudo de um diretório via método Execute. A informação retornada será armazeanda no buffer do controle INET e você poderá ler esta informação usando o método GetChunck.

Cada um dos quatros argumentos para o método execute é opcional, sendo que o argumento URL define a URL que será aplicada a operação . Por exemplo, ao utilizar o comando DELETE , a URL deverá conter o nome do servidor FTP e o caminho do arquivo a ser deletado ( ftp://ftp.teste.com/dir/teste.txt).

O argumento Operation é a operação ou comando a ser executado. A seguir temos um lista com as operações válidas . Algumas operações somente funcionam no protocolo FTP outras somente no protocolo HTTP.

Protocolo Operação/Sintaxe Descrição
HTTP GET -Retorna dados da URL informada na propriedade URL.
HTTP HEAD -Envia o argumento requestheaders.
HTTP POST -Posta os dados do argumento data para o servidor.
HTTP PUT -Envia uma página localizaa no argumento data.
FTP CD dir Altera um diretório
FTP CDUP Altera o diretório pai atual.
FTP CLOSE Encerra a conexão atual.
FTP DELETE file Exclui um arquivo.
FTP DIR dir Retorna informações sobre o diretório . Para ler as informações use o método GetChunck.
FTP GET file1 file2 Retorna o arquivo file1 e salva-o localmente em file2.
FTP LS dir Procura o diretorio e retorna informações sobre o seu conteúdo.
FTP MKDIR dir Cria um diretório
FTP PUT file1 file2 Envia o arquivo local file1 e grava-o no sistema remoto como file2.
FTP PWD Retorna o nome do diretorio atual. Use o métodoGetChunck para ler a informação retornada.
FTP QUIT Desconecta o usuário atual.
FTP RECV file1 file2 Retorna o arquivo file1 e salva-o localmente em file2. O mesmo que usar GET.
FTP RENAME file1 file2 Renomeia o arquivo file1 para file2.
FTP RMDIR dir Remove um diretório.
FTP SEND file1 file2 Envia o arquivo local file1 e grava-o no sistema remoto como file2. Idêntico a PUT.
FTP SIZE dir Retorna o tamanho do diretório.

Eventos

O controle INET possui somente 1 evento: StateChanged. O evento StateChanged é acionado sempre que há uma alteração em uma conexão com um sistema remoto. Sua sintaxe é a seguinte:

object_StateChanged(ByVal State As Integer)

O evento StateChanged fornece um valor inteiro ( State/Estado) que indica o estado atual da conexão.Os valores possíveis para os valores desse state/estado são:

Constante VB Valor Controle do estado
icNone 0 Nenhum estado a reportar
icHostResolvingHost 1 Procurando o endereço IP do computador HOST.
icHostResolved 2 Encontrado o endereço IP do computador HOST
VB Constant Value Control State
icConnecting 3 Estabecendo uma conexão com um computador host
icConnected 4 Conexão realizada com sucesso ao computador host.
icRequesting 5 Enviando um requisição ao host
icRequestSent 6 Requisição envida com sucesso ao host
icReceivingResponse 7 Recebendo uma resposta de um host
icResponseReceived 8 Resposta recebida com sucesso de um host
icDisconnecting 9 Desconectando de um host
icDisconnected 10 Sucesso na desconexão do host
icError 11 Um erro ocorreu na comunicação com o host
icResponseCompleted 12 Requisição completada com sucesso e todos os dados foram recbidos do host

Quando um comando ou operação é enviada a um servidor remoto (host) usando o método Execute, o evento SateChanged pode disparar um número de vezes conforme os passos de requisição e envio forem sendo completados.

Usando o controle Internet Transfer Control

1-) Transferindo arquivos com o método OpenURL

Para fazer o download de um arquivo ou documento ( HTTP ou FTP ) usamos o método OpenURL do controle Internet Transfer Control. Para realizar tal operação usamos somente uma linha de código , Exemplo:

a-) rtfHTMLDoc = Inet1.OpenURL("http://www.microsoft.com")

b-) txtFTPArquivo = inet1.OpenURL("ftp://ftp.microsoft.com/teste.txt")

No exemplo a-) estamos abrindo a página em http://www.microsoft.com/ e salvando-a em um controle RichTextBox(rtfHTMLDoc) afim de preservar a formatação da mesma em b-) estamos recebendo o arquivo teste.txt em um objeto TextBox ( txtFTPArquivo). Obs: Inet1 é o nosso objeto Internet Transfer Control.

Para receber arquivos ou documentos e salvá-los em um arquivo , podemos atribuir o arquivo a uma variável string ,e , então escrever a string para o arquivo usando os comandos : Open , Write e Close. Para receber arquivos binários podemos usar o seguinte código:

Public Function Download(ArqURL As String, Arqtemp As String) As Boolean

 Dim arquivo() As Byte

 Open Arqtemp For Binary Access Write As #1

 arquivo() = Inet1.OpenURL(ArqURL, icByteArray)
 Put #1, , arquivo()

 Close #1

MsgBox "O arquivo  " & Text2.Text & "  foi recebido com sucesso ! ", vbInformation
Download = True
 
 
 Exit Function

Trata_erro:
MsgBox "Ocorreu um erro durante a transferência ! ", vbCritical
Download = False

End Function

Esta função pode ser usada para fazer o download de qualquer arquivo na internet . Para chamá-la basta passar como parâmetros o nome do endereço ( URL ) e o nome do arquivo, como no exemplo a seguir:

lretorno = Download(Text1.Text, Text2.Text)

Aqui em text1.text e text2.text são informados respectivamente a URL e o nome do arquivo (text1 e text2 são os nomes das caixas de texto). Abaixo temos a figura com o exemplo usado e o controle Inet já inserido na caixa de ferramentas:

Aqui a chamada da função é feita quando o usuário clicar no botão de comando
Formulário com o controle Inet  

 

José Carlos Macoratti (http://www.geocities.com/macoratti/)

 

 

 

 

 

 



� Búfalo Informática, Treinamento e Consultoria - Rua Álvaro Alvim, 37 Sala 920 - Cinelândia - Rio de Janeiro / RJ
Tel.: (21)2262-1368 (21) 9240-5134 (21) 9240-7281 e-Mail:
contato@bufaloinfo.com.br