Robô - Criando uma macro em vb para acesso ao terminal de um sistema mainframe.

Sistema para captura de dados automatizado direto do terminal. Exitem situações junto ao terminal de acesso de um mainframe que inviabiliza a consulta rápida na base de dados de um banco. Um Robô ou simplismente macro como é chamado o código que efetua consultas de forma rápida e acelerada sem as repetitivas inputs "dados de consulta" intruduzidas pelo usuários para acesso a base de dados.

Robô - Criando uma macro em vb para acesso ao terminal de um sistema mainframe.
Publicado em: 23/11/2006

Artigo recomendado para Visual Basic 6


Exitem situações junto ao terminal de acesso de um mainframe que inviabiliza a consulta rápida na base de dados de um banco. Um Robô ou simplismente macro como é chamado o código que efetua consultas de forma rápida e acelerada sem as repetitivas inputs "dados de consulta" intruduzidas pelo usuários para acesso a base de dados.

O que o Robô faz? - Esta macro acelera as consultas pois emprega uma velocidade de digitação que não é comparavel a um digitador normal, onde o código retira da tela informações pertinentes a consulta e armazena em um banco de dados ou planilha para consulta do usuário.

Os mainframes como são chamados os supercomputadores, entre eles os mais conhecidos são de fabricação da IBM, e representam boa parcela da capacidade de processamento dos grandes centros de dados, sobretudo podemos salientar que 60 porcento das informações residentes na web estão em mainframes.

Vamos ao código:

Este código foi desenvolvido e testado para atuar junto ao terminal de dados EXTRA! Personal Client 32 bits, porém o programador pode alterar para outra ferramenta a partir do entendimento do código abaixo.

Inicialmente digite as linhas abaixo em General Declarations:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim Sess0 As Object
Dim Mensagem As String

Em Form Load digite:

Inicio do sistema. Obtém o objeto Session necessário.
Set Sess0 = System.ActiveSession
If (Sess0 Is Nothing) Then
MsgBox "Não foi possível criar o objeto Session. Anulando a reprodução da macro."
Exit sub
End If
If Not Sess0.Visible Then Sess0.Visible = True
Set MyScreen = Sess0.Screen

Intruções de input e output de dados no terminal
Sleep 20
MyScreen.MoveTo 3, 15 Move o cursor para linha 12, coluna 18.
Sess0.Screen.SendKeys ("commando") Insere a palavra commando na linha 12 col 18.
Sess0.Screen.SendKeys ("<Enter>") Confirma o commando com a tecla Enter.
Sleep 30
Mensagem = MyScreen.Area(1, 6, 1, 20)

 

Analizando os códigos acima:

O comando Sleep é conhecido do Basic, ele provoca um parada na linha de dados na ordem de milisegundos, então se quisermos parar um segundo será Sleep 1000. Este comando é usado para ajustar o tempo entre uma tela e outra do terminal, ou entre um comando e outro, aqui vale lembrar que a mecânica deste código depende do que se quer como resultado, assim sendo este processo visa suprir a digitação em escala com o mecanismo automatizado.

O comando MyScreen.Move, posiciona o cursor no exemplo linha 3 coluna 15, onde há o desejo de inserir ou colher alguma informação no terminal.

Já o comando Screen.SendKeys, executa a inserção de caracteres no terminal a título de instrução de comando ou dados para manipular as funções do terminal. Quando for inserir um dado como comando este deve estar entre "", já se for um tecla a ser precionada este deve estar entre "<Nome da Tecla>".

E por fim, porém não menos importante o comando MyScreen.Area(1, 6, 1, 20), que extrai da posição exemplo linha 1 coluna 6 da posição 6 até à 20, a informação desejada.

 

Por hoje é só! breve enviarei mais informações sobre estes e outros assuntos.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados