manual e3 scripts

Upload: anbelo1

Post on 05-Apr-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Manual E3 Scripts

    1/396

    2007 Elipse Software Ltda. Todos os direitos reservados.14.11.2007 Verso 3.0

  • 8/2/2019 Manual E3 Scripts

    2/396

  • 8/2/2019 Manual E3 Scripts

    3/396

    1. INTRODUO .............................................................................................................................................................91.1. OBJETOS................................................................................................................................................................ 91.2. SCRIPTS ............................................................................................................................................................... 10

    1.2.1. Adicionando um script...........................................................................................................................121.3. PICKS ................................................................................................................................................................... 151.4. EVENTOS DEFINIDOS PELO USURIO..................................................................................................................... 22

    2. INTRODUO AO VBSCRIPT.................................................................................................................................. 252.1. AMBIENTE DE PROGRAMAO ...............................................................................................................................252.2. TIPOS DE DADOS ..................................................................................................................................................262.3. VARIVEIS............................................................................................................................................................282.4. CONSTANTES........................................................................................................................................................312.5. OPERADORES.......................................................................................................................................................312.6. COMENTRIOS......................................................................................................................................................332.7. OBJETO DE FLUXO................................................................................................................................................ 34

    2.7.1. If..Then.. Else ........................................................................................................................................ 342.7.2. Select Case...........................................................................................................................................362.7.3. While.. Wend......................................................................................................................................... 362.7.4. Do.. Loop............................................................................................................................................... 362.7.5. For.. Next .............................................................................................................................................. 392.7.6. For Each.. Next .....................................................................................................................................40

    2.8. CONVENES DE CDIGO ....................................................................................................................................412.9. MTODOS DO VBSCRIPTS UTILIZADOS NO E3........................................................................................................ 44

    3. PROGRAMANDO NO E3...........................................................................................................................................49

    3.1. OBTENDO REFERNCIAS AOS OBJETOS ................................................................................................................ 493.1.1. Acessando propriedades do servidor .................................................................................................... 503.1.2. Acessando propriedades do servidor de dentro do servidor .................................................................513.1.3. Acessando objetos de uma Tela a partir de um script na Tela..............................................................523.1.4. Acessando objetos de uma Tela a partir de um script em outro objeto na Tela....................................533.1.5. Modificando a Tela ou objetos de Tela a partir do servidor...................................................................533.1.6. Acessando objetos de um ElipseX a partir do prprio ElipseX..............................................................543.1.7. Acessando objetos de um ElipseX externamente .................................................................................55

    3.2. ACESSANDO OBJETOS.......................................................................................................................................... 613.3. TRABALHANDO COM COLEES ............................................................................................................................623.4. COMANDO SET .....................................................................................................................................................62

    4. EVENTOS .................................................................................................................................................................. 654.1. VARIVEIS DE EVENTO.......................................................................................................................................... 654.2. EVENTOS PADRO ................................................................................................................................................ 664.3. EVENTOS DO DRIVER DE COMUNICAO ...............................................................................................................67

    4.3.2. Eventos do Tag de Comunicao .........................................................................................................704.3.1. Eventos do Bloco de Comunicao ......................................................................................................71

    4.4. EVENTO DO TAG CONTADOR.................................................................................................................................714.5. EVENTO DO TAG TIMER......................................................................................................................................... 714.6. EVENTOS DA TELA ................................................................................................................................................ 714.7. EVENTOS DOS OBJETOS DE TELA.......................................................................................................................... 744.7.1. Eventos do Texto, Display e SetPoint ................................................................................................... 774.8. EVENTOS DOS ACTIVEX........................................................................................................................................ 78

    4.8.2. Eventos do Boto de Comando e do Boto Liga-Desliga ..................................................................... 814.8.3. Eventos da L ista de Seleo e Editor de Texto.....................................................................................814.8.1. Eventos da Barra de Rolagem ..............................................................................................................814.8.2. Eventos do Boto Incremento-Decremento .......................................................................................... 81

    4.9. EVENTOS DO VIEWER ........................................................................................................................................... 824.9.1. Eventos do Usurio...............................................................................................................................82

    4.10. EVENTOS DA CONSULTA................................................................................................................................834.11. EVENTOS DO E3BROWSER ............................................................................................................................834.12. EVENTOS DO E3CHART .................................................................................................................................844.13. EVENTOS DOS XCONTROLS E XOBJECTS .......................................................................................................85

  • 8/2/2019 Manual E3 Scripts

    4/396

    4.14. EVENTOS DOS RELATRIOS........................................................................................................................... 85

    5. MTODOS ................................................................................................................................................................. 895.1. CHAMADAS DE MTODOS......................................................................................................................................895.2. MTODOS PADRO............................................................................................................................................... 895.3. MTODOS DO DRIVER DE COMUNICAO ..............................................................................................................93

    5.3.1. Mtodos do Tag de Comunicao, Bloco de Comunicao e Elemento de Bloco................................ 945.4. MTODO DOS OBJETOS DO CLIENTE OPC............................................................................................................. 965.5. MTODOS DO SERVIDOR.......................................................................................................................................975.6. MTODO DO TAG DEMO........................................................................................................................................ 995.7. MTODO DO TAG INTERNO....................................................................................................................................995.8. MTODOS DA TELA............................................................................................................................................. 1005.9. MTODOS DO DIVISOR (FRAME).......................................................................................................................... 1005.10. MTODOS DE OBJETOS DE TELA.................................................................................................................. 1055.11. MTODOS DOS ACTIVEX.............................................................................................................................. 106

    5.11.1. Mtodos Comuns................................................................................................................................ 1065.11.2. Mtodos da Lista de Seleo.............................................................................................................. 1075.11.3. Mtodos da Lista................................................................................................................................. 1095.11.4. Mtodos do Editor de Texto................................................................................................................ 110

    5.12. MTODOS DE CONEXES (LINKS) ................................................................................................................ 1115.12.1. Mtodos da Conexo por Tabela........................................................................................................114

    5.13. MTODOS DO VIEWER ................................................................................................................................. 1165.14. MTODOS DO BANCO DE DADOS.................................................................................................................. 1325.15. MTODOS DOS ALARMES............................................................................................................................. 132

    5.15.1. Mtodos da Fonte de Alarmes ............................................................................................................1325.15.2. Mtodos do Servidor de Alarmes........................................................................................................136

    5.16. MTODOS DO HISTRICO ............................................................................................................................ 1385.17. MTODOS DO STORAGE .............................................................................................................................. 1395.18. MTODOS DA CONSULTA ............................................................................................................................. 1415.19. MTODOS DO E3BROWSER ......................................................................................................................... 1445.20. MTODOS DO E3CHART .............................................................................................................................. 146

    5.20.2. Mtodos dos Eixos.............................................................................................................................. 1485.20.3. Mtodos da Coleo de Eixos ............................................................................................................1515.20.4. Mtodos da Pena................................................................................................................................1525.20.5. Mtodos da Coleo de Penas ........................................................................................................... 1545.20.6. Mtodos da Legenda .......................................................................................................................... 1565.20.7. Mtodos da Coleo de Consultas ..................................................................................................... 158

    5.21. MTODOS DE FRMULAS ............................................................................................................................. 1595.22. MTODOS DOS RELATRIOS ........................................................................................................................ 164

    6. PROPRIEDADES..................................................................................................................................................... 1696.1. PROPRIEDADESPADRO ....................................................................................................................................1706.2. PROPRIEDADES DOS DRIVERS ............................................................................................................................ 172

    6.2.1. Propriedades do Driver de Comunicao ........................................................................................... 1726.2.2. Propriedades do Tag de Comunicao...............................................................................................1776.2.3. Propriedades do Bloco de Comunicao ............................................................................................ 1856.2.4. Propriedades do Elemento de Bloco................................................................................................... 188

    6.3. PROPRIEDADES DOS OBJETOS DO CLIENTE OPC................................................................................................ 1946.3.1. Propriedades do Driver OPC ..............................................................................................................1946.3.2. Propriedades do Grupo OPC.............................................................................................................. 1976.3.3. Propriedades do Tag OPC .................................................................................................................. 1996.3.4. Propriedades do Bloco OPC ...............................................................................................................2086.3.5. Propriedades do Elemento de Bloco OPC .......................................................................................... 211

    6.4. PROPRIEDADES DO TAG CONTADOR ................................................................................................................... 2206.5. PROPRIEDADES DO TAG DEMO ........................................................................................................................... 2216.6. PROPRIEDADES DO TAG INTERNO ....................................................................................................................... 2236.7. PROPRIEDADES DO TAG TIMER ........................................................................................................................... 2246.8. PROPRIEDADES DA TELA.....................................................................................................................................2256.9. PROPRIEDADES DO QUADRO E DO DIVISOR......................................................................................................... 229

    6.9.1. Propriedade do Quadro....................................................................................................................... 2296.9.2. Propriedades do Divisor......................................................................................................................229

    6.10. PROPRIEDADES DE OBJETOS DE TELA ......................................................................................................... 2306.10.1. Propriedades Comuns a Todos os Objetos de Tela ........................................................................... 2316.10.2. Propriedades Comuns dos Objetos de Tela de Desenho e Texto ...................................................... 2326.10.3. Propriedades do Retngulo Arredondado........................................................................................... 2396.10.4. Propriedades do Arco ......................................................................................................................... 2396.10.5. Propriedades da Figura....................................................................................................................... 240

  • 8/2/2019 Manual E3 Scripts

    5/396

    6.10.6. Propriedades do Texto, Display e SetPo int.........................................................................................2466.10.7. Propriedades da Escala ...................................................................................................................... 2506.10.8. Propriedades do Grupo de Objetos.....................................................................................................2566.10.9. Propriedades do Movimento (Translao e Rotao) ......................................................................... 2586.10.10. Propriedades da Rotao.................................................................................................................... 261

    6.11. PROPRIEDADES DOS ACTIVEX ..................................................................................................................... 2626.11.1. Propriedades comuns ......................................................................................................................... 2626.11.2. Propriedades da Caixa de Seleo e Boto de Opes ..................................................................... 2656.11.3. Propriedades da L ista de Seleo ......................................................................................................2686.11.4. Propriedades do Boto de Comando.................................................................................................. 2776.11.5. Propriedades do Texto........................................................................................................................2796.11.6. Propriedades da Lista ......................................................................................................................... 2826.11.7. Propriedades da Barra de Rolagem .................................................................................................... 2886.11.8. Propriedades do Boto Incremento-Decremento ................................................................................2896.11.9. Propriedades do Ed itor de Texto.........................................................................................................2906.11.10. Propriedades do Boto Liga-Desliga ................................................................................................... 296

    6.12. PROPRIEDADES DOS LINKS .......................................................................................................................... 3006.12.1. Propriedades Comuns dos Objetos de Conexo (Links) .................................................................... 3006.12.2. Propriedades dos Links Simples, Bidirecional e Reverso ...................................................................3016.12.3. Propriedades da Conexo Digital ........................................................................................................3026.12.4. Propriedades da Conexo Analgica .................................................................................................. 3066.12.5. Propriedade da Conexo por Tabela .................................................................................................. 3086.12.6. Propriedades da Linha da Conexo por Tabe la.................................................................................. 309

    6.13. PROPRIEDADES DO VIEWER......................................................................................................................... 3106.14. PROPRIEDADES DO BANCO DE DADOS .........................................................................................................3136.15. PROPRIEDADES DOS ALARMES .................................................................................................................... 315

    6.15.1. Propriedades da rea de Alarmes ......................................................................................................3156.15.2. Propriedades da Fonte de Alarmes..................................................................................................... 3166.15.3. Propriedades do Servidor de Alarmes ................................................................................................ 318

    6.16. PROPRIEDADES DO E3ALARM ...................................................................................................................... 3206.17. PROPRIEDADES DO HISTRICO .................................................................................................................... 3246.18. PROPRIEDADES DO STORAGE...................................................................................................................... 327

    6.18.1. Propriedades do Campo ..................................................................................................................... 3296.19. PROPRIEDADES DA CONSULTA (E3QUERY) .................................................................................................. 3296.20. PROPRIEDADES DO E3BROWSER .................................................................................................................3346.21. PROPRIEDADES DO E3CHART ...................................................................................................................... 338

    6.21.1. Propriedades da Pena ........................................................................................................................ 3506.21.2. Propriedade da Coleo de Penas ..................................................................................................... 3576.21.3. Propriedade da Coleo de Consultas................................................................................................ 3576.21.4. Propriedades da Coluna...................................................................................................................... 3576.21.5. Propriedades da Legenda................................................................................................................... 3586.21.6. Propriedades do Eixo..........................................................................................................................3606.21.7. Propriedades da Coleo de Eixos.....................................................................................................364

    6.22. PROPRIEDADES DA FRMULA ...................................................................................................................... 3656.23. PROPRIEDADES DOS XCONTROLS E XOBJECTS ........................................................................................... 3656.24. PROPRIEDADES DO RELATRIO ................................................................................................................... 366

    6.24.1. Propriedades de Layout do Relatrio .................................................................................................. 3666.24.2. Propriedades Comuns das Sees do Relatrio................................................................................. 3706.24.3. Propriedades do GroupHeader ...........................................................................................................3716.24.4. Propriedades do Detail........................................................................................................................ 3736.24.5. Propriedades do GroupFooter.............................................................................................................3756.24.6. Propriedades Comuns dos Objetos do Relatrio ................................................................................3766.24.7. Propriedades do Cdigo de Barras (BarCode).................................................................................... 3786.24.8. Propriedades da Elipse, Retngulo e Retngulo Arredondado ...........................................................3816.24.9. Propriedade da Figura ........................................................................................................................ 3826.24.10. Propriedades do SetPo int ................................................................................................................... 3846.24.11. Propriedades do Texto........................................................................................................................3876.24.12. Propriedades da Linha ........................................................................................................................ 3896.24.13. Propriedade da Quebra de Pgina......................................................................................................3906.24.14. Propriedades da Tabela ...................................................................................................................... 3906.24.15. Propriedades do E3Chart....................................................................................................................391

    7. DVIDAS MAIS FREQENTES ..............................................................................................................................393

  • 8/2/2019 Manual E3 Scripts

    6/396

  • 8/2/2019 Manual E3 Scripts

    7/396

    Estas so as convenes utilizadas neste manual:

    EXEMPLO DESCRIO Nomes de arquivos e outros termos no nvel do sistema

    operacional so indicados com o tipo de letra Tahoma, emmaisculas.

    Nomes de campos e opes que devem ser procurados na tela,em menus ou nas abas dos objetos so indicados com tipo deletra Tahoma.

    Chart Caracteres entre aspas devem ser digitados no lugarmencionado, sem a presena das aspas.

    Tela1.Show() Partes de programas (scripts) so indicadas com o tipo de letraCourier. Eles devero ser digitados nos lugares reservados edepois compilados para a verificao de erros.

    DriverLocation Nomes de mtodos e propriedades do E3 esto indicados porpalavras em itlico no corpo do texto. Os mtodos so

    seguidos por parnteses. Expresses entre os sinais < > devem ser substitudas pelo

    nome do objeto em questo.! Parmetros opcionais so indicados entre colchetes nas

    chamadas de mtodos."#$ Expresses entre colchetes e com tipo de letra Tahoma

    indicam nomes de teclas. Quando estiverem acompanhadas deum sinal +, voc deve pressionar a segunda tecla enquantopressiona a primeira.

  • 8/2/2019 Manual E3 Scripts

    8/396

  • 8/2/2019 Manual E3 Scripts

    9/396

    Introduo 9

    Os Scripts so mdulos de linguagem de programao nos quais se pode criarprocedimentos associados a eventos especficos, permitindo uma maior flexibilidadeno desenvolvimento de aplicaes. Cada objeto (item de um aplicativo) do E3 possuiuma lista de eventos previamente definidos, mas tambm possvel definir novoseventos prprios do usurio.

    Os Objetos so componentes de software reutilizveis que permitem maximizar ouso e aumentar a qualidade e produtividade em seus aplicativos.

    Um objeto no E3 encapsula ou contm trs diferentes partes (propriedades, mtodose eventos) que podem ser manipuladas para a utilizao das vantagens de sua

    funcionalidade na aplicao.Propriedades definem atributos de um objeto, como a aparncia de um objeto deTela ou o valor inicial de um objeto quando o aplicativo iniciado.

    Mtodos so funes que realizam uma ao especfica dentro ou com um objeto.

    Eventos so notificaes geradas por um objeto em resposta a alguma ocorrnciaem particular, como um clique de mouse ou uma mudana no valor de um tag, entreoutros.

    Uma das principais caractersticas dos objetos e das linguagens orientadas a objeto a capacidade de herana entre eles, ou seja, estes podem herdar as caractersticas deum ou mais objetos, tendo as mesmas funcionalidades especficas. Assim, pode-seter vrios objetos trabalhando em conjunto para prover caractersticas de um outroobjeto derivado.

    Tome como exemplo o objeto E3Chart. Ele composto internamente de vrios

    objetos, como ttulos, legendas, escalas, divises, consultas e penas. Note que cadaobjeto contribui para a funcionalidade do todo: as escalas ajudam a localizar osvalores dos pontos no E3Chart; as legendas, a identificar a pena e seus valores; e apena realiza o desenho dos valores no E3Chart.

    Atravs da manipulao de objetos dentro do E3Chart, pode-se criar duas instnciasdeste objeto bastante diferentes entre si. Para se manipular um objeto especfico,deve-se acess-lo atravs de uma hierarquia. Se os dois objetos E3Chart estiveremna mesma Tela, deve-se acessar primeiro a Tela, depois o E3Chart desejado, depoisuma de suas propriedades ou objetos-filhos. Quando h vrios objetos de um mesmo

    !

    "

  • 8/2/2019 Manual E3 Scripts

    10/396

    E3 - Scripts - Manual de Referncia

    10 Introduo

    tipo, geralmente eles podem ser acessados atravs de uma coleo (collection). Umacoleo um objeto especial que gerencia um conjunto de objetos semelhantes. Umexemplo no objeto E3Chart a coleo Pens, que permite o acesso a todas as penasdo E3Chart.

    #

    A linguagem que o E3 Studio usa em seus scripts o VBScript, um subconjunto dalinguagem Visual Basic desenvolvida pela Microsoft. O VBScript possui uminterpretador rpido, leve e portvel, desenvolvido para uso em navegadores para aInternet e outras aplicaes que usam ActiveX Controls, Automation Servers e JavaApplets.

    Conforme visto anteriormente, os scripts so associados a eventos de um objeto.Entretanto, para facilitar e aumentar a velocidade de desenvolvimento, o E3 jincorpora algumas aes mais comuns que poderiam ser realizadas com scriptsatravs de assistentes chamados Picks. Pode-se portanto definir que um determinadoevento executar um script, um pick ou uma combinao deles, numa seqnciatambm pr-definida.

    Cada view do E3 Studio apresenta pelo menos duas abas na parte inferior: Design eScripts, com exceo dos objetos Banco de Dados e Servidor de Alarmes, que no

    possuem a aba Design. Os objetos e seus filhos podem ser manipulados na abaDesign; para manipular seus scripts, utilize a aba Scripts. Os botes disponveisnesta ltima so:

  • 8/2/2019 Manual E3 Scripts

    11/396

    E3 - Scripts - Manual de Referncia

    Introduo 11

    Opes disponveis na aba Scripts

    CAMPO CONE AO/FUNO%& Seleciona o objeto cujo script ser manipulado.$ Seleciona o evento a ser aplicado ao objeto.'( Adiciona um script associado ao evento.

    ')*+%,- Adiciona o pick Abrir Tela

    ')*+%,- Adiciona o pick Abrir Tela Modal.')*$.'+('/0-

    Adiciona o pick Executar Aplicao

    ')*"12- Adiciona o pick Carregar Valor

    ')*2- Adiciona o pick Inverter Valor

    ')*(3-

    Adiciona o pick Imprimir Relatrio

    '(4(')'

    Remove o script ou o pick selecionado na Listade Aes.

    '(4(')'('

    Move a ao selecionada para cima, na ordemda Lista de Aes para o evento.

    '(4(')'(%.

    Move a ao selecionada para baixo, na ordemda Lista de Aes para o evento.

    +((

    Abre a janela do AppBrowser.

    '

    Busca por ocorrncias de um determinadotexto.

    '

    Seleciona na lista de resultados a ocorrnciaanterior.

    '(3.

    Seleciona na lista de resultados a ocorrnciaseguinte.

    %

    Substitui as ocorrncias encontradas por outrotexto especificado.

    "5 Cria um evento de usurio.

    5

    Remove o evento de usurio selecionado.

    $5

    Edita o evento de usurio selecionado.

    "('('

    Compila o script selecionado, mostrando oserros no painel Mensagens.

    "('(

    Compila todos os scripts associados ao evento.

    "(%&

    Compila todos os eventos associados aoobjeto.

    A ordem de execuo das aes de cima para baixo. Para alterar a ordem, pode-se

    utilizar os botes e . Utilize o boto para verificar se no h erros noscript especificado para o evento. As mensagens de erro do compilador so

  • 8/2/2019 Manual E3 Scripts

    12/396

    E3 - Scripts - Manual de Referncia

    12 Introduo

    apresentadas no painel Mensagens, na parte inferior da aba Scripts. D umduplo-clique no erro caso deseje que ele seja selecionado no script.

    Figura 1: Mensagem do compilador

    # $%

    Para adicionar um script a um objeto, siga estes passos:

    Selecione o objeto para qual se deseja criar o script e clique na aba Scripts.

  • 8/2/2019 Manual E3 Scripts

    13/396

    E3 - Scripts - Manual de Referncia

    Introduo 13

    Figura 2: Aba Scripts

    Clique sobre o cone Script. O editor de scripts aberto, conforme afigura abaixo.

  • 8/2/2019 Manual E3 Scripts

    14/396

    E3 - Scripts - Manual de Referncia

    14 Introduo

    Figura 3: Adicionando um script ao objeto

    Entre com os comandos VBScript desejados na caixa de edio de texto.

    OBS: Utilize o caractere _ (sublinhado) quando desejar acrescentar uma quebra delinha para deixar o cdigo mais legvel. O caractere sublinhado indica que a linhacontinua na linha subseqente.

    Por exemplo:If intTemperaturaCaldeira3 > 120 and _

    intTemperaturaCaldeira4 > 120

    Then

    bEnviarAlarme = True

    bAlarmeLigado = True

    End If

    Cada evento pode possuir vrios scripts e vrios picks associados, chamados aesdo evento. A lista das aes pode ser vista na parte superior da janela de edio descripts. Cada objeto pode possuir qualquer quantidade de eventos com scripts oupicks associados.

  • 8/2/2019 Manual E3 Scripts

    15/396

    E3 - Scripts - Manual de Referncia

    Introduo 15

    NOTA: Clicando com o boto direito sobre qualquer destas aes descritas acima seabre um menu que possibilita recortar, copiar e colar scripts e picks entre eventos.

    & '

    Os Picks implementam uma forma mais amigvel de realizar procedimentos mais

    comuns, poupando tempo de configurao. Entre eles, esto aes como troca deTela ou atribuio de valores, bastante comuns na criao de um projeto.Descrevemos a seguir os picks disponveis na aba Scripts.

    Abrir Tela

    Abre uma determinada Tela ou Quadro.

    Figura 4: Configuraes do pick Abrir Tela

  • 8/2/2019 Manual E3 Scripts

    16/396

    E3 - Scripts - Manual de Referncia

    16 Introduo

    Opes disponveis no pick Abrir Tela

    CAMPO DESCRIO+% Indica qual Tela deve ser aberta.6 Indica o Quadro onde a Tela ser visualizada. Se estiver

    em branco, ser o Quadro principal (_top).7' Define o zoom da Tela, quando mostrada.8 Indica um parmetro a ser passado na chamada da Tela.

    9%' Habilita o uso das barras de rolagem na Tela.$(':'(/0 Indica a posio da Tela, em pixels.$(':'; Indica o tamanho da Tela, em pixels ou HIMETRIC.$& Chama a caixa de dilogo Estilo de janela (ver

    abaixo).

    Caixa de Dilogo Estilo de Janela

    Permite configurar o estilo da janela a ser mostrada, definindo ttulo e adisponibilidade das bordas e botes de fechar, maximizar e minimizar, entre outros.Se a opo

  • 8/2/2019 Manual E3 Scripts

    17/396

    E3 - Scripts - Manual de Referncia

    Introduo 17

    Abrir Tela Modal

    Abre uma Tela Modal, isto , uma Tela que no permite a interao do usurio comoutras Telas enquanto esta estiver ativa.

    Figura 6: Configuraes do pick Abrir Tela Modal

    Opes disponveis no pick Abrir Tela Modal

    CAMPO DESCRIO+% Seleciona a Tela a ser aberta.

    ,= Define o ttulo da janela. Esse texto ser concatenado com onome da Tela.7' Define o zoom da Tela, quando mostrada.8 Indica um parmetro a ser passado na chamada da Tela.9%' Habilita o uso das barras de rolagem na Tela.$(':'(/0

    Determina a posio (em pixels) do quadro na Tela, a partirdo canto superior esquerdo da Tela.

    $(':';

    Determina a largura e a altura (em pixels ou HIMETRIC) daTela.

    $& Permite configurar o estilo da janela a ser mostrada,

  • 8/2/2019 Manual E3 Scripts

    18/396

    E3 - Scripts - Manual de Referncia

    18 Introduo

    definindo ttulo e a disponibilidade das bordas e botes defechar, entre outros (ver pick Abrir Tela, acima).

    Executar Aplicao

    Executa uma aplicao especfica.

    Figura 7: Configuraes do pick Executar Aplicao

    Opes disponveis no pick Executar Aplicao

    CAMPO DESCRIO+('/0 Apertando-se o boto [] pode-se navegar no disco para indicar o

    arquivo da aplicao a ser executada.

    +1 Permite especificar argumentos para a chamada da aplicao.$.'3

    Determina o diretrio de trabalho da aplicao que ser executada.

    .%/0 Determina o tipo de janela de execuo da aplicao: normal,minimizado ou maximizado.

  • 8/2/2019 Manual E3 Scripts

    19/396

    E3 - Scripts - Manual de Referncia

    Introduo 19

    Carregar Valor

    Carrega um valor em um tag.

    Figura 8: Configuraes do pick Carregar Valor

    Opes disponveis no pick Carregar Valor

    CAMPO DESCRIO61 Especifica o nome do tag no qual ser carregado o valor. Pode-se escolher o

    tag no AppBrowser, apertando-se o boto [].2 Determina o valor que ser carregado no tag. Pode-se escolher o tipo de

    dados apertando a seta para baixo.

  • 8/2/2019 Manual E3 Scripts

    20/396

    E3 - Scripts - Manual de Referncia

    20 Introduo

    Inverter Valor

    Permite inverter o valor de um tag. Se o valor do tag for igual a2>, ento o tagrecebe2?. Se o valor do tag for igual a 2?, ento o tag recebe2>. Se ovalor do tag no for igual a2> nem2?, o tag recebe2>.

    possvel colocar tantos picks 2 quanto o desejado. Isso permite averificao de mltiplos valores para um mesmo tag ou at mesmo para diversos

    tags em um mesmo evento.

    Figura 9 - Configuraes do pick Inverter Valor

    Opes disponveis no pick Inverter Valor

    CAMPO DESCRIO61 Apertando-se o boto [] o E3 abre o AppBrowser, para a escolha do tag

    desejado.2> Determina o primeiro valor a ser comparado. Se o valor do tag for igual a

    2>, ento o tag recebe2?.2? Determina o segundo valor a ser comparado. Se o valor do tag for igual a

    2?, ento o tag recebe2>.

  • 8/2/2019 Manual E3 Scripts

    21/396

    E3 - Scripts - Manual de Referncia

    Introduo 21

    Imprimir Relatrio

    Permite imprimir um relatrio na tela ou na impressora.

    Figura 10: Configuraes do pick Imprimir Relatrio

    Opes disponveis no pick Imprimir Relatrio

    CAMPO DESCRIO(3 Permite escolher o relatrio a ser impresso.= Determina o tipo de sada do relatrio:

    (: Envia o relatrio para a impressora. Correspondeao mtodo Print().,: Faz uma prvia de impresso de relatrio na tela.

    Corresponde ao mtodo PrintPreview().

  • 8/2/2019 Manual E3 Scripts

    22/396

    E3 - Scripts - Manual de Referncia

    22 Introduo

    ( )*+,

    Apesar do E3 vir com uma extensa gama de eventos, muitas vezes o usurio podedesejar criar um evento especfico para sua aplicao.

    Um exemplo para a utilizao de eventos definidos pelo usurio seria a realizao de

    um clculo ou tarefa mais complexa em um objeto, quando o evento gerador vem deum outro tag ou propriedade.

    Apesar de se poder criar e executar este mesmo tipo de trabalho a partir do prpriotag ou propriedade gerador do evento, existem vantagens em manter-se o script juntoao objeto que sofrer a ao deste. Dentre elas, podemos citar o trabalho adicionalnecessrio para fazer um objeto apontar para outro, alm de facilidades demanuteno, pois se por algum motivo for necessrio modificar ou apagar o tag oupropriedade que seja o evento gerador, no necessrio modificar um segundoobjeto.

    Outra vantagem o fato de que se o tag gerador do evento for apagado, o objeto noperder o script, basta que se indique uma outra fonte geradora de evento.

    A gerao de eventos internos facilita ainda a criao de bibliotecas, pois cada vezque um componente de biblioteca inserido em uma aplicao, ele traz consigo osscripts e clculos que podem ser necessrios, diminuindo o trabalho de configurao.

    Para gerar um novo evento interno em um objeto, siga estes procedimentos:

    Clique no boto Criar evento do usurio, ou ento em ["], na Lista de Eventos. O E3 abrir uma janela para adefinio das propriedades do evento.

    Figura 11: Janela para a adio de eventos definidos pelo usurio

  • 8/2/2019 Manual E3 Scripts

    23/396

    E3 - Scripts - Manual de Referncia

    Introduo 23

    Opes disponveis na janela Eventos

    OPO DESCRIO6$ Nome que identifica o evento.+((4.(0 Expresso geradora do evento. Pode ser copiada atravs do

    AppBrowser, apertando-se o boto .@'/0

    Indica que o evento ser do tipo $ (o eventoocorre no momento que a expresso for verdadeira) ou

    A;$ (o evento ocorre ciclicamente, em intervalospr-definidos).

    ('

    Quando preenchido, indica que o evento serA;$. Indica o ciclo de repetio do evento emmilissegundos, isto , de quanto em quanto tempo ele irocorrer, enquanto a expresso geradora for verdadeira.

    + Indica que o evento ser 2";1, isto , oevento ir ocorrer sempre que a expresso geradora mudaro valor.

    ,'.0'/

    Indica se a conexo/desconexo da expresso geradora doevento dever ser tratada como mudana.

    Clique em B para completar o processo e inserir o evento. Ele iraparecer na lista de eventos.

    Para alterar este evento, selecione-o e clique em Editar evento dousurio. A janela anterior ser aberta novamente para a edio de dadosdo evento.

    Para apagar este evento, selecione-o e clique em Remover evento dousurio. IMPORTANTE: ao clicar esta opo, os scripts deste eventosero perdidos.

  • 8/2/2019 Manual E3 Scripts

    24/396

  • 8/2/2019 Manual E3 Scripts

    25/396

    Introduo ao VBScript 25

    O VBScript uma linguagem baseada no Visual Basic que traz a capacidade descripting (roteirizao) para aplicaes que rodam no sistema operacional Windows.

    O VBScript troca informaes com as aplicaes utilizando a tecnologia ActiveXScripting. Com oActiveXScripting, navegadores e outras aplicaes-cliente como oE3 Viewer podem compilar scripts e chamar funes, dentre outros procedimentos.Isso possibilita que scripts desenvolvidos para uma aplicao ou biblioteca quedevam ser executados na interface grfica possam ser executados tanto no E3Viewer quanto em um navegador de Internet, sem a necessidade de qualqueradaptao do aplicativo.

    Mais informaes sobre o VBScript podem ser obtidas no manual on-line Guia deReferncia do VBScript, no Grupo de Programas do E3.

    # $%-%"O ambiente de programao de scripts no E3 Studio pode ser acessado atravs doclique com o boto direito sobre qualquer objeto, escolhendo-se a opoPropriedades. Na aba Scripts, pode-se ver a caixa combo onde se define qualevento ser o gerador do script. Como vimos no captulo anterior, existem dois tiposde eventos em um objeto do E3: os pr-definidos e os definidos pelo usurio.

    Os eventos pr-definidos variam de objeto para objeto, a depender da sua utilizaoe funcionalidade. Um objeto de tela, por exemplo, possui eventos relacionados interface grfica, como OnClick (chamado ao clicar sobre o objeto) ou OnDbClick(chamado com um duplo-clique); j um objeto como um Driver de Comunicaopossui eventos relacionados comunicao, como o OnCommError (chamadoquando h um erro de comunicao). Pode-se tambm definir outros eventos para oobjeto, como visto anteriormente.

    Quando um script associado a um evento em um objeto, o campo de digitaoapresenta uma declarao de procedimento (procedure), cuja definio automticae composta do seguinte texto:

    Sub NomeDoObjeto_NomeDoEvento()

    End Sub

    Onde: NomeDoObjeto o nome do objeto associado e NomeDoEvento o nome doevento em questo. Os comandos do script devero estar entre essas duas linhas.

    !

    # "./

  • 8/2/2019 Manual E3 Scripts

    26/396

    E3 - Scripts - Manual de Referncia

    26 Introduo ao VBScript

    Para ajudar na digitao do script, pode-se utilizar o AppBrowser. Ao se escolher omtodo ou propriedade desejada, pode-se acessar o boto "(. O tag,propriedade ou mtodo escolhidos sero inseridos na posio do cursor no quadro deedio do script. O local do cursor mostrado atravs da animao com uma setapiscante.

    ## *O VBScript possui somente um tipo de dado chamado Variant. Um Variant umtipo especial de dado que pode conter diferentes tipos de informao, dependendo decomo for usado. Pelo fato do variant ser o nico tipo de dado no VBScript, eletambm o tipo de dado de retorno de todas as funes em VBScript.

    Na prtica, um variant pode conter nmeros ou texto. Um variant se comporta comoum nmero quando usado em expresses numricas e como um string emexpresses de texto. Isto , quando se trabalha com dados que parecem ser nmeros,o VBScript assume que estes so mesmo nmeros, e faz o que mais apropriadopara este tipo de dados. Do mesmo modo, quando se trabalha com dados queparecem ser texto, o VBScript os trata como se fossem texto. Pode-se forarnmeros a se comportem como texto colocando-os dentro de aspas (" ").

    Subtipos VariantAlm das classificaes simples de nmero ou texto, um variant pode fazerdistines sobre a natureza especfica da informao numrica. Por exemplo,pode-se ter informao numrica que represente data/hora. Quando usada comoutros dados data/hora, o resultado sempre expresso num formato data/hora.Pode-se tambm ter uma variedade de informaes numricas variando em tamanhodesde tipos lgicos (Booleanos) at grandes nmeros de ponto flutuante. Estasdiferentes categorias de informao que podem estar contidas em um variant sochamados subtipos. Na maioria das vezes, simplesmente atribui-se o tipo de dadodesejado em um variant e ele se comporta da forma mais apropriada.

  • 8/2/2019 Manual E3 Scripts

    27/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 27

    Subtipos Variant

    SUBTIPOS DESCRIO$(C Vazio (variant no inicializado). O valor 0 para variveis numricas ou string de

    comprimento zero ("") para variveis texto.6 Nulo. O variant intencionalmente no contm dados vlidos. Lgico. Contm verdadeiro (True ou 1) ou falso (False ou 0).C Contm inteiros na faixa 0 a 255 (8 bits).

    1 Contm inteiros na faixa de -32768 a 32767 (16 bits)."'C Valores monetrios, na faixa de -922.337.203.685.477,5808 a

    922.337.203.685.477,5807.1 Contm inteiros na faixa de -2,147,483,648 a 2,147,483,647 (22 bits).1 Contm nmero ponto flutuante de preciso simples na faixa de 3,402823E38

    823E38 a -1,401298E-45 para valores negativos e 1,401298E-45 a 3,402823E38para valores positivos.

    D% Contm nmero ponto flutuante de preciso dupla na faixa de-1,79769313486232E308 a -4,94065645841247E-324 para valores negativos e4,94065645841247E-324 a 1,79769313486232E308 para positivos.

    D,! Contm um nmero que representa uma data entre 1-. de janeiro de 100 a 31 dedezembro de 9999.

    1 Contm um texto de comprimento varivel que pode ter aproximadamente 2bilhes da caracteres de comprimento.

    %&' Contm um objeto qualquer.$ Contm um cdigo de erro.

  • 8/2/2019 Manual E3 Scripts

    28/396

    E3 - Scripts - Manual de Referncia

    28 Introduo ao VBScript

    #& .,

    Uma varivel uma localizao de memria no computador onde possvelarmazenar informaes que podem mudar durante a execuo do script. Porexemplo, pode-se criar uma varivel chamada ClickCount para guardar o nmero

    de vezes que o usurio clicou em um objeto. O local onde a varivel armazenadana memria do computador no importante. Na verdade, s necessrio saber onome da varivel para ver ou modificar seu valor. Em VBScript, as variveis sosempre do tipo-base Variant.

    Declarando variveis possvel declarar variveis de duas maneiras: implicitamente ou explicitamente.

    Para declarar uma varivel implicitamente, basta usar seu nome no script.Automaticamente, a varivel ser criada e inicializada com o valor da atribuio, oupermanecer Empty (vazia, sem nenhum valor), caso no receba nenhum valor antesde ser utilizada.

    Esta uma prtica rpida, porm se o script for muito extenso, isto pode causarconfuso e a criao de mais de uma varivel com o mesmo nome, gerando bugs noscript.

    Para declarar variveis explicitamente, utiliza-se o comandoDim, como no exemplo:Dim Temperatura

    Pode-se declarar mltiplas variveis separando cada nome de varivel com umavrgula. Por exemplo:

    Dim Esquerda, Direita, Topo, Base

    Em virtude dos scripts no E3 serem todos associados a um objeto em particular, asvariveis so sempre locais, vlidas apenas para o escopo do script. Para ter-sevariveis pblicas ou globais, deve-se criar um tag interno e utiliz-lo paraarmazenar o valor desejado.

    Restries para nomes de variveisOs nomes de variveis devem obedecer s regras de nomeao do VBScript:

    Devem comear com um caractere alfabtico. No podem conter um ponto.

    No devem exceder 255 caracteres.

    Devem ser nicos no escopo onde esto declarados, isto , dentro do script.

    Caracteres especiais (&, %, @, etc.) so aceitos, desde que grafados entrecolchetes [ ].

  • 8/2/2019 Manual E3 Scripts

    29/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 29

    Atribuindo valores a variveisValores so atribudos a variveis atravs do sinal de igual (=), do mesmo modo queoutras linguagens de programao. Por exemplo:

    Dim Largura, Altura

    Largura = 20

    Altura = 12

    No exemplo, as variveis Largura e Altura recebero os valores 20 e 12respectivamente.

    Variveis escalares e do tipo arrayNa maioria das vezes, queremos somente associar um valor simples a uma variveldeclarada. Neste caso, a varivel contendo um nico valor chamada varivelescalar. Porm, outras vezes, conveniente atribuir mais de um valor relacionado auma nica varivel. Para isso, pode-se criar uma varivel que contm uma srie devalores, uma varivel do tipo array, ou vetor.

    Variveis escalares e arrays so declaradas da mesma forma, exceto pelo fato de quea declarao de um array utiliza parnteses contendo sua dimenso (quantos valoresa varivel ir armazenar). No exemplo seguinte, um array de dimenso 11 elementos declarado:

    Dim A(10)

    Apesar do nmero nos parnteses ser 10, todos os arrays em VBScript comeam emzero (zero-basedou base zero). Num array de base zero, o nmero de elementos sempre o nmero mostrado nos parnteses mais um. O tipo array chamado detamanho fixo, pois uma vez declarado, no se pode modificar seu tamanho.

    Pode-se atribuir dados a cada um dos elementos de um array usando-se um ndice.Comeando do zero e terminando em 10, pode-se atribuir dados aos elementos deum array como a seguir:

    A(0) = 256

    A(1) = 324

    A(2) = 100

    .

    A(10) = 55

    Similarmente, usando-se um ndice, pode-se copiar um dado de qualquer elementodo array. Por exemplo:

    MinhaVariavel = A(8)

    Os arrays no esto limitados a uma simples dimenso. possvel ter um array deat 60 dimenses. Para declarar mltiplas dimenses, deve-se especific-los noparnteses, separando-os com vrgulas.

  • 8/2/2019 Manual E3 Scripts

    30/396

    E3 - Scripts - Manual de Referncia

    30 Introduo ao VBScript

    Neste exemplo, a varivel MinhaTabela um array de duas dimenses consistindode 6 linhas e 11 colunas:

    Dim MinhaTabela(5,10)

    Num array bidimensional, o primeiro nmero sempre o nmero de linhas; osegundo nmero o nmero de colunas.

    Pode-se tambm declarar um array cujo tamanho muda durante a execuo do script.

    Isto chamado de array dinmico. Um array dinmico declarado com o comandoDim, como um array normal, mas no especificamos as dimenses nos parnteses.Por exemplo:

    Dim MeuArray()

    Para modificar um array dinmico, voc deve utilizar o comandoReDim, indicandoas novas dimenses. Se for necessrio manter os dados anteriormente atribudos aoarray, deve-se usar a chave Preserve.

    No exemplo seguinte, ajustamos o tamanho inicial do array para 25. O comandoReDim seguinte redimensiona o array para 30, mas usa a palavra chave Preservepara preservar os dados anteriores.

    Sub ModificaArray

    Dim MeuArray(25)

    MeuArray(1) = "Posicao 1"

    MeuArray(14) = "Posicao 14"

    MeuArray(23) = "Posicao 23"

    ' Redimensiona MeuArray conservando seus dados

    ReDim Preserve MeuArray(30)

    MsgBox MeuArray(23) ' ir mostrar "Posicao 23"

    End Sub

    No h limite para o nmero de vezes que um array dinmico pode serredimensionado, porm ao se diminuir o tamanho de um array, os dados dasposies eliminadas sero perdidos.

  • 8/2/2019 Manual E3 Scripts

    31/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 31

    #(

    Uma constante um tipo especial de varivel que nunca muda o seu valor. OVBScript j possui um conjunto de constantes pr-definidas. Consulte a refernciada linguagem no site da Microsoft para maiores detalhes.

    Criando constantesPode-se criar constantes definidas pelo usurio utilizando-se o comando Const,como constantes texto ou numricas como nomes com significado, e atribuir-lhesvalores literais. Por exemplo:

    Const MeuTexto = "Isto um texto."

    Const MinhaIdade = 36

    Note que o texto literal colocado entre aspas (" "). As aspas so o mtodo maisbvio para diferenciar valores texto de numricos. Pode-se representar datas ehorrios literais inserindo-os entre sinais de nmeros ou cancelas (#). Por exemplo:

    Const CutoffDate = #6-1-97#

    Uma boa prtica a adoo de um esquema de nomes para diferenciar constantes devariveis. Isto previne que se tente re-atribuir valores a constantes enquanto o script

    est sendo executado. Por exemplo, pode-se querer usar um prefixo "vb" ou "con"nos nomes de constantes, ou deixar as constantes em letras maisculas. Diferenciarconstantes de variveis elimina confuses que podem aparecer ao desenvolverscripts mais complexos. Exemplos:

    Const TEMP_LIMITE = 112

    Const vbPreto = 0 'vbBlack pr-definida no VBScript

    Const conMaioridade = 18

    #0

    O VBScript possui uma ampla gama de operadores, conforme tabelas abaixo.

    Operadores aritmticos

    OPERADORES DESCRIO# (adio)E (subtrao ou negao unria)F (multiplicao)4 (diviso decimal, retorna um nmero de ponto flutuante)G (diviso inteira, retorna um nmero inteiro) (resto da diviso)H (exponenciao)

  • 8/2/2019 Manual E3 Scripts

    32/396

    E3 - Scripts - Manual de Referncia

    32 Introduo ao VBScript

    Operadores de comparao

    OPERADORES DESCRIO (menor que) (maior que)I (menor ou igual)I (maior ou igual)

    I ( igual) ( diferente)

    Operadores de stringsOPERADORES DESCRIOJ (concatenao)

    Operadores lgicos

    OPERADORES DESCRIO+ (E) (OU)

    6 (Negao, operador unrio)

  • 8/2/2019 Manual E3 Scripts

    33/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 33

    Precedncia de operadoresQuando vrias operaes ocorrem em uma expresso, cada parte avaliada eresolvida em uma ordem predeterminada chamadaprecedncia de operadores.

    Pode-se utilizar parnteses para redefinir a ordem de precedncia e forar algumaspartes de um expresso a serem sempre realizadas antes daquelas que esto fora dosparnteses. Dentro dos parnteses, entretanto, a precedncia de operadores padro

    mantida. Quando expresses contm operadores de mais de uma categoria, osoperadores aritmticos so avaliados primeiro, seguidos pelos operadores decomparao, e por ltimo os operadores lgicos. Operadores aritmticos soavaliados na seguinte ordem:

    1. - (negao unria)

    2. ^

    3. *, /

    4. \

    5. Mod

    6. +, -

    7. & (concatenao de strings)

    Quando a multiplicao e diviso ocorrem juntas numa expresso, cada operao

    avaliada como aparece da esquerda para a direita. Da mesma forma, quando a adioe subtrao ocorrem juntas em uma expresso, cada operao avaliada em ordemde aparecimento da esquerda para a direita. O operador de concatenao de strings(&) no um operador aritmtico, mas em precedncia ele ocorre depois de todos osoperadores aritmticos e antes de todos os operadores de comparao.

    Operadores de comparao possuem todos a mesma precedncia, isto , soavaliados da esquerda para a direita na ordem em que aparecem.

    Operadores lgicos so avaliados na seguinte ordem:Not,And, OreXor.

    #1 %,

    Linhas de comentrios e observaes no cdigo podem ser acrescentadasutilizando-se o caractere ' (apstrofe) no incio da linha.

    Exemplo:Sub Exemplo()

    Dim X

    ' Isso um exemplo de comentrio

    X = 1 ' comentando que a varivel X recebeu 1

    End Sub

  • 8/2/2019 Manual E3 Scripts

    34/396

    E3 - Scripts - Manual de Referncia

    34 Introduo ao VBScript

    #2 34

    Pode-se controlar o fluxo de execuo do script com comandos de condio e derepetio. Com comandos condicionais, pode-se escrever programas VBScript quetomam decises e repetem aes.

    #2 5)O comando If..Then..Else usado para avaliar se uma condio verdadeira oufalsa e, dependendo do resultado, especificar um ou mais comandos a seremexecutados. Geralmente, a condio uma expresso que usa um operador decomparao para comparar um valor ou varivel outra.

    Tais comandos podem ser aninhados em quantos nveis forem necessrios. Deve-seporm, respeitar a sintaxe de bloco: se o Then tiver apenas um comando, pode-secoloc-lo na mesma linha. Se tiver mais de um comando, deve-se colocar o Thenmarcando o incio do bloco, seguido dos comandos desejados em linhas separadas efinalizando com um desses comandos: Else, ElseIfou End If(veja os exemplos queseguem).

    Executando comandos se uma condio for verdadeiraPara executar somente um comando quando uma condio for verdadeira, use asintaxe de uma linha para o comando If..Then..Else. O exemplo a seguir mostra asintaxe de uma linha. Note que este exemplo omite a palavra-chave Else.

    Sub FixDate()

    ' Declara a varivel minhaData

    Dim minhaData

    ' Atribui 13 de fevereiro de 1995 varivel minhaData

    minhaData = #13/2/95#

    ' Se minhaData for anterior

    ' a hoje (varivel de sistema Now)

    ' ento faa minhaData ser igual a hoje

    If minhaData < Now Then minhaData = Now

    End SubPara executar mais de uma linha de cdigo, deve-se usar a sintaxe de bloco oumltiplas linhas. Esta sintaxe inclui o comando End If, como mostrado abaixo:

    If valor = 0 Then

    AlertLabel.ForeColor = vbRed

    AlertLabel.Font.Bold = True

    AlertLabel.Font.Italic = True

    End If

  • 8/2/2019 Manual E3 Scripts

    35/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 35

    Executando comandos se uma condio for verdadeira e outrosse a condio for falsaPode-se usar um If..Then..Else para definir dois blocos de cdigo: um para serexecutado se a condio for verdadeira, e outro bloco para ser executado se acondio for falsa. Por exemplo:

    Sub Alerta(valor)

    If valor = 0 Then

    AlertLabel.ForeColor = vbRed

    AlertLabel.Font.Bold = True

    Else

    AlertLabel.Forecolor = vbBlack

    AlertLabel.Font.Bold = False

    AlertLabel.Font.Italic = False

    End If

    End Sub

    Clusula ElseIfUma variao no comando If..Then..Else permite que se escolha entre vriasalternativas. Adicionando-se clusulas ElseIf, a funcionalidade do comando expandida, possibilitando o objeto do fluxo de execuo baseado em diferentespossibilidades. Por exemplo:

    Sub InformaValor(valor)

    If valor = 0 Then

    MsgBox valor

    ElseIf valor = 1 Then

    MsgBox valor

    ElseIf valor = 2 Then

    MsgBox valor

    Else

    MsgBox "Valor invlido!"

    End If

    possvel adicionar tantas clusulas ElseIfquantas forem necessrias, porm o usoextensivo de clusulas ElseIf pode ser substitudo pelo comando Select Case,tornando o script mais claro e otimizado.

  • 8/2/2019 Manual E3 Scripts

    36/396

    E3 - Scripts - Manual de Referncia

    36 Introduo ao VBScript

    #2#

    A estrutura Select Case uma alternativa mais eficiente ao If..Then..ElseIfparaselecionar um dentre mltiplos blocos de instrues condicionados a uma varivel.

    O comando Select Case trabalha com uma expresso simples de teste que avaliadauma vez, no topo da estrutura. O resultado da expresso ento comparado com osvalores para cada caso (Case) desejado. Se h uma comparao verdadeira, o blocode instrues associado quele caso executado. Por exemplo:

    Select Case tipoAlarme

    Case 1

    MsgBox "Alarme: tag com valor baixo crtico!!!"

    Case 2

    MsgBox "Alarme: tag com valor baixo!"

    Case 3

    MsgBox "Alarme: tag com valor alto!"

    Case 4

    MsgBox "Alarme: tag com valor alto crtico!!!"

    Case Else ' se nenhum caso for selecionado

    MsgBox "Situao normal."

    End Select

    Note que o comando Select Case avalia a expresso uma vez no topo da estrutura.Em contraste, a estrutura If..Then..ElseIfvai avaliar uma expresso diferente paracada instruo ElseIf, tornando o cdigo menos otimizado. Nestes casos, prefirasempre a estrutura Select Case.

    #2& 656

    O comando While.. Wend permite repetir um bloco de comandos enquanto umacondio for verdadeira. Este comando existe no VBScript para aqueles que sofamiliares a seu uso. Entretanto, a falta de flexibilidade desta estrutura faz com queseja recomendado o uso da instruo Do.. Loop.

    #2( *7Pode-se utilizar comandos Do..Loop para executar um bloco de cdigo um nmeroindefinido de vezes. Os comandos so repetidos enquanto a condio for verdadeira,ou at a condio ser tornar verdadeira.

    Palavra-chave WhileA palavra-chave While deve ser utilizada numa instruo Do.. Loop para indicarque o lao ser executado enquanto sua condio for verdadeira. possvel avaliar

  • 8/2/2019 Manual E3 Scripts

    37/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 37

    a condio antes do programa entrar no lao ou depois do lao ter sido executadopelo menos uma vez.

    No exemplo a seguir, no procedimento AvaliaAntesWhile, se for atribudo o valor 9a meuNum ao invs de 20, o cdigo dentro do lao nunca ser executado.

    No procedimento AvaliaDepoisWhile, o cdigo dentro do lao ser executadosomente uma vez, devido condio j ser falsa.

    Exemplos:Sub AvaliaAntesWhile()

    Dim contador, meuNum

    contador = 0

    meuNum = 20

    Do While meuNum > 10

    meuNum = meuNum 1

    contador = contador + 1

    Loop

    MsgBox "O lao teve " & contador & " repeties."

    End Sub

    Sub AvaliaDepoisWhile()

    Dim contador, meuNumcontador= 0

    meuNum = 9

    Do

    meuNum = meuNum 1

    contador = contador+ 1

    Loop While meuNum > 10

    MsgBox "O lao teve " & contador & " repeties."

    End Sub

    Palavra-chave UntilA palavra-chave Until indica que o lao ser executado at que sua condio sejaverdadeira. Existem dois mtodos de utilizar a palavra-chave Until para avaliar uma

    condio num lao Do.. Loop. Pode-se avaliar a condio antes do programa entrarno lao (como mostrado no exemplo AvaliaAntesUntil) ou depois do lao ter sidoexecutado pelo menos uma vez (mostrado no exemplo AvaliaDepoisUntil).Enquanto a condio for falsa, o lao acontece.

  • 8/2/2019 Manual E3 Scripts

    38/396

    E3 - Scripts - Manual de Referncia

    38 Introduo ao VBScript

    Exemplos:Sub AvaliaAntesUntil()

    Dim contador, meuNum

    Contador = 0

    meuNum= 20

    Do Until meuNum = 10

    meuNum = meuNum 1

    contador = contador + 1

    Loop

    MsgBox "O lao teve " & contador & " repeties."

    End Sub

    Sub AvaliaDepoisUntil()

    Dim contador, meuNum

    Contador = 0

    meuNum = 1

    Do

    meuNum = meuNum + 1

    contador = contador + 1

    Loop Until meuNum = 10MsgBox "O lao teve " & contador & " repeties."

    End Sub

    Comando Exit Do possvel forar a sada de um lao Do.. Loop atravs do comando Exit Do. Estecomando ignora a condio especificada no lao e encerra-o incondicionalmente.

    Devido ao fato de se desejar sair do lao somente em situaes especiais (como paraevitar um lao infinito) deve-se usar o comando Exit Do na condio verdadeira deum comando If.. Then.. Else. Se a condio falsa, o lao corre normalmente.

    No exemplo a seguir, meuNum recebe um valor que cria um loop infinito. Ocomando If.. Then.. Else verifica essa condio, prevenindo uma execuo infinita.

  • 8/2/2019 Manual E3 Scripts

    39/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 39

    Exemplo:Sub ExemploExitDo()

    Dim contador, meuNum

    contador= 0

    meuNum = 9

    Do Until meuNum = 10

    meuNum = meuNum - 1

    contador = contador + 1

    If meuNum < 10 Then Exit Do

    Loop

    MsgBox "O lao teve " & contador & " repeties."

    End Sub

    #20 384

    Pode-se utilizar o comando For.. Next para executar um bloco de instrues umnmero especfico de vezes. Para laos, use uma varivel como contador cujo valorseja incrementado ou decrementado a cada repetio do lao.

    O exemplo a seguir faz com que o tag exemplo receba o valor da expressocinqenta vezes. O comando For especifica a varivel contador X e seus valoresiniciais e finais. O comando Next incrementa o contador e verifica se ele atingiu olimite. Em caso negativo, o lao executado mais uma vez. Em caso afirmativo, oscript seguido.

    Sub Executa50Vezes()

    Dim X, exemplo

    For X = 1 To 50

    exemplo = X * 2 ' recebe 2, 4, 6, 8, 10 etc.

    Next

    End Sub

    Usando a palavra-chave Step, pode-se incrementar ou decrementar a varivelcontador pelo valor que for especificado. No exemplo a seguir, o contador incrementado de 2 em 2 cada vez que o lao repetido. Quando o lao acaba, o total

    a soma de 2, 4, 6, 8, e 10.Sub TotalDeDois()

    Dim j, total

    For j = 2 To 10 Step 2 ' conta de 2 em 2

    total = total + j

    Next

    MsgBox "O total " & total

    End Sub

  • 8/2/2019 Manual E3 Scripts

    40/396

    E3 - Scripts - Manual de Referncia

    40 Introduo ao VBScript

    Para decrementar o contador, use um valor negativo para o Step. Deve-seespecificar um valor final menor que o valor inicial. No exemplo a seguir, a varivelmeuNum decrementada de 2 em 2 cada vez que o lao repetido. Quando o laotermina, o total a soma de 16, 14, 12, 10, 8, 6, 4 e 2.

    Sub OutroTotal()

    Dim meuNum, total

    For meuNum = 16 To 2 Step 2total = total + meuNum

    Next

    MsgBox "O total " & total

    End Sub

    Pode-se sair de qualquer comando For.. Next antes do contador alcanar seu valorfinal utilizando-se o comando Exit For. Este comando tem o comportamentosemelhante ao comando Exit Do, finalizando o lao incondicionalmente.

    #21 3)584

    Um lao For Each.. Next similar a um lao For.. Next. Ao invs de repetir asinstrues de um bloco um nmero especfico de vezes, um lao For Each.. Next

    repete um grupo de comandos para cada item numa coleo de objetos ou para cadaelemento num array. Isto bastante til quando o nmero de elementos presentes emuma coleo no conhecido.

    Exemplo:Sub cmdChange_OnClick

    Dim d 'Declara uma varivel

    ' d ser um objeto do tipo Scripting.Dictionary

    Set d = CreateObject("Scripting.Dictionary")

    ' Adiciona itens a coleo d

    d.Add "0", "Atenas"

    d.Add "1", "Belgrado"

    d.Add "2", "Cairo"

    For Each I in d ' I implicitamente declarada

    Document.frmForm.Elements(I).Value = D.Item(I)

    Next

    End Sub

  • 8/2/2019 Manual E3 Scripts

    41/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 41

    #9 :-

    A principal razo para se utilizar um conjunto consistente de convenes decodificao a padronizao da estrutura e do estilo de codificao de um script ouum conjunto de scripts. Isto possibilita s pessoas lerem e entenderem maisfacilmente o cdigo. A utilizao de boas convenes de codificao resulta em um

    cdigo-fonte preciso, legvel e no-ambguo, que consistente com as convenesde outras linguagens, e que se torna to intuitivo quanto possvel.

    Nomeao de procedimentos, constantes, variveis e objetosNa nomeao de constantes, variveis, procedimentos e objetos, um ponto importante: os nomes devem sempre informar sobre a finalidade destes.

    Procedimentos

    Uma boa tcnica usar o par verbo-substantivo para a nomeao. No entanto, nouse palavras vagas, ambguas ou genricas, como faz, coisa ou isto. Quandose encontra dificuldade para a nomeao de um procedimento usando-se estassugestes, talvez ele no tenha razo de existir ou seu propsito esteja errado.

    Exemplos: ClassificaMatrizNomes, CalculaTaxaJuros.

    Constantes

    Utilize o prefixo con seguido do nome da constante. Inicie o nome da constantecom letra maiscula. Para nomes de constantes com duas ou mais palavras,separe-as usando apenas as letras maisculas para definir o incio da nova palavra.

    Exemplo: conMinhaConstante.

    Variveis

    Embora um nome razoavelmente extenso seja o recomendado, nomes com mais de32 caracteres tornam-se difceis de ler e digitar. Nesse caso, bom usar nomesabreviados, principalmente para variveis que possuam um uso muito grande, comocontadores em laos.

    Deve-se, entretanto, usar um mesmo padro de abreviao em todo o cdigo (no

    definir, por exemplo, uma varivel contadora com "cnt" em um procedimento e"cont" em outro).

    Alm disso, recomendada a utilizao de prefixos na nomeao de variveis queindiquem o seu subtipo. Isto muito til no uso de variveis em funes ou em laosque trabalhem com um subtipo especfico.

  • 8/2/2019 Manual E3 Scripts

    42/396

    E3 - Scripts - Manual de Referncia

    42 Introduo ao VBScript

    Exemplos:Dim strMeuNome ' string

    Dim intCodTela ' integer

    Prefixos recomendados para os subtipos Variant

    SUBTIPO PREFIXO

    binC bytD,! dtmD% dbl$ err1 int1 lng%&' obj1 sng1 str

    Objetos

    Recomenda-se o uso dos seguintes prefixos:

    OBJETO PREFIXO1;K hsd1' vsb0 ani0' cmd0/0 spn".'%/0'.

    cbo

    ".51 dlg". lst".. txt".:'/0 chk

    1img

    'K sld; lin fraLD pnl3 lbl

  • 8/2/2019 Manual E3 Scripts

    43/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 43

    ComentriosTodos os procedimentos devem comear com um breve comentrio sobre o que estefaz. No entanto, este comentrio no deve descrever os detalhes de implementao,porque isto freqentemente consome muito tempo e resulta num trabalho demanuteno de comentrios desnecessrio. O cdigo em si ou os comentrios aosfinais das linhas descrevero como o procedimento executa a tarefa a que se prope.

    Uma recomendao bastante importante, mas que deve causar contrariedade maioria dos programadores : comente cada linha de cdigo no seu programa.Embora seja muito trabalhoso, isto poupa trabalho posterior na identificao do quehavia sido escrito.

    Uma dica para quem no gosta de comentar seu cdigo usar a seguinte tcnica:primeiro, escreva todo o cdigo; depois, comente todas as linhas. Isto muito tilpara revisar o cdigo e encontrar erros sintticos ou semnticos. Alm disso,algumas vezes pode ser til incluir no incio do cdigo um pequeno pseudocdigodescrevendo o algoritmo.

    Para cada procedimento, deve-se incluir as seguintes informaes antes da suadefinio:

    proposta (o que o procedimento faz, no como);

    suposies (que outras partes do programa afetam tal procedimento);

    efeitos (que outras partes do programa tal procedimento afeta); parmetros (a explicao da finalidade de cada parmetro).

    Formatao e identao do cdigoUtilize identaes (ou seja, tabulaes e alinhamentos) para indicar a hierarquia dosblocos de cdigo. No caso de construes com um incio e um final bem definidos(os laos, por exemplo), use um recuo no seu contedo, uma vez para cada nvel deaninhamento.

    Alm disso, os comentrios iniciais dos procedimentos devem ser identados em umespao. interessante tambm deixar uma linha em branco entre a definio e ocorpo do procedimento e as partes diversas do corpo (declaraes, inicializaes,processos etc.).

  • 8/2/2019 Manual E3 Scripts

    44/396

    E3 - Scripts - Manual de Referncia

    44 Introduo ao VBScript

    #;

  • 8/2/2019 Manual E3 Scripts

    45/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 45

    Parmetros do mtodo MsgBox

    NOME DESCRIO( Texto a ser mostrado como uma mensagem na caixa de dilogo.

    Se o texto tiver mais de uma linha, pode-se separ-las usando ocaractere CR (Chr(13)).

    Expresso numrica que a soma dos valores que especificam onmero e o tipo dos botes a serem mostrados. Se for omitido, o

    valor padro 0 (zero). Ver tabela abaixo., Texto do ttulo da janela de dilogo. Se for omitido, o ttulo

    VBScript ser usado.9(@ Texto que especifica o nome do arquivo de ajuda para a caixa de

    dilogo. Se este parmetro for especificado, Context dever serespecificado.

    ". Expresso numrica que especifica o nmero de contexto daajuda atribudo pelo autor da ajuda ao tpico apropriado. Se esteparmetro for especificado, HelpFile dever ser especificado.

    Os argumentos de configurao do parmetro %so os seguintes:

  • 8/2/2019 Manual E3 Scripts

    46/396

    E3 - Scripts - Manual de Referncia

    46 Introduo ao VBScript

    Opes disponveis para o parmetro buttons

    NOME VALOR DESCRIO%BC 0 Mostra somente o boto OK.%B"' 1 Mostra os botes OK e Cancel (caso o

    Windows seja ingls) ou OK e Cancelar(caso o Windows seja portugus).

    %B+%C1 2 Mostra os botes Abort, Retry e Ignore(caso o Windows seja ingls) ou Abortar,Repetir e Ignorar (caso o Windows sejaportugus).

    %M6"' 3 Mostra os botes Yes, No e Cancel (caso oWindows seja ingls) ou Sim, No eCancelar (caso o Windows sejaportugus).

    %M6 4 Mostra os botes Yes e No (caso oWindows seja ingls) ou Sim e No (casoo Windows seja portugus).

    %C"' 5 Mostra os botes Retry e Cancel (caso oWindows seja ingls) ou (caso oWindows seja portugus).

    %"' 16 Mostra um cone , que indica umamensagem crtica.

    %N 32 Mostra um cone , que indica umapergunta.

    %$.' 48 Mostra um cone , que indica umamensagem importante.

    %: 64 Mostra um cone , que indica umainformao.

    %D:> 0 O primeiro boto o padro.%D:? 256 O segundo boto o padro.%D:L 512 O terceiro boto o padro.%D:O 0768 O quarto boto o padro.%+((' 0 Aplicaes modais; O usurio deve

    responder mensagem da caixa de dilogo,antes de continuar a trabalhar na aplicaocorrente.

    %C 4096 Aplicaes do sistema; Todas as aplicaesso suspensas at que o usurio responda amensagem da caixa de dilogo.

    O primeiro grupo de valores (0 - 5) descrevem o nmero e o tipos de botesmostrados na caixa de dilogo; o segundo grupo (16, 32, 48, 64) descrevem o estilodo cone; o terceiro grupo (0, 256, 512, 768) determinam qual o boto padro; e oquarto grupo (0, 4096) determina a modalidade da caixa de mensagem

  • 8/2/2019 Manual E3 Scripts

    47/396

    E3 - Scripts - Manual de Referncia

    Introduo ao VBScript 47

    (MessageBox). Quando for adicionar nmeros para criar o valor final para oparmetro %, use somente nmeros de cada grupo .O mtodoMsgBox retorna os seguintes valores:

    Opes disponveis para o mtodo MessageBox

    NOME VALOR BOTO

    %) 1 OK%"' 2 Cancel (caso o Windows seja ingls) ou

    Cancelar (caso o Windows seja portugus).%+% 3 Abort (caso o Windows seja ingls) ou Abortar

    (caso o Windows seja portugus).%C 4 Retry (caso o Windows seja ingls) ou Repetir

    (caso o Windows seja portugus).%1 5 Ignore (caso o Windows seja ingls) ou Ignorar

    (caso o Windows seja portugus).%M 6 Yes (caso o Windows seja ingls) ou Sim (caso

    o Windows seja portugus).%6 7 No (caso o Windows seja ingls) ou No (caso o

    Windows seja portugus).

    Exemplo:Sub CommandButton1_Click()

    Dim MinhaVariavel

    MinhaVariavel = MsgBox ("Ol!", 65, "Exemplo de Msgbox")

    ' MinhaVariavel poder conter 1 ou 2, dependendo de qual boto

    'foi clicado.

    End Sub

    NowRetorna a data e a hora atual de acordo com o relgio do sistema.

    RGB(red, green, blue)

    Retorna um nmero inteiro que representa um valor de cor RGB. Este mtodopossui os seguinte parmetros: : nmero que representa o componente vermelhoda cor; 1: nmero que representa o componente verde da cor e %, que onmero que representa o componente azul da cor.

    Exemplo:Sub Linha1_Click()

    Effect3DColorBase= RGB (0,150,200)

    End Sub

  • 8/2/2019 Manual E3 Scripts

    48/396

  • 8/2/2019 Manual E3 Scripts

    49/396

    Programando no E3 49

    Apesar de a maioria dos aspectos do VBScript se aplicarem programao descripts no E3, algumas particularidades devem ser destacadas no que diz respeito simplementaes do conceito de orientao a objetos no sistema.

    &

    Uma das caractersticas mais importantes ao se trabalhar com scripts dentro do E3 considerar a separao existente entre os processos que so executados no servidor eaqueles executados na interface do cliente (E3 Viewer). Para ser trabalhar comscripts, pode-se manipular:

    Objetos do servidor atravs do servidor

    Objetos do servidor atravs do(s) E3 Viewer(s)

    Objetos do E3 Viewer atravs do mesmo E3 Viewer

    No entanto, no se pode manipular diretamente:

    Objetos do E3 Viewer atravs do servidor (s possvel atravs da criaode eventos no E3 Viewer, ligados a variveis que esto no servidor)

    Objetos de um E3 Viewer a partir de outro E3 Viewer (s possvel atravsda criao de eventos ligados a variveis que esto no servidor).

    Tais limitaes so decorrentes do fato de que, por definio, existe umaindependncia entre o que cada uma das estaes E3 Viewer est fazendo ouvisualizando e servidor e vice-versa. Por isso, todas as atividades, tanto do servidorcomo do E3 Viewer, necessitam ser coordenadas de forma assncrona ou atravs deeventos para operarem de forma harmoniosa.

    Logo, devido a esta independncia, ao se criar um script, primeiro deve-se obter uma

    referncia correta dos objetos que se deseja manipular, ou seja, necessrio que oobjeto seja primeiramente encontrado nos vrios mdulos do E3.

    Vale repetir que, ao se editar um script, o usurio poder utilizar o AppBrowser,que permite copiar para o script o caminho de um mtodo ou propriedade de formacompleta, auxiliando-o na criao de scripts.

    Portanto, para acessar os objetos externos que esto sendo manipulados em umscript, so utilizadas algumas diretivas bsicas. Por exemplo, para se manipular ovalor de um Tag de Comunicao, o caminho : Servidor - Driver - Pasta (se

    !

    & -%)&

  • 8/2/2019 Manual E3 Scripts

    50/396

    E3 - Scripts - Manual de Referncia

    50 Programando no E3

    houver) - Tag. J se o objetivo manipular um boto na Tela, o caminho : Viewer -Quadro (se houver) - Tela - Boto.

    Existem basicamente trs localizaes de origem de scripts, do ponto de vista dametodologia para acesso dos objetos:

    Servidor (E3 Server)

    Telas e Quadros (E3 Viewer)

    ElipseX (bibliotecas): podem ser XObjects (rodam no servidor) eXControls (rodam no E3 Viewer).

    & $

    Para se acessar um objeto que est sendo executado no servidor a partir de umObjeto de Tela ou um ElipseX, deve-se usar a diretivaApplication.GetObject.

    A palavraApplication representa a aplicao como um todo, e o mtodo GetObject()procura no servidor por um objeto dentro de Application com o nome fornecido.Exemplo:

    Sub Button1_Click()

    Application.GetObject("Driver1")._

    Item("tag001").AllowRead = FalseEnd Sub

    ou aindaSub Button1_Click()

    Application.GetObject("Driver1.tag001").AllowRead = False

    End Sub

    O mtodo Item() foi utilizado para, a partir da referncia de Driver1, localizar otag001, pois o Driver uma coleo de Tags. Depois de localizado o objeto, suaspropriedades e funes podem ser acessadas livremente.

    Caso alguma outra operao tivesse que ser realizada com o Driver1 ou tag001,outra alternativa para o script acima seria:

    Sub Retangulo1_Click()

    Set obj = Application.GetObject("Driver1")

    obj.Item("tag001").AllowRead = False

    obj.Item("tag002").AllowRead = False

    End Sub

    Neste caso, a varivel obj est apontando para o objeto Driver1 e na prximavez que se quiser acessar algum objeto que descende de Driver1 dentro do script,pode-se utilizar a varivel obj diretamente. Isso traz um ganho de performance, jque cada chamada do mtodo GetObject() faz um acesso ao servidor. Atravs dessatcnica, chamadas desnecessrias ao servidor so evitadas. Este exemplo usa o

  • 8/2/2019 Manual E3 Scripts

    51/396

    E3 - Scripts - Manual de Referncia

    Programando no E3 51

    comando Set, que ser explicado mais adiante. Note que a utilizao de variveistambm torna o cdigo mais claro e de modificao mais fcil. Caso seja necessrioalterar o objeto no qual queremos executar comandos, basta mudar a linha deatribuio dessa varivel.

    A palavraApplication nos scripts pode indicar tanto funes que so executadas noE3 Viewer quanto no servidor. No caso, o objeto Application sabe de antemoquais funes devem ser executadas tanto para um quanto para outro caso. No possvel, entretanto, executar funes de E3 Viewer dentro do servidor, assim comotambm no possvel executar funes de servidor dentro do E3 Viewer.

    $

    Caso seja necessrio acessar as propriedades de um Tag a partir de outro, origem edestino esto no servidor ligados via um mdulo-pai que Driver1.

    Nesta situao, deve ser usada a declarao Parent. Isto faz com que seja acessadoprimeiro o objeto-pai onde est o script, para depois descer-se na hierarquia embusca de outro elemento.

    Figura 12: Driver1 o objeto-pai de Tag1 e de Tag2

    Exemplo:Sub Tag1_OnRead()

    Parent.Item("Tag2").AllowRead = False

    End Sub

    Estando-se dentro de um grupo, e desejando-se acessar o mesmo Tag2, pode-seaninhar vrios comandos Parent.

  • 8/2/2019 Manual E3 Scripts

    52/396

    E3 - Scripts - Manual de Referncia

    52 Programando no E3

    Figura 13: Pasta1 o objeto-pai de Tag1

    Exemplo:Sub Tag1_OnRead()

    Parent.Parent.Item("Tag2").AllowRead = False

    End Sub

    && $%%

    Deve-se usar somente o mtodo Item(), j que os objetos so filhos da Tela.Exemplo:

    Sub Tela1_OnPreShow(vArg)

    Item("Retangulo1").Enabled = True

    End Sub

    Figura 14: Retangulo1 um item da TelaInicial

  • 8/2/2019 Manual E3 Scripts

    53/396

    E3 - Scripts - Manual de Referncia

    Programando no E3 53

    &( $%%

    %

    Deve-se usar o mtodo Parent().

    Figura 15: TelaInicial o objeto-pai de Retangulo1 e Retangulo2

    Exemplo:Sub Retangulo1_Click()

    Parent.Item("Retangulo2").Enabled = True

    End Sub

    &0

    A modificao de um comportamento qualquer em uma Tela s pode ser feita apartir de associaes (o servidor reporta automaticamente para os Viewers todas asmudanas das variveis escolhidas), ou via busca explcita do Viewer porinformaes no servidor. Toda a operao de associao da interface grfica feitado cliente para o servidor e no do servidor para o cliente. Assim, no possvel

    modificar Tela ou objetos a partir do servidor via scripts, pois cada cliente de dados uma cpia diferente das Telas.

    Um exemplo prtico mudar a cor de um texto na Tela para verde quando um tagfor ligado (valor 1) e para vermelho quando for desligado (valor 0). Neste caso,deve-se simplesmente criar uma associao digital entre a propriedade TextColordoTexto1 com o Tag1. Associaes so preferveis devido rapidez de execuo esimplicidade de manuteno e construo da aplicao.

  • 8/2/2019 Manual E3 Scripts

    54/396

    E3 - Scripts - Manual de Referncia

    54 Programando no E3

    Figura 16: Associando a cor do texto ao valor de Tag1.

    Uma outra forma de executar o procedimento anterior criar um script no Viewerque fique verificando constantemente se o Tag1 mudou ou no de valor, paraento mudar a cor do texto. Este tipo de script possvel de ser realizado, masdegrada muito a performance da aplicao. Por isto, esta prtica no aconselhvel.

    &1 $ % )> :

    )>

    Na criao de um ElipseX, pode-se declarar propriedades (XProperties) e inserirobjetos, que podem ser objetos de Tela (XControl) ou objetos do servidor (XObject).Para se acessar as XProperties atravs de scripts, basta acessar o nome dapropriedade diretamente.

    Figura 17: Acessando objetos de um ElipseX a partir do prprio ElipseX

  • 8/2/2019 Manual E3 Scripts

    55/396

    E3 - Scripts - Manual de Referncia

    Programando no E3 55

    Por exemplo, na figura acima temos o XControl1 com a propriedade Propriedade1,e os objetos Texto1 e Retangulo1.

    A propriedade Propriedade1, do tipo Booleano, pode ser acessada com a linhaabaixo:

    Sub XControl1_OnStartRunning()

    XControl1.Propriedade1 = True

    End Sub

    ou ainda:Sub XControl1_OnStartRunning()

    Propriedade1 = True

    End Sub

    Se o ElipseX possui objetos internos, ento possvel utilizar o mtodoItem() paraobter uma referncia destes objetos. Por exemplo:

    Sub XControl1_OnStartRunning()

    Item("Texto1").Value = "motor"

    Item("Retangulo1").BackgroundColor = RGB (212,208,20)

    End Sub

    &2 $%)>4%

    O acesso externo a um objeto ElipseX s pode ser feito atravs de suas propriedades,utilizando suas instncias criadas. No possvel acessar objetos internosdiretamente.

    Se o ElipseX em questo for um XControl, ele se comporta como um objeto de Tela.Por exemplo, na seguinte aplicao:

    Figura 18: XControl (exemplo)

  • 8/2/2019 Manual E3 Scripts

    56/396

    E3 - Scripts - Manual de Referncia

    56 Programando no E3

    Para alterar a propriedade Propriedade1 do XControl pode-se fazer o seguinte scriptno boto:

    Sub CommandButton1_Click()

    Screen.Item("XControl11").Propriedade1 = True

    End Sub

    Ou ainda

    Sub CommandButton1_Click()

    Parent.Item("XControl11").Propriedade1 = True

    End Sub

    No caso de um XObject, deve-se inseri-lo em um Servidor de Dados:

    Figura 19: XObject (exemplo)

    Um script para alterar a propriedade Valordo XObject seria:Sub CommandButton1_Click()

    Application.GetObject("Dados.XObject11").Valor=123

    End Sub

    Ou ainda:Sub CommandButton1_Click()

    Applic