2007 Elipse Software Ltda. Todos os direitos reservados.
14.11.2007 Verso 3.0
8CRPT8 Manual de Referncia
ndice 1. INTRODUO............................................................................................................................................................. 9 1.1. OBJETOS................................................................................................................................................................ 9 1.2. SCRIPTS............................................................................................................................................................... 10 1.2.1. Adicionando um script ........................................................................................................................... 12 1.3. PICKS................................................................................................................................................................... 15 1.4. EVENTOS DEFINIDOS PELO USURIO..................................................................................................................... 22 2. INTRODUO AO VBSCRIPT.................................................................................................................................. 25 2.1. AMBIENTE DE PROGRAMAO............................................................................................................................... 25 2.2. TIPOS DE DADOS .................................................................................................................................................. 26 2.3. VARIVEIS............................................................................................................................................................ 28 2.4. CONSTANTES........................................................................................................................................................ 31 2.5. OPERADORES....................................................................................................................................................... 31 2.6. COMENTRIOS...................................................................................................................................................... 33 2.7. OBJETO DE FLUXO................................................................................................................................................ 34 2.7.1. If..Then.. Else........................................................................................................................................ 34 2.7.2. Select Case........................................................................................................................................... 36 2.7.3. While.. Wend......................................................................................................................................... 36 2.7.4. Do.. Loop............................................................................................................................................... 36 2.7.5. For.. Next .............................................................................................................................................. 39 2.7.6. For Each.. Next ..................................................................................................................................... 40 2.8. CONVENES DE CDIGO .................................................................................................................................... 41 2.9. MTODOS DO VBSCRIPTS UTILIZADOS NO E3........................................................................................................ 44 3. PROGRAMANDO NO E3........................................................................................................................................... 49 3.1. OBTENDO REFERNCIAS AOS OBJETOS ................................................................................................................ 49 3.1.1. Acessando propriedades do servidor.................................................................................................... 50 3.1.2. Acessando propriedades do servidor de dentro do servidor ................................................................. 51 3.1.3. Acessando objetos de uma Tela a partir de um script na Tela.............................................................. 52 3.1.4. Acessando objetos de uma Tela a partir de um script em outro objeto na Tela.................................... 53 3.1.5. Modificando a Tela ou objetos de Tela a partir do servidor................................................................... 53 3.1.6. Acessando objetos de um ElipseX a partir do prprio ElipseX.............................................................. 54 3.1.7. Acessando objetos de um ElipseX externamente................................................................................. 55 3.2. ACESSANDO OBJETOS.......................................................................................................................................... 61 3.3. TRABALHANDO COM COLEES............................................................................................................................ 62 3.4. COMANDO SET ..................................................................................................................................................... 62 4. EVENTOS .................................................................................................................................................................. 65 4.1. VARIVEIS DE EVENTO.......................................................................................................................................... 65 4.2. EVENTOS PADRO................................................................................................................................................ 66 4.3. EVENTOS DO DRIVER DE COMUNICAO............................................................................................................... 67 4.3.2. Eventos do Tag de Comunicao ......................................................................................................... 70 4.3.1. Eventos do Bloco de Comunicao ...................................................................................................... 71 4.4. EVENTO DO TAG CONTADOR................................................................................................................................. 71 4.5. EVENTO DO TAG TIMER......................................................................................................................................... 71 4.6. EVENTOS DA TELA................................................................................................................................................ 71 4.7. EVENTOS DOS OBJETOS DE TELA.......................................................................................................................... 74 4.7.1. Eventos do Texto, Display e SetPoint ................................................................................................... 77 4.8. EVENTOS DOS ACTIVEX........................................................................................................................................ 78 4.8.2. Eventos do Boto de Comando e do Boto Liga-Desliga ..................................................................... 81 4.8.3. Eventos da Lista de Seleo e Editor de Texto..................................................................................... 81 4.8.1. Eventos da Barra de Rolagem.............................................................................................................. 81 4.8.2. Eventos do Boto Incremento-Decremento .......................................................................................... 81 4.9. EVENTOS DO VIEWER ........................................................................................................................................... 82 4.9.1. Eventos do Usurio............................................................................................................................... 82 4.10. EVENTOS DA CONSULTA................................................................................................................................ 83 4.11. EVENTOS DO E3BROWSER ............................................................................................................................ 83 4.12. EVENTOS DO E3CHART ................................................................................................................................. 84 4.13. EVENTOS DOS XCONTROLS E XOBJECTS....................................................................................................... 85
4.14. EVENTOS DOS RELATRIOS........................................................................................................................... 85 5. MTODOS................................................................................................................................................................. 89 5.1. CHAMADAS DE MTODOS...................................................................................................................................... 89 5.2. MTODOS PADRO............................................................................................................................................... 89 5.3. MTODOS DO DRIVER DE COMUNICAO.............................................................................................................. 93 5.3.1. Mtodos do Tag de Comunicao, Bloco de Comunicao e Elemento de Bloco................................ 94 5.4. MTODO DOS OBJETOS DO CLIENTE OPC............................................................................................................. 96 5.5. MTODOS DO SERVIDOR....................................................................................................................................... 97 5.6. MTODO DO TAG DEMO........................................................................................................................................ 99 5.7. MTODO DO TAG INTERNO.................................................................................................................................... 99 5.8. MTODOS DA TELA............................................................................................................................................. 100 5.9. MTODOS DO DIVISOR (FRAME).......................................................................................................................... 100 5.10. MTODOS DE OBJETOS DE TELA.................................................................................................................. 105 5.11. MTODOS DOS ACTIVEX.............................................................................................................................. 106 5.11.1. Mtodos Comuns................................................................................................................................ 106 5.11.2. Mtodos da Lista de Seleo.............................................................................................................. 107 5.11.3. Mtodos da Lista................................................................................................................................. 109 5.11.4. Mtodos do Editor de Texto................................................................................................................ 110 5.12. MTODOS DE CONEXES (LINKS) ................................................................................................................ 111 5.12.1. Mtodos da Conexo por Tabela........................................................................................................ 114 5.13. MTODOS DO VIEWER................................................................................................................................. 116 5.14. MTODOS DO BANCO DE DADOS.................................................................................................................. 132 5.15. MTODOS DOS ALARMES............................................................................................................................. 132 5.15.1. Mtodos da Fonte de Alarmes............................................................................................................ 132 5.15.2. Mtodos do Servidor de Alarmes........................................................................................................ 136 5.16. MTODOS DO HISTRICO ............................................................................................................................ 138 5.17. MTODOS DO STORAGE .............................................................................................................................. 139 5.18. MTODOS DA CONSULTA............................................................................................................................. 141 5.19. MTODOS DO E3BROWSER......................................................................................................................... 144 5.20. MTODOS DO E3CHART .............................................................................................................................. 146 5.20.2. Mtodos dos Eixos.............................................................................................................................. 148 5.20.3. Mtodos da Coleo de Eixos ............................................................................................................ 151 5.20.4. Mtodos da Pena................................................................................................................................ 152 5.20.5. Mtodos da Coleo de Penas........................................................................................................... 154 5.20.6. Mtodos da Legenda .......................................................................................................................... 156 5.20.7. Mtodos da Coleo de Consultas ..................................................................................................... 158 5.21. MTODOS DE FRMULAS............................................................................................................................. 159 5.22. MTODOS DOS RELATRIOS........................................................................................................................ 164 6. PROPRIEDADES..................................................................................................................................................... 169 6.1. PROPRIEDADES PADRO .................................................................................................................................... 170 6.2. PROPRIEDADES DOS DRIVERS ............................................................................................................................ 172 6.2.1. Propriedades do Driver de Comunicao ........................................................................................... 172 6.2.2. Propriedades do Tag de Comunicao............................................................................................... 177 6.2.3. Propriedades do Bloco de Comunicao............................................................................................ 185 6.2.4. Propriedades do Elemento de Bloco................................................................................................... 188 6.3. PROPRIEDADES DOS OBJETOS DO CLIENTE OPC................................................................................................ 194 6.3.1. Propriedades do Driver OPC .............................................................................................................. 194 6.3.2. Propriedades do Grupo OPC.............................................................................................................. 197 6.3.3. Propriedades do Tag OPC.................................................................................................................. 199 6.3.4. Propriedades do Bloco OPC............................................................................................................... 208 6.3.5. Propriedades do Elemento de Bloco OPC.......................................................................................... 211 6.4. PROPRIEDADES DO TAG CONTADOR................................................................................................................... 220 6.5. PROPRIEDADES DO TAG DEMO ........................................................................................................................... 221 6.6. PROPRIEDADES DO TAG INTERNO....................................................................................................................... 223 6.7. PROPRIEDADES DO TAG TIMER........................................................................................................................... 224 6.8. PROPRIEDADES DA TELA..................................................................................................................................... 225 6.9. PROPRIEDADES DO QUADRO E DO DIVISOR......................................................................................................... 229 6.9.1. Propriedade do Quadro....................................................................................................................... 229 6.9.2. Propriedades do Divisor...................................................................................................................... 229 6.10. PROPRIEDADES DE OBJETOS DE TELA ......................................................................................................... 230 6.10.1. Propriedades Comuns a Todos os Objetos de Tela ........................................................................... 231 6.10.2. Propriedades Comuns dos Objetos de Tela de Desenho e Texto ...................................................... 232 6.10.3. Propriedades do Retngulo Arredondado........................................................................................... 239 6.10.4. Propriedades do Arco ......................................................................................................................... 239 6.10.5. Propriedades da Figura....................................................................................................................... 240
6.10.6. Propriedades do Texto, Display e SetPoint......................................................................................... 246 6.10.7. Propriedades da Escala...................................................................................................................... 250 6.10.8. Propriedades do Grupo de Objetos..................................................................................................... 256 6.10.9. Propriedades do Movimento (Translao e Rotao) ......................................................................... 258 6.10.10. Propriedades da Rotao.................................................................................................................... 261 6.11. PROPRIEDADES DOS ACTIVEX ..................................................................................................................... 262 6.11.1. Propriedades comuns ......................................................................................................................... 262 6.11.2. Propriedades da Caixa de Seleo e Boto de Opes ..................................................................... 265 6.11.3. Propriedades da Lista de Seleo ...................................................................................................... 268 6.11.4. Propriedades do Boto de Comando.................................................................................................. 277 6.11.5. Propriedades do Texto........................................................................................................................ 279 6.11.6. Propriedades da Lista ......................................................................................................................... 282 6.11.7. Propriedades da Barra de Rolagem.................................................................................................... 288 6.11.8. Propriedades do Boto Incremento-Decremento................................................................................ 289 6.11.9. Propriedades do Editor de Texto......................................................................................................... 290 6.11.10. Propriedades do Boto Liga-Desliga................................................................................................... 296 6.12. PROPRIEDADES DOS LINKS.......................................................................................................................... 300 6.12.1. Propriedades Comuns dos Objetos de Conexo (Links) .................................................................... 300 6.12.2. Propriedades dos Links Simples, Bidirecional e Reverso ................................................................... 301 6.12.3. Propriedades da Conexo Digital........................................................................................................ 302 6.12.4. Propriedades da Conexo Analgica.................................................................................................. 306 6.12.5. Propriedade da Conexo por Tabela .................................................................................................. 308 6.12.6. Propriedades da Linha da Conexo por Tabela.................................................................................. 309 6.13. PROPRIEDADES DO VIEWER......................................................................................................................... 310 6.14. PROPRIEDADES DO BANCO DE DADOS ......................................................................................................... 313 6.15. PROPRIEDADES DOS ALARMES .................................................................................................................... 315 6.15.1. Propriedades da rea de Alarmes ...................................................................................................... 315 6.15.2. Propriedades da Fonte de Alarmes..................................................................................................... 316 6.15.3. Propriedades do Servidor de Alarmes ................................................................................................ 318 6.16. PROPRIEDADES DO E3ALARM...................................................................................................................... 320 6.17. PROPRIEDADES DO HISTRICO.................................................................................................................... 324 6.18. PROPRIEDADES DO STORAGE...................................................................................................................... 327 6.18.1. Propriedades do Campo ..................................................................................................................... 329 6.19. PROPRIEDADES DA CONSULTA (E3QUERY) .................................................................................................. 329 6.20. PROPRIEDADES DO E3BROWSER................................................................................................................. 334 6.21. PROPRIEDADES DO E3CHART...................................................................................................................... 338 6.21.1. Propriedades da Pena ........................................................................................................................ 350 6.21.2. Propriedade da Coleo de Penas ..................................................................................................... 357 6.21.3. Propriedade da Coleo de Consultas................................................................................................ 357 6.21.4. Propriedades da Coluna...................................................................................................................... 357 6.21.5. Propriedades da Legenda................................................................................................................... 358 6.21.6. Propriedades do Eixo.......................................................................................................................... 360 6.21.7. Propriedades da Coleo de Eixos ..................................................................................................... 364 6.22. PROPRIEDADES DA FRMULA ...................................................................................................................... 365 6.23. PROPRIEDADES DOS XCONTROLS E XOBJECTS ........................................................................................... 365 6.24. PROPRIEDADES DO RELATRIO ................................................................................................................... 366 6.24.1. Propriedades de Layout do Relatrio.................................................................................................. 366 6.24.2. Propriedades Comuns das Sees do Relatrio................................................................................. 370 6.24.3. Propriedades do GroupHeader ........................................................................................................... 371 6.24.4. Propriedades do Detail........................................................................................................................ 373 6.24.5. Propriedades do GroupFooter............................................................................................................. 375 6.24.6. Propriedades Comuns dos Objetos do Relatrio ................................................................................ 376 6.24.7. Propriedades do Cdigo de Barras (BarCode).................................................................................... 378 6.24.8. Propriedades da Elipse, Retngulo e Retngulo Arredondado........................................................... 381 6.24.9. Propriedade da Figura ........................................................................................................................ 382 6.24.10. Propriedades do SetPoint ................................................................................................................... 384 6.24.11. Propriedades do Texto........................................................................................................................ 387 6.24.12. Propriedades da Linha........................................................................................................................ 389 6.24.13. Propriedade da Quebra de Pgina...................................................................................................... 390 6.24.14. Propriedades da Tabela...................................................................................................................... 390 6.24.15. Propriedades do E3Chart.................................................................................................................... 391 7. DVIDAS MAIS FREQENTES.............................................................................................................................. 393
Convenes Estas so as convenes utilizadas neste manual:
EXEMPLO DESCRIO S!LO6.BNP Nomes de arquivos e outros termos no nvel do sistema operacional so indicados com o tipo de letra Tahoma, em maisculas. Geral Nomes de campos e opes que devem ser procurados na tela, em menus ou nas abas dos objetos so indicados com tipo de letra Tahoma. Chart Caracteres entre aspas devem ser digitados no lugar mencionado, sem a presena das aspas. Tela1.Show() Partes de programas (scripts) so indicadas com o tipo de letra Courier. Eles devero ser digitados nos lugares reservados e depois compilados para a verificao de erros. DriverLocation Nomes de mtodos e propriedades do E3 esto indicados por palavras em itlico no corpo do texto. Os mtodos so seguidos por parnteses. <nome do arquivo> Expresses entre os sinais < > devem ser substitudas pelo nome do objeto em questo. !nsertRow([Row|) Parmetros opcionais so indicados entre colchetes nas chamadas de mtodos. [Ctrl+Enter| Expresses entre colchetes e com tipo de letra Tahoma indicam nomes de teclas. Quando estiverem acompanhadas de um sinal +, voc deve pressionar a segunda tecla enquanto pressiona a primeira.
Introduo 9
Os Scripts so mdulos de linguagem de programao nos quais se pode criar procedimentos associados a eventos especficos, permitindo uma maior flexibilidade no desenvolvimento de aplicaes. Cada objeto (item de um aplicativo) do E3 possui uma lista de eventos previamente definidos, mas tambm possvel definir novos eventos prprios do usurio. 1.1. Ob]etos Os Objetos so componentes de software reutilizveis que permitem maximizar o uso e aumentar a qualidade e produtividade em seus aplicativos. Um objeto no E3 encapsula ou contm trs diferentes partes (propriedades, mtodos e 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 de Tela 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 ocorrncia em particular, como um clique de mouse ou uma mudana no valor de um tag, entre outros. 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 de um ou mais objetos, tendo as mesmas funcionalidades especficas. Assim, pode-se ter vrios objetos trabalhando em conjunto para prover caractersticas de um outro objeto derivado. Tome como exemplo o objeto E3Chart. Ele composto internamente de vrios objetos, como ttulos, legendas, escalas, divises, consultas e penas. Note que cada objeto contribui para a funcionalidade do todo: as escalas ajudam a localizar os valores dos pontos no E3Chart; as legendas, a identificar a pena e seus valores; e a pena realiza o desenho dos valores no E3Chart. Atravs da manipulao de objetos dentro do E3Chart, pode-se criar duas instncias deste objeto bastante diferentes entre si. Para se manipular um objeto especfico, deve-se acess-lo atravs de uma hierarquia. Se os dois objetos E3Chart estiverem na mesma Tela, deve-se acessar primeiro a Tela, depois o E3Chart desejado, depois uma de suas propriedades ou objetos-filhos. Quando h vrios objetos de um mesmo Capitulo 1 1. ntroduo E3 - Scripts - Manual de Referncia 10 Introduo tipo, geralmente eles podem ser acessados atravs de uma coleo (collection). Uma coleo um objeto especial que gerencia um conjunto de objetos semelhantes. Um exemplo no objeto E3Chart a coleo Pens, que permite o acesso a todas as penas do E3Chart. 1.2. 8cripts A linguagem que o E3 Studio usa em seus scripts o VBScript, um subconjunto da linguagem Visual Basic desenvolvida pela Microsoft. O VBScript possui um interpretador rpido, leve e portvel, desenvolvido para uso em navegadores para a Internet e outras aplicaes que usam ActiveX Controls, Automation Servers e Java Applets. Conforme visto anteriormente, os scripts so associados a eventos de um objeto. Entretanto, para facilitar e aumentar a velocidade de desenvolvimento, o E3 j incorpora algumas aes mais comuns que poderiam ser realizadas com scripts atravs de assistentes chamados Picks. Pode-se portanto definir que um determinado evento executar um script, um pick ou uma combinao deles, numa seqncia tambm pr-definida. Cada view do E3 Studio apresenta pelo menos duas abas na parte inferior: Design e Scripts, 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 aba Design; para manipular seus scripts, utilize a aba Scripts. Os botes disponveis nesta ltima so: E3 - Scripts - Manual de Referncia Introduo 11 Opes disponveis na aba Scripts CAMPO CONE AO/FUNO Lista de Objetos Seleciona o objeto cujo script ser manipulado. Lista de Eventos Seleciona o evento a ser aplicado ao objeto. Script
Adiciona um script associado ao evento. Pick Abrir Tela"
Adiciona o pick Abrir Tela Pick Abrir Tela Nodal"
Adiciona o pick Abrir Tela Modal. Pick Executar Aplicaao"
Adiciona o pick Executar Aplicao Pick Carregar valor"
Adiciona o pick Carregar Valor Pick !nverter valor"
Adiciona o pick Inverter Valor Pick !mprimir Relatrio"
Adiciona o pick Imprimir Relatrio Remover scriptfpick selecionado
Remove o script ou o pick selecionado na Lista de Aes. Nover scriptfpick selecionado para cima
Move a ao selecionada para cima, na ordem da Lista de Aes para o evento. Nover scriptfpick selecionado para baixo
Move a ao selecionada para baixo, na ordem da Lista de Aes para o evento. AppBrowser
Abre a janela do AppBrowser. Procurar
Busca por ocorrncias de um determinado texto. Procurar anterior
Seleciona na lista de resultados a ocorrncia anterior. Procurar prxima
Seleciona na lista de resultados a ocorrncia seguinte. Substituir
Substitui as ocorrncias encontradas por outro texto especificado. Criar evento do usuario
Cria um evento de usurio. Remover evento do usuario
Remove o evento de usurio selecionado. Editar evento do usuario
Edita o evento de usurio selecionado. Compila o script selecionado
Compila o script selecionado, mostrando os erros no painel Mensagens. Compilar todos os scripts deste evento
Compila todos os scripts associados ao evento. Compila todos os eventos deste objeto
Compila todos os eventos associados ao objeto.
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 no script especificado para o evento. As mensagens de erro do compilador so E3 - Scripts - Manual de Referncia 12 Introduo apresentadas no painel Mensagens, na parte inferior da aba Scripts. D um duplo-clique no erro caso deseje que ele seja selecionado no script.
Figura 1: Mensagem do compilador 1.2.1. Adicionando um script 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. E3 - Scripts - Manual de Referncia Introduo 13
Figura 2: Aba Scripts Clique sobre o cone Script. O editor de scripts aberto, conforme a figura abaixo. 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 de linha para deixar o cdigo mais legvel. O caractere sublinhado indica que a linha continua 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 aes do evento. A lista das aes pode ser vista na parte superior da janela de edio de scripts. Cada objeto pode possuir qualquer quantidade de eventos com scripts ou picks associados. E3 - Scripts - Manual de Referncia Introduo 15 NOTA: Clicando com o boto direito sobre qualquer destas aes descritas acima se abre um menu que possibilita recortar, copiar e colar scripts e picks entre eventos. 1.3. Picks Os Picks implementam uma forma mais amigvel de realizar procedimentos mais comuns, poupando tempo de configurao. Entre eles, esto aes como troca de Tela 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 E3 - Scripts - Manual de Referncia 16 Introduo Opes disponveis no pick Abrir Tela CAMPO DESCRIO Abrir a tela Indica qual Tela deve ser aberta. No quadro Indica o Quadro onde a Tela ser visualizada. Se estiver em branco, ser o Quadro principal (_top). Zoom inicial Define o zoom da Tela, quando mostrada. Parametro Indica um parmetro a ser passado na chamada da Tela. Habilitar scroll da tela Habilita o uso das barras de rolagem na Tela. Especificar posiao da tela Indica a posio da Tela, em pixels. Especificar tamanho da tela Indica o tamanho da Tela, em pixels ou HIMETRIC. Estilo da janela... 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 a disponibilidade das bordas e botes de fechar, maximizar e minimizar, entre outros. Se a opo Usar configuraao padrao das janelas for marcada, o sistema desabilita as opes desta janela e assume a configurao padro do Viewer, conforme o que pode ser visto na aba Visualizador das propriedades do objeto Viewer.
Figura 5: Janela Estilo de Janela E3 - Scripts - Manual de Referncia Introduo 17 Abrir Tela Modal Abre uma Tela Modal, isto , uma Tela que no permite a interao do usurio com outras Telas enquanto esta estiver ativa.
Figura 6: Configuraes do pick Abrir Tela Modal Opes disponveis no pick Abrir Tela Modal CAMPO DESCRIO Abrir a tela Seleciona a Tela a ser aberta. Titulo Define o ttulo da janela. Esse texto ser concatenado com o nome da Tela. Zoom inicial Define o zoom da Tela, quando mostrada. Parametro Indica um parmetro a ser passado na chamada da Tela. Habilitar scroll da tela Habilita o uso das barras de rolagem na Tela. Especificar a posiao da tela Determina a posio (em pixels) do quadro na Tela, a partir do canto superior esquerdo da Tela. Especificar o tamanho da tela Determina a largura e a altura (em pixels ou HIMETRIC) da Tela. Estilo da janela... Permite configurar o estilo da janela a ser mostrada, E3 - Scripts - Manual de Referncia 18 Introduo definindo ttulo e a disponibilidade das bordas e botes de fechar, 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 Aplicaao Apertando-se o boto [...] pode-se navegar no disco para indicar o arquivo da aplicao a ser executada. Argumentos Permite especificar argumentos para a chamada da aplicao. Executar no diretrio Determina o diretrio de trabalho da aplicao que ser executada. Nodo de exibiao Determina o tipo de janela de execuo da aplicao: normal, minimizado ou maximizado.
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 DESCRIO Nome do tag Especifica o nome do tag no qual ser carregado o valor. Pode-se escolher o tag no AppBrowser, apertando-se o boto [...]. valor Determina o valor que ser carregado no tag. Pode-se escolher o tipo de dados apertando a seta para baixo.
E3 - Scripts - Manual de Referncia 20 Introduo Inverter Valor Permite inverter o valor de um tag. Se o valor do tag for igual a valor1, ento o tag recebe valor2. Se o valor do tag for igual a valor2, ento o tag recebe valor1. Se o valor do tag no for igual a valor1 nem valor2, o tag recebe valor1. possvel colocar tantos picks !nverter valor quanto o desejado. Isso permite a verificao 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 DESCRIO Nome do tag Apertando-se o boto [...] o E3 abre o AppBrowser, para a escolha do tag desejado. valor1 Determina o primeiro valor a ser comparado. Se o valor do tag for igual a valor1, ento o tag recebe valor2. valor2 Determina o segundo valor a ser comparado. Se o valor do tag for igual a valor2, ento o tag recebe valor1.
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 !mprimir relatrio Permite escolher o relatrio a ser impresso. Saida Determina o tipo de sada do relatrio: !mpressora: Envia o relatrio para a impressora. Corresponde ao mtodo Print(). Tela: Faz uma prvia de impresso de relatrio na tela. Corresponde ao mtodo PrintPreview().
E3 - Scripts - Manual de Referncia 22 Introduo 1.4. Eventos Definidos pelo Usuario Apesar do E3 vir com uma extensa gama de eventos, muitas vezes o usurio pode desejar 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 de um outro tag ou propriedade. Apesar de se poder criar e executar este mesmo tipo de trabalho a partir do prprio tag ou propriedade gerador do evento, existem vantagens em manter-se o script junto ao objeto que sofrer a ao deste. Dentre elas, podemos citar o trabalho adicional necessrio para fazer um objeto apontar para outro, alm de facilidades de manuteno, pois se por algum motivo for necessrio modificar ou apagar o tag ou propriedade que seja o evento gerador, no necessrio modificar um segundo objeto. Outra vantagem o fato de que se o tag gerador do evento for apagado, o objeto no perder 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 vez que um componente de biblioteca inserido em uma aplicao, ele traz consigo os scripts 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 [Criar novo evento], na Lista de Eventos. O E3 abrir uma janela para a definio das propriedades do evento.
Figura 11: Janela para a adio de eventos definidos pelo usurio E3 - Scripts - Manual de Referncia Introduo 23 Opes disponveis na janela Eventos OPO DESCRIO Nome do Evento Nome que identifica o evento. A propriedadefexpressao Expresso geradora do evento. Pode ser copiada atravs do AppBrowser, apertando-se o boto [...|. For uma condiao verdadeira Indica que o evento ser do tipo etOnEvent (o evento ocorre no momento que a expresso for verdadeira) ou etWhileEvent (o evento ocorre ciclicamente, em intervalos pr-definidos). Repetir o evento a cada ... ms Quando preenchido, indica que o evento ser etWhileEvent. Indica o ciclo de repetio do evento em milissegundos, isto , de quanto em quanto tempo ele ir ocorrer, enquanto a expresso geradora for verdadeira. Alterar o seu valor Indica que o evento ser etOnvalueChanged, isto , o evento ir ocorrer sempre que a expresso geradora mudar o valor. Tratar a desconexao como mudana Indica se a conexo/desconexo da expresso geradora do evento dever ser tratada como mudana.
Clique em [OK| para completar o processo e inserir o evento. Ele ir aparecer na lista de eventos. Para alterar este evento, selecione-o e clique em Editar evento do usurio. A janela anterior ser aberta novamente para a edio de dados do evento. Para apagar este evento, selecione-o e clique em Remover evento do usurio. IMPORTANTE: ao clicar esta opo, os scripts deste evento sero perdidos.
Introduo ao VBScript 25
O VBScript uma linguagem baseada no Visual Basic que traz a capacidade de scripting (roteirizao) para aplicaes que rodam no sistema operacional Windows. O VBScript troca informaes com as aplicaes utilizando a tecnologia ActiveX Scripting. Com o ActiveX Scripting, navegadores e outras aplicaes-cliente como o E3 Viewer podem compilar scripts e chamar funes, dentre outros procedimentos. Isso possibilita que scripts desenvolvidos para uma aplicao ou biblioteca que devam ser executados na interface grfica possam ser executados tanto no E3 Viewer quanto em um navegador de Internet, sem a necessidade de qualquer adaptao do aplicativo. Mais informaes sobre o VBScript podem ser obtidas no manual on-line Guia de Referncia do VBScript, no Grupo de Programas do E3. 2.1. Ambiente de Programao O ambiente de programao de scripts no E3 Studio pode ser acessado atravs do clique com o boto direito sobre qualquer objeto, escolhendo-se a opo Propriedades. Na aba Scripts, pode-se ver a caixa combo onde se define qual evento ser o gerador do script. Como vimos no captulo anterior, existem dois tipos de 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 utilizao e 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 Comunicao possui eventos relacionados comunicao, como o OnCommError (chamado quando h um erro de comunicao). Pode-se tambm definir outros eventos para o objeto, como visto anteriormente. Quando um script associado a um evento em um objeto, o campo de digitao apresenta uma declarao de procedimento (procedure), cuja definio automtica e composta do seguinte texto: Sub NomeDoObjeto_NomeDoEvento() End Sub Onde: NomeDoObjeto o nome do objeto associado e NomeDoEvento o nome do evento em questo. Os comandos do script devero estar entre essas duas linhas. Capitulo 2 2. ntroduo ao VB8cript E3 - Scripts - Manual de Referncia 26 Introduo ao VBScript Para ajudar na digitao do script, pode-se utilizar o AppBrowser. Ao se escolher o mtodo ou propriedade desejada, pode-se acessar o boto [Copiar|. O tag, propriedade ou mtodo escolhidos sero inseridos na posio do cursor no quadro de edio do script. O local do cursor mostrado atravs da animao com uma seta piscante. 2.2. Tipos de Dados O VBScript possui somente um tipo de dado chamado Variant. Um Variant um tipo especial de dado que pode conter diferentes tipos de informao, dependendo de como for usado. Pelo fato do variant ser o nico tipo de dado no VBScript, ele tambm 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 como um nmero quando usado em expresses numricas e como um string em expresses 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 apropriado para este tipo de dados. Do mesmo modo, quando se trabalha com dados que parecem ser texto, o VBScript os trata como se fossem texto. Pode-se forar nmeros a se comportem como texto colocando-os dentro de aspas (" "). Subtipos Variant Alm das classificaes simples de nmero ou texto, um variant pode fazer distines sobre a natureza especfica da informao numrica. Por exemplo, pode-se ter informao numrica que represente data/hora. Quando usada com outros dados data/hora, o resultado sempre expresso num formato data/hora. Pode-se tambm ter uma variedade de informaes numricas variando em tamanho desde tipos lgicos (Booleanos) at grandes nmeros de ponto flutuante. Estas diferentes categorias de informao que podem estar contidas em um variant so chamados subtipos. Na maioria das vezes, simplesmente atribui-se o tipo de dado desejado em um variant e ele se comporta da forma mais apropriada.
E3 - Scripts - Manual de Referncia Introduo ao VBScript 27 Subtipos Variant SUBTIPOS DESCRIO Empty Vazio (variant no inicializado). O valor 0 para variveis numricas ou string de comprimento zero ("") para variveis texto. Null Nulo. O variant intencionalmente no contm dados vlidos. Boolean Lgico. Contm verdadeiro (True ou 1) ou falso (False ou 0). Byte Contm inteiros na faixa 0 a 255 (8 bits). !nteger Contm inteiros na faixa de -32768 a 32767 (16 bits). Currency Valores monetrios, na faixa de -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Long Contm inteiros na faixa de -2,147,483,648 a 2,147,483,647 (22 bits). Single 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,402823E38 para valores positivos. Double Contm nmero ponto flutuante de preciso dupla na faixa de -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos e 4,94065645841247E-324 a 1,79769313486232E308 para positivos. Date (Time) Contm um nmero que representa uma data entre 1-. de janeiro de 100 a 31 de dezembro de 9999. String Contm um texto de comprimento varivel que pode ter aproximadamente 2 bilhes da caracteres de comprimento. Object Contm um objeto qualquer. Error Contm um cdigo de erro.
E3 - Scripts - Manual de Referncia 28 Introduo ao VBScript 2.3. Variaveis Uma varivel uma localizao de memria no computador onde possvel armazenar informaes que podem mudar durante a execuo do script. Por exemplo, 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 armazenada na memria do computador no importante. Na verdade, s necessrio saber o nome da varivel para ver ou modificar seu valor. Em VBScript, as variveis so sempre 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, ou permanecer Empty (vazia, sem nenhum valor), caso no receba nenhum valor antes de ser utilizada. Esta uma prtica rpida, porm se o script for muito extenso, isto pode causar confuso e a criao de mais de uma varivel com o mesmo nome, gerando bugs no script. Para declarar variveis explicitamente, utiliza-se o comando Dim, como no exemplo: Dim Temperatura Pode-se declarar mltiplas variveis separando cada nome de varivel com uma vrgula. Por exemplo: Dim Esquerda, Direita, Topo, Base Em virtude dos scripts no E3 serem todos associados a um objeto em particular, as variveis so sempre locais, vlidas apenas para o escopo do script. Para ter-se variveis pblicas ou globais, deve-se criar um tag interno e utiliz-lo para armazenar o valor desejado. Restries para nomes de variveis Os 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 entre colchetes [ ].
E3 - Scripts - Manual de Referncia Introduo ao VBScript 29 Atribuindo valores a variveis Valores so atribudos a variveis atravs do sinal de igual (=), do mesmo modo que outras linguagens de programao. Por exemplo: Dim Largura, Altura Largura = 20 Altura = 12 No exemplo, as variveis Largura e Altura recebero os valores 20 e 12 respectivamente. Variveis escalares e do tipo array Na maioria das vezes, queremos somente associar um valor simples a uma varivel declarada. Neste caso, a varivel contendo um nico valor chamada varivel escalar. Porm, outras vezes, conveniente atribuir mais de um valor relacionado a uma nica varivel. Para isso, pode-se criar uma varivel que contm uma srie de valores, uma varivel do tipo array, ou vetor. Variveis escalares e arrays so declaradas da mesma forma, exceto pelo fato de que a declarao de um array utiliza parnteses contendo sua dimenso (quantos valores a 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 em zero (zero-based ou base zero). Num array de base zero, o nmero de elementos sempre o nmero mostrado nos parnteses mais um. O tipo array chamado de tamanho 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 de um 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 elemento do array. Por exemplo: MinhaVariavel = A(8) Os arrays no esto limitados a uma simples dimenso. possvel ter um array de at 60 dimenses. Para declarar mltiplas dimenses, deve-se especific-los no parnteses, separando-os com vrgulas. E3 - Scripts - Manual de Referncia 30 Introduo ao VBScript Neste exemplo, a varivel MinhaTabela um array de duas dimenses consistindo de 6 linhas e 11 colunas: Dim MinhaTabela(5,10) Num array bidimensional, o primeiro nmero sempre o nmero de linhas; o segundo 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 comando Dim, como um array normal, mas no especificamos as dimenses nos parnteses. Por exemplo: Dim MeuArray() Para modificar um array dinmico, voc deve utilizar o comando ReDim, indicando as novas dimenses. Se for necessrio manter os dados anteriormente atribudos ao array, deve-se usar a chave Preserve. No exemplo seguinte, ajustamos o tamanho inicial do array para 25. O comando ReDim seguinte redimensiona o array para 30, mas usa a palavra chave Preserve para 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 ser redimensionado, porm ao se diminuir o tamanho de um array, os dados das posies eliminadas sero perdidos. E3 - Scripts - Manual de Referncia Introduo ao VBScript 31 2.4. Constantes Uma constante um tipo especial de varivel que nunca muda o seu valor. O VBScript j possui um conjunto de constantes pr-definidas. Consulte a referncia da linguagem no site da Microsoft para maiores detalhes. Criando constantes Pode-se criar constantes definidas pelo usurio utilizando-se o comando Const, como constantes texto ou numricas como nomes com significado, e atribuir-lhes valores literais. Por exemplo: Const MeuTexto = "Isto um texto." Const MinhaIdade = 36 Note que o texto literal colocado entre aspas (" "). As aspas so o mtodo mais bvio para diferenciar valores texto de numricos. Pode-se representar datas e horrios 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 de variveis. 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. Diferenciar constantes de variveis elimina confuses que podem aparecer ao desenvolver scripts mais complexos. Exemplos: Const TEMP_LIMITE = 112 Const vbPreto = 0 'vbBlack pr-definida no VBScript Const conMaioridade = 18 2.5. Operadores O VBScript possui uma ampla gama de operadores, conforme tabelas abaixo. Operadores aritmticos OPERADORES DESCRIO + (adio) - (subtrao ou negao unria) * (multiplicao) f (diviso decimal, retorna um nmero de ponto flutuante) (diviso inteira, retorna um nmero inteiro) Nod (resto da diviso) ' (exponenciao) E3 - Scripts - Manual de Referncia 32 Introduo ao VBScript Operadores de comparao OPERADORES DESCRIO < (menor que) > (maior que) <= (menor ou igual) >= (maior ou igual) = ( igual) <> ( diferente)
Operadores de strings OPERADORES DESCRIO 8 (concatenao)
Operadores lgicos OPERADORES DESCRIO And (E) Or (OU) Not (Negao, operador unrio)
E3 - Scripts - Manual de Referncia Introduo ao VBScript 33 Precedncia de operadores Quando vrias operaes ocorrem em uma expresso, cada parte avaliada e resolvida em uma ordem predeterminada chamada precedncia de operadores. Pode-se utilizar parnteses para redefinir a ordem de precedncia e forar algumas partes de um expresso a serem sempre realizadas antes daquelas que esto fora dos parnteses. Dentro dos parnteses, entretanto, a precedncia de operadores padro mantida. Quando expresses contm operadores de mais de uma categoria, os operadores aritmticos so avaliados primeiro, seguidos pelos operadores de comparao, e por ltimo os operadores lgicos. Operadores aritmticos so avaliados 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 adio e subtrao ocorrem juntas em uma expresso, cada operao avaliada em ordem de aparecimento da esquerda para a direita. O operador de concatenao de strings (&) no um operador aritmtico, mas em precedncia ele ocorre depois de todos os operadores aritmticos e antes de todos os operadores de comparao. Operadores de comparao possuem todos a mesma precedncia, isto , so avaliados da esquerda para a direita na ordem em que aparecem. Operadores lgicos so avaliados na seguinte ordem: Not, And, Or e Xor. 2.6. Comentarios Linhas de comentrios e observaes no cdigo podem ser acrescentadas utilizando-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 E3 - Scripts - Manual de Referncia 34 Introduo ao VBScript 2.7. Ob]eto de Fluxo Pode-se controlar o fluxo de execuo do script com comandos de condio e de repetio. Com comandos condicionais, pode-se escrever programas VBScript que tomam decises e repetem aes. 2.7.1. f..Then.. Else O comando If..Then..Else usado para avaliar se uma condio verdadeira ou falsa e, dependendo do resultado, especificar um ou mais comandos a serem executados. Geralmente, a condio uma expresso que usa um operador de comparao para comparar um valor ou varivel outra. Tais comandos podem ser aninhados em quantos nveis forem necessrios. Deve-se porm, respeitar a sintaxe de bloco: se o Then tiver apenas um comando, pode-se coloc-lo na mesma linha. Se tiver mais de um comando, deve-se colocar o Then marcando o incio do bloco, seguido dos comandos desejados em linhas separadas e finalizando com um desses comandos: Else, ElseIf ou End If (veja os exemplos que seguem). Executando comandos se uma condio for verdadeira Para executar somente um comando quando uma condio for verdadeira, use a sintaxe de uma linha para o comando If..Then..Else. O exemplo a seguir mostra a sintaxe 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 Sub Para executar mais de uma linha de cdigo, deve-se usar a sintaxe de bloco ou mltiplas 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 E3 - Scripts - Manual de Referncia Introduo ao VBScript 35 Executando comandos se uma condio for verdadeira e outros se a condio for falsa Pode-se usar um If..Then..Else para definir dois blocos de cdigo: um para ser executado se a condio for verdadeira, e outro bloco para ser executado se a condio 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 ElseIf Uma variao no comando If..Then..Else permite que se escolha entre vrias alternativas. Adicionando-se clusulas ElseIf, a funcionalidade do comando expandida, possibilitando o objeto do fluxo de execuo baseado em diferentes possibilidades. 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 ElseIf quantas forem necessrias, porm o uso extensivo de clusulas ElseIf pode ser substitudo pelo comando Select Case, tornando o script mais claro e otimizado. E3 - Scripts - Manual de Referncia 36 Introduo ao VBScript 2.7.2. 8elect Case A estrutura Select Case uma alternativa mais eficiente ao If..Then..ElseIf para selecionar um dentre mltiplos blocos de instrues condicionados a uma varivel. O comando Select Case trabalha com uma expresso simples de teste que avaliada uma vez, no topo da estrutura. O resultado da expresso ento comparado com os valores para cada caso (Case) desejado. Se h uma comparao verdadeira, o bloco de 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..ElseIf vai avaliar uma expresso diferente para cada instruo ElseIf, tornando o cdigo menos otimizado. Nestes casos, prefira sempre a estrutura Select Case. 2.7.3. While.. Wend O comando While.. Wend permite repetir um bloco de comandos enquanto uma condio for verdadeira. Este comando existe no VBScript para aqueles que so familiares a seu uso. Entretanto, a falta de flexibilidade desta estrutura faz com que seja recomendado o uso da instruo Do.. Loop. 2.7.4. Do.. Loop Pode-se utilizar comandos Do.. Loop para executar um bloco de cdigo um nmero indefinido de vezes. Os comandos so repetidos enquanto a condio for verdadeira, ou at a condio ser tornar verdadeira. Palavra-chave While A palavra-chave While deve ser utilizada numa instruo Do.. Loop para indicar que o lao ser executado enquanto sua condio for verdadeira. possvel avaliar E3 - Scripts - Manual de Referncia Introduo ao VBScript 37 a condio antes do programa entrar no lao ou depois do lao ter sido executado pelo menos uma vez. No exemplo a seguir, no procedimento AvaliaAntesWhile, se for atribudo o valor 9 a meuNum ao invs de 20, o cdigo dentro do lao nunca ser executado. No procedimento AvaliaDepoisWhile, o cdigo dentro do lao ser executado somente 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, meuNum contador= 0 meuNum = 9 Do meuNum = meuNum 1 contador = contador+ 1 Loop While meuNum > 10 MsgBox "O lao teve " & contador & " repeties." End Sub Palavra-chave Until A palavra-chave Until indica que o lao ser executado at que sua condio seja verdadeira. 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 entrar no lao (como mostrado no exemplo AvaliaAntesUntil) ou depois do lao ter sido executado pelo menos uma vez (mostrado no exemplo AvaliaDepoisUntil). Enquanto a condio for falsa, o lao acontece. 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 = 10 MsgBox "O lao teve " & contador & " repeties." End Sub Comando Exit Do possvel forar a sada de um lao Do.. Loop atravs do comando Exit Do. Este comando ignora a condio especificada no lao e encerra-o incondicionalmente. Devido ao fato de se desejar sair do lao somente em situaes especiais (como para evitar um lao infinito) deve-se usar o comando Exit Do na condio verdadeira de um 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. O comando If.. Then.. Else verifica essa condio, prevenindo uma execuo infinita. 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 2.7.5. For.. Next Pode-se utilizar o comando For.. Next para executar um bloco de instrues um nmero especfico de vezes. Para laos, use uma varivel como contador cujo valor seja incrementado ou decrementado a cada repetio do lao. O exemplo a seguir faz com que o tag exemplo receba o valor da expresso cinqenta vezes. O comando For especifica a varivel contador X e seus valores iniciais e finais. O comando Next incrementa o contador e verifica se ele atingiu o limite. Em caso negativo, o lao executado mais uma vez. Em caso afirmativo, o script 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 varivel contador 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 E3 - Scripts - Manual de Referncia 40 Introduo ao VBScript Para decrementar o contador, use um valor negativo para o Step. Deve-se especificar um valor final menor que o valor inicial. No exemplo a seguir, a varivel meuNum decrementada de 2 em 2 cada vez que o lao repetido. Quando o lao termina, 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 2 total = total + meuNum Next MsgBox "O total " & total End Sub Pode-se sair de qualquer comando For.. Next antes do contador alcanar seu valor final utilizando-se o comando Exit For. Este comando tem o comportamento semelhante ao comando Exit Do, finalizando o lao incondicionalmente. 2.7.6. For Each.. Next Um lao For Each.. Next similar a um lao For.. Next. Ao invs de repetir as instrues 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 cada elemento num array. Isto bastante til quando o nmero de elementos presentes em uma 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
E3 - Scripts - Manual de Referncia Introduo ao VBScript 41 2.8. Convenes de Cdigo A principal razo para se utilizar um conjunto consistente de convenes de codificao a padronizao da estrutura e do estilo de codificao de um script ou um conjunto de scripts. Isto possibilita s pessoas lerem e entenderem mais facilmente o cdigo. A utilizao de boas convenes de codificao resulta em um cdigo-fonte preciso, legvel e no-ambguo, que consistente com as convenes de outras linguagens, e que se torna to intuitivo quanto possvel. Nomeao de procedimentos, constantes, variveis e objetos Na 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, no use palavras vagas, ambguas ou genricas, como faz, coisa ou isto. Quando se encontra dificuldade para a nomeao de um procedimento usando-se estas sugestes, 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 constante com 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 de 32 caracteres tornam-se difceis de ler e digitar. Nesse caso, bom usar nomes abreviados, principalmente para variveis que possuam um uso muito grande, como contadores 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 que indiquem o seu subtipo. Isto muito til no uso de variveis em funes ou em laos que trabalhem com um subtipo especfico. E3 - Scripts - Manual de Referncia 42 Introduo ao VBScript Exemplos: Dim strMeuNome ' string Dim intCodTela ' integer Prefixos recomendados para os subtipos Variant SUBTIPO PREFIXO Boolean bin Byte byt Date (Time) dtm Double dbl Error err !nteger int Long lng Object obj Single sng String str
Objetos Recomenda-se o uso dos seguintes prefixos:
OBJETO PREFIXO Barra de rolagem horizontal hsd Barra de rolagem vertical vsb Botao animado ani Botao de comando cmd Botao de rotaao spn Caixa de combinaao ou caixa de lista cbo Caixa de dialogo dlg Caixa de lista lst Caixa de texto txt Caixa de verificaao chk !magem img !ndicador deslizante sld Linha lin Noldura fra Painel 3D pnl Rtulo lbl
E3 - Scripts - Manual de Referncia Introduo ao VBScript 43 Comentrios Todos os procedimentos devem comear com um breve comentrio sobre o que este faz. No entanto, este comentrio no deve descrever os detalhes de implementao, porque isto freqentemente consome muito tempo e resulta num trabalho de manuteno de comentrios desnecessrio. O cdigo em si ou os comentrios aos finais 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 que havia 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 til para revisar o cdigo e encontrar erros sintticos ou semnticos. Alm disso, algumas vezes pode ser til incluir no incio do cdigo um pequeno pseudocdigo descrevendo o algoritmo. Para cada procedimento, deve-se incluir as seguintes informaes antes da sua definio: 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 cdigo Utilize identaes (ou seja, tabulaes e alinhamentos) para indicar a hierarquia dos blocos 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 de aninhamento. Alm disso, os comentrios iniciais dos procedimentos devem ser identados em um espao. interessante tambm deixar uma linha em branco entre a definio e o corpo do procedimento e as partes diversas do corpo (declaraes, inicializaes, processos etc.). E3 - Scripts - Manual de Referncia 44 Introduo ao VBScript 2.9. Mtodos do VB8cripts utilizados no E3 Nesta seo, ser mostrada uma breve descrio dos mtodos do VBScript mais utilizados no E3. Para maiores informaes sobre os mtodos do VBScript, consulte a documentao disponvel no grupo de programas do E3, no item Documentos. Abs(number) Retorna o valor absoluto de um nmero. O parmetro number pode ser qualquer expresso numrica vlida. O valor absoluto de um nmero o seu valor sem o sinal. Ex: Abs(-1) e Abs(1) retornam 1. Array(arglist) Retorna uma varivel do tipo Variant que contm um array. O parmetro arglist contm uma lista de valores que ser atribuda aos elementos do array. Os valores devero ser separados por vrgula. Se este parmetro no for especificado, um array de tamanho 0 (zero) ser criado. Exemplo: Sub CommandButton1_Click() Dim A A = Array(10,20,30) B = A(2) MsgBox "o valor "& b End Sub LoadPicture(picturename) Retorna a figura do objeto. O parmetro picturename indica o nome do arquivo da figura a ser lido. Os formatos de figuras aceitos neste mtodo so: bitmap (bmp), cones (.ico), run-length (.rle) files, metafile (.wmf), enhanced metafiles (.emf), GIF (.gif), e JPEG (.jpg). Exemplos: Ver as propriedades MouseIcon e Picture. MsgBox(prompt [, buttons] [, title][, helpfile, context]) Mostra uma mensagem em uma caixa de dilogo, para que o usurio clique em um boto e retorne um valor que indica qual o boto que o usurio clicou. Os parmetros deste mtodo so os seguintes: E3 - Scripts - Manual de Referncia Introduo ao VBScript 45 Parmetros do mtodo MsgBox NOME DESCRIO Prompt Texto a ser mostrado como uma mensagem na caixa de dilogo. Se o texto tiver mais de uma linha, pode-se separ-las usando o caractere CR (Chr(13)). Buttons Expresso numrica que a soma dos valores que especificam o nmero e o tipo dos botes a serem mostrados. Se for omitido, o valor padro 0 (zero). Ver tabela abaixo. Title Texto do ttulo da janela de dilogo. Se for omitido, o ttulo VBScript ser usado. HelpFile Texto que especifica o nome do arquivo de ajuda para a caixa de dilogo. Se este parmetro for especificado, Context dever ser especificado. Context Expresso numrica que especifica o nmero de contexto da ajuda atribudo pelo autor da ajuda ao tpico apropriado. Se este parmetro for especificado, HelpFile dever ser especificado.
Os argumentos de configurao do parmetro buttons so os seguintes: E3 - Scripts - Manual de Referncia 46 Introduo ao VBScript Opes disponveis para o parmetro buttons NOME VALOR DESCRIO vbOKonly 0 Mostra somente o boto OK. vbOKCancel 1 Mostra os botes OK e Cancel (caso o Windows seja ingls) ou OK e Cancelar (caso o Windows seja portugus). vbOKAbortRetry!gnore 2 Mostra os botes Abort, Retry e Ignore (caso o Windows seja ingls) ou Abortar, Repetir e Ignorar (caso o Windows seja portugus). vbYesNoCancel 3 Mostra os botes Yes, No e Cancel (caso o Windows seja ingls) ou Sim, No e Cancelar (caso o Windows seja portugus). vbYesNo 4 Mostra os botes Yes e No (caso o Windows seja ingls) ou Sim e No (caso o Windows seja portugus). vbRetryCancel 5 Mostra os botes Retry e Cancel (caso o Windows seja ingls) ou (caso o Windows seja portugus). vbCritical 16 Mostra um cone , que indica uma mensagem crtica. vbQuestion 32 Mostra um cone , que indica uma pergunta. vbExclamation 48 Mostra um cone , que indica uma mensagem importante. vb!nformation 64 Mostra um cone , que indica uma informao. vbDefaultButton1 0 O primeiro boto o padro. vbDefaultButton2 256 O segundo boto o padro. vbDefaultButton3 512 O terceiro boto o padro. vbDefaultButton+ 0768 O quarto boto o padro. vbApplicationNodal 0 Aplicaes modais; O usurio deve responder mensagem da caixa de dilogo, antes de continuar a trabalhar na aplicao corrente. vbSystemNodal 4096 Aplicaes do sistema; Todas as aplicaes so suspensas at que o usurio responda a mensagem da caixa de dilogo.
O primeiro grupo de valores (0 - 5) descrevem o nmero e o tipos de botes mostrados na caixa de dilogo; o segundo grupo (16, 32, 48, 64) descrevem o estilo do cone; o terceiro grupo (0, 256, 512, 768) determinam qual o boto padro; e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem E3 - Scripts - Manual de Referncia Introduo ao VBScript 47 (MessageBox). Quando for adicionar nmeros para criar o valor final para o parmetro buttons, use somente nmeros de cada grupo . O mtodo MsgBox retorna os seguintes valores: Opes disponveis para o mtodo MessageBox NOME VALOR BOTO vbOk 1 OK vbCancel 2 Cancel (caso o Windows seja ingls) ou Cancelar (caso o Windows seja portugus). vbAbort 3 Abort (caso o Windows seja ingls) ou Abortar (caso o Windows seja portugus). vbRetry 4 Retry (caso o Windows seja ingls) ou Repetir (caso o Windows seja portugus). vb!gnore 5 Ignore (caso o Windows seja ingls) ou Ignorar (caso o Windows seja portugus). vbYes 6 Yes (caso o Windows seja ingls) ou Sim (caso o Windows seja portugus). vbNo 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 Now Retorna 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 mtodo possui os seguinte parmetros: red: nmero que representa o componente vermelho da cor; green: nmero que representa o componente verde da cor e blue, que o nmero que representa o componente azul da cor. Exemplo: Sub Linha1_Click() Effect3DColorBase= RGB (0,150,200) End Sub
Programando no E3 49
Apesar de a maioria dos aspectos do VBScript se aplicarem programao de scripts no E3, algumas particularidades devem ser destacadas no que diz respeito s implementaes do conceito de orientao a objetos no sistema. 3.1. Obtendo Referncias aos Ob]etos 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 e aqueles executados na interface do cliente (E3 Viewer). Para ser trabalhar com scripts, 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 criao de eventos no E3 Viewer, ligados a variveis que esto no servidor) Objetos de um E3 Viewer a partir de outro E3 Viewer (s possvel atravs da criao de eventos ligados a variveis que esto no servidor). Tais limitaes so decorrentes do fato de que, por definio, existe uma independncia entre o que cada uma das estaes E3 Viewer est fazendo ou visualizando e servidor e vice-versa. Por isso, todas as atividades, tanto do servidor como do E3 Viewer, necessitam ser coordenadas de forma assncrona ou atravs de eventos 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 o objeto 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 forma completa, auxiliando-o na criao de scripts. Portanto, para acessar os objetos externos que esto sendo manipulados em um script, so utilizadas algumas diretivas bsicas. Por exemplo, para se manipular o valor de um Tag de Comunicao, o caminho : Servidor - Driver - Pasta (se Capitulo 3 3. Programando no E3 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 da metodologia para acesso dos objetos: Servidor (E3 Server) Telas e Quadros (E3 Viewer) ElipseX (bibliotecas): podem ser XObjects (rodam no servidor) e XControls (rodam no E3 Viewer). 3.1.1. Acessando propriedades do servidor Para se acessar um objeto que est sendo executado no servidor a partir de um Objeto de Tela ou um ElipseX, deve-se usar a diretiva Application.GetObject. A palavra Application 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 = False End Sub ou ainda Sub Button1_Click() Application.GetObject("Driver1.tag001").AllowRead = False End Sub O mtodo Item() foi utilizado para, a partir da referncia de Driver1, localizar o tag001, pois o Driver uma coleo de Tags. Depois de localizado o objeto, suas propriedades 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 prxima vez 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, j que cada chamada do mtodo GetObject() faz um acesso ao servidor. Atravs dessa tcnica, chamadas desnecessrias ao servidor so evitadas. Este exemplo usa o E3 - Scripts - Manual de Referncia Programando no E3 51 comando Set, que ser explicado mais adiante. Note que a utilizao de variveis tambm torna o cdigo mais claro e de modificao mais fcil. Caso seja necessrio alterar o objeto no qual queremos executar comandos, basta mudar a linha de atribuio dessa varivel. A palavra Application nos scripts pode indicar tanto funes que so executadas no E3 Viewer quanto no servidor. No caso, o objeto Application sabe de antemo quais funes devem ser executadas tanto para um quanto para outro caso. No possvel, entretanto, executar funes de E3 Viewer dentro do servidor, assim como tambm no possvel executar funes de servidor dentro do E3 Viewer. 3.1.2. Acessando propriedades do servidor de dentro do servidor Caso seja necessrio acessar as propriedades de um Tag a partir de outro, origem e destino esto no servidor ligados via um mdulo-pai que Driver1. Nesta situao, deve ser usada a declarao Parent. Isto faz com que seja acessado primeiro o objeto-pai onde est o script, para depois descer-se na hierarquia em busca 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-se aninhar vrios comandos Parent. 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 3.1.3. Acessando ob]etos de uma Tela a partir de um script na Tela 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 E3 - Scripts - Manual de Referncia Programando no E3 53 3.1.4. Acessando ob]etos de uma Tela a partir de um script em outro ob]eto na Tela 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 3.1.5. Modificando a Tela ou ob]etos de Tela a partir do servidor A modificao de um comportamento qualquer em uma Tela s pode ser feita a partir de associaes (o servidor reporta automaticamente para os Viewers todas as mudanas das variveis escolhidas), ou via busca explcita do Viewer por informaes no servidor. Toda a operao de associao da interface grfica feita do 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 tag for ligado (valor 1) e para vermelho quando for desligado (valor 0). Neste caso, deve-se simplesmente criar uma associao digital entre a propriedade TextColor do Texto1 com o Tag1. Associaes so preferveis devido rapidez de execuo e simplicidade de manuteno e construo da aplicao. 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 Viewer que fique verificando constantemente se o Tag1 mudou ou no de valor, para ento mudar a cor do texto. Este tipo de script possvel de ser realizado, mas degrada muito a performance da aplicao. Por isto, esta prtica no aconselhvel. 3.1.6. Acessando ob]etos de um ElipseX a partir do prprio ElipseX Na criao de um ElipseX, pode-se declarar propriedades (XProperties) e inserir objetos, que podem ser objetos de Tela (XControl) ou objetos do servidor (XObject). Para se acessar as XProperties atravs de scripts, basta acessar o nome da propriedade diretamente.
Figura 17: Acessando objetos de um ElipseX a partir do prprio ElipseX 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 linha abaixo: 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 mtodo Item() para obter uma referncia destes objetos. Por exemplo: Sub XControl1_OnStartRunning() Item("Texto1").Value = "motor" Item("Retangulo1").BackgroundColor = RGB (212,208,20) End Sub 3.1.7. Acessando ob]etos de um ElipseX externamente O acesso externo a um objeto ElipseX s pode ser feito atravs de suas propriedades, utilizando suas instncias criadas. No possvel acessar objetos internos diretamente. 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) E3 - Scripts - Manual de Referncia 56 Programando no E3 Para alterar a propriedade Propriedade1 do XControl pode-se fazer o seguinte script no 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 Valor do XObject seria: Sub CommandButton1_Click() Application.GetObject("Dados.XObject11").Valor=123 End Sub Ou ainda: Sub CommandButton1_Click() Application.GetObject("Dados").Item("XObject11").Valor=123 End Sub Pode-se ainda ter um XControl acessando um XObject, atravs de uma XProperty. Por exemplo, a figura mostra um XControl chamado XControl1 que possui uma propriedade XValor do tipo XObject1, que o nome do XObject criado.
E3 - Scripts - Manual de Referncia Programando no E3 57
Figura 20: XControl acessando um XObject (exemplo) Fazemos, por exemplo, uma associao do valor do objeto Texto1 com a propriedade Valor do XObjet1. Isso feito atravs da propriedade XValor, criada no XControl1. Assim, o valor da propriedade Valor do XObject1 ser mostrada no objeto Texto1 do XControl1.
Figura 21: Propriedade Valor No projeto, o vnculo da instncia XObject11 instncia XControl11 pode ser feito atravs de uma associao na propriedade XValor. E3 - Scripts - Manual de Referncia 58 Programando no E3
Figura 22: XValor (associao) Exemplo de criao de um ElipseX Suponha que determinada aplicao necessite supervisionar e comandar 10 motores. Cada motor precisa ser representado por um desenho na Tela, que exibe a cor verde quando estiver operando, e vermelho, quando estiver desligado. Tambm deve ser permitido o comando do motor na Tela, enviando instrues para ligar e desligar. Sua velocidade tambm deve ser exibida. Uma possibilidade a criao de um XControl chamado MotorA, com as propriedades Estado = Boolean e Velocidade = Double, conforme a figura abaixo:
Figura 23: Definio do XControl E3 - Scripts - Manual de Referncia Programando no E3 59 Para a indicao da cor, a propriedade OverrideFillColor do motor deve estar associada propriedade Estado do XControl, atravs de uma associao digital. Configure a propriedade OverrideFillMode para 2- SolidFill. Para exibir a velocidade, a propriedade Value do Display deve ser associada propriedade Velocidade do XControl. O Boto Liga-Desliga troca o valor da propriedade Estado atravs de uma associao simples.
Note que: As associaes dentro da biblioteca so internas, e seu formato : Nome_do_Controle.Nome_da_Propriedade. O objeto, depois de inserido na Tela, dever ter essas propriedades associadas aos tags verdadeiros, para cada um dos motores. Uma associao de um tag para a propriedade Estado ter que ser feita para cada MotorA.
Figura 24: Viewer Outra possibilidade, mais abrangente, utiliza um XObject para o motor. Desta forma, todas as informaes relativas aos motores residem em objetos que ficam no servidor. Assim, podemos construir vrios tipos de interface para o motor (XControls) que trazem do servidor, atravs do XObject, somente as informaes necessrias. E3 - Scripts - Manual de Referncia 60 Programando no E3 Desta maneira, o objeto MotorA teria que ser modificado para apontar para um XObject, ao invs de declarar em si mesmo todas as propriedades. Crie um XObject chamado MotorADados, e declare nele as propriedades Estado e Velocidade. Crie um XControl MotorA que possua apenas uma propriedade, chamada MeusDados, do tipo MotorADados. MotorADados dever ser inserido numa pasta de dados no servidor, e corresponder a cada um dos motores. MotorA por sua vez ir apontar para o MotorADados desejado, no sendo necessria a criao de novos tags.
Figura 25: Configurao na view do XObject A propriedade Estado, associada propriedade OverrideFillColor do motor, fica MotorA.MeusDados.Estado. A propriedade Velocidade, associada ao Display, fica MotorA.MeusDados.Velocidade. E3 - Scripts - Manual de Referncia Programando no E3 61 3.2. Acessando Ob]etos Seguindo o conceito de encapsulamento de programao orientada a objetos, os mtodos e propriedades ficam associados a seus objetos de origem. Isto significa que sempre se deve indicar o objeto do qual se est acessando o mtodo ou propriedade. Propriedades Para referenciar as propriedades de um objeto, deve-se usar o mtodo GetObject() do E3. A sintaxe a seguinte: Application.GetObject("<objeto>").<propriedade> onde <objeto> o nome do objeto e <propriedade>, a propriedade desejada. Exemplo: Application.GetObject("Dados.TempTanque2").Type Para facilitar a digitao, aconselhvel sempre utilizar o AppBrowser, que j traz a sintaxe correta. Propriedade Value No E3, muitos objetos possuem uma propriedade em comum chamada Value. Neste caso especfico, pode-se acessar esta propriedade utilizando-se o prprio nome do objeto: Button1 = False que equivalente a: Button1.Value = False Mtodos A sintaxe abaixo exemplifica a chamada de um mtodo que no precisa de parmetros: Application.GetObject("<objeto>").<metodo> onde <objeto> o objeto em questo e <metodo>, o mtodo desejado. Se o mtodo aceita parmetros, use a sintaxe abaixo: Application.GetObject("<objeto>").<metodo>(<parametro>) onde <parametro> o parmetro a ser passado para o mtodo. Quando houver mais de um parmetro, utilize vrgulas para separ-los. Se o mtodo retorna um resultado, e for desejvel guard-lo, ento os parmetros devem ser colocados obrigatoriamente entre parnteses: <V> =Application.GetObject("<objeto>").<metodo>(<parametro>) onde <V> a varivel que ir receber o resultado do mtodo. E3 - Scripts - Manual de Referncia 62 Programando no E3 3.3. Trabalhando com Colees Uma coleo (ou collection) um objeto que gerencia um conjunto de objetos similares. Os objetos contidos em uma coleo so referenciados por ndices, semelhante referncia de arrays. Pode-se adicionar ou remover objetos individuais de uma coleo, conforme o exemplo abaixo: 'Adiciona uma pena num objeto E3Chart E3Chart.Pens.Add "Pena" 'Remove a segunda pena E3Chart.Pens.Remove 2 (Observao: o primeiro objeto em uma coleo possui o ndice 1.) Todas as colees possuem uma propriedade em comum chamada Count, que o nmero de objetos (ou filhos) existentes. Exemplo: 'Mostra uma caixa de dilogo com o numero de penas MsgBox E3Chart.Pens.Count Acessando objetos com o mtodo Item Toda coleo possui um mtodo Item(), que pode ser usado para acessar qualquer objeto dentro da coleo. O mtodo Item() aceita um parmetro Item, que pode ser um nmero (inteiro positivo) ou o nome do objeto dentro da coleo que se deseja acessar. Os exemplos abaixo so de ajustes da cor da segunda pena do objeto E3Chart: E3Chart.Pens.Item(2).Color = RGB (212,208,20) E3Chart.Pens.Item("Pena2").Color = RGB (212,208,20) Os comandos acima so equivalentes, o primeiro indicando o ndice da pena na coleo, e o segundo indicando o nome. 3.4. Comando 8et O VBScript implementa o conceito de Polimorfismo das linguagens orientadas a objeto, permitindo que uma varivel do tipo Variant assuma a forma de um objeto qualquer, atravs do comando Set. Deste modo, a varivel funciona como um ponteiro do objeto desejado, permitindo acessar seus mtodos e propriedades. Exemplo: Set E3Chart = Screen.Item("E3Chart1") E3Chart.Pens.Item(2).Color = RGB (212,208,20) No exemplo acima foi feita a mesma tarefa que no exemplo anterior, porm a parte referente a como chegar at o objeto especfico havia sido omitida. Sem o comando Set, a mesma chamada teria que ser: E3 - Scripts - Manual de Referncia Programando no E3 63 Screen.Item("E3Chart1").Pens.Item(2).Color = RGB(212,208,20) Aparentemente, no existe vantagem neste caso, pois se pode fazer tudo em uma nica linha de cdigo. Porm, se logo abaixo no mesmo script, outras operaes forem necessrias, o processo se torna mais simples e rpido se a chamada do mtodo Item() no tiver sido colocada em todas as linhas. Exemplo ruim: Screen.Item("E3Chart1").Pens.Item(1).Color = RGB(212,208,20) Screen.Item("E3Chart1").Pens.Item(2).Color = RGB(200,208,20) Screen.Item("E3Chart1").Pens.Item(3).Color = RGB(100,208,20) Exemplo melhor: Set Penas = Screen.Item("E3Chart1").Pens Penas.Item(1).Color = RGB(212,208,20) Penas.Item(2).Color = RGB(200,208,20) Penas.Item(3).Color = RGB(100,208,20)
Eventos 65
Os Eventos so ocorrncias relacionadas a um objeto, que permitem disparar aes programadas. Temos basicamente, dois tipos de eventos: fsicos (ou externos) e internos. Os eventos fsicos so, por exemplo, aes do usurio. No caso do usurio digitar algo no teclado, a informao relevante pode ser a tecla pressionada, ou se o usurio apontar e clicar com o mouse, a informao relevante a posio do cursor e o status dos botes. Os eventos internos so, por exemplo, mudanas de valor de uma varivel (tag) no sistema. Como o tag pode ser associado a um dispositivo externo, dizemos que os eventos internos podem ter associaes fsicas, como a mudana da temperatura de uma cmara por exemplo. Nesse captulo, temos uma lista dos eventos disponveis no E3 classificados por objetos, iniciando pelos eventos padro, presentes em todos os objetos. Cada entrada descreve o nome do evento e sua ocorrncia, e exemplifica a sua utilizao atravs de scripts, incluindo as variveis de evento. 4.1. Variaveis de Evento Variveis de Evento so criadas quando o evento iniciado. Para serem utilizadas, devem ser associadas a parmetros na chamada do script do evento. O exemplo a seguir a chamada de um procedimento associado ao evento KeyDown de AlgumObjeto. Sub AlgumObjeto_KeyDown(KeyCode, Shift) Note que na chamada temos duas variveis: KeyCode e Shift. O E3 ir atribuir valores a essas variveis automaticamente no momento da ocorrncia do evento. Nesse caso, KeyCode ir receber o cdigo da tecla pressionada e Shift ser verdadeiro ou falso, conforme a tecla [Shift| estiver pressionada ou no. Capitulo 4 4. Eventos E3 - Scripts - Manual de Referncia 66 Eventos 4.2. Eventos Padro OnStartRunning() Ocorre to logo um objeto seja iniciado. Exemplo: ' Meses um tag do tipo InternalTag ' Aqui ele utiliza o evento OnStartRunning para ' inicializar o vetor Sub Meses_OnStartRunning() Value = Array ("Janeiro", "Fevereiro", "Maro", "Abril",_ "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro",_ "Novembro", "Dezembro") End Sub NOTA: Para acessar este array, voc necessita copiar a propriedade Value para uma varivel local. OnStopRunning() Ocorre quando termina a execuo de uma instncia deste objeto. Utilize o evento OnStopRunning para fazer operaes de finalizao para o objeto. Exemplo: Sub Tag_OnStopRunning() ' Quando finaliza o objeto tag ' ele atribui False ao tag2 set tag2 = Application.GetObject("DataServer1.tag2") tag2.Value = False End Sub E3 - Scripts - Manual de Referncia Eventos 67 4.3. Eventos do Driver de Comunicao AfterStart( ) Ocorre depois que o driver de comunicao iniciou a comunicao. comum fazer um script para este evento utilizando o mtodo Write() para fazer configuraes em equipamentos. Exemplo: Sub Driver1_AfterStart() ' Aps iniciada a comunicao manda escrever valores ' para o equipamento/dispositivo Write 0, 2, 55, 2, 33.4 Write 0, 3, 55, 20, "Metal" End Sub AfterStop( ) Ocorre depois que o driver finalizou a comunicao. Utilize o evento AfterStop para fazer alguma ao que seja necessria aps terminada a comunicao do driver. BeforeStart( ) Ocorre quando o driver est prestes a iniciar a comunicao. Utilize o evento BeforeStart para fazer alguma ao que seja necessria antes de iniciar a comunicao, como por exemplo a configurao de parmetros do driver. Exemplo: Sub Driver1_BeforeStart() ' Faz a inicializao dos parmetros do driver antes ' de iniciar a comunicao P1 = 0 P2 = 20 P3 = 80 P4 = 0 End Sub E3 - Scripts - Manual de Referncia 68 Eventos BeforeStop( ) Ocorre quando o driver est prestes a finalizar a comunicao. Utilize o evento BeforeStop para fazer alguma ao que seja necessria antes que a comunicao seja terminada, como por exemplo, escrever ou ler valores do equipamento/dispositivo, antes que a comunicao no esteja mais disponvel. OnCommError(EvtType, Size, Element, N1, N2, N3, N4) Ocorre quando algum erro de escrita ou leitura detectado pelo driver de comunicao. Utilize o evento OnCommError para saber quando ocorreu uma falha de escrita e/ou leitura no driver. As variveis de evento recebem informaes sobre o erro ocorrido. Com estes valores, possvel rastrear quais tags esto apresentando problemas de comunicao. Variveis do evento OnCommError NOME DESCRIO EvtType Informa qual o tipo de operao que o driver estava efetuando quando ocorreu o erro, conforme as opes abaixo: 0 = Erro de leitura de um s elemento (Size = 1). Param1 N1, Param2 N2, Param3 N3 e Param+ N4 1 = Erro de escrita de um s elemento (Size = 1). Param1 N1, Param2 N2, Param3 N3 e Param+ N4 2 = Erro de leitura de um bloco (bloco de comunicao). Size determinado pelo nmero de elementos do bloco. Param1 N1, Param2 N2, Param3 N3 e Param+ N4. 3 = Erro de escrita de um bloco (bloco de comunicao). Size determinado pelo nmero de elementos do bloco. Param1 N1, Param2 N2, Param3 N3 e Param+ N4. Size Quantidade de valores sendo escritos ou lidos. Element ndice do elemento que estava sendo lido ou escrito, dentro do bloco. N1 Parmetro 1 da operao de leitura/escrita que gerou o erro N2 Parmetro 2 da operao de leitura/escrita que gerou o erro N3 Parmetro 3 da operao de leitura/escrita que gerou o erro N+ Parmetro 4 da operao de leitura/escrita que gerou o erro
Exemplo: Sub Driver1_OnCommError(Type,Size,Element,N1,N2,N3,N4) Application.GetObject("Dados.TagInterno1").Value=_ Application.GetObject("Dados.TagInterno1").Value+1 Application.GetObject("Dados.EvtType").Value=EvtType Application.GetObject("Dados.Size").Value=Size Application.GetObject("Dados.Element").Value=Element Application.GetObject("Dados.N1").Value=N1 Application.GetObject("Dados.N2").Value=N2 E3 - Scripts - Manual de Referncia Eventos 69 Application.GetObject("Dados.N3").Value=N3 Application.GetObject("Dados.N4").Value=N4 End Sub OnCommErrorEx(ErrorInfo) Ocorre logo aps a execuo do mtodo OnCommError(). Informaes do parmetro ErrorInfo NOME DESCRIO Error!nfo.EvtType Indica o tipo de operao que causou o erro: 0 = leitura de tag; 1 = escrita em tag; 2 = leitura de bloco; 3 = escrita em bloco. Error!nfo.Size Tamanho do bloco que ocasionou o erro (se for um tag, o Size 1). Error!nfo.Element ndice do elemento de bloco que causou o erro. Error!nfo.Nx Parmetros Nx ou Bx (x = 1, 2, 3, 4) da operao que causou o erro. Error!nfo.ParamDevice Parmetro ParamDevice (string) da operao que causou o erro. Error!nfo.Param!tem Parmetro ParamItem (string) da operao que causou o erro.
OnTagRead(Tag) Ocorre na leitura de um tag, sempre que um novo valor ou um erro for retornado pelo driver de comunicao. Ou seja, se o valor ou a qualidade do tag no mudarem, o evento no ser disparado. Para que o evento funcione, a propriedade EnableDriverEvent deve obrigatoriamente estar habilitada. Alm disso, a propriedade PercentDeadband tambm pode exercer influncia sobre a ocorrncia do evento, caso a propriedade EnableDeadband estiver habilitada. Exemplo: Sub Tags_OnTagRead(Tag) Set Obj = Application.GetObject("Dados1.TagName") Obj.Value = Tag.Name Set Obj = Application.GetObject("Dados1.TagRead") Obj.Value = True Set Obj = Application.GetObject("Dados1.TagType") Obj.Value = TypeName(Tag) End Sub E3 - Scripts - Manual de Referncia 70 Eventos OnTagWrite(Tag, Succeeded, User) Ocorre quando uma escrita for disparada em qualquer tag do driver. Variveis do evento OnTagWrite NOME DESCRIO Tag Uma referncia para o objeto do Tag que est sofrendo a escrita. Por exemplo, pode-se acessar a propriedade do tag com a sintaxe Tag.DocString. Succeeded Um valor Booleano que indica o sucesso da escrita (True = sucesso; False = falha). User Texto que retorna o usurio que fez a escrita.
4.3.2. Eventos do Tag de Comunicao OnRead( ) Ocorre quando efetuada uma leitura do tag pelo driver. Utilize o evento OnRead quando for necessrio efetuar alguma operao logo aps algum dado for modificado no tag, como por exemplo, as propriedades Value, Quality ou TimeStamp. Este evento gerado por uma leitura em background. Exemplo: Sub CommTag1_OnRead() 'Ao ler o tag, atribui o seu valor ao tag InternalTag1 Set obj=Application.GetObject("DataServer1.InternalTag1") obj = Value 'Valor de CommTag1 End Sub E3 - Scripts - Manual de Referncia Eventos 71 4.3.1. Eventos do Bloco de Comunicao OnRead( ) Ocorre quando uma leitura do bloco de comunicao efetuada pelo driver. Utilize o evento OnRead quando for necessrio efetuar alguma operao logo aps algum dado ter sido modificado no objeto bloco de comunicao, como por exemplo as propriedades Quality, TimeStamp ou ainda a propriedade Value de algum elemento do bloco. Exemplo: Sub IOBloco1_OnRead() ' Ao ler o bloco, atribui ao tag InternalTag1 ' o valor do elemento de bloco elm1 Set obj=Application.GetObject("DataServer1.InternalTag1") Set elm = Application.GetObject("Driver1.IOBloco1.elm1") obj.Value = elm.Value End Sub 4.4. Evento do Tag Contador OnPreset( ) Ocorre toda vez que o valor da propriedade Preset alcanado. 4.5. Evento do Tag Timer OnPreset( ) Ocorre toda vez que o valor da propriedade NextExecTime alcanado. 4.6. Eventos da Tela KeyDown(KeyCode, Shift) Ocorre no momento em que uma tecla pressionada, independentemente do foco na Tela. Variveis do evento KeyDown NOME DESCRIO KeyCode Nmero inteiro que identifica o caractere ASCII da tecla que foi pressionada. E3 - Scripts - Manual de Referncia 72 Eventos Shift Mostra a tecla pressionada juntamente com o mouse: 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift|
Exemplo: Sub Tela1_KeyDown(KeyCode, Shift) ' Mostra uma caixa de mensagem quando ' o usurio pressiona uma tecla MsgBox "Cdigo da tecla: " & KeyCode End Sub KeyUp(KeyCode, Shift) Ocorre no momento em que uma tecla solta, independentemente do foco na Tela. Variveis do evento KeyUp NOME DESCRIO KeyCode Nmero inteiro que identifica o caractere ASCII da tecla que foi pressionada. Shift Mostra a tecla pressionada juntamente com o mouse: 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift|
Exemplo: Sub Tela1_KeyUp(KeyCode, Shift) 'Mostra uma caixa de mensagem quando o usurio ' soltar uma tecla MsgBox "Cdigo da tecla: " & KeyCode End Sub MouseDown(Button, ShiftState, MouseX, MouseY) Ocorre quando se pressiona qualquer boto do mouse sobre a Tela. Utilize o evento MouseDown para determinar aes especficas quando a Tela for clicada pelo usurio. Variveis do evento MouseDown NOME DESCRIO Button Mostra o boto do mouse pressionado: 1 - O boto do mouse pressionado o esquerdo. 2 - O boto do mouse pressionado o direito. ShiftState Mostra a tecla pressionada juntamente com o mouse: 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift| NouseX Mostra a posio X onde o mouse foi clicado na Tela. NouseY Mostra a posio Y onde o mouse foi clicado na Tela. E3 - Scripts - Manual de Referncia Eventos 73
Exemplo: ' Encerra a aplicao quando houver um clique de mouse ' no objeto TelaInicial. Sub TelaInicial_MouseDown(Button, ShiftState, MouseX, MouseY) Application.Exit() End Sub MouseUp(Button, ShiftState, MouseX, MouseY) Ocorre quando se solta qualquer boto do mouse previamente clicado. Utilize o evento MouseUp para especificar aes que sero disparadas somente quando o boto do mouse for solto. Variveis do evento MouseUp NOME DESCRIO Button Mostra o boto do mouse pressionado: 1 - O boto do mouse pressionado o esquerdo. 2 - O boto do mouse pressionado o direito. ShiftState Mostra a tecla pressionada juntamente com o mouse: 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift| NouseX Mostra a posio X onde o mouse foi clicado na Tela. NouseY Mostra a posio Y onde o mouse foi clicado na Tela.
Exemplo: ' Encerra a aplicao apenas quando o usurio soltar o boto. Sub TelaInicial_MouseUp(Button, ShiftState, MouseX, MouseY) Application.Exit() End Sub OnHide( ) Ocorre quando uma Tela est prestes a ser fechada. Utilize o evento OnHide quando for necessrio efetuar alguma operao antes do objeto Tela ser fechado. Este evento pode ocorrer de diversas maneiras: 1. Quando a Tela for substituda por outra atravs do mtodo OpenScreen(); 2. Quando o usurio fechar a janela onde est a Tela; 3. Quando for chamado o mtodo Close() do objeto Tela; 4. Quando Viewer for fechado/terminado. Exemplo: Sub TelaInicial_OnHide() Application.exit E3 - Scripts - Manual de Referncia 74 Eventos End Sub OnPreShow(Arg) Ocorre antes da Tela ser mostrada. A varivel de evento Arg recebe o contedo do parmetro Arg do mtodo OpenScreen(), que gera esse evento. Logo aps, gerado o evento OnShow. Exemplo: Sub Screen1_OnPreShow(Arg) ' O ttulo da Tela Screen1 a ser mostrada ' foi passado como parmetro na chamada do mtodo ' OpenScreen que gerou o evento. Caption = Arg End Sub OnShow( ) Ocorre no momento exato que uma Tela mostrada. Utilize o evento OnPreShow para efetuar alguma operao antes que esta seja exibida. Exemplo: Sub TelaPrincipal_OnShow() MsgBox "Seja bem-vindo ao sistema!" End Sub 4.7. Eventos dos Ob]etos de Tela Click( ) Ocorre quando o boto esquerdo do mouse pressionado sobre o objeto. Este evento no ocorrer se o objeto no estiver visvel ou sua propriedade Enabled estiver configurada para False. A visibilidade do objeto depende de trs fatores: propriedade Visible igual a True; objeto-pai visvel; e propriedade Layer do objeto presente na camada da Tela. Exemplo: Sub Botao_Click() ' Mostra uma caixa de mensagem quando ' o usurio clica no objeto MsgBox "Voc clicou sobre o objeto." End Sub E3 - Scripts - Manual de Referncia Eventos 75 DbClick( ) Ocorre quando h um duplo-clique, ou seja, o boto esquerdo do mouse pressionado rapidamente duas vezes sobre o objeto. Este evento no ocorrer se o objeto no estiver visvel ou sua propriedade Enabled estiver configurada para False. A visibilidade do objeto depende de trs fatores: propriedade Visible igual a True; objeto-pai visvel; e propriedade Layer do objeto presente na camada da Tela. Exemplo: Sub Botao_DbClick() 'Mostra uma caixa de mensagem quando 'o usurio faz um duplo-clique no objeto MsgBox "Voc clicou duas vezes o objeto." End Sub KeyDown(KeyCode, Shift) Ocorre no momento em que uma tecla pressionada e o objeto est com o foco do teclado. Note que este evento no ser gerado se o objeto no estiver habilitado (propriedade Enabled = False) ou este objeto no possuir o foco do teclado. Variveis do evento KeyDown NOME DESCRIO KeyCode Nmero inteiro que identifica o caractere ASCII da tecla que foi pressionada. Shift Mostra a tecla pressionada juntamente com o mouse: 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift|
Exemplo: Sub Botao_KeyDown(KeyCode, Shift) ' Mostra uma caixa de mensagem quando ' o usurio pressiona uma tecla MsgBox "Cdigo da tecla: " & KeyCode End Sub KeyUp(KeyCode, Shift) Ocorre no momento em que uma tecla solta e o objeto est com o foco do teclado. Note que este evento no ser gerado se o objeto no estiver habilitado (propriedade Enabled = False) ou este objeto no possuir o foco do teclado. Variveis do evento KeyUp NOME DESCRIO KeyCode Nmero inteiro que identifica o caractere ASCII da tecla que foi pressionada. E3 - Scripts - Manual de Referncia 76 Eventos Shift Mostra a tecla pressionada juntamente com o mouse: 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift|
Exemplo: Sub Botao_KeyUp(KeyCode, Shift) 'Mostra uma caixa de mensagem quando o usurio ' soltar uma tecla MsgBox "Cdigo da tecla: " & KeyCode End Sub MouseDown(Button, ShiftState, MouseX, MouseY) Ocorre quando se pressiona qualquer boto do mouse sobre o objeto. Variveis de evento MouseDown NOME DESCRIO Button Mostra o boto do mouse pressionado: 1 - O boto do mouse pressionado o esquerdo. 2 - O boto do mouse pressionado o direito. ShiftState Mostra a tecla pressionada juntamente com o mouse: 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift| NouseX Mostra a posio X onde o mouse foi clicado na Tela. NouseY Mostra a posio Y onde o mouse foi clicado na Tela.
Exemplo: ' Encerra a aplicao quando houver um clique de mouse ' no objeto TelaInicial. Sub TelaInicial_MouseDown(Button, ShiftState, MouseX, MouseY) Application.Exit() End Sub MouseUp(Button, ShiftState, MouseX, MouseY) Ocorre quando se solta qualquer boto do mouse previamente clicado sobre o objeto. Utilize o evento MouseUp para especificar aes que sero disparadas somente quando o boto do mouse for solto. Variveis do evento MouseUp NOME DESCRIO Button Mostra o boto do mouse pressionado: 1 - O boto do mouse pressionado o esquerdo. 2 - O boto do mouse pressionado o direito. ShiftState Mostra a tecla pressionada juntamente com o mouse: E3 - Scripts - Manual de Referncia Eventos 77 4=Tecla [Shift|; 8=Tecla [Ctrl|; 12=Teclas [Ctrl| + [Shift| NouseX Mostra a posio X onde o mouse foi clicado na Tela. NouseY Mostra a posio Y onde o mouse foi clicado na Tela.
Exemplo: ' Encerra a aplicao apenas quando o usurio soltar o boto ' depois do clique sobre o objeto Retangulo1. Sub Retangulo1_MouseUp(Button, ShiftState, MouseX, MouseY) Application.Exit() End Sub 4.7.1. Eventos do Texto, Display e 8etPoint Validate(Cancel, NewValue) Ocorre aps os testes de limites do SetPoint (ver propriedades Min, Max, EnableLimits) e antes do valor do SetPoint ser enviado para o tag. A finalidade deste evento permitir que o usurio cancele o envio do valor do SetPoint para o tag. O parmetro Cancel booleano e indica se a operao de atribuio do valor do SetPoint ao tag deve ser cancelada (Cancel = True). O padro False, ou seja, o valor do SetPoint ser enviado ao tag. Newvalue o valor que est sendo avaliado. O valor antigo pode ser acessado pela propriedade Value do SetPoint . Exemplo: Sub Texto1_Validate(Cancel, NewValue) ' Mostra uma MessageBox que pergunta ao usurio ' se ele deseja usar o novo valor digitado no SetPoint message = "Valor atual: " & value & vbnewline & _ "Valor novo: " & NewValue & vbnewline & vbnewline &_ "Aceita o novo valor?" If MsgBox (message , vbQuestion + vbYesNo,_ "Evento Validate") = vbNo Then Cancel = True End If End Sub E3 - Scripts - Manual de Referncia 78 Eventos 4.8. Eventos dos ActiveX BeforeDragOver (Index, Cancel, Data, X, Y, DragState, Effect, Shift) Ocorre quando h uma ao de arrastar-e-soltar (drag-and-drop) sobre o objeto. Utiliza-se este evento para monitorar se o mouse entrou, deixou ou ficou sobre um objeto-alvo. O evento disparado quando o usurio move o mouse ou pressiona/solta algum boto. A posio do ponteiro do mouse vai indicar qual o objeto que ir gerar o evento. Pode-se determinar o status do ponteiro do mouse examinando a varivel DragState. Muitos objetos (objetos) no suportam operaes arrastar-e-soltar enquanto a varivel Cancel False, que o default. Isso significa que o objeto rejeita qualquer tentativa de arrastar ou soltar alguma coisa sobre si e conseqentemente, no dispara o evento BeforeDropOrPaste. A TextBox (caixa de texto) e a ComboBox so excees; elas aceitam operaes arrastar-e-soltar mesmo quando a Cancel False. Variveis do evento BeforeDragOver NOME DESCRIO !ndex Indica o ndice da pgina, em um objeto multi-pginas, que ser afetada pela operao que gerou o evento. Para outros objetos ignorada. Cancel Status do evento. O default False e indica que ser o objeto- alvo que tratar o evento, e no a aplicao principal. Data Dados sendo arrastados para o objeto-alvo, propriamente ditos. X, Y Posio do mouse dentro do objeto-alvo, em pontos. X medido a partir do lado esquerdo do objeto; Y medido a partir do topo. DragState Indica a condio do mouse quando gerado o evento: 0 = fmDragStateEnter: o mouse est dentro do alcance do objeto; 1 = fmDragStateLeave: o mouse est fora do alcance do objeto; 2 = fmDragStateOver: o mouse est em uma nova posio, mas ainda est dentro do alcance do objeto Effect Indica as aes que o objeto-alvo suporta, ou seja, o efeito de arrastar sobre o objeto em questo: 0 = fmDropEffectNone: objeto-alvo no aceita copiar ou mover de alguma origem. 1 = fmDropEffectCopy: objeto-alvo permite copiar de alguma origem para si. 2 = fmDropEffectMove: objeto-alvo permite mover de alguma origem para si. 3 = fmDropEffectCopyOrMove: objeto-alvo permite copiar ou mover de alguma origem para si Shift Inteiro cuja a soma dos fatores indica o status das teclas [Shift], [Ctrl] e [Alt]: 1 = tecla [Shift] pressionada; 2 = tecla [Ctrl] pressionada; 4 = tecla [Alt] pressionada. Por exemplo: um valor igual a 5 indica que as teclas [Shift] e [Alt] estavam pressionadas E3 - Scripts - Manual de Referncia Eventos 79 (1 + 4 = 5).
BeforeDropOrPaste(Index, Cancel, Ctrl, Action, Data, X, Y, Effect, Shift) Disparado no momento imediatamente anterior a uma operao de arrastar-e-soltar. Normalmente, isto ocorre logo aps a ocorrncia do evento BeforeDragOver. Variveis do evento BeforeDropOrPaste NOME DESCRIO !ndex Indica o ndice da pgina, em um objeto multi-pginas, que ser afetada pela operao que gerou o evento. Para outros objetos ignorada. Cancel Status do evento. O default False e indica que ser o objeto-alvo que tratar o evento, e no a aplicao principal. Ctrl Objeto-alvo. Data Dados sendo arrastados para o objeto-alvo, propriamente ditos. Action Indica o resultado, baseado nas configuraes do teclado, de uma operao arrastar-e-soltar pendente: 2 = fmActionPaste: cola o objeto selecionado no objeto-alvo; 3 = fmActionDragDrop: indica que o usurio arrastou o objeto selecionado de sua origem e largou sobre o objeto-alvo. X, Y Posio do mouse dentro do objeto-alvo, em pontos. X medido a partir do lado esquerdo do objeto; Y medido a partir do topo. DragState Indica a condio do mouse quando gerado o evento: 0 = fmDragStateEnter: o mouse est dentro do alcance do objeto; 1 = fmDragStateLeave: o mouse est fora do alcance do objeto; 2 = fmDragStateOver: o mouse est em uma nova posio, mas ainda est dentro do alcance do objeto Effect Indica as aes que o objeto-alvo suporta, ou seja, o efeito de arrastar sobre o objeto em questo: 0 = fmDropEffectNone: objeto-alvo no aceita copiar ou mover de alguma origem. 1 = fmDropEffectCopy: objeto-alvo permite copiar de alguma origem para si. 2 = fmDropEffectMove: objeto-alvo permite mover de alguma origem para si. 3 = fmDropEffectCopyOrMove: objeto-alvo permite copiar ou mover de alguma origem para si Shift Inteiro cuja a soma dos fatores indica o status das teclas [Shift], [Ctrl] e [Alt]: 1 = tecla [Shift] pressionada; 2 = tecla [Ctrl] pressionada; 4 = tecla [Alt] pressionada. Por exemplo: um valor igual a 5 indica que as teclas [Shift] e [Alt] estavam pressionadas (1 + 4 = 5). E3 - Scripts - Manual de Referncia 80 Eventos Change( ) Ocorre quando o valor da propriedade Value do objeto modificada. Aqui esto alguns exemplos de aes que disparam o evento Change: Clicar em uma caixa de seleo, em um boto de opes ou boto incremento-decremento. Clicar ou selecionar palavras em uma lista de seleo ou editor de texto. Selecionar diferentes abas em um dilogo. Mover a barra de rolagem em um objeto barra de rolagem. Clicar nas setas de um boto incremento-decremento. Selecionar diferentes pginas em um objeto multi-pginas. Error(Number, Description, SCode, Source, HelpFile, HelpContext, CancelDisplay) Gerado por um erro interno no objeto. Se este evento no for tratado, o E3 ir mostrar uma mensagem de erro genrica. Variveis do evento OnError NOME DESCRIO Number Nmero inteiro identificador do erro. Description String com a descrio do erro. SCode Inteiro com o cdigo de erro do subsistema OLE (no utilizado). Source String com o objeto que originou o erro. HelpFile String com o nome e caminho do arquivo de ajuda. HelpContext Nmero de contexto do tpico de ajuda referente ao erro (inteiro). CancelDisplay Booleano; indica se o erro deve ser mostrado em uma MessageBox. KeyPress(KeyAscii) Ocorre quando o objeto tem o foco de teclado e o usurio pressiona uma tecla que corresponde a um caractere que pode ser mostrado em tela (uma tecla ANSI, de cdigo indicado na varivel KeyAscii). Ou seja, o evento ocorre quando alguma das teclas a seguir so pressionadas: qualquer caractere do teclado que possa ser impresso; tecla [Ctrl| combinada com qualquer caractere do alfabeto padro; tecla [Ctrl| combinada com qualquer caractere especial; [Backspace|; [Esc|. E3 - Scripts - Manual de Referncia Eventos 81 Este evento no ocorre nas seguintes condies: pressionando [Tab|; pressionando [Enter|; pressionando [Delete| (essa tecla no ANSI); pressionando as setas do teclado quando uma tecla faz com que o foco v de um objeto a outro. Enquanto um usurio pressiona uma tecla que produz um cdigo ANSI, o objeto recebe os eventos KeyDown e KeyPress repetidamente. Quando o usurio libera a tecla, o evento KeyUp ocorre. Para monitorar o estado fsico do teclado ou manipular teclas no reconhecidas pelo evento KeyPress (como teclas de funo, navegao etc.), utiliza-se os eventos KeyDown e KeyUp. 4.8.2. Eventos do Boto de Comando e do Boto Liga-Desliga MouseMove() Ocorre quando o ponteiro do mouse movimentado sobre o boto. 4.8.3. Eventos da Lista de 8eleo e Editor de Texto DropButtonClick() Ocorre quando a lista de opes aparece ou desaparece ao se clicar no objeto. 4.8.1. Eventos da Barra de Rolagem Scroll() Gerado quando o ponteiro da barra de rolagem movido para alguma direo. 4.8.2. Eventos do Boto ncremento-Decremento SpinUp( ) Ocorre quando o usurio pressiona a seta para cima. Este evento incrementa a propriedade Value do objeto. SpinDown( ) Ocorre quando o usurio pressiona a seta para baixo. Este evento decrementa a propriedade Value do objeto. E3 - Scripts - Manual de Referncia 82 Eventos 4.9. Eventos do Viewer OnInactive( ) Este evento ocorre enquanto o Viewer estiver inativo, se a propriedade EnableInactivity estiver em True. Ele inicia quando constatado que o usurio est sem utilizar o Viewer por um perodo de tempo igual ou superior ao valor da propriedade InactivityTime. Em um script para esse evento, o usurio pode programar o que deseja fazer quando o Viewer estiver inativo por um determinado tempo. Por exemplo, possvel determinar que aps 20 minutos sem uso, ser feito logout do Viewer. Exemplo: Sub Viewer_OnInactive() Application.GetObject("Dados.TagDemo1").Enabled = False MsgBox "Testando a chamada do script OnInactive" Application.GetObject("Dados.TagInterno1").Value = 334 End Sub 4.9.1. Eventos do Usuario IMPORTANTE: Os eventos abaixo so acessados atravs do objeto Viewer. OnLogin( ) Ocorre quando um usurio executa um login de sistema (autenticao de usurio) com sucesso. O login de sistema pode ser feito atravs da execuo do mtodo Login() ou quando um objeto que s pode ser acessado por usurios com um determinado nvel de autorizao exige autenticao. Exemplo: Sub Viewer_OnLogin() MsgBox "Usurio autorizado. Seja bem-vindo ao sistema!" End Sub E3 - Scripts - Manual de Referncia Eventos 83 OnLogout( ) Ocorre quando executado um logout, ou seja, a sada do usurio do sistema. O logout feito atravs da chamada do mtodo Logout(). Exemplo: Sub Viewer_OnLogout() MsgBox "O usurio saiu do sistema." End Sub 4.10. Eventos da Consulta OnAsyncQueryFinish(Recordset, Error) Ocorre quando o mtodo GetAsyncADORecordset() retornado. O parmetro Recordset o ADO recordset gerado pela consulta, e o parmetro Error um booleano que, quando verdadeiro, mostra que o objeto no conseguiu ser gerado. Exemplo: Sub Consulta1_OnAsyncQueryFinish(Recordset, Error) MsgBox "Retornou " + CStr(Recordset.RecordCount) + "registros" End Sub 4.11. Eventos do E3Browser OnDrawRow (bSelected, nLine, cTextColor, cBackColor) Este evento passa 4 parmetros. bSelected indica se a linha est selecionada; nLine indica o nmero da linha sendo desenhada; cTextColor indica a cor do texto da linha; e cBackColor indica a cor de fundo do texto. Se a cor for modificada dentro deste evento, esta modificao ser usada pelo E3Browser no desenho da linha. Outra modificao importante que se o mtodo GetColumnValue() for chamado de dentro do evento, os valores retornados sero os da linha sendo desenhada, e no os da linha selecionada. E3 - Scripts - Manual de Referncia 84 Eventos 4.12. Eventos do E3Chart OnCursorChange( ) Ocorre quando o cursor do E3Chart muda de posio. Por exemplo, pode-se criar um script para este evento quando for necessrio mostrar os valores de posio do cursor na Tela. Exemplo: Sub E3Chart1_OnCursorChange() Set Chart = Application.GetFrame("").Screen.Item("E3Chart1") Set Pena = Chart.Pens.Item(0) ' O objeto Text1 deve mostrar a posio atual do cursor Set Texto = Application.GetFrame("").Screen.Item("Text1") If Pena.GetCursorPos(aa,bb) Then Texto.Value= "Posio X=" & aa & "; posio Y=" & bb End if End Sub
OnLegendClick(Row, col, RowData) Ocorre quando o usurio clica em uma linha da legenda. Os parmetros Row e Col indicam, respectivamente, a linha e a coluna clicadas. O parmetro RowData o ndice da pena da legenda onde ocorreu o clique. Exemplo: Sub E3Chart1_OnLegendClick(Row, col, RowData) Set texto = Screen.Item("Texto1") texto.Value = Legend.Item(col).Name & " " &_ Pens.Item(RowData).name End Sub OnQueryFinish( ) Ocorre quando uma ou mais consultas so encerradas no objeto. Quando o evento gerado, a chamada do mtodo FitAll() ou FitPen() pode causar problemas caso se esteja utilizando a consulta automtica, j que o mtodo ativa outras consultas at todos os dados serem lidos. Neste caso, recomendado que o valor passado pelos parmetros destes mtodos seja 1, o que enquadra verticalmente as penas. E3 - Scripts - Manual de Referncia Eventos 85 4.13. Eventos dos XControls e XOb]ects Constructor( ) Disparado quando o ElipseX iniciado. Pode-se utilizar este evento para rodar um script que inicie valores internos de um ElipseX, por exemplo. OnPropertyChanged( ) Ocorre quando uma propriedade de um ElipseX modificada. Pode-se utilizar este evento para disparar scripts que executem aes de acordo com determinado status de um ElipseX. 4.14. Eventos dos Relatrios OnAfterPrint( ) Iniciado aps uma seo ter sido montada no relatrio. Pode-se utilizar este evento para atualizar qualquer contador cuja a utilizao seja necessria depois do relatrio ser completado. OnBeforePrint( ) Iniciado antes da seo ter sido montada no relatrio. Pode-se utilizar este evento para modificar o valor de um objeto no relatrio antes que este seja impresso. Recomenda-se que os campos da consulta do relatrio no sejam acessados quando este evento estiver sendo utilizada. OnDataInitialize( ) Ocorre antes do evento OnReportStart. Este evento permite acrescentar e configurar campos coleo Fields de um relatrio, antes de sua gerao. Exemplo: Sub OnDataInitialize() Fields.Add "Nome" Fields.Add "Setor" Fields.Add "Cdigo" End Sub E3 - Scripts - Manual de Referncia 86 Eventos OnError(Number, Description, SCode, Source, HelpFile, HelpContext, CancelDisplay) Gerado por um erro interno no relatrio. Se este evento no for tratado, o E3 ir mostrar uma mensagem de erro genrica. Variveis do evento OnError NOME DESCRIO Number Nmero inteiro identificador do erro. Description String com a descrio do erro. SCode Inteiro com o cdigo de erro do subsistema OLE (no utilizado). Source String com o objeto origem do erro. HelpFile String com o nome e caminho do arquivo de ajuda. HelpContext Nmero de contexto do tpico de ajuda referente ao erro (inteiro). CancelDisplay Booleano; indica se o erro deve ser mostrado em uma MessageBox.
OnFetchData(eof) Disparado toda a vez que um novo registro processado. Este evento utilizado para executar um script que modifica os valores dos campos que foram adicionados ao relatrio em um script associado ao evento OnDataInitialize. A varivel eof tem o valor padro True e indica que aps o script, o processamento do registro atual do relatrio foi encerrado. OnFormat( ) Iniciado depois que os dados so lidos e carregados no relatrio, mas antes da seo ser preparada para a impresso. Este evento pode ser utilizado para modificar o layout da seo do relatrio ou de qualquer outro objeto. OnHyperlink(Button, Link) Ocorre quando um link clicado no relatrio. Pode-se utilizar este evento para executar um script que redirecione um link ou para configurar um link no relatrio. A varivel Button indica qual o boto foi clicado (normalmente, 1) e a varivel Link determina qual o endereo que ser seguido. OnNoData( ) Ocorre quando no h dados a serem impressos no relatrio. Pode-se utilizar este evento para executar um script que mostre uma mensagem de erro na tela acusando a falta de dados para imprimir e cancele o relatrio. E3 - Scripts - Manual de Referncia Eventos 87 OnPageEnd( ) Ocorre ao final da impresso de cada pgina do relatrio. OnPageStart( ) Ocorre no incio da impresso de cada pgina do relatrio. OnPrintProgress(PageNumber) Ocorre enquanto uma pgina do relatrio est sendo impressa. A varivel PageNumber indica o nmero da pgina atual. OnReportEnd( ) Disparado no final da gerao do relatrio, aps finalizar a sua impresso. OnReportStart( ) Disparado no incio da gerao do relatrio, antes de comear a sua impresso.
Mtodos 89
Os Mtodos so procedimentos que podem ser executados por objetos. Por exemplo, o objeto Tela tem um mtodo para abri-la e outro para fech-la. Por estarem encapsulados (isto , guardados dentro dos objetos), a chamada de um mtodo sempre deve constar a qual objeto est se referindo. Muitos dos mtodos do E3 esto encapsulados no objeto Application, que representa a aplicao propriamente dita. 5.1. Chamadas de Mtodos Muitos mtodos pr-definidos possuem parmetros, que podem (ou devem) ser passados na chamada do mtodo. Para isso, o VBScript possui uma regra que deve ser seguida: se o mtodo for utilizado em uma atribuio, seus parmetros devem estar entre parnteses. Por exemplo, veja esta chamada do mtodo GetObject(): obj = Application.GetObject("dados.tag001") J se o mtodo for chamado sozinho, deve-se retirar os parnteses. Por exemplo, veja esta chamada do mtodo SetVariableValue(): Screen.Item("Consulta").SetVariableValue Valor,12 Os parnteses usados nas citaes de mtodos neste manual servem apenas como indicativo para diferenci-los das propriedades. Nos scripts, deve-se seguir esta regra. 5.2. Mtodos Padro Neste captulo, listamos os diversos mtodos pr-definidos no E3, agrupando-os por tipos de objetos, iniciando pelos mtodos padro dos objetos da aplicao. Cada entrada mostra o nome do mtodo com seus respectivos parmetros, na sintaxe correta, e um exemplo de utilizao do mtodo. Capitulo 5 5. Mtodos E3 - Scripts - Manual de Referncia 90 Mtodos Activate() Ativa um objeto que est inativo no momento. Exemplo: Dim obj, novo Set obj = Application.GetObject("Dados") ' Cria o objeto novo e deixa desativado (False). Set novo = obj.AddObject("DemoTag", False) ' Inicializa os parmetros do objeto novo. novo.Name = "tag001" novo.Type = 3 ' Ativa o objeto (coloca em execuo). novo.Activate() AddObject(strClassName, bActivate) O mtodo AddObject() adiciona um novo objeto aplicao. Este mtodo possui o parmetro strClassName, que indica o tipo de objeto que ser criado. Por exemplo, para se criar um retngulo na Tela, o parmetro strClassName deve ser DrawRect. O objeto criado fica contido no objeto que chamou o mtodo AddObject() e pode ser acessado atravs mtodo Item(). O parmetro bActivate opcional e indica se o objeto ser ativado aps a criao. Quando o objeto estiver ativado, os links e os scripts ficam habilitados. Se o objeto for criado com bActivate em False, mais tarde ele pode ser ativado pelo mtodo Activate(). O objeto s ser criado se ele for de um tipo compatvel com o objeto que o contm. Para se ter certeza que o objeto foi criado pode-se utilizar o mtodo IsObject(). Exemplo: Sub CommandButton_Click() ' Acrescenta um XControl (MeuXControl) ' e um retngulo (DrawRect) na Tela Screen. Set xc = Screen.addObject("MinhaBib.MeuXControl", True) xc.Visible = True Set rc = Screen.AddObject("DrawRect", True) rc.X = 1000 rc.Y = 1000 rc.width = 10000 rc.Height= 10000 rc.Visible = True End Sub E3 - Scripts - Manual de Referncia Mtodos 91 NOTA: Apenas os objetos que possuem a opo Inserir no menu podem acessar este mtodo. Deactivate() Este mtodo desativa um objeto criado ou previamente ativado pelo mtodo Activate(). Pode-se desativar um objeto quando for preciso fazer uma configurao prvia (iniciao de propriedades, por exemplo), ou quando se quiser fazer testes nos quais o objeto no pode estar presente e ativo. Exemplo: Sub CommandButton1_Click() Dim obj, novo Set obj = Application.GetObject("Dados") obj.AddObject("DemoTag", True) ' Desativa o objeto. novo.Deactivate() End Sub DeleteObject(strChildName) Apaga do projeto o objeto especificado. O parmetro strChildName um string (ignora maisculas e minsculas) que indica o objeto-filho que se deseja apagar. O mtodo retorna True caso tenha conseguido apagar o objeto, ou False caso o objeto- filho no existir. Para se apagar um objeto a partir de uma referncia a um elemento, utiliza-se o mtodo DeleteObject do objeto-pai. Exemplo: Sub CommandButton1_Click() Dim obj obj = Application.GetObject ("dados.tag001") If obj.Parent.DeleteObject(obj.Name) Then MsgBox("Tag apagado com sucesso!") Else MsgBox("Falha em apagar: o tag no existe.") End if End Sub NOTA: Apenas os objetos que possuem a opo Inserir no menu podem acessar este mtodo. E3 - Scripts - Manual de Referncia 92 Mtodos GetObject(Link) O mtodo GetObject() retorna a referncia do objeto especificado em Link. Isto permite acessar todas as propriedades e/ou mtodos do objeto. Esta uma prtica bastante comum na programao de scripts no E3. Ela facilita a manipulao de objetos e deixa o cdigo mais inteligvel. Exemplo: Sub Botao1_Click() ' Atribui o valor 20 propriedade Value do objeto ' InternalTag1 que est em DataServer1. Set tag = Application.GetObject("DataServer1.InternalTag1") tag.Value = 20 End Sub Item(itemid) Retorna a referncia para o objeto-filho itemid do objeto que chamou o mtodo. O mtodo Item() pode buscar um objeto tanto pelo nome quanto pelo ndice (inteiro, de 1 at o especificado na propriedade Count). Se o ndice ou o nome especificado for vlido, o mtodo Item() retorna a referncia do objeto. Caso contrrio, o mtodo retorna um erro de parmetro invlido. Exemplo: Sub Tela1_Click() ' Atribui a obj a referncia para o objeto-filho Botao1 ' de Tela1. Set obj = Item("Botao1") ' Configura a propriedade BackgroundColor de obj, ou seja, ' de Botao1. obj.BackgroundColor = RGB(255,0,0) End Sub Save() Este mtodo salva o objeto especificado que foi modificado em tempo de execuo (runtime). Os objetos-filho tambm sero salvos conforme as especificaes do objeto-pai. Este mtodo no vlido para os objetos Tela e Viewer. Exemplo: Sub CommandButton1_Click() Set area = Application.GetObject("ConfigAlarms")._ AddObject("Area", True) Application.GetObject("ConfigAlarms").Save() End Sub E3 - Scripts - Manual de Referncia Mtodos 93 5.3. Mtodos do Driver de Comunicao Write(N1, N2, N3, N4, Value, [eWriteSyncMode]) Faz a escrita sncrona de um dado no equipamento. Este mtodo retorna um Booleano que indica o sucesso ou no da operao. Os parmetros N1 a N+ correspondem aos parmetros [N] do driver. O parmetro value define o valor a ser escrito no driver. O parmetro eWriteSyncNode permite utilizar o modo de escrita diferente do utilizado no driver. As opes disponveis para este parmetro so: 0 usa o modo de escrita configurado no driver; 1 faz uma escrita sncrona; 2 faz uma escrita assncrona (sem confirmao). Se o parmetro for omitido, ser tambm utilizado o modo de escrita configurado no driver. Para maiores detalhes sobre estes parmetros, consulte a documentao do driver. Exemplo: Sub Botao1_Click() Dim val 'Quando clica no botao faz uma escrita no driver Set driver = Application.GetObject("Driver1") 'Pega driver driver.Write 4, 5, 1, 0, 55.5 'Faz a escrita do valor 55.5 End Sub WriteEx(N1, N2, N3, N4, Value, vTimestamp, vQuality, [vWriteStatus], [eWriteSyncMode]) Faz a escrita de um dado no equipamento. Este mtodo retorna um booleano que indica o sucesso ou no da operao. Os parmetros N1 a N+ correspondem aos parmetros [N] do driver. O parmetro value define o valor a ser escrito no driver. Para maiores detalhes sobre estes parmetros, consulte a documentao do driver. Os parmetros vTimestamp, vQuality e vWriteStatus so opcionais. Se omitidos, o comportamento do mtodo o mesmo do mtodo Write(). vTimestamp especifica a data/hora a ser escrita no tag (se suportada pelo equipamento). Se omitido, assumida a data/hora do momento da operao de escrita. vQuality indica a qualidade (de 0 a 255). Se omitido, assumida a qualidade Boa (192). vWriteStatus recebe um valor retornado pelo driver, que indica o status da escrita (se suportado pelo driver, de acordo com sua documentao prpria). O parmetro eWriteSyncNode permite utilizar o modo de escrita diferente do utilizado no driver. As opes disponveis para este parmetro so: 0 usa o modo E3 - Scripts - Manual de Referncia 94 Mtodos de escrita configurado no driver; 1 faz uma escrita sncrona; 2 faz uma escrita assncrona (sem confirmao). Se o parmetro for omitido, ser tambm utilizado o modo de escrita configurado no driver. Exemplo: Dim status If Driver1.WriteEx(0,0,0,0,100,,,status) Then MsgBox "Escrita feita com sucesso, status = "& status Else MsgBox "Escrita falhou, status = "& status End if 5.3.1. Mtodos do Tag de Comunicao, Bloco de Comunicao e Elemento de Bloco Write([eWriteSyncMode]) Faz a escrita do valor corrente do tag de comunicao, bloco de comunicao ou elemento de bloco em questo no equipamento. Normalmente, este comando de script s usado quando a propriedade AllowWrite deste objeto for False. O parmetro eWriteSyncNode permite utilizar o modo de escrita diferente do utilizado no driver. As opes disponveis para este parmetro so: 0 usa o modo de escrita configurado no driver; 1 faz uma escrita sncrona; 2 faz uma escrita assncrona (sem confirmao). Se o parmetro for omitido, ser tambm utilizado o modo de escrita configurado no driver. Para maiores detalhes, consulte a documentao do driver. Este mtodo retorna um booleano que indica o sucesso ou no da operao. E3 - Scripts - Manual de Referncia Mtodos 95 WriteEx(vValue, vTimestamp, vQuality, [vWriteStatus], [eWriteSyncMode]) Faz a escrita de um valor no equipamento. Todos os seus parmetros so opcionais; se omitidos, o comportamento do mtodo igual ao do mtodo Write(). Este mtodo retorna um booleano que indica o sucesso ou no da operao. O parmetro vvalue define o valor a ser escrito no driver. O tipo de dado depende do driver; se omitido, assumido o valor corrente do tag. vTimestamp especifica a data/hora a ser escrita no tag (se suportada pelo equipamento). Se omitido, assumida a data/hora do momento da operao de escrita. vQuality indica a qualidade (de 0 a 255). Se omitido, assumida a qualidade Boa (192). vWriteStatus recebe um valor retornado pelo driver, que indica o status da escrita (se suportado pelo driver, de acordo com sua documentao prpria). O parmetro eWriteSyncNode permite utilizar o modo de escrita diferente do utilizado no driver. As opes disponveis para este parmetro so: 0 usa o modo de escrita configurado no driver; 1 faz uma escrita sncrona; 2 faz uma escrita assncrona (sem confirmao). Se o parmetro for omitido, ser tambm utilizado o modo de escrita configurado no driver. Exemplo: Sub Tag1_OnRead() ' O mtodo WriteEx pode ser usado para transferir ' valores de variveis de um driver para outro Application.GetObject("Driver2.Tag")._ WriteEx Value, TimeStamp, Quality End Sub
E3 - Scripts - Manual de Referncia 96 Mtodos 5.4. Mtodo dos ob]etos do Cliente OPC Refresh(Source) Fora o servidor a reenviar os valores de todos os tags do grupo que estejam com a leitura habilitada, tenham eles mudado de valor ou no. O parmetro Source determina o argumento da fonte de dados do driver. Se o valor informado for 1 (RefreshFromCache), os valores enviados so os valores do cache do servidor; do contrrio, se o valor retornado for 2 (RefreshFromDevice), os valores enviados so atualizados no cache do servidor antes de serem enviados. Para que este mtodo funcione, a propriedade Enabled do grupo, bem como a leitura de pelo menos um tag do grupo, deve estar habilitada. Para maiores informaes sobre o mecanismo de habilitao de leitura (Advise), veja as propriedades AllowRead e AdviseType. Exemplo: Sub CommandButton1_Click() Application.GetObject("DriverOPC1.Grupo1").Refresh(2) End Sub Write() Faz a escrita do valor corrente do tag OPC, bloco OPC ou elemento de bloco OPC em questo no equipamento. Para maiores detalhes, consulte a documentao do driver. Este mtodo retorna um booleano que indica o sucesso ou no da operao. WriteEx([vValue], [vSyncWrite]) Faz a escrita de um valor no equipamento. Todos os seus parmetros so opcionais; se omitidos, o comportamento do mtodo igual ao do mtodo Write(). Este mtodo retorna um booleano que indica o sucesso ou no da operao. O parmetro vvalue define o valor a ser escrito no driver. O tipo de dado depende do driver; se omitido, assumido o valor corrente do tag. vSyncWrite um booleano que especifica se a operao descrita deve ser sncrona (True) ou assncrona (False). Se for omitido, ser usado o valor especificado na propriedade SyncWrite do tag. NOTA: assim como no mtodo Write(), a escrita feita independentemente de o valor ser diferente do valor atual do tag, bem como independentemente da propriedade AllowWrite do tag ser True ou False. Alm disso, se a escrita funciona mas o tag no est em scan (seja porque a propriedade AllowRead False, ou porque usa a opo AdviseWhenLinked quando no est sendo associado), o valor escrito assumido imediatamente com qualidade boa e timestamp do momento da escrita. E3 - Scripts - Manual de Referncia Mtodos 97 5.5. Mtodos do 8ervidor ClearFailure(strName) Este mtodo deve ser chamado para indicar que uma falha reportada por ReportFailure() no est mais ativa. O parmetro strName contm o nome da falha (definido pelo usurio) e deve ser passado para o mtodo ReportFailure(), quando de sua chamada (ver mtodo ReportFailure()). ReportFailure(strName, strDescription, nWeight) Este mtodo permite que o aplicativo reporte falhas para o E3 Server, que podem ser visualizadas clicando com o boto direito sobre o cone do E3 no rea de Notificao. Quando o mtodo usado, o cone do E3 no rea de Notificao comea a piscar em vermelho, indicando a ocorrncia da falha. As falhas reportadas so normalmente condies que impedem que o aplicativo funcione parcialmente (problema de comunicao em uma porta serial, link de rede inativo, banco de dados sem conexo), e que normalmente no podem ser detectadas pelo E3 Server. Este mtodo serve para duas finalidades: Avisar o operador do sistema a respeito de problemas em um servidor; Auxiliar o gerenciador automtico de hot-standby a decidir qual o servidor que est mais apto para executar o aplicativo. O mtodo ReportFailure() possui os seguintes parmetros: Parmetros do mtodo ReportFailure NOME DESCRIO strName Contm o nome da falha (definido pelo usurio). Este mesmo parmetro deve ser passado para o mtodo ClearFailure() quando o aplicativo detectar que a falha no est mais ativa. Ex: Falha COM1. strDescription Descrio textual da falha (definida pelo usurio). Ex: Falha de comunicao na COM1 nWeight Define a severidade (ou peso) da falha. O valor 0 indica um aviso (sem gravidade). Valores maiores que zero indicam falhas: quanto maior o valor, mais grave a falha.
E3 - Scripts - Manual de Referncia 98 Mtodos Exemplo: Sub TagEstadoSerial_OnValueChanged() If Value then 'O valor do tag TRUE, indica que est em falha Application.ReportFailure "FALHA_COM1", "Falha de "_ & "comunicao na COM1", 100 Else 'O valor do tag FALSE, limpa a falha '(indica que est OK) Application.ClearFailure "FALHA_COM1" End If End Sub Trace(MessageText [,LogTimeStamp [,BreakLine]]) Este mtodo permite registrar mensagens em um arquivo texto. As mensagens so gravadas em um arquivo com o mesmo nome e caminho do arquivo de domnio, com a extenso .TXT. Por exemplo, se a aplicao de domnio for c:\teste.dom, as mensagens sero registradas no arquivo c:\teste.txt. Cada nova mensagem adicionada sempre no final do arquivo. Caso haja falha no registro no arquivo (como por exemplo, direito de acesso negado, falta de espao em disco etc.), ocorrer um erro de script. Este mtodo pode ser usado, por exemplo, para registrar mensagens de depurao de scripts que no sejam executados no Viewer (haja vista que neste caso no possvel utilizar o mtodo MsgBox()). Parmetros do mtodo Trace NOME DESCRIO NessageText Mensagem de texto definida pelo usurio. LogTimeStamp (Opcional) Booleano que indica se cada registro deve ter a data e a hora (timestamp). Se omitido, assume True. BreakLine (Opcional) Booleano que indica a presena ou no de uma quebra-de-linha ao final de cada mensagem. Em False, faz com que o arquivo tenha todos os registros em uma s linha. Se omitido, assume True.
E3 - Scripts - Manual de Referncia Mtodos 99 5.6. Mtodo do Tag Demo Reset() Zera a fase (deslocamento em tempo) da forma de onda do tag. A fase da onda somente ser zerada quando o tag estiver habilitado. Este mtodo, quando o tag estiver habilitado, no tem efeito nos tags do tipo CurrentTime e Random, que no so peridicos. Quando o tag estiver desabilitado, seu valor simplesmente zerado, independentemente do tipo de tag. 5.7. Mtodo do Tag nterno WriteEx(NewValue, NewTimestamp, NewQuality) Permite modificar o valor, a data/hora e a qualidade de um Tag Interno em uma nica operao. Este mtodo retorna um booleano que indica o sucesso ou no da operao. O parmetro Newvalue especifica o novo valor do tag; se omitido, o valor do tag no modificado. O parmetro NewTimestamp especifica a nova data/hora do tag; se omitido, utiliza-se a data/hora do momento da chamada do mtodo. O parmetro NewQuality especifica a nova qualidade do tag; se omitida, ser assumida a qualidade Boa (192). Todos estes parmetros podem ser omitidos. Exemplo: Sub CommandButton12_Click() dim Ret Ret = Application.GetObject("Dados.TagInterno1")._ WriteEx(123.456,"1/1/2001", 193) if Ret Then MsgBox "Funcionou!" Else MsgBox "Falhou!" End if End Sub E3 - Scripts - Manual de Referncia 100 Mtodos 5.8. Mtodos da Tela Close(Code) Utilize o mtodo Close() para fechar a Tela. Este mtodo gera o evento OnHide antes de ser efetivamente executado. O parmetro Code ter o valor de retorno para o mtodo DoModal(), se a Tela em questo tiver sido chamada por este mtodo. Exemplo: Sub BotaoFecha_Click() ' Quando BotaoFecha for clicado, fecha a janela Screen.Close(0) End Sub SetFocus() Utilize o mtodo SetFocus() para mover o foco do mouse ou teclado para um objeto determinado. Exemplo: Sub Screen1_OnShow() 'Ao abrir a Tela, move o foco para o Boto1 Item("Button1").SetFocus() End Sub ToPixelX() Converte a coordenada X da Tela de HIMETRIC para pixels. ToPixelY() Converte a coordenada Y da Tela de HIMETRIC para pixels. 5.9. Mtodos do Divisor {Frame} BringToFront() Traz para frente um divisor que esteja escondido ou abaixo de outro. Exemplo: Sub Botao1_Click() Application.GetFrame("Teste").BringToFront() End Sub E3 - Scripts - Manual de Referncia Mtodos 101 CaptureScreen(Filename) Captura o contedo de um divisor, gravando-o no arquivo de nome e caminho Filename, no formato BMP. Exemplo: Sub CommandButton1_Click() ' Quando o boto clicado, copia o contedo ' do divisor para o arquivo FRAME.BMP. Screen.Frame.CaptureScreen ("c:\temp\frame.bmp") End Sub Close(Code) Utilize o mtodo Close() para fechar a janela do quadro. O parmetro Code ter o valor de retorno para o mtodo DoModal(), se a janela em questo tiver sido chamada por este mtodo. Exemplo: Sub BotaoFecha_Click() ' Quando BotaoFecha for clicado, fecha a janela Screen.Close(0) End Sub FlashWindow(Number, Time) Este mtodo faz com que cone do Viewer comece a piscar na barra de tarefas do Windows . O parmetro Number determina o nmero de vezes que a tarefa deve piscar e Time, que determina o tempo (em milissegundos) entre uma piscada e outra. Exemplo: Sub Texto1_Click() set quadro = Application.GetFrame("_top") quadro.FlashWindow 50, 500 End Sub MaximizeFrame() Maximiza um quadro ou Tela modal. Exemplo: Sub CommandButton4_Click() Application.GetFrame("Outro").MaximizeFrame() End Sub E3 - Scripts - Manual de Referncia 102 Mtodos MinimizeFrame() Minimiza um quadro ou Tela modal. Exemplo: Sub CommandButton4_Click() Application.GetFrame("Outro").MinimizeFrame() End Sub MoveFrame([PosX], [PosY], [SizeX], [SizeY]) Move e redimensiona um Divisor (Frame) para uma coordenada e tamanho especficos. Os parmetros PosX e PosY informam a nova posio, em pixels, com relao esquerda e ao topo, respectivamente. Os parmetros SizeX e SizeY informam o novo comprimento e a nova altura, respectivamente, em pixels ou HIMETRIC. Todos os parmetros so opcionais. Exemplo:
Sub Tela2_OnPreShow(vArg) 'Quando a Tela2 aberta no frame Teste, altera a posio 'e o tamanho do frame Application.GetFrame("Teste").MoveFrame 100,100,200,200 End Sub NOTA: Os valores de tamanho neste mtodo podem ser informados como nmeros ou strings. No caso de nmeros, so considerados em pixels. No caso de strings, se vierem acompanhados da unidade hm, sero interpretados como HIMETRIC. Qualquer outro caso considerado em pixels. OpenScreen(ScreenName, Arg) O mtodo OpenScreen() abre uma Tela dentro de um divisor. O parmetro ScreenName determina o nome da Tela a ser aberta. possvel tambm especificar o percentual de zoom da Tela e a habilitar a barra de rolagem atravs da chave ? como o modelo abaixo: <nome-da-tela>?<zoom>?<habilitar-rolagem> onde <nome-da-tela> o nome da Tela a ser aberta; <zoom> o percentual de zoom e <habilitar-rolagem> habilita ou desabilita a rolagem. O percentual de zoom da Tela pode assumir os seguintes valores: 1= toda a pgina; 2 = a largura da Tela ocupa 100% a largura do divisor, com altura proporcional; 3 = a altura da Tela ocupa 100% a altura do divisor, com largura proporcional; 4 = a Tela preenche totalmente o divisor; 5 a 100 = equivale ao percentual de zoom da Tela propriamente dito. E3 - Scripts - Manual de Referncia Mtodos 103 A habilitao de rolagem pode assumir os seguintes valores: 1 = habilita a rolagem; 0 = desabilita a rolagem. O parmetro Arg permite repassar o valor especificado Tela atravs do evento OnPreShow. Exemplo: Sub Botao1_Click() 'Quando clica no botao abre a Tela2 no frame Teste 'e passa o valor 1 que ser usando no evento PreShow Application.GetFrame("Teste")._ OpenScreen "Tela2?100?0","Isso um teste." End Sub
Sub Tela2_OnPreShow(vArg) 'A caixa de mensagem vai mostrar a 'frase "Isso um Teste." MsgBox vArg End Sub Refresh(Force) O mtodo Refresh() permite forar o redesenho do contedo de uma Tela ou divisor. Ele deve ser usado em scripts de Viewer com processamento massivo (ex: laos), ou em chamadas de mtodos que demandem muito tempo e exijam indicaes visuais ao usurio do progresso do processo. Devido ao redesenho em geral ser uma operao pesada, a verso padro do mtodo Refresh() (sem parmetros) otimizada de forma a ignorar pedidos de redesenho muito prximos, incluindo redesenho do prprio E3. Este comportamento padro ideal para indicaes de progresso em laos, onde muitos redesenhos so feitos em seqncia. O parmetro Force desabilita esta otimizao, garantindo que para cada chamada do mtodo Refresh() seja feito um redesenho. Porm, ao utilizar-se esta opo, o mtodo Refresh() no pode ser chamado repetidamente, como dentro de um lao, por exemplo. Exemplo: Sub CommandButton1_Click() ' Desenha uma barra de progresso de uma operao While i < 31 Screen.Item("Retangulo2") .HorizontalPercentFill = (i/30)*100 Frame.Refresh True ' <-- alguma operao demorada --> i=i+1 E3 - Scripts - Manual de Referncia 104 Mtodos Wend End Sub RestoreFrame() Permite restaurar a janela do quadro para o seu tamanho original. Exemplo: Sub CommandButton1_Click() Application.GetFrame("Outro").RestoreFrame() End Sub SetForegroundWnd() O mtodo SetForegroundWnd() ativa e d o foco para a janela do Viewer. Este mtodo til quando se deseja chamar a ateno do operador para algum evento ocorrido, quando a janela do Viewer encontra-se escondida ou minimizada. Exemplo: Sub CommandButton1_Click() Application.GetFrame("Outro").SetForegroundWnd() End Sub SetFrameOptions(Title, Flags) Utilizado para configurar o ttulo do frame na janela e o estilo da janela. O parmetro Title um string que contm o ttulo da janela. Este texto ser mostrado se a propriedade Caption da Tela estiver vazia. O parmetro Flags especifica o estilo da janela. Se este parmetro for omitido, o valor padro ser -1. Este valor usado para manter a configurao anterior da janela. Quando o valor especificado no for -1, pode-se modificar o estilo da janela especificando a soma dos valores das seguintes combinaes: Combinaes possveis para o parmetro lFlags VALOR DESCRIO 1 Habilita a barra de ttulo na janela 2 Habilita o boto Fechar na janela. + Habilita o boto Minimizar na janela. 8 Habilita o boto Maximizar na janela. 16 Habilita a borda na janela. 32 Especifica que a janela pode ser dimensionada. Para isso, necessrio que a janela em questo tenha borda. 6+ Especifica que a janela pode ser movida. 256 Especifica que a janela ficar no topo da Tela. 512 Especifica que a janela ser configurada no estilo Barra de Ferramentas. 102+ Desabilita os botes de objeto. E3 - Scripts - Manual de Referncia Mtodos 105
Exemplo: Sub Tela_OnPreShow() Frame.SetFrameOptions("Tela de Alarmes", 114) End Sub No exemplo acima, o valor 114 (2 + 16 + 32 + 64) indica que a janela ter o boto [Fechar| habilitado (2), ter borda (16), poder ser dimensionada (32) e poder ser movida (64). O ttulo da janela ser Tela de Alarmes. Nos picks Abrir tela e Abrir tela modal tambm possvel configurar o estilo da janela durante a edio, atravs da caixa de dilogo Estilo da Janela. Para mais informaes veja no o tpico Picks. 5.10. Mtodos de Ob]etos de Tela BringToFront() Faz com que o objeto se posicione frente de todos os outros objetos da tela. Exemplo: Sub Botao1_Click() ' Ao clicar em Botao1, o sistema ' traz o objeto Retangulo1 para frente Screen.Item("Retangulo1").BringToFront() End Sub SendToBack() Faz com que o objeto se posicione atrs de todos os outros objetos da tela. Exemplo: Sub Botao2_Click() ' Ao clicar em Botao2, o sistema ' leva o objeto Retangulo1 para trs Screen.Item("Retangulo1").SendToBack() End Sub E3 - Scripts - Manual de Referncia 106 Mtodos 5.11. Mtodos dos ActiveX 5.11.1. Mtodos Comuns BringToFront() Faz com que o objeto se posicione frente de todos os outros objetos da tela. Exemplo: Sub Botao1_Click() ' Ao clicar em Botao1, o sistema ' traz o objeto Retangulo1 para frente Screen.Item("Retangulo1").BringToFront() End Sub SendToBack() Faz com que o objeto se posicione atrs de todos os outros objetos da tela. Exemplo: Sub Botao2_Click() ' Ao clicar em Botao2, o sistema ' leva o objeto Retangulo1 para trs Screen.Item("Retangulo1").SendToBack() End Sub SetFocus() Utilize o mtodo SetFocus() para mover o foco do mouse ou teclado para um objeto determinado. Exemplo: Sub Screen1_OnShow() 'Ao abrir a tela, move o foco para o Boto1 Item("Button1").SetFocus() End Sub
E3 - Scripts - Manual de Referncia Mtodos 107 5.11.2. Mtodos da Lista de 8eleo AddItem([pvargItem], [pvargIndex]) O mtodo AddItem utilizado para se adicionar itens a uma Lista ou a uma Lista de Seleo. pvarg!tem um string que contm o texto que ser adicionado na lista; se for omitido, ser acrescentado um string em branco. pvarg!ndex o ndice do texto na lista; se for omitido, pvarg!tem adicionado como ltimo item da lista. Exemplo: Sub CommandButton1_Click() EntryCount = EntryCount + 1 ComboBox1.AddItem (EntryCount & " - Selection") End Sub
Clear() Limpa o texto do objeto. Exemplo: Sub ClearTextButton_Click() ComboBox1.Clear() End Sub Copy() Copia o texto previamente selecionado para a rea de transferncia. Utilize o mtodo Paste() para colar o texto no local indicado. Exemplo: Sub CommandButton1_Click() Screen.Item("ComboBox1").Copy() End Sub Cut() Recorta o texto previamente selecionado para a rea de transferncia. Utilize o mtodo Paste() para colar o texto no local indicado. Exemplo: Sub CommandButton1_Click() Screen.Item("ComboBox1").Cut() End Sub E3 - Scripts - Manual de Referncia 108 Mtodos DropDown() O mtodo DropDown() abre a lista de itens de uma Lista de Seleo. A chamada deste mtodo o mesmo que clicar, em tempo de execuo, no boto com a seta ao lado direito do objeto. Exemplo: Sub CommandButton1_Click() Dim ComboBox1 ComboBox1.AddItem "Abacaxi" ComboBox1.AddItem "Morango" ComboBox1.AddItem "Uva" ComboBox1.AddItem "Laranja" ComboBox1.DropDown() End Sub Paste() Insere no objeto o contedo da rea de transferncia. Exemplo: Sub CommandButton1_Click() Screen.Item("ComboBox1").Paste() End Sub RemoveItem(pvargIndex) Remove itens de uma Lista ou de uma Lista de Seleo. Este mtodo possui o parmetro pvarg!ndex, que especifica a linha que ser excluda, iniciando em zero; ou seja, o primeiro elemento 0, o segundo 1 e assim por diante. Exemplo: Sub CommandButton2_Click() ComboBox1.SetFocus 'Verifica se a lista contm dados selecionados If ComboBox1.ListCount >= 1 Then 'Se nenhuma seleo, escolher o ltimo dado da lista. If ComboBox1.ListIndex = -1 Then ComboBox1.ListIndex = ComboBox1.ListCount 1 End If ComboBox1.RemoveItem (ComboBox1.ListIndex) End If End Sub E3 - Scripts - Manual de Referncia Mtodos 109 5.11.3. Mtodos da Lista AddItem([pvargItem], [pvargIndex]) O mtodo AddItem() utilizado para se adicionar itens a uma Lista ou a uma Lista de Seleo. pvarg!tem um string que contm o texto que ser adicionado lista; se for omitido, ser acrescentado um string em branco. pvarg!ndex o ndice do texto na lista; se for omitido, pvarg!tem adicionado como ltimo item da lista. Exemplo: Sub CommandButton1_Click() EntryCount = EntryCount + 1 ListBox1.AddItem (EntryCount & " - Selection") End Sub Clear() Limpa o texto do objeto. Exemplo: Sub ClearTextButton_Click() ListBox1.Clear() End Sub RemoveItem(pvargIndex) Remove itens da Lista. Este mtodo possui o parmetro pvarg!ndex, que especifica a linha que ser excluda, iniciando em zero; ou seja, o primeiro elemento 0, o segundo 1 e assim por diante. Exemplo: Sub CommandButton2_Click() ListBox1.SetFocus 'Verifica se a lista contm dados selecionados If ListBox1.ListCount >= 1 Then 'Se nenhuma seleo, escolher o ltimo dado da lista. If ListBox1.ListIndex = -1 Then ListBox1.ListIndex = ListBox1.ListCount 1 End If ListBox1.RemoveItem (ListBox1.ListIndex) End If End Sub E3 - Scripts - Manual de Referncia 110 Mtodos 5.11.4. Mtodos do Editor de Texto Copy() Copia para a rea de transferncia um texto previamente selecionado. Utilize o mtodo Paste() para colar o texto em outro local. Exemplo: Sub CommandButton1_Click() Screen.Item("TextBox1").Copy() End Sub Cut() Recorta para a rea de transferncia um texto previamente selecionado. Utilize o mtodo Paste() para colar o texto em outro local. Exemplo: Sub CommandButton1_Click() Screen.Item("TextBox1").Cut() End Sub Paste() Insere no objeto de texto o contedo da rea de transferncia. Exemplo: Sub CommandButton1_Click() Screen.Item("TextBox1").Paste() End Sub E3 - Scripts - Manual de Referncia Mtodos 111 5.12. Mtodos de Conexes {Links} Links, Conexes ou Associaes so ligaes feitas entre objetos dos aplicativos e de seus mdulos. A propriedade Links uma colees de links do objeto. Para maiores informaes, veja o Manual do Usurio, tpico Associaes. CreateLink(Property, Source [,Type]) Este mtodo permite criar uma conexo com uma propriedade do objeto. Em caso de sucesso, o mtodo retorna o objeto criado. Caso contrrio, ocorrer um erro de script e o mtodo retornar Nothing. O mtodo possui os seguintes parmetros: Property: especifica o nome da propriedade para qual ser criada a conexo; Source: especifica o nome do objeto-origem da conexo; e Type (opcional): especifica o tipo de conexo a ser criada. Quando este parmetro for omitido, ser criada uma conexo simples. NOTA: Nem todas as propriedades existentes em um objeto permitem a criao de conexes. Para verificar quais as propriedades permitem este recurso, acesse a aba Associaes. Se a propriedade for invlida para a conexo, no existir ou j possuir uma conexo, ocorrer um erro de script. Opes disponveis para o parmetro Type OPO DESCRIO 0- Conexao Simples Na conexo simples, o valor da origem copiado para a propriedade toda vez que ele for modificado. 1- Conexao Bidirecional Na conexo bidirecional ocorre o mesmo que na simples; porm, caso haja uma variao na propriedade, seu valor ser copiado para a origem, gerando assim uma conexo de duas direes. 2- Conexao Analgica A conexo analgica estabelece uma escala de converses entre a varivel-origem e a propriedade. 3- Conexao Digital Na conexo digital, so especificados valores fixos ou alternantes para a propriedade, que so atribudos de acordo com a fonte ser verdadeira ou falsa. +- Conexao por Tabela Na conexo por tabela, podemos estabelecer condies entre a varivel, valores e destino. Na tabela so especificados os valores mnimo e mximo e demais configuraes. 5- Conexao Reversa A conexo reversa uma associao unidirecional da propriedade para a fonte. E3 - Scripts - Manual de Referncia 112 Mtodos
Exemplo: Sub CommandButton1_Click() On Error Resume Next Dim Bind Set Bind = Screen.Item("Text1").Links.Item("Value") If Bind Is Nothing Then MsgBox "Text1 no est associado a nenhum objeto." Dim Source Source = "Dados.TagInterno1.Value" MsgBox "Criando uma conexo em '" & Source & "'.." Set Bind = Screen.Item("Text1").Links._ CreateLink("Value", Source, 0) Bind.BiDirectional = Screen.Item("BiDirectional").Value Bind.Reverse = Screen.Item("Reverse").Value MsgBox "Tipo: " & TypeName(Bind) Else MsgBox "Text1 j est ligado " & Bind.Source & "." End if End Sub Item(Property, Index) Este mtodo retorna um objeto Conexo de uma determinada propriedade de um objeto. Se for um texto, Property especifica o nome da propriedade cuja conexo se deseja acessar. A conexo tambm pode ser acessada numericamente pelo ndice !ndex. Este ndice deve ser de 1 a Count(). Caso no exista conexo com a propriedade, ou o ndice for invlido, ocorrer um erro de script. Como as demais colees, Links permite o uso do comando For Each do VBScript. Exemplo: Sub Texto1_Click() For Each Link In Links MsgBox "Origem do link: " " & Link.Source Next End Sub E3 - Scripts - Manual de Referncia Mtodos 113 RemoveLink(Property) Este mtodo remove uma conexo com a propriedade especificada por Property, caso ela exista. Caso no exista conexo com a propriedade especificada, o mtodo no tem efeito. Exemplo: Sub CommandButton2_Click() On Error Resume Next Dim Bind Set Bind = Screen.Item("ScrollBar1").Links.Item("Value") if Bind Is Nothing Then 'Se a conexo no existe MsgBox "ScrollBar1 no est conectado." Else MsgBox "ScrollBar1 est ligado " & Bind.Source & "" MsgBox "Removendo o link.." Screen.Item("ScrollBar1").Links.RemoveLink("Value") End if End Sub E3 - Scripts - Manual de Referncia 114 Mtodos 5.12.1. Mtodos da Conexo por Tabela InsertRow([Row]) Insere uma nova linha na tabela. O parmetro Row opcional e especifica em que posio da tabela deve ser inserida a linha. Quando omitido, assume o comportamento padro de inserir a linha no fim da tabela, o que equivale a usar Row igual a -1. Quando informado e no for -1, deve ser um valor entre 1 e RowCount, e a nova linha criada desloca as linhas de ndice maior ou igual para a direo ascendente dos ndices. Uma linha nova sempre assume os seguintes valores padro para as propriedades: Min:0.0 Max:1.0 Blink:False BlinkValue:0.0 Value:0.0 Exemplo: Sub Retangulo1_Click() 'Cria a associao por tabela na 'propriedade ForegroundColor Links.CreateLink "ForegroundColor",_ "Dados1.TagDemo3.Value", 4 Dim Bind Set Bind = Links.Item("ForegroundColor")
Bind.InsertRow(-1) 'Pisca entre Vermelho e Verde 'quando TagDemo3 estiver entre 0 e 49 Bind.Min(1) = 0 Bind.Max(1) = 49 Bind.Value(1) = RGB(255,0,0) Bind.Blink(1) = true Bind.BlinkValue(1) = RGB(0,255,0) End Sub E3 - Scripts - Manual de Referncia Mtodos 115 RemoveRow(Row) Remove a linha no ndice especificado. O parmetro Row determina a linha da tabela a ser removida (deve ser de 1 a RowCount). Exemplo: Sub RemoveRow_Click() On Error Resume Next Dim Bind Set Bind =_ Screen.Item("Retangulo1").Links.Item("ForegroundColor") If Bind Is Nothing Then MsgBox "Retangulo1 no tem associao!" Else MsgBox "Retangulo1 est ligado '" & Bind.Source & "'" Dim row row = Screen.Item("Row").Value MsgBox "Removendo a linha " & row Bind.RemoveRow row End if End Sub E3 - Scripts - Manual de Referncia 116 Mtodos 5.13. Mtodos do Viewer CaptureScreen(Filename) O mtodo CaptureScreen() captura a Tela atual e a salva em um arquivo. Este mtodo semelhante ao efeito realizado pela tecla [PrintScreen] no Windows. O parmetro Filename determina o nome do arquivo no qual a Tela ser salva. NOTA: O formato final do arquivo bitmap (.BMP), mesmo que no parmetro Filename seja informada outra extenso (GIF, JPG etc.). Exemplo: Sub CommandButton1_Click() Screen.Frame.CaptureScreen "c:\temp\tela.bmp" End Sub ChangePassword() O mtodo abre uma caixa de dilogo para permitir a troca de senha do usurio atual. O mtodo retorna True se o usurio atual tiver permisso para trocar a senha. Caso contrrio, retorna False, indicando que houve falha na operao, ou que no possvel trocar a senha, porque o usurio no tem autorizao. Exemplo: Sub Texto1_Click() If Application.ChangePassword(True) Then MsgBox "A senha pode ser trocada." Else MsgBox "No foi possvel trocar a senha." End If End Sub E3 - Scripts - Manual de Referncia Mtodos 117 DoModal(Screen, Title, Left, Top, Width, Height, Arg) Abre uma Tela modal. Uma Tela modal uma janela que no permite clicar em outras Telas/janelas enquanto ela no for fechada. O parmetro de ttulo passado neste mtodo s ser utilizado se a propriedade Caption estiver vazia; do contrrio, o parmetro deste mtodo ser ignorado. Este mtodo possui os seguintes parmetros: Screen: determina o nome da Tela; Title: determina o ttulo da janela modal; Left, Top: posio XY da janela modal em pixels; Width: largura da janela modal em pixels ou HIMETRIC; Height: altura da janela modal em pixels ou HIMETRIC; e Arg: determina a varivel a ser usada no evento OnPreShow da Tela. Exemplo: Sub Botao1_Click() 'Ao clicar no Boto abre uma outra Tela modal Application.DoModal "Tela1", "Titulo", 0, 0, 400, 200, 0 End Sub NOTA: Os valores de tamanho neste mtodo podem ser informados como nmeros ou strings. No caso de nmeros, so considerados em pixels. No caso de strings, se vierem acompanhados da unidade hm, sero interpretados como HIMETRIC. Qualquer outro caso considerado em pixels. DoModalOP(Screen, Arg, Title, Flags) Permite abrir e configurar uma janela modal. O parmetro Screen determina o nome da Tela modal. Atravs do parmetro Title, possvel especificar o ttulo da Tela modal. O parmetro Arg o parmetro varivel a ser passado no evento OnPreShow. O parmetro Flags determina a combinao utilizada na janela modal. Tal combinao feita somando-se os valores da tabela correspondentes as opes que o usurio deseja. Quando o valor especificado for -1, sero adotadas as configuraes do Viewer para a janela modal. Quando este valor for diferente de -1, pode-se fazer as seguintes combinaes: Combinaes possveis para o parmetro Flags VALOR DESCRIO 1 Habilita a barra de ttulo na janela 2 Habilita o boto Fechar na janela. + Habilita o boto Minimizar na janela. 8 Habilita o boto Maximizar na janela. 16 Habilita a borda na janela. 32 Especifica que a janela pode ser dimensionada. 6+ Especifica que a janela pode ser movida. 256 Especifica que a janela ficar no topo da Tela. 512 Especifica que a janela ser configurada no estilo Barra de Ferramentas. E3 - Scripts - Manual de Referncia 118 Mtodos 102+ Desabilita os botes de objeto. 20+8 Centraliza a Tela modal no Quadro tanto horizontal quanto verticalmente.
Exemplo: Sub CommandButton1_Click() 'Parmetro 3 (Habilita barra de ttulo e boto Fechar) Application.DoModalOP "TelaInicial", 1, "Tela Modal", 3 End Sub ESign(ObjName, Description, Action, [From], [To], [User], [Comment]) O mtodo ESign() utilizado para fazer uma validao da alterao de um campo, atravs de assinatura eletrnica. Quando este mtodo utilizado, a seguinte caixa de dilogo mostrada:
Figura 26: Caixa de Dilogo de Assinatura Eletrnica E3 - Scripts - Manual de Referncia Mtodos 119 Parmetros do mtodo Esign() NOME DESCRIO ObjName Texto que contm o nome de um tag ou outro objeto da aplicao. Description Texto que contm a descrio de ObjName. Este parmetro opcional e, se for omitido, a caixa de dilogo tentar buscar os dados da propriedade DocString de ObjName. Action Texto que contm a ao a ser executada (ex: Alterao do valor). Este parmetro opcional e o seu valor padro . From Variant que contm o valor original , ou o estado que vai ser alterado. Este parmetro opcional. To Variant que contm o novo valor do tag, ou o valor a ser aplicado em Action. Este parmetro opcional. User Texto de retorno. Recebe o nome de login digitado na caixa de dilogo. Este parmetro opcional. Comment Texto de retorno. Recebe o comentrio digitado na caixa de dilogo. Este parmetro opcional.
Este mtodo retorna True se o usurio pressionar [OK| e se os campos Usuario e Senha forem vlidos. Caso contrrio, se a caixa de dilogo for cancelada ou se o login ou a senha estiverem errados aps trs tentativas, o mtodo retorna False. Em caso de falha, User e Comment so configurados para . Os comentrios pr-definidos so guardados no registro do Windows. Apenas os ltimos 26 comentrios so salvos. Cada vez que a janela criada, os ltimos comentrios so buscados no registro e usados para preencher a lista de seleo. Se um novo comentrio for informado pelo usurio, ele ser salvo e o mais antigo ser descartado, caso no haja posio livre. Se for utilizado um comentrio pr-definido, este passa a ser o primeiro da lista de mais recentes. Exemplo: Sub Button1_Click() Dim Tag, User, Comment Set Tag = Application.GetObject("IO.Inputs.I001") If Application.ESign(Tag.PathName,, "Alterao do Valor",_ Tag.Value, 1, User, Comment) Then If Tag.WriteEx 1 Then Application.TrackEvent "Tag IO.Inputs.I001 alterado para 1 " &_ "pelo usurio" & User, Comment End If End If End Sub E3 - Scripts - Manual de Referncia 120 Mtodos ExecuteExternalApp(AppPath, Arguments, InitialDir, CmdShow, [ProcessId]) Este mtodo executa um aplicativo externo de nome e caminho AppPath, com os argumentos Arguments, iniciando no diretrio de trabalho !nitialDir. Quando especificado um documento em AppPath, o aplicativo associado a este documento executado, e o documento passado como um dos parmetros do aplicativo. Process!D recebe o nmero que identifica o processo (esse nmero utilizado no mtodo IsAppRunning()). O parmetro CmdShow especifica o modo de abertura da janela do aplicativo, como na tabela abaixo: Opes disponveis para o parmetro CmdShow OPO DESCRIO 0 Esconde a janela e ativa outra janela. 1 Ativa e mostra a janela. Se a janela estiver maximizada ou minimizada, ela ser restaurada para o tamanho e posio originais. Uma aplicao deve especificar esse valor quando estiver mostrando uma janela pela primeira vez. 2 Ativa a janela e mostra-a minimizada. 3 Ativa a janela e mostra-a maximizada. + Mostra a janela com seu tamanho e posio mais recentes. A janela ativa permanece ativa. 5 Ativa a janela e mostra-a com seu tamanho e posio atuais. 6 Minimiza a janela e ativa a prxima janela de nvel superior. 7 Mostra a janela minimizada. A janela ativa permanece ativa. 8 Mostra a janela em seu estado atual. A janela ativa permanece ativa. 9 Ativa e mostra a janela. Se a janela estiver maximizada ou minimizada, ela ser restaurada para o tamanho e posio originais. Uma aplicao deve especificar esse valor quando estiver restaurando uma janela que estava minimizada.
Exemplo: Sub CommandButton1_Click() dim ret Application.ExecuteExternalApp "calc.exe", "", "", 1, ret Application.GetObject("Dados.TagInterno1").Value = ret End Sub NOTA: O parmetro retornado em Process!D pode ser 0, caso nenhum processo for iniciado. Por exemplo, se um documento aberto for um URL e uma instncia do Internet Explorer j estiver rodando, ela mostrar o documento. Nenhum processo novo iniciado, portanto Process!D ser 0. E3 - Scripts - Manual de Referncia Mtodos 121 Exit() Este mtodo fecha a janela no Viewer. Exemplo: Sub_Botao1.Click() Application.Exit() EndSub GetFrame([FrameName]) O mtodo GetFrame() procura por um objeto divisor que j esteja aberto no Viewer atual. Este mtodo possui o parmetro FrameName, que opcional e determina o nome do quadro a ser buscado. Caso o valor especificado em FrameName seja vazio, ele retornar um quadro que contm todos os divisores ou a Tela ativa no momento. Com o retorno deste mtodo, utilize os mtodos do divisor, como por exemplo, o mtodo OpenScreen() para abrir uma outra Tela. Exemplo: Sub Botao1_Click() 'Ao clicar no Boto pega o quadro Menu 'e substitui a Tela atual deste quadro pela tela Opes Set frame = Application.GetFrame("Menu") 'Quadro possui um objeto do tipo divisor frame.OpenScreen "Opes", 0 End Sub GetFullUserName() O mtodo GetFullUserName() retorna o nome completo do usurio logado no E3. Caso no haja nenhum usurio logado, retornado um string vazio. GetValue(TagName) O mtodo GetValue() busca pelo valor de um objeto especificado no parmetro TagName. Se TagName apontar para uma propriedade, este mtodo retornar o valor da propriedade. Se por outro lado o parmetro TagName especificar um objeto, o mtodo retornar o valor da propriedade Value do objeto. Exemplo: Sub Botao1_Click() 'Ao clicar no Boto pega o valor de um tag 'sendo executado em um DataServer X = Application.GetValue("DataServer1.InternalTag1") End Sub E3 - Scripts - Manual de Referncia 122 Mtodos GetFormulaUnitDataObj(FormulaName) Este mtodo obtm a configurao das unidades existentes numa determinada frmula. As unidades so o destino dos dados salvos na frmula (valores). Este mtodo possui o parmetro FormulaName, que informa o nome da frmula. Utilize o mtodo GetFormulaUnitDataObj() para obter uma coleo das unidades de uma frmula. Este mtodo retorna True se conseguir realizar a operao, ou False, caso no consiga. Exemplo: Sub Botao1_Click() Dim val 'Quando clica no boto, mostra uma caixa de 'mensagem(MessageBox) com o nmero de Units e o nome da 'Primeira Unit set obj= Application.GetFormulaUnitDataObj("Formula1") MsgBox CStr(obj.Count) MsgBox CStr(obj.Name(1)) End Sub GetFormulaValueDataObj(FormulaName) Este mtodo obtm a configurao dos valores existentes numa determinada frmula. Os valores so o conjunto de dados salvos na frmula. Este mtodo possui o parmetro FormulaName, que informa o nome da frmula. Utilize o mtodo GetFormulaValueDataObj() para obter uma coleo de valores na frmula. Este mtodo retorna True se conseguir realizar a operao, ou False, caso no consiga. Exemplo: Sub Botao1_Click() Dim val ' Quando clica no boto, mostra uma caixa de mensagem ' (MessageBox) com o nmero de Conjuntos ' e o nome do Primeiro Conjunto. set obj= Application.GetFormulaValueDataObj("Formula1") MsgBox CStr(Obj.Count) MsgBox CStr(obj.Name(1)) End Sub E3 - Scripts - Manual de Referncia Mtodos 123 IsAppRunning(ProcessId) Indica se uma aplicao iniciada pelo mtodo ExecuteExternalApp() estiver sendo executada. Retorna True se o aplicativo identificado no sistema operacional por Process!d estiver rodando. Caso contrrio, retorna False. Exemplo: Sub CommandButton1_Click() Application.ExecuteExternalApp _ "www.elipse.com.br", "", "", 1, processID while Application.IsAppRunning(processID) ' espera pelo final da aplicao wend MsgBox "Terminou a aplicao!" End Sub IsUserMemberOfGroup(GroupName) Este mtodo verifica se o usurio logado no Viewer corrente pertence a um determinado grupo. Este mtodo possui o parmetro GroupName, que determina o nome do grupo de usurios que se quer verificar. O mtodo retorna True se o usurio pertencer ao grupo GroupName, ou False, caso contrrio. Exemplo: Sub CommandButton1_Click() If Application.IsUserMemberOfGroup("Suporte") then MsgBox ("O usurio" & Aplication.User & _ " membro do grupo Suporte") Else MsgBox ("O usurio" & Aplication.User & _ "no membro do grupo Suporte") End If End Sub IsWebViewer() Verifica se o aplicativo est sendo visualizado pelo E3 WebViewer. O mtodo retorna True se a aplicao estiver sendo executada no E3 WebViewer. Caso contrrio, retorna False. LoadFormulaDlg(FormulaName, [UnitName], [ValueName]) Este mtodo apresenta uma caixa de dilogo que permite ao usurio escolher o conjunto de valores e a unidade de destino, carregando uma frmula. Este mtodo E3 - Scripts - Manual de Referncia 124 Mtodos possui o parmetro FormulaName, que determina o nome do objeto da frmula que ser operada. Utilize o mtodo LoadFormulaDlg() para chamar uma caixa de dilogo para carregamento dos dados do objeto Frmula especificado por FormulaName. Nesta caixa possvel especificar qual conjunto de valores (UnitName) ser enviado para qual conjunto de tags (valueName). Nesta caixa de mensagem o usurio conta com todos os conjuntos de valores e unidades disponveis no objeto Frmula, podendo atribuir um a outro livremente. Quando o usurio clicar em [OK|, o conjunto de valores ser carregado na unidade especificada. Exemplo: Sub Botao1_Click() 'Chama a caixa de dilogo para operar Dim val Application.LoadFormulaDlg("Formula1") End Sub LoadFormulaValues(FormulaName, UnitName, ValueName) Este mtodo carrega automaticamente um conjunto de valores para uma unidade de destino, apresentando uma caixa de dilogo que permite ao usurio informar valores diferentes daqueles definidos na Frmula. Este mtodo possui os seguintes parmetros: FormulaName determina o nome da frmula e UnitName determina o nome da unidade. O nome do conjunto de valores configurado no parmetro valueName. Uma caixa de mensagem aparecer permitindo ao usurio informar valores diferentes daqueles definidos para cada um dos valores da Frmula. NOTA: O mtodo retorna um valor lgico, ou seja, retorna True quando executada com sucesso, e False quando falha, o que no significa que houve um erro no script. Exemplo: Sub Botao1_Click() Application.LoadFormulaValues "Formula1", "Unit1", "Value1" End Sub LoadFormulaValuesQuiet(FormulaName, UnitName, ValueName) Carrega um conjunto de valores para uma unidade de destino, sem apresentar nenhuma mensagem. Este mtodo possui os seguintes parmetros: FormulaName determina o nome da Frmula e UnitName determina o nome da unidade. O nome do conjunto de valores configurado no parmetro valueName. NOTA: Este mtodo tambm acessado atravs do objeto Formula. E3 - Scripts - Manual de Referncia Mtodos 125 Exemplo: Sub Botao1_Click() Application.LoadFormulaValuesQuiet "Formula1", "Unidade3", "Valores1" End Sub LoadReport(ReportName) Carrega um modelo de relatrio. O parmetro ReportName o nome do relatrio a ser carregado. Exemplo: Sub Rect_Click() ' Carregando o relatrio pr-definido Set strRep = Application.LoadReport("[Relatrio3]") strRep.PrintPreview ' Visualizando a impresso End Sub Login([Mode]) Abre uma caixa de dilogo para o login (autenticao de usurio) na aplicao. O usurio logado permanece na memria at que seja feito outro login ou logout (sada do usurio da aplicao). Este mtodo possui o parmetro Node, que um booleano que determina se uma mensagem de confirmao ou falha da operao dever ser mostrada (o default False). Quando uma Tela estiver para ser aberta (atravs do mtodo OpenScreen()), verificado se existe alguma configurao de segurana. Caso exista, a Tela s ser aberta se o usurio logado tiver permisso. Caso no tenha permisso, aberto um dilogo para o login. Exemplos: Sub TelaInicial_OnPreShow(vArg) Application.Login ' Usa False como default Application.Login(True) Application.Login(False) End Sub Logout([Mode]) Executa o logout (sada do usurio atual da aplicao) do Viewer. Caso no haja um usurio logado, este mtodo no tem efeito. A partir deste momento, ser considerado que um usurio annimo est utilizando a aplicao. (Pode-se utilizar o evento OnLogout para executar um script para ir para a Tela inicial ou finalizar a aplicao.) Este mtodo possui o parmetro opcional Node, que um booleano que determina se uma mensagem de confirmao ou falha da operao dever ser mostrada (o default False). E3 - Scripts - Manual de Referncia 126 Mtodos Exemplo: Sub TelaInicial_OnPreShow(vArg) Application.Logout(True) End Sub PasswordConfirm(Mode) O mtodo abre um dilogo solicitando a reconfirmao da senha do usurio atualmente logado. O mtodo retorna True se a senha for confirmada, ou False, caso contrrio. O parmetro booleano Node determina se deve ser dado um logout em caso de falha na confirmao (True) ou no (False). Se o dilogo for fechado atravs do boto [Cancelar], a funo retorna False. Caso no haja usurio logado, a funo retorna False, mas sem abrir a caixa de dilogo. Caso a senha digitada no esteja correta, a solicitao repetida at no mximo trs vezes. Se o usurio digitar a senha incorreta nestas trs vezes, o dilogo fechado e a funo retorna False. Exemplo: Sub Texto1_Click() If Application.PasswordConfirm(True) Then MsgBox "ConfirmPassword retornou True" Else MsgBox "ConfirmPassword retornou False" End If End Sub Playsound(Filename) Toca um arquivo de som cujo caminho e nome esto indicados no parmetro Filename. O arquivo deve seguir as seguintes especificaes: dever estar no formato de som do Windows (extenso .wav); se o arquivo estiver no projeto (adicionado atravs do comando Inserir recurso), o nome do arquivo dever estar entre colchetes. Se foi criado uma pasta no projeto e o arquivo for adicionado atravs do comando Inserir recurso, o caminho dever ser especificado entre aspas (por exemplo: "c:\som\ding.wav"). Se o arquivo estiver no diretrio local, o nome no precisa de aspas, basta colocar o caminho (por exemplo: c:\som\ding.wav); E3 - Scripts - Manual de Referncia Mtodos 127 Exemplo: Sub TelaInicial_OnAlarm() 'Se existir um alarme ativo, ser tocado um som de alerta. 'Quando o alarme reconhecido, o som pra. Set Alarme = Application._ GetObject("ConfigAlarmes1.Area1.FonteAlarme1") If Alarme.ActiveNACKAlarms = True Then Application.PlaySound("[ringin.wav]") End If End Sub SelectMenu(Menu, [Left], [Top]) Este mtodo mostra um menu pop-up conforme especificado pelo parmetro Nenu. Este parmetro um texto que consiste em vrias opes delimitadas pelo caractere {, sendo que cada um destes strings ser uma opo do menu. Caso haja um conjunto de dois delimitadores sucessivos ({{), um separador ser inserido. Use os caracteres { e ) para criar um submenu. Um caractere * na frente de um string indica que a opo estar marcada. J um caractere ! far com que a opo esteja desabilitada. A posio da caixa de dilogo pode ser configurada atravs dos parmetros Left e Top, que indicam a distncia da margem esquerda e do topo da tela em pixels, respectivamente. Caso estes parmetros no sejam informados, o menu posicionado de acordo com o local onde o click do mouse foi acionado. Este mtodo retornar 0 se nenhuma opo foi selecionada, ou o nmero da opo, sendo que 1 seria para a primeira opo contida no texto, 2 para a segunda e assim por diante. Exemplo: Sub Botao1_Click() op = Application.SelectMenu("Opo 1|Opo 2|Opo 3") If op = 1 Then MsgBox "Opo 1 foi escolhida" ElseIf op = 2 Then MsgBox "Opo 2 foi escolhida" ElseIf op = 3 Then MsgBox "Opo 3 foi escolhida" ElseIf op = 0 Then MsgBox "Nenhuma opo foi escolhida" End If End Sub E3 - Scripts - Manual de Referncia 128 Mtodos SetValue(TagName, NewVal) Este mtodo configura o valor de um objeto dentro do servidor. O mtodo SetValue() procura por um objeto/propriedade sendo executado no servidor e atribui o valor especificado no parmetro definido em TagName. O tipo e valor do parmetro Newval dever ser suportado pelo objeto especificado em TagName. Exemplo: Sub Botao1_Click() 'Ao clicar no Boto seta o valor de um tag sendo executado 'em um DataServer e seta o valor 20 para o tag Application.SetValue "DataServer1.InternalTag1", 20 End Sub ShowDatePicker(DateValue, Left, Top, [DefaultDate]) Abre uma caixa de dilogo para a alterao da data e da hora. Este mtodo retorna True se o usurio confirmar a data, ou False se o usurio cancelar a edio. A nova data retornada no parmetro Datevalue. A posio da caixa de dilogo pode ser configurada atravs dos parmetros Left e Top, que indicam a distncia da margem esquerda e do topo da tela em pixels, respectivamente. Caso estes parmetros no sejam informados, a caixa de dilogo fica centralizada. O valor do parmetro DefaultDate a data e a hora iniciais quando a caixa de dilogo for aberta. Se no for informada a data, o sistema assume a data atual; se no for informada a hora, iniciar como 00:00:00. Sem nem a data nem a hora forem informadas, iniciar com data e hora atuais. Exemplos: Sub Texto2_Click() Dim novaHora Application.ShowDatePicker novaHora, 300, 300 MsgBox "A hora : "& novaHora End Sub ShowFilePicker(Open, FileName, [Extension], [Flags], [Filter]) Exibe as caixas de dilogo Salvar e Abrir Arquivo, do Windows. O parmetro Open indica o dilogo a ser aberto; se True, abre Abrir Arquivo; se False, abre Salvar. O parmetro FileName indica a varivel onde ser armazenado o nome do arquivo a ser salvo ou carregado caso o mtodo retorne True. Este parmetro deve ser obrigatoriamente uma varivel. O parmetro Extension opcional e informa a extenso do arquivo padro a ser anexada ao nome do arquivo na caixa de entrada, quando a extenso no for informada. Caso esteja vazio, nenhuma extenso ser concatenada ao final do nome do arquivo. Extenses mltiplas podem ser especificadas usando-se o caractere ; como delimitador. O string deve terminar com ||. E3 - Scripts - Manual de Referncia Mtodos 129 O parmetro Flags opcional e define o comportamento da caixa de dilogo. um nmero inteiro, soma dos valores da tabela abaixo. O parmetro Filter opcional e define um conjunto de pares de strings que especificam filtros que podem ser aplicados aos arquivos. O primeiro string descreve o filtro, e o segundo indica o tipo de extenso a ser utilizada. Combinaes possveis para o parmetro Flags VALOR DESCRIO 1 CREATEPROMPT: Se o usurio especificar um arquivo que no existe, este flag faz com que ele seja questionado sobre a criao do arquivo. Se ele escolher criar o arquivo, a caixa de dilogo fechada e o nome do arquivo retornado no parmetro Filename. Caso contrrio, a caixa de dilogo permanece aberta. 2 FILEMUSTEXIST: Especifica que o usurio s pode digitar nomes de arquivos existentes. Caso contrrio, a caixa de dilogo mostra um aviso na caixa de mensagens. + NOCHANGEDIR: Recupera o diretrio atual para o valor original caso o usurio tenha mudado de diretrio enquanto buscava o arquivo. No tem efeito para Abrir Arquivo no Windows NT4/2000/XP. 8 NODEREFERENCELINKS: Configura a caixa de dilogo para retornar o arquivo de atalho (.lnk) selecionado. Se este flag no for especificado, a caixa de dilogo retorna o caminho e nome de arquivo referenciados pelo shortcut. 16 NOREADONLYRETURN: Determina que o arquivo retornado no seja somente para leitura, e o diretrio no protegido contra gravao. 32 PATHMUSTEXIST: Especifica que o usurio pode informar apenas arquivos e diretrios vlidos, caso contrrio uma caixa de mensagem mostrada para avisar o usurio. 6+ READONLY: Faz o boto de opo Somente Leitura ser selecionado inicialmente quando o dilogo criado. 128 OVERWRITEPROMPT: Faz a caixa de dilogo de Salvar Como gerar uma mensagem informando da existncia do arquivo, e pede confirmao para sobrescrever o arquivo.
Exemplo de filtro: "Arquivos de Chart (*.xlc)|*.xlc|Planilhas Excel (*.xls)|*.xls|Arquivos de Dados (*.xlc;*.xls)|*.xlc; *.xls|Todos os arquivos (*.*)|*.*||" ShowPickColor(ColorValue, Color, Left, Top) Abre a caixa "Cores" do Windows para a escolha de uma cor. O valor decimal da cor escolhida retornado no parmetro Colorvalue. O parmetro Color indica uma cor previamente selecionada na paleta de cores. Se este parmetro no for informado, ele assume 0 (preto). A posio da caixa de dilogo pode ser configurada E3 - Scripts - Manual de Referncia 130 Mtodos atravs dos parmetros Left e Top, que indicam respectivamente, a distncia da margem esquerda e do topo da tela, em pixels. Caso estes parmetros no sejam informados, a caixa de dilogo fica centralizada. Exemplo: Sub CommandButton_Click() Dim novaCor Dim corPadrao corPadrao = 65280 ' Verde Claro If Application.ShowPickColor(novaCor,corPadrao,90,90) Then Screen.Item("Retangulo1").ForegroundColor = novaCor Screen.Item("Texto1").Value = novaCor End If End Sub Stopsound() Pra um som que esteja tocando. Exemplo: Sub CommandButton2_Click() Application.StopSound() End Sub ToggleValue(TagName, ValA, ValB) O mtodo ToggleValue() busca o valor do objeto/propriedade sendo executado no servidor e compara com os parmetros valA e valB. Se o valor buscado for igual ao valB, o objeto/propriedade especificado em TagName receber o valor de valA. Caso contrrio, receber o valor de valB. Caso o valor de TagName no seja nem valA nem valB, o mtodo ToggleValue() atribuir o valor especificado em valA. Exemplo: Sub Botao1_Click() ' Ao clicar no Boto atribui o valor ' a um tag sendo executado em um DataServer. ' Atribui o valor 20 para o tag. Application.SetValue "DataServer1.InternalTag1", 20 ' J que o valor do InternalTag1 j 20, ' o mtodo ToggleValue alternar o valor para 30. Application.ToggleValue "DataServer1.InternalTag1", 30, 20 End Sub E3 - Scripts - Manual de Referncia Mtodos 131 TrackEvent(EventMessage, Comment, TimeStamp) O mtodo TrackEvent permite gerar eventos via script manualmente. Estes eventos podem ser gerados tanto no Viewer como no Servidor, e so registrados em uma tabela no banco de dados do aplicativo. Parmetros do mtodo TrackEvent NOME DESCRIO EventNessage Contm a mensagem do evento (mximo 200 caracteres). Comment (Opcional) Contm comentrios adicionais sobre o evento (mximo 200 caracteres). TimeStamp (Opcional) Indica a data/hora em que o evento ocorreu. Se no for especificado, o E3 assume a data/hora atual.
O mtodo TrackEvent s vai registrar os eventos caso a opo de Registro de Eventos nas Opes do Domnio estiver habilitada. Os eventos so registrados numa tabela de um banco de dados que definida tambm nas configuraes de Registro de Eventos. Para maiores informaes sobre o Registro de Eventos do Domnio, consulte o Manual do Usurio. Exemplo: Sub Button1_Click() Dim Tag, User, Comment Set Tag = Application.GetObject("IO.Inputs.I001") If Application.ESign(Tag.PathName,, "Alterao do Valor",_ Tag.Value, 1, User, Comment) Then If Tag.WriteEx 1 Then Application.TrackEvent "Tag IO.Inputs.I001 alterado para 1 " &_ "pelo usurio" & User, Comment End If End If End Sub E3 - Scripts - Manual de Referncia 132 Mtodos UserAdministration() Este mtodo abre uma caixa que permite editar a lista de usurios do E3 Server. As funes disponveis so: mostrar a lista de todos os usurios; apagar usurios (no possvel apagar o usurio atual); adicionar e editar usurios; editar as configuraes de um usurio; alterar a senha do usurio; alterar os demais dados do usurio (login, nome etc.). IMPORTANTE: Apenas o Administrador pode ter acesso ao mtodo UserAdministration(). A caixa de configurao dos usurios acessvel somente ao usurio habilitado como "Administrador". O usurio Administrador no pode se excluir e no pode marcar seu tipo para "no-administrador". Exemplo: Sub Texto1_Click() Application.UserAdministration() End Sub 5.14. Mtodos do Banco de Dados SetDBParameters(ServerName, UserName, Password, DBName) String de conexo com o DB nas propriedades do objeto Banco de Dados. O parmetro ServerName determina o nome do servidor. O parmetro UserName determina o nome do usurio. O parmetro Password determina a senha do login para se conectar ao banco. O parmetro DBName utilizado apenas para o SQL; o nome do DB utilizado no servidor SQL. 5.15. Mtodos dos Alarmes 5.15.1. Mtodos da Fonte de Alarmes Ack(bstrActorID) Executa o reconhecimento de um alarme configurado no objeto Fonte de Alarmes. O mtodo retorna um booleano que indica o sucesso ou no da operao. E3 - Scripts - Manual de Referncia Mtodos 133 O parmetro bstrActor!D informa o nome do usurio responsvel pelo reconhecimento dos alarmes. GetAlarm() Retorna um objeto que permite o acesso s configuraes especficas de cada tipo alarme. Isto permite verificar ou modificar em tempo de execuo as propriedade de um determinado alarme. Dependendo do tipo de alarme, o mtodo retornar as seguintes propriedades: Alarme Digital: Responsvel pelas configuraes de alarme digital. Propriedades do Alarme Digital ITEM DESCRIO DigitalReturnNessageText Mensagem de retorno do alarme digital Digital Habilita/Desabilita a verificao de alarme digital DigitalLimit Limite para o alarme digital DigitalNessageText Texto da mensagem de alarme digital DigitalSeverity Severidade do alarme digital. Conjunto de valores: 0 - Alta, 1 - Mdia, 2 - Baixa DigitalAckRequired Necessidade de reconhecimento para este tipo de alarme (digital).
Alarme Analgico: Responsvel pelas configuraes do alarme analgico. Propriedades deste objeto (tem quatro nveis de alarme): Propriedades do Alarme Analgico ITEM DESCRIO LevelDeadBand Banda morta para o alarme de nveis. LevelReturnNessageText Mensagem de retorno de alarme. Alarme LoLo {Muito Baixo) ITEM DESCRIO LoLo Habilita/Desabilita a verificao de alarme Muito Baixo LoLoLimit Limite para o nvel de alarme Muito Baixo LoLoNessageText Texto da mensagem de alarme Muito Baixo LoLoSeverity Importncia do nvel de alarme Muito Baixo. Conjunto de valores: 0 - Alta, 1 - Mdia, 2 - Baixa LoLoAckRequired Necessidade de reconhecimento para este nvel de alarme (Muito Baixo). E3 - Scripts - Manual de Referncia 134 Mtodos Alarme Lo {Baixo) ITEM DESCRIO Lo Habilita/Desabilita a verificao de alarme Baixo LoLimit Limite para o nvel de alarme Baixo LoNessageText Texto da mensagem de alarme Baixo. LoSeverity Importncia do nvel de alarme Baixo. Conjunto de valores: 0- Alta, 1- Mdia e 2- Baixa. LoAckRequired Necessidade de reconhecimento para este nvel de alarme (Baixo). Alarme Hi {Alto) ITEM DESCRIO Hi Habilita/Desabilita a verificao de alarme Alto HiLimit Limite para o nvel de alarme Alto. HiNessageText Texto da mensagem de alarme Alto HiSeverity Importncia do nvel de alarme Alto. Conjunto de valores: 0- Alta, 1- Mdia, 2- Baixa. HiAckRequired Necessidade de reconhecimento para este nvel de alarme (Alto). Alarme HiHi {Muito Alto) ITEM DESCRIO HiHi Habilita/Desabilita a verificao de alarme Muito Alto. HiHiLimit Limite para o nvel de alarme Muito Alto HiHiNessageText Texto da mensagem de alarme Muito Alto HiHiSeverity Importncia do nvel de alarme Muito Alto. Conjunto de valores: 0 - Alta, 1 - Mdia, 2 - Baixa HiHiAckRequired Necessidade de reconhecimento para este nvel de alarme (Muito Alto).
E3 - Scripts - Manual de Referncia Mtodos 135 Alarme Taxa de Variao: Responsvel por configuraes de alarme de taxa de variao. Propriedades do Alarme Taxa de Variao ITEM DESCRIO ROCReturnNessageText Mensagem de retorno da taxa de mudana. ROC Habilita/Desabilita a verificao de alarme de taxa de variao. ROCLimit Limite para o alarme de taxa de mudana. Para o alarme ocorrer, basta que o valor do tag associado ultrapasse esse valor em um segundo. ROCNessageText Texto da mensagem de alarme de taxa de mudana. ROCSeverity Importncia do alarme de taxa de mudana. Conjunto de valores: 0 - Alta, 1 - Mdia, 2 Baixa. ROCAckRequired Necessidade de reconhecimento para este tipo de alarme (taxa de mudana).
Alarme Banda Morta: Responsvel por configuraes de alarme de banda morta. Propriedades do Alarme Banda Morta ITEM DESCRIO DeadBandSetPoint Limite de banda morta do alarme. Cada vez que o valor do tag associado ultrapassar o valor desta propriedade + ou - o valor de DeadBandLimit, o alarme ocorrer. DeadBandReturnNessageText Mensagem de retorno de alarme de banda morta DeadBand Habilita/Desabilita a verificao de alarme de banda morta DeadBandLimit Limite para o alarme de banda morta. DeadBandNessageText Texto da mensagem de alarme de banda morta DeadBandSeverity Importncia do alarme de banda morta. Conjunto de valores: 0 - Alta, 1 - Mdia, 2 - Baixa DeadBandAckRequired Necessidade de reconhecimento para este tipo de alarme (banda morta).
E3 - Scripts - Manual de Referncia 136 Mtodos Exemplo: Sub Botao1_Click() Dim val 'Quando clica no botao muda o nivel de alarme Lo do 'AlarmSource BatteryLevel Application.GetObject("ConfigAlarmes1.Area1.BatteryLevel")_ .GetAlarm().LoLimit = 10.2 End Sub NOTA: as propriedades relativas a cada tipo de alarme podem ser acessadas diretamente por scripts e associaes, bem como visualizadas na Lista de Propriedades do objeto, no mais sendo obrigatria sua edio via mtodo GetAlarm(). 5.15.2. Mtodos do 8ervidor de Alarmes AckAllAlarms(bstrActorID) Executa o reconhecimento de todos os alarmes do servidor, independentemente da rea. O mtodo retorna um booleano que indica o sucesso ou no da operao. O parmetro bstrActor!D informa o nome do usurio responsvel pelo reconhecimento dos alarmes. Exemplo: Sub Botao1_Click() 'Quando clica no botao reconhece todos os alarmes Application.GetObject("ServidorAlarmes1")._ AckAllAlarms (Application.User) End Sub AckArea(bstrArea, bstrActorID) Executa o reconhecimento dos alarmes em uma determinada rea. O mtodo retorna um booleano que indica o sucesso ou no da operao. O parmetro bstrArea especifica o nome da(s) rea(s) cujos alarmes sero reconhecidos, atravs da comparao entre os trechos iniciais dos nomes. Por exemplo, AckArea("ANA") reconheceria alarmes das reas "ANALOGICOS", "ANA.AREA2", etc. Se o valor deste parmetro for vazio, o mtodo ter o mesmo comportamento de AckAllAlarms(). O parmetro bstrActor!D informa o nome do usurio responsvel pelo reconhecimento dos alarmes. E3 - Scripts - Manual de Referncia Mtodos 137 Exemplo: Sub Botao1_Click() 'Quando clica no boto reconhece os alarmes da Area1 Application.GetObject("ServidorAlarmes1").AckArea "Area1",_ Application.User End Sub LogTrackingEvent(Message, ActorID, Area, Severity, EventTime, Source, EventCategory, EventType, UserFields, AlarmSourceName, FullAlarmSourceName) Simula um evento/alarme e o envia direto para o banco de dados do servidor de alarmes, sem passar pelo E3Alarm. Por isso, este evento no pode ser visto no E3Alarm, nem tampouco o alarme pode ser reconhecido. Cada parmetro do mtodo permite especificar o valor do campo de mesmo nome no evento. Os campos do evento so preenchidos de acordo com os parmetros do mtodo: Parmetros do mtodo LogTrackingEvent NOME DESCRIO Nessage Parmetro texto que especifica o contedo do campo de Mensagem do evento. Se omitido, assume o valor "". Actor!D Parmetro texto que especifica o contedo do campo Operador do evento. Se omitido, assume o valor "System". Area Parmetro texto que especifica o contedo do campo rea do evento. Se omitido, assume o valor "". Severity Parmetro numrico que determina a severidade do evento. Se omitido, assume o valor 0, ou seja, severidade alta. EventTime Especifica o TimeStamp do evento. Se omitido, assume o valor do TimeStamp do momento da chamada do mtodo. Source Parmetro texto que especifica o contedo do campo Fonte do evento. Se omitido, assume o valor "". EventCategory Parmetro texto que especifica a categoria do evento. Se omitido, assume o valor "". EventType Parmetro texto que especifica o tipo do evento. Se omitido, assume o valor "Tracking". UserFields Parmetro array de quatro posies ou mais onde cada posio especifica o valor do campo especificado pelo usurio. AlarmSourceName Parmetro texto que especifica o nome da fonte de alarme. Se omitido, assume o valor "". FullAlarmSourceName Parmetro texto que especifica o caminho completo da fonte de alarme. Se omitido, assume o valor "". E3 - Scripts - Manual de Referncia 138 Mtodos Os demais campos do evento no podem ser especificados e sempre assumem os valores a seguir: Valor (CurrentValue) = 0.0 Qualidade (Quality) = Condio Ativa (ConditionActive) = 0 (False) Nome da Condio (ConditionName) = Nome da Subcondio (SubConditionName) = Reconhecido (Acked) = 1 (True) Precisa Ack (AckRequired) = 0 (False) Habilitado (Enabled) = 1 (True) EventTimeUTC = *Sempre igual a EventTime (como em eventos de alarme) Mscara (ChangeMask) = 0 Cookie = 0 NOTA: O mtodo falha se a opo Guarde alarmes no banco de dados estiver desmarcada, ou quando falha o armazenamento no banco de dados. Exemplo: Sub CommandButton1_Click() 'No parmetro "UserFields", para cada elemento do array, 'ser mostrado o valor atribudo a ele Application.GetObject("ServidorAlarmes1").LogTrackingEvent_ "Clicou no boto", Application.User, "Operao", 2, ,_ "Boto1", , , array(1, 2, "a", "b") End Sub 5.16. Mtodos do Histrico StartAcquisition() Habilita o Histrico a gravar os valores do seus campos periodicamente, a partir da taxa especificada na propriedade ScanTime. Este mtodo pode ser chamado a qualquer momento aps a chamada do mtodo StopAcquisition(). O comportamento padro deste mtodo iniciar a aplicao habilitado, ou seja, este mtodo sempre executado internamente ao se iniciar o Histrico. E3 - Scripts - Manual de Referncia Mtodos 139 Exemplo: Sub Botao1_Click() 'Quando clica no boto, habilita o histrico Application.GetObject("Hist1").StartAcquisition() End Sub StopAcquisition() Desabilita a gravao dos registros por perodo no Histrico, independente do valor especificado na propriedade ScanTime. A gravao por perodo fica desabilitada at o mtodo StartAcquisition() ser chamado. O comportamento padro do objeto Histrico iniciar a aplicao com a gravao habilitada. Exemplo: Sub Hist1_OnStopAcquisition() 'Desabilita o Histrico assim que iniciar. StopAcquisition() End Sub WriteRecord() Insere uma nova linha de informao no banco de dados. Os valores so obtidos a partir dos valores atuais de cada uma das variveis especificadas como fonte de dados dos campos do histrico. Utiliza-se este mtodo em duas situaes: Para gravar uma nova linha de dados antes do tempo previsto para a prxima gravao quando o Histrico est habilitado por tempo. Para gravar um novo conjunto de dados quando o Histrico est desabilitado. Exemplo: Sub Tag1_OnValueChange() 'Grava uma nova linha em um histrico 'quando um tag muda de valor Application.GetObject("Hist1").WriteRecord() End Sub 5.17. Mtodos do 8torage CreateNewSession([DefaultType], [DefaultMinRecTime], [DefaultMaxRecTime], [DefaultDeadBand], [DefaultUnit]) Gera uma sesso que tem a capacidade de incluir dados de um E3Storage de forma independente da aquisio normal. Os parmetros opcionais so utilizados nas E3 - Scripts - Manual de Referncia 140 Mtodos configuraes dos tags da sesso, caso no informados em suas criaes. So eles, respectivamente: tipo do dado, intervalo mnimo de tempo entre gravaes, intervalo mximo de tempo sem gravaes, banda morta e unidade da banda morta do tag. Como usar: Criao de uma sesso: set Session = Application.GetObject("Storage1").CreateNewSession(0, 0, 3600, 10, 1) Adio de um tag sesso (mtodo AddField(FieldName, [Type], [MinRecTime], [MaxRecTime], [DeadBand], [Unit])): result = session.AddField("TempTag", 0, 0, 100000, 15, 1) Adio de valores (mtodo AddValue(FieldName, TimeStamp, Quality, Value)): result = session.AddValue("TempTag", Now, 192, 10) StartAcquisition() Inicia ou retoma a gerao de dados que vo para o Banco. O Storage recebe notificaes sobre quais tags cadastrados sofreram modificao, e quando isto acontece ele verifica se os registros sero gravados ou no. Quando este mtodo chamado, a notificao de mudana e a gerao de gravaes sero iniciadas ou retomadas. Exemplo: Sub Botao1_Click() 'Quando clica no boto, habilita o Storage Application.GetObject("Storage1").StartAcquisition() End Sub StopAcquisition() Pra a gerao de dados que vo para o Banco. O Storage recebe notificaes sobre quais tags cadastrados sofreram modificao, e quando isto acontece ele verifica se os registros sero gravados ou no. Quando este mtodo chamado, a notificao de mudana e a gerao de gravaes sero paralisadas. Exemplo: Sub Storage1_OnStopAcquisition() 'Desabilita o Storage assim que iniciar. StopAcquisition() End Sub E3 - Scripts - Manual de Referncia Mtodos 141 5.18. Mtodos da Consulta AddField(Name, [Table]) O mtodo AddField() adiciona um novo campo da tabela na consulta. O parmetro Name determina o nome do novo campo que ser adicionado consulta. O parmetro Table determina o nome da tabela a qual o campo pertence. Este mtodo foi desenvolvido apenas para manter a compatibilidade com o antigo objeto Consulta do E3Chart. Exemplo: Sub Botao1_Click() Screen.Item("E3Browser").Item("Consulta").AddField "Campo1" End Sub AddStorageTag(Name, fieldType) Adiciona um tag pertencente ao Storage a ser consultado consulta. O parmetro Name recebe o nome do tag a ser adicionado. O parmetro fieldType indica o tipo deste tag (0 - double, 1 - bit, 2 - string). Retorna um booleano indicando o sucesso (ou no) da operao. AddTable(Name) Adiciona uma tabela do banco de dados na consulta. O parmetro Table determina o nome da tabela a ser adicionada. Execute(ImmediateExecute) O mtodo Execute() executa um comando SQL que no tenha retorno (como DELETE, UPDATE ou INSERT), configurado no SQLQuery. O parmetro !mmediateExecute indica se a operao passar pelas filas de operaes do DB (arquivos e3i e e3o) antes de chegar ao banco (caso esteja configurada como False), ou se ser enviada diretamente para o Banco de Dados (caso esteja configurada como True). A vantagem de se utilizar a consulta para executar comandos a utilizao de variveis, como em uma consulta simples. Exemplo de comandos SQL: DELETE FROM teste WHERE cod > 10 UPDATE teste SET cod = 10 WHERE cod > 10 INSERT INTO teste (cod) VALUES(10) E3 - Scripts - Manual de Referncia 142 Mtodos Exemplo: Sub CommandButton1_Click() Screen.Item("Consulta1").Execute End Sub GetADORecordSet() O mtodo GetADORecordSet() retorna um recordset do tipo ADO (ActiveX Data Object), resultante da execuo da consulta configurada. Exemplo: Sub Botao1_Click() Set rec = Screen.Item("Consulta1").GetADORecordset() strDatas = " " i = 0 while (not rec.EOF and i < 10) strDatas = strData & CStr(rec("E3TimeStamp")) & _ Chr(10) & Chr(13) i=i+1 wend MsgBox strDatas End Sub GetAsyncADORecordSet() Cria uma consulta e, quando ela estiver finalizada, gera o evento OnAsyncQueryFinish() do prprio objeto, passando para este evento o resultado (recordset) gerado pela consulta.. GetE3QueryFields() O mtodo GetE3QueryFields() retorna a coleo de campos (colunas) de uma consulta. Cada um destes campos possui as seguintes propriedades que podem ser modificadas, a saber: Propriedades dos campos da consulta NOME TIPO DESCRIO ColumnName Texto Nome da coluna. Este nome deve existir nas tabelas adicionadas nesta consulta. TableName Texto Nome da tabela a que pertence a coluna. Esta tabela deve ter sido adicionada na configurao da consulta. Alias Texto Apelido da coluna na consulta. Criteria Texto Filtro sobre a coluna. E3 - Scripts - Manual de Referncia Mtodos 143 OrderBy Texto Ordenao dos dados da coluna. Os valores vlidos so ASC (ordenao ascendente), DESC (ordenao descendente) ou (sem ordenao). Qualquer valor diferente significa que o campo no possui ordenao. OrderNumber Numrico Nmero de ordem da coluna em relao s outras colunas que compem a ordenao da consulta. Este valor s ser aceito como maior que 0 se a coluna tiver um tipo de ordenao. Este valor ter que ser menor ou igual ao nmero de campos que compem a ordenao da consulta. Function Texto Funo para qual a coluna pode ser passada como parmetro. GroupBy Booleano Em True, indica que a coluna faz parte de um agrupamento. visible Booleano Em True, indica que a coluna est visvel.
Exemplo: Sub Botao1_Click() ' Percorre a coleo Campos, mostrando-os em uma caixa ' de mensagem e ajustando-os como visveis na configurao da ' consulta. Set Browser = Screen.Item("E3Browser") Set Consulta = Browser.Item("Consulta") Set Campos = Consulta.GetE3QueryFields() for each campo in Campos MsgBox CStr(campo.TableName)&"-"&CStr(campo.ColumnName) campo.Visible = TRUE next ' Refaz a consulta do E3Browser, que acabou de ser ' modificada, para que todos os campos apaream. Browser.RetrieveE3QueryFields() Browser.Requery() End Sub NOTA: Para usar este mtodo, a consulta dever ser previamente criada em tempo de configurao. RemoveField(FieldName, [Table]) O mtodo RemoveField() remove um campo previamente includo em uma consulta. O parmetro FieldName determina o nome do campo que ser removido. O E3 - Scripts - Manual de Referncia 144 Mtodos parmetro Table determina o nome da tabela a qual o campo pertence. Este mtodo, a exemplo do mtodo AddField(), foi includo para manter a compatibilidade com as verses antigas da consulta do E3Chart. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Browser").Item("Consulta")._ RemoveField "Campo1" End Sub RemoveStorageTag(Name) Remove um tag previamente configurado na consulta. O parmetro Name indica o nome do tag. Retorna um booleano indicando o sucesso (ou no) da operao. RemoveTable(TableName) Remove uma tabela da consulta. O parmetro TableName determina o nome da tabela a ser removida. SetVariableValue(bstrVarName, vValue) O mtodo SetVariableValue() ajusta o valor de uma varivel configurada na consulta, de forma que este valor possa ser informado como um filtro ou parmetro antes de a mesma ser realizada. Deve ser definido o nome da varivel (bstrvarName) e seu valor (vvalue), que pode ser um nmero, texto ou data/hora. Exemplo: Sub CommandButton_Click() Set cons = Screen.Item("E3Browser1").Item("Consulta1") DataInicial = now -1 DataFinal = now cons.SetVariableValue "DataIni",DataInicial cons.SetVariableValue "DataFim",DataFinal End Sub 5.19. Mtodos do E3Browser ClearFields() Limpa a formatao de colunas e linhas do E3Browser. Exemplo: Sub CommandButton1_Click() E3 - Scripts - Manual de Referncia Mtodos 145 Screen.Item("E3Browser1").ClearFields() End Sub GetColumnValue(iIndex) Retorna o valor de uma clula, na coluna informada e linha selecionada. Este mtodo possui o parmetro i!ndex, que determina o ndice da coluna desejada. Exemplo: Sub E3Browser1_DblClick() Screen.Item("Texto1").Value = GetColumnValue(0) Screen.Item("Texto2").Value = GetColumnValue(1) Screen.Item("Texto3").Value = GetColumnValue(2) Screen.Item("Texto4").Value = GetColumnValue(3) End Sub Requery() O mtodo Requery() atualiza a consulta utilizando a configurao atual da consulta e retorna os dados para o E3Browser. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Browser1").Requery() End Sub RetrieveE3QueryFields() O mtodo RetrieveE3QueryFields() l a estrutura de dados da consulta e atualiza a formatao do E3Browser com os campos definidos na consulta. Se for bem sucedido retorna True. Caso contrrio, retorna False. Este mtodo especialmente til quando se precisa usar um nico E3Browser para exibir dados de diferentes tabelas ou consultas. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Browser1").RetrieveE3QueryFields() End Sub E3 - Scripts - Manual de Referncia 146 Mtodos 5.20. Mtodos do E3Chart CopyConfig(SourceChart) O mtodo CopyConfig() copia as configuraes de um E3Chart para outro. O parmetro SourceChart indica o E3Chart origem cujas propriedades sero copiadas para o E3Chart que chamou o mtodo. NOTA: No caso dos Relatrios, o mtodo CopyConfig() ir funcionar somente com penas tipo Histrica. Por exemplo, para copiar a configurao de um E3Chart que est numa Tela (ScreenChart) para outro que est dentro de um relatrio (ReportChart), o seguinte script pode ser adicionado no objeto E3Report associado ao relatrio: Sub OnBeforePrint Set Chart =_ Report.Sections("PageHeader").Controls("ReportChart") Chart.CopyConfig(Application.GetFrame()._ Screen.Item("ScreenChart")) Chart.LoadData() Chart.FitAll() End Sub Nota: este mtodo tambm possui o parmetro opcional e no usado !ntFlags, somente para fins de compatibilidade com verses anteriores. FitAll([FitStyle]) Enquadra todas as penas no E3Chart. O parmetro opcional FitStyle indica o modo de enquadramento das penas em runtime: 0 enquadra ambos os eixos ao mesmo tempo; 1 enquadra apenas o eixo vertical, e 2 enquadra apenas o eixo horizontal. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").FitAll() End Sub FitPen(Pen, [FitStyle]) Enquadra uma pena no E3Chart especificada pelo ndice ou nome. O parmetro Pen define a pena que ser enquadrada no E3Chart (ndice ou nome da pena). O parmetro opcional FitStyle indica o modo de enquadramento das penas em runtime: 0 enquadra ambos os eixos ao mesmo tempo; 1 enquadra apenas o eixo vertical, e 2 enquadra apenas o eixo horizontal. E3 - Scripts - Manual de Referncia Mtodos 147
Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.FitPen(1) Chart.FitPen("Pen1",1) 'Enquadra a Pen1 somente na vertical End Sub LoadData() Carrega os dados no E3Chart. Este mtodo especialmente usado para carregar os dados antes de imprimir, quando usado no E3Reports. Exemplo: Sub CommandButton1_Click() MsgBox Screen.Item("E3Chart1").LoadData() End Sub ResetConfig() Remove todas as configuraes ajustadas em um E3Chart, devolvendo-o ao estado inicial. Exemplo: Sub E3Chart1_OnStartRunning() ' Ao iniciar E3Chart1, remove todas as configuraes ResetConfig() End Sub
Nota: este mtodo tambm possui o parmetro opcional e no usado !ntFlags, somente para fins de compatibilidade com verses anteriores. ShowCursor() Ativa o modo Pesquisa de Intervalo. Em tempo de execuo, este recurso pode ser acessado atravs do clique com o boto direito do mouse sobre o objeto e selecionando a opo Pesquisar Intervalos do menu de contexto. ZoomIn() O mtodo ZoomIn() aumenta o zoom no E3Chart, isto , aproxima a visualizao das penas. Em tempo de execuo, este recurso pode ser acessado atravs do clique E3 - Scripts - Manual de Referncia 148 Mtodos com o boto direito do mouse sobre o objeto e selecionando a opo Nais Zoom do menu de contexto. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").ZoomIn() End Sub ZoomOut() O mtodo ZoomOut() diminui o zoom no E3Chart, isto , afasta a visualizao das penas no E3Chart. Em tempo de execuo, este recurso pode ser acessado atravs do clique com o boto direito do mouse sobre o E3Chart e selecionando a opo Nenos Zoom. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").ZoomOut() End Sub 5.20.2. Mtodos dos Eixos Nota: HorAxis e VerAxis so propriedades da coleo de eixos que acessam os eixos padro horizontal e vertical, respectivamente. Por exemplo, ao invs de utilizar Chart.Axes.Item("EixoHorizontal"), pode-se utilizar Chart.Axes.HorAxis. Demais eixos criados pelo usurio tero nomes prprios, escolhidos caso a caso. GetHistoricPeriod(Begin, End) Retorna o intervalo de tempo mostrada na escala histrica. O parmetro Begin indica a data inicial da escala histrica, e End indica a data final. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart") Chart.Axes.Item("NomeDoEixo").GetHistoricPeriod min, max Value = cstr(dmin) & " "& cstr(dmax) MsgBox "data inicial = " & cstr(min) & _ vbNewLine & " data final =" & cstr(max) End Sub E3 - Scripts - Manual de Referncia Mtodos 149 GetMinMax(Min, Max) Retorna nos parmetros Nin e Nax os valores mnimo e mximo da escala numrica, respectivamente. Exemplo: Sub CommandButton1_DBClick() Set Chart = Screen.Item("E3Chart") Chart.Axes.Item("NomeDoEixo").GetMinMax dmin, dmax MsgBox cstr(dmin) & " " & cstr(max) End Sub GetRealTimePeriod(pPeriod) Retorna a unidade de tempo configurada na escala de tempo real. O parmetro pPeriod recebe o valor da escala de tempo. Exemplo: Dim Unidade, Valor
MsgBox "Valor:" & CStr(Valor) & "Unidade:" & CStr (Unidade) GetTickSpacing(TickSpacing, TimeUnit) Retorna o espaamento entre os ticks (subdivises da escala) e a unidade configurada. O parmetro TickSpacing determina o espaamento entre os ticks, e TimeUnit determina a unidade. Quando este parmetro est em zero, significa que automtico. A unidade no utilizada quando a escala numrica. As opes disponveis no parmetro TimeUnit so as mesmas demonstradas na tabela do mtodo GetRealTimePeriod(). Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Unitvalue_ = Chart.Axes.Item("NomeDoEixo").GetTickSpacing(TickSpacing) MsgBox "valor" = " & cstr(TickSpacing) & _ "unidade" &_ cstr(unitvalue) End Sub E3 - Scripts - Manual de Referncia 150 Mtodos SetHistoricPeriod(Begin, End) Configura o perodo de tempo para a escala histrica. O parmetro Begin determina o perodo inicial da escala, e End determina o perodo final da escala. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart2") Chart.Axes.Item("NomeDoEixo").ScaleType = 2 ' mostra o ultimo perodo Chart.Axes.Item("NomeDoEixo").SetHistoricPeriod now -1, now End Sub SetMinMax(Min, Max) Configura os valores mnimo e mximo da escala numrica. O valor mnimo determinado pelo parmetro Nin e o mximo por Nax. Exemplo: Sub Circulo1_Click() Set Chart = Screen.Item("E3Chart2") Chart.Axes.Item("NomeDoEixo").SetMinMax -10, 500 End Sub SetRealTimePeriod(Times, TimeUnit) Ajusta o intervalo de tempo na unidade definida pelo parmetro TimeUnit. As opes disponveis neste parmetro so as mesmas demonstradas na tabela do mtodo GetRealTimePeriod(). O parmetro Times determina o intervalo de tempo, e a unidade da escala especificado por TimeUnit. O eixo fica sempre sendo atualizado neste modo (tempo real). Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart5") ' tuSeconds = 0, tuMinutes =1, tuHours = 2, tuDays = 3, ' tuWeeks = 4, tuMonths = 5, tuYears = 6 ' 2 minutos Chart.Axes.Item("NomeDoEixo").SetRealTimePeriod 2,1 Chart.Axes.Item("NomeDoEixo").SetTickSpacing 30,0 End Sub SetTickSpacing(TickSpacing, TimeUnit) Configura o espaamento entre os ticks (subdivises da escala) usando a unidade. O espaamento entre os ticks determinado pelo parmetro TickSpacing. O parmetro E3 - Scripts - Manual de Referncia Mtodos 151 TimeUnit determina a unidade. Caso a escala seja numrica, a unidade no considerada. As opes disponveis no parmetro TimeUnit so as mesmas demonstradas na tabela do mtodo GetRealTimePeriod(). Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") ' 10 (caso seja a escala numrica, ' o valor da unidade no considerado) Chart.Axes.Item("NomeDoEixo").SetTickSpacing 10,0 Chart.Axes.Item("NomeDoEixo").SetTickSpacing 20,0 End Sub 5.20.3. Mtodos da Coleo de Eixos AddAxis(AxisName) Adiciona um novo eixo com o nome determinado no parmetro AxisName e retorna o eixo criado. Caso se tente criar um eixo com um nome que j existe, ser mostrada uma mensagem de erro. Querendo-se que o nome seja gerado automaticamente, deve-se passar o parmetro AxisName em branco. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Set newAxis = Chart.Axes.AddAxis("") newAxis.Color = RGB(255,0,0) End Sub Remove(Index) Remove o eixo atravs de seu nome ou ndice, conforme especificado no parmetro !ndex. Os eixos principais 0 e 1 no podem ser removidos. Caso se tente remov-los, aparecer uma mensagem de erro. Exemplos: Sub CommandButton1_Click() 'Este exemplo remove todos os eixos adicionais Set Chart = Screen.Item("E3Chart") While (Chart.Axes.Count>2) Chart.Axes.Remove(2) Wend End Sub E3 - Scripts - Manual de Referncia 152 Mtodos
Sub CommandButton1_Click() 'Remove um eixo adicional, se existir set Chart=Screen.Item("E3Chart1") Chart.Axes.Remove(2) End Sub 5.20.4. Mtodos da Pena AddPoint() Adiciona um ponto no final do buffer de tempo real. Portanto, o nmero de pontos que podem ser adicionados est relacionado ao tamanho deste buffer (propriedade BufferSize da pena). O tamanho do buffer s vlido aps o mtodo Connect() da pena. Este mtodo deve ser usado com pena de tempo real, e com a propriedade UseTimeStamp em False. Clear() Apaga os dados do buffer de tempo real, sem diminuir seu tamanho. Este mtodo no desconecta associaes, nem tampouco remove dados histricos. E3 - Scripts - Manual de Referncia Mtodos 153 Connect() O mtodo Connect() faz a pena conectar-se ao servidor para receber os dados de tempo real, associando as propriedades XField e YField. Se a pena j estiver conectada, o mtodo fica inativo. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.Disconnect() Pen1.Connect() End Sub Disconnect() O mtodo Disconnect() limpa os dados atuais e faz com que a pena no receba mais os dados de tempo real do seu tag associado. Se a pena j estiver desconectada o mtodo fica inativo. Quando o mtodo Disconnect() usado em uma pena mista (DataSourceType=2), ele remove a parte de tempo real, permanecendo a parte histrica. Em tempo de execuo, para que os dados de tempo real sejam mostrados novamente preciso chamar o mtodo Connect(). Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.Disconnect() Pen1.Connect() End Sub GetCursorPos(X,Y) Retorna a posio que o cursor interceptou a pena no E3Chart. Este mtodo possui os parmetros X e Y, que correspondem a posio XY do cursor. Se o mtodo for bem sucedido retorna True, caso contrrio, retorna False. Exemplo: Sub CommandButton1_Click() For each pen in Chart.Pens If pen.GetCursorPos(aa,bb) Then strResult = strResult&pen.name&":="&CSTr(CDate(aa))+_ "y" + cstr(bb) + vbnewline End If Next MsgBox strResult End Sub E3 - Scripts - Manual de Referncia 154 Mtodos 5.20.5. Mtodos da Coleo de Penas NOTA: A coleo de penas do E3Chart deve ser acessada atravs da propriedade Pens. AddPen(pen) O mtodo AddPen() adiciona uma nova pena ao E3Chart, retornando a pena criada. Exemplo: Sub CommandButton1_Click() 'Cria um nome a pena criada. Set Pen = Screen.Item("E3Chart1").Pens.AddPen("") MsgBox Pen.Name End Sub
SubCommandButton1_DbClick() 'Cria uma pena com o nome "Pen1". 'Se o nome existir, a pena incrementada. Set Pen = Screen.Item("E3Chart1").Pens.AddPen("Pen1") MsgBox Pen.Name End Sub
Sub CommandButton2_Click() 'Cria uma pena e associa a TagDemo1. Set Chart = Screen.Item("E3Chart1") Set Pen = Chart.Pens.AddPen("") MsgBox Pen.Name Pen.UsetimeStamp = True Pen.YField = "Dados.TagDemo1" Pen.Connect() End Sub E3 - Scripts - Manual de Referncia Mtodos 155 ChangePenPos(Source, Dest) Modifica a ordem de desenho das penas no E3Chart. Este mtodo possui os seguintes parmetros: Source: determina o ndice da pena a ser movida (comeando em 1); e Dest: determina o destino da pena (comeando em 1). Uma situao em que este mtodo especialmente til quando temos uma pena com o desenho de linha e outra com o desenho de rea. Se a pena de rea for desenhada depois da pena de linha, ela poder esconder a ltima. A soluo ento seria inverter a ordem de desenho destas penas. Exemplo: Sub CommandButton1_Click() 'Move a pena 1 para a posio 2 Screen.Item("E3Chart1").Pens.ChangePenPos(1,2) End Sub Item(Index) O mtodo Item() retorna um objeto Pena da coleo de penas, especificado pelo ndice. Este mtodo possui o parmetro !ndex, que pode ser do tipo numrico (se corresponder ao ndice da pena) ou texto (se corresponder ao nome da pena). Exemplo: Sub CommandButton1_Click() 'Obtm a primeira pena. Set Pen1 = Screen.Item("E3Chart1").Pens.Item(0) End Sub Remove(Name) O mtodo Remove() remove uma pena atravs do nome especificado. Este mtodo possui o parmetro Name, que determina o nome da pena a ser removida. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").Pens.Remove(1) End Sub E3 - Scripts - Manual de Referncia 156 Mtodos 5.20.6. Mtodos da Legenda Na legenda, podem ser selecionados vrias colunas. Cada coluna mostra um tipo de informao e possui um nome e um valor correspondente. A seguir, temos a tabela da descrio das colunas possveis na legenda. Opes disponveis para identificao das colunas OPO DESCRIO Cor da pena Mostra a cor da pena. Descriao Mostra a propriedade DocString da pena. DifX Mostra a diferena entre os cursores inicial e final. DifY Mmostra a diferena entre os pontos interpolados inicial e final no eixo Y. EscalaX Mostra o nome da escala associada ao tagX. EscalaY Mostra o nome da escala associada ao tagY. Estado Mostra o status da pena. FimX Mostra a posio final do cursor. FimY Mostra o ponto interpolado onde o cursor final cruza a pena. !nicioX Mostra a posio inicial do cursor. !nicioY Mostra o ponto interpolado onde o cursor inicial cruza a pena. NaximoY Mostra o valor mximo da pena no intervalo. NediaY Mostra o valor mdio da pena no intervalo. NinimoY Mostra o valor mnimo da pena no intervalo. Nome da pena Mostra o nome da pena Nome do tag X Mostra o nome do tagX associado pena. Nome do tag Y Mostra o nome do tagY associado pena. Unidade Mostra a unidade associada pena. valor do tag X Mostra o valor do tagX associado pena. Este valor mostrado quando o grfico est no modo de Pesquisa. valor do tag Y Mostra o valor do tagY associado pena. Este valor mostrado quando o grfico est no modo de Pesquisa.
ChangeColumnPos(Source, Dest) Troca a posio entre duas colunas. Possui os seguintes parmetros: Source: ndice da coluna que ser movida para Dest; e Dest: ndice da coluna que ser movida para Source. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").Legend.ChangeColumnPos 1,2 End Sub E3 - Scripts - Manual de Referncia Mtodos 157 Count() Retorna o nmero de colunas da legenda. Exemplo: Sub CommandButton1_Click() MsgBox Screen.Item("E3Chart1").Legend.Count() End Sub InsertColumn(Col, Index) Insere uma nova coluna na legenda. Este mtodo possui os seguintes parmetros: Col: identifica a coluna a ser inserida (ver Tabela de Identificao das Colunas, no incio do tpico Mtodos da Legenda); e !ndex: determina a posio em que a coluna ser inserida. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").Legend.InsertColumn 1,2 End Sub
Sub CommandButton1_Click() Screen.Item("E3Chart1").Legend.InsertColumn "Color",2 End Sub Item(Col) Retorna uma coluna da legenda pelo nome ou ndice. O parmetro Col determina o ndice ou o nome da coluna (ver Tabela de Identificao das Colunas, no incio do tpico Mtodos da Legenda). Exemplo: Sub CommandButton1_Click() MsgBox Screen.Item("E3Chart1").Legend.Item(1) End Sub RemoveColumn(Col) Remove uma coluna. Este mtodo possui o parmetro Col, que determina a coluna que ser removida (ver Tabela de Identificao das Colunas, no incio do tpico Mtodos da Legenda). Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").Legend.RemoveColumn (1) End Sub E3 - Scripts - Manual de Referncia 158 Mtodos 5.20.7. Mtodos da Coleo de Consultas NOTA: Os mtodos a seguir so usados para manipular a coleo de consultas (Queries). AddQuery(QueryName, vbIsInternal) Adiciona uma consulta na coleo de consultas do E3Chart. Este mtodo possui os parmetros QueryName, que determina o nome da consulta que est sendo adicionada, e vb!s!nternal, que opcional, obsoleto e no deve ser informado. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").Queries.AddQuery("Consulta1") End Sub Item(Index) O mtodo Item() retorna um objeto Consulta da coleo de consultas, especificado pelo ndice. Este mtodo possui o parmetro !ndex, que pode ser do tipo numrico (se corresponder ao ndice da consulta) ou texto (se corresponder ao nome da consulta). Exemplo: Sub CommandButton1_Click() Set query = Screen.Item("E3Chart1").Queries.Item(0) End Sub Remove(Index) Remove o objeto Consulta especificado pelo nome ou ndice da coleo de consultas Este mtodo possui o parmetro !ndex, que pode ser do tipo numrico (se corresponder ao ndice da consulta) ou texto (se corresponder ao nome da consulta). Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").Queries.Remove(0) End Sub UpdateData() Atualiza os dados de todas as consultas. Exemplo: Sub Texto1_Click() Set E3Chart1 = Screen.Item("E3Chart1") E3Chart1.Queries.UpdateData() E3 - Scripts - Manual de Referncia Mtodos 159 End Sub 5.21. Mtodos de Frmulas CreateUnit(bstrUnitName) Cria uma unidade na tabela de frmulas. Este mtodo possui o parmetro bstrUnitName que determina o nome da unidade a ser criada. Retorna True se conseguir realizar a operao; caso contrrio, retorna False. Exemplo: Sub Botao1_Click() Dim val 'Quando clica no boto, cria uma nova Unit Application.GetObject("Formula1").CreateUnit("Unit2") End Sub CreateValue(bstrValueName) Cria um conjunto de valores na tabela de frmulas. Este mtodo possui o parmetro bstrvalueName, que determina o nome do conjunto a ser criado. Retorna True se conseguir realizar a operao; caso contrrio, retorna False. Exemplo: Sub Boto1_Click() Dim val 'Quando clica no boto, cria um novo Valor Application.GetObject("Formula1").CreateValue("Modelo5") End Sub DeleteUnit(bstrUnitName) Apaga uma unidade na tabela de frmulas. Este mtodo possui o parmetro bstrUnitName, que informa o nome da unidade a ser apagada. Retorna True se conseguir realizar a operao; caso contrrio, retorna False. Exemplo: Sub boto1_Click() Dim val 'Quando clica no boto, apaga a unit Application.GetObject("Formula1").DeleteUnit("Unit2") End Sub E3 - Scripts - Manual de Referncia 160 Mtodos DeleteValue(bstrValueName) Apaga um conjunto de valores na tabela de frmulas. Este mtodo possui o parmetro bstrvalueName, que informa o conjunto de valores a ser apagado. Retorna True se conseguir realizar a operao; caso contrrio, retorna False. Exemplo: Sub Botao1_Click() Dim val 'Quando clica no boto, apaga um conjunto de valores Application.GetObject("Formula1").DeleteValue("Modelo5") End Sub FindUnit(bstrUnitName) Verifica se uma determinada unidade existe no banco de dados das frmulas. Este mtodo possui o parmetro bstrUnitName, que determina o nome da unidade a ser encontrada. O mtodo retorna True se conseguir realizar a operao; caso contrrio, retorna False. Exemplo: Sub Boto1_Click() Dim val 'Quando clica no boto, aparece uma caixa de mensagem '(messagebox) com o resultado MsgBox (Application.GetObject("Formula1")._ FindUnit("Unit2")) End Sub FindValue(bstrValueName) Verifica se um determinado conjunto de valores existe no banco de dados de frmulas. Este mtodo possui o parmetro bstrvalueName, que informa o nome do conjunto a ser verificado. Retorna True se conseguir realizar a operao; caso contrrio, retorna False. Exemplo: Sub Botao1_Click() Dim val 'Quando clica no boto aparece uma caixa de mensagem '(messagebox) com o resultado MsgBox CStr(Application.GetObject("Formula1")._ FindValue("Modelo5")) End Sub E3 - Scripts - Manual de Referncia Mtodos 161 GetUnitData(bstrUnitName, bstrTemplateName, pVal) Coloca na varivel indicada em pval o tag associado unidade bstrUnitName do template bstrTemplateName. Retorna True se a operao foi bem-sucedida, ou False, caso contrrio. Exemplo: Sub Botao1_Click() Dim qualTag, qualFormula Application.GetObject("Formula1").GetUnitData_ "Unidade1", "Template2", var1 End Sub GetValueData(bstrValueName, bstrTemplateName, pVal) Coloca na varivel pval o valor do conjunto de valores bstrvalueName que est associado ao template bstrTemplateName. Retorna True se a operao foi bem-sucedida, ou False, caso contrrio. Exemplo: Sub Botao1_Click() Dim Valor, qualFormula Application.GetObject("Formula1").GetValueData_ "Valores4", "Template2", var1 End Sub LoadFormulaValuesQuiet(bstrUnitName, bstrValueName) Carrega um conjunto de valores para uma unidade de destino, sem apresentar nenhuma mensagem. Este mtodo possui os seguintes parmetros: bstrUnitName: determina o nome da unidade e bstrvalueName: determina o nome do conjunto de valores. Retorna True quando executado com sucesso, e False quando falha (o que no significa um erro de script, necessariamente). NOTA: Este mtodo tambm acessado atravs do objeto Viewer. Exemplo: Sub Botao1_Click() Application.LoadFormulaValuesQuiet_ "Formula1", "Unidade3", "Valores1" End Sub RenameUnit(bstrUnitName, bstrNewUnitName) Renomeia uma determinada unidade existente na tabela de frmulas. Retorna True se conseguir realizar a operao, ou False, caso contrrio. Este mtodo possui os E3 - Scripts - Manual de Referncia 162 Mtodos seguintes parmetros: bstrUnitName: determina o nome da unidade a ser encontrada; e bstrNewUnitName: informa o nome da unidade. Exemplo: Sub Botao1_Click() Dim val 'Quando clica no boto, renomeia uma unit Application._ GetObject("Formula1").RenameUnit "Unit2", "Unit3" End Sub RenameValue(bstrValueName, bstrNewValueName) Renomeia um determinado conjunto de valores existentes na tabela de frmulas. Retorna True se conseguir realizar a operao, ou False, caso contrrio. Este mtodo possui os seguintes parmetros: bstrvalueName: informa o nome do conjunto de valores; e bstrNewvalueName: informa o novo nome do conjunto de valores. Exemplo: Sub Boto1_Click() Dim val 'Quando clica no boto, renomeia um conjunto de valores Application._ GetObject("Formula1").RenameValue "Modelo5","ModeloABC" End Sub SaveFormulaValues(bstrUnitName, bstrValueName, [IgnoreErrors]) Este mtodo salva os valores atuais dos tags de uma unidade de origem em um conjunto de valores na tabela de frmulas. Este mtodo no faz a verificao dos limites, caso o template tenha restrio do tipo absoluta. O parmetro bstrUnitName o nome da unidade de origem, e o parmetro bstrvalueName o conjunto de valores que ser salvo. Retorna True se conseguir realizar a operao; do contrrio, retorna False. O parmetro !gnoreErrors, quando em True, faz com que todos os valores sejam gravados, independentemente de haver erros de links na Frmula. Seu valor padro False, no entanto. Exemplo: Sub CommandButton1_Click() Application. GetObject("Formula1")._ SaveFormulaValues "Unid1", "Valor1" End Sub E3 - Scripts - Manual de Referncia Mtodos 163 SetUnitData(bstrUnitName, bstrTemplateName, bstrData) Carrega para a tabela de frmulas o tag identificado para um certo modelo (template), numa determinada unidade. Retorna True se conseguir realizar a operao, ou False, caso contrrio. Este mtodo possui os seguintes parmetros: bstrUnitName: informa o nome da unidade; bstrTemplateName: informa o nome do template do tag; e bstrData: informa o nome da varivel que contm o nome do tag. Exemplo: Sub Botao1_Click() Dim val Application.GetObject("Formula1").SetUnitData_ "Unidade2", "Template5", 50 End Sub SetValueData(bstrValueName, bstrTemplateName, bstrData) Altera o valor referente a um template definido para um determinado conjunto de valores. Este mtodo faz a verificao dos limites, retornando True se conseguir realizar a operao, ou False, caso contrrio. Este mtodo possui os seguintes parmetros: bstrvalueName: determina o nome do conjunto de valores; bstrTemplateName: determina o nome do template; e bstrData: determina o nome da varivel que possui o valor. Exemplo: Sub Botao1_Click() Dim val Application.GetObject("Formula1").SetValueData_ "Unidade2", "Template1", 100 End Sub E3 - Scripts - Manual de Referncia 164 Mtodos 5.22. Mtodos dos Relatrios Export([ExportFilter], [ExportFileName]) Imprime um relatrio de acordo com o formato especificado no arquivo. Este mtodo possui o parmetro strExportFilter, que determina o filtro para o relatrio, indicando o formato para a exportao. Pode assumir as seguintes opes: PDF: Exporta os dados para o formato Adobe PDF. Excel: Exporta os dados para o formato de planilha Excel. HTML: Exporta os dados para o formato HTML. TEXT: Exporta os dados para um arquivo-texto. RTF: Exporta os dados para o formato Rich Text Format. TIFF: Exporta os dados para o formato Tag Image File Format.
Ao simplesmente informar o nome de um filtro como exposto acima, os dados sero exportados utilizando-se as propriedades em comum de cada filtro. Pode-se modificar as propriedades comuns de um filtro de exportao atravs do mtodo GetExportFilter() antes de exportar os dados. O nome do arquivo deve ser informado no parmetro strExportFileName. E3 - Scripts - Manual de Referncia Mtodos 165 Exemplo: Sub Button1_Click() Set report = Application.LoadReport("[Relatrio3]") Select case Application._ SelectMenu("PDF|Excel|HTML|RTF|Texto|TIFF|Texto(CSV)") Case 1 Report.Export "PDF", "C:\correio\reports\report.pdf" MsgBox "Exportado para PDF!" Case 2 Report.Export "EXCEL", "C:\correio\reports\report.XLS" MsgBox "Exportado para XLS!" Case 3 Report.Export "HTML", "C:\correio\reports\report.html" MsgBox "Exportado para HTML!" Case 4 Report.Export "RTF", "C:\correio\reports\report.rtf" MsgBox "Exportado para RTF!" Case 5 Report.Export "TEXT", "C:\correio\reports\report.txt" MsgBox "Exportado para TXT!" Case 6 Report.Export "TIFF", "C:\correio\reports\report.tiff" MsgBox "Exportado para TIFF!" Case 7 Set reportFilter = report.GetExportFilter("TEXT") reportFilter.FileName="C:\correio\reports\report2.txt" reportFilter.TextDelimiter="," report.Export reportFilter MsgBox "Exportado para TXT usando filtro!" End Select End Sub E3 - Scripts - Manual de Referncia 166 Mtodos GetExportFilter(FilterName) Retorna um objeto que especifica a customizao dos parmetros de exportao. Este mtodo possui o parmetro FilterName, que determina o filtro para o relatrio, indicando o tipo de formato para a exportao. Pode assumir as seguintes opes: PDF: Exporta os dados para o formato Adobe PDF. Excel: Exporta os dados para o formato de planilha Excel. HTML: Exporta os dados para o formato HTML. TEXT: Exporta os dados para um arquivo- texto. RTF: Exporta os dados para o formato Rich Text Format. TIFF: Exporta os dados para o formato Tag Image File Format. Depois de obtido o filtro, as seguintes propriedades podem ser modificadas: Propriedades passveis de modificao PROPRIEDADE FILTRO DESCRIO AutoRowHeight Excel Em True (default), configura a altura da linha automaticamente. Em False, configura a altura para o maior elemento na linha. BorderSpace Excel Espaamento mnimo entre as clulas (Valor padro: 59 twips). CreateCSSFile HTML Se verdadeiro, gera um arquivo CSS no diretrio TMLOutputPath. DoubleBoundaries Excel Em True, indica que os elementos alinhados direita devem repor os alinhados esquerda na mesma coluna,. Caso contrrio, deixe em falso para liberar mais espao. ExportRange HTML Indica uma faixa de pginas para serem exportadas. Exemplo: 1, 2, 3-9, 14 FaxExport TIFF Objeto que permite exportar os dados no formato RFC 1314 TIFF. FileName Todos Informa o nome do arquivo para o qual os dados sero exportados. GenPageBreaks HTML Em True, colocar quebras de pgina abaixo do elemento mais inferior em cada pgina do relatrio. HTNLOutputPath HTML Caminho default para os arquivos HTML. JPGQuality PDF Indica o nvel de qualidade das imagens exportadas (0 a 100). NinColumnWidth Excel Tamanho mnimo da coluna. O valor padro 1011 twips. NinRowHeight Excel Tamanho mnimo da linha. E3 - Scripts - Manual de Referncia Mtodos 167 PROPRIEDADE FILTRO DESCRIO NultiSheet Excel Em True, cada pgina no relatrio vai para uma planilha separada. PageDelimiter TEXT Configura/Retorna o caractere delimitador entre pginas. SuppressEmptyLines TEXT Retira/Insere linhas vazias para efeito de layout. TextDelimiter HTML Configura/Retorna o caractere delimitador entre os textos. TrimEmptySpace Excel Em True, o espao vertical entre os elementos ser eliminado. O padro False. Unicode TEXT Determina se o texto vai ser salvo em formato Unicode (16 bits). WebCacheOutput HTML Em True, o relatrio ser exportado para o servio de WebCache. Caso contrrio (default), no ser exportado. Print() Imprime um relatrio. Exemplo: Sub Rect_Click() Application.LoadReport("[Relatrio3]").Print() End Sub PrintPreview() Faz uma prvia de impresso de relatrio na Tela. Se o relatrio for mostrado corretamente na tela, retorna True. Caso o usurio aperte o boto [Cancel| ou acontea algum erro, retorna False. E3 - Scripts - Manual de Referncia 168 Mtodos Exemplo: Sub CommandButton1_Click() Set report = Application.LoadReport("[Relatrio1]") Inicio = Application.GetObject("Dados.Grafico.datai").Value Final = Application.GetObject("Dados.Grafico.dataf").Value report.Item("Consulta1").SetVariableValue "Ini",Inicio report.Item("Consulta1").SetVariableValue "Fim",Final report.PrintPreview() End Sub Query() Retorna o objeto Consulta atualmente selecionado no relatrio, informado atravs da propriedade SourceQuery. (Pode haver mais de uma consulta no relatrio). Exemplo: Sub Rect_Click() Set Query = Application.LoadReport("[Relatrio3]").Query() Query.SetVariableValue("Chave1","XYZ") End Sub
Propriedades 169
Todo o objeto possui Propriedades, que servem para guardar informaes a respeito de suas caractersticas. Por exemplo: um objeto do tipo Retngulo possui a propriedade Name, que contm seu nome, e as propriedades Width e Height, que guardam a sua largura e a sua altura, respectivamente, entre outras. Neste captulo, listamos todas as propriedades dos objetos do E3. Cada entrada traz o nome da propriedade, descrio e, quando aplicvel, um exemplo de seu uso. O primeiro tpico (Propriedades Padro) introduz as propriedades presentes em todos os objetos do E3. Os tpicos seguintes trazem as propriedades especficas de cada objeto ou grupo de objetos mencionados em seu ttulo. Em alguns destes tpicos, o primeiro item tambm de propriedades comuns, neste caso, propriedades comuns a todos os objetos do grupo sendo descrito (por exemplo, no tpico Propriedades dos Objetos de Tela, o primeiro item Propriedades Padro dos Objetos de Tela, onde esto agrupadas todas as propriedades comuns a este grupo de objetos). As propriedades so identificadas por um cone que indica o tipo de dado suportado em seu contedo. Estes so: Tipos de Dados disponveis CONE DADO DESCRIO
Booleano Retorna Verdadeiro (True) ou Falso (False).
Numrico Retorna positivo, negativo, inteiro ou double, a ser definido pela propriedade. Data Retorna uma data em formato Gregoriano (desde 1899).
Texto Retorna um texto
variant Retorna um tipo Varivel, que pode assumir vrios formatos.
Cor Retorna uma cor no formato RGB.
Link Retorna uma associao entre objetos.
Enum Retorna um conjunto determinado de valores.
Capitulo 6 6. Propriedades E3 - Scripts - Manual de Referncia 170 Propriedades Algumas propriedades podem propagar seus valores mesma propriedade em seus objetos-filhos; neste caso, so chamadas de propriedades propagveis. Pode-se, no entanto, forar a propriedade do objeto-filho a se comportar de modo diferente. NOTA: O E3 utiliza para definio de coordenadas e espessura o sistema HIMETRIC. Neste sistema, cada unidade lgica equivale a um milsimo de centmetro; ou seja, cada 1000 unidades equivalem a 1 centmetro. Assim, este o padro adotado na descrio das propriedades do E3, quando aplicvel. 6.1. Propriedades Padro Application: A propriedade Application retorna o objeto de aplicao relacionado a este objeto. Com o objeto aplicao possvel, por exemplo, buscar outros objetos presentes no aplicativo. Exemplo: Sub Tela1_Click() 'Quando clica na tela, faz busca por um tag Dim obj Set obj = Application.GetObject("DataServer1.InternalTag1") obj.Value = 100 End Sub Count: Retorna o nmero de objetos-filhos (itens) que o objeto possui. Esta propriedade funciona em conjunto com o mtodo Item(). Se o objeto no possuir filhos, o valor retornado ser 0. Exemplo: Sub Tela1_Click() 'Num clique de tela, faz busca por todos 'os objetos da tela e ajusta a propriedade 'ForegroundColor para vermelho Dim obj For i=1 to Count Set obj = Item(i) 'Pega objeto filho obj.ForegroundColor = RGB(255,0,0) Next End Sub E3 - Scripts - Manual de Referncia Propriedades 171 DocString: Texto livre que tem por objetivo possibilitar a documentao das funcionalidades e/ou caractersticas do objeto pelos programadores do projeto. Exemplo: Sub CommandButton1_Click() Docstring = "Este boto ativa o condensador do sistema." MsgBox Docstring End Sub Links: Retorna um objeto que uma coleo das conexes (ou associaes) de um objeto qualquer do E3. Esta propriedade acessvel apenas em tempo de execuo. Name: Identifica cada um dos objetos presentes no sistema. Alterar esta propriedade implica em modificar todas as outras propriedades/scripts que utilizam este objeto. No aconselhvel a alterao desta propriedade em execuo. Exemplo: Sub CommandButton9_Click() MsgBox "O nome da Tela "&(Screen.Name) End Sub Parent: Retorna o objeto-pai deste objeto. Sendo assim, se um objeto est inserido na Tela, a propriedade Parent retorna o objeto Tela. Da mesma forma, se um Tag Interno est inserido diretamente abaixo de um Servidor de Dados, a propriedade Parent do Tag Interno apontar para o Servidor de Dados. Exemplo: Sub TagComunicacao1_OnStartRunning() 'Quando inicia o Tag de comunicao seta o P1 do pai, que ' um Driver de Comunicao Parent.P1 = 1 End Sub PathContainer: Retorna um string contendo o caminho do objeto que contm o objeto atual, incluindo as pastas. Este valor determinado apenas no momento em que for requisitado, por isso no recomendado criar associaes para esta propriedade. PathName: Identifica o caminho do objeto no sistema. Esta propriedade acessvel apenas em tempo de execuo. E3 - Scripts - Manual de Referncia 172 Propriedades Exemplo: Sub CommandButton9_Click() MsgBox "O path da Tela "&(Screen.PathName) End Sub PathVolume: Retorna um string contendo o nome do arquivo .prj ou .lib que contm o objeto. No E3 Studio, a propriedade retorna o caminho completo do projeto ou biblioteca ("c:\folder\folder\volume.prj"). Em tempo de execuo, os objetos que rodam no Viewer retornam sempre um string vazio. J os que rodam no servidor retornam o caminho relativo do projeto ou biblioteca, conforme ele estiver armazenado no Domnio (volume.prj). Este valor determinado apenas no momento em que for requisitado, por isso no recomendado criar associaes para esta propriedade. 6.2. Propriedades dos Drivers 6.2.1. Propriedades do Driver de Comunicao DriverLocation: Define qual ser o driver utilizado pelo driver de comunicao para efetuar a comunicao com o equipamento/dispositivo. Esta propriedade aceita um string com o caminho completo do driver. Aps isso, a propriedade DriverName mudar para a descrio do driver. Esta propriedade no pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade vazio. Exemplo: Sub Driver1_BeforeStart() 'Configura o DriverLocation como "c:\drivers\Driver1.dll" DriverLocation = "c:\drivers\" & Name & ".dll" End Sub DriverName: A propriedade DriverName contm o string que descreve o driver associado ao objeto driver de comunicao. Para isso, deve-se antes configurar a propriedade DriverLocation. Esta propriedade somente para leitura. O valor padro desta propriedade vazio. Exemplo: Sub Driver1_BeforeStart() MsgBox DriverName End Sub E3 - Scripts - Manual de Referncia Propriedades 173 EnableReadGrouping: Permite otimizaes de leitura (agrupamento automtico de tags). Esta propriedade no pode ser alterada em tempo de execuo. Seu valor padro False (no permite otimizaes de leitura). P1: Utilize a propriedade P1 para configurar o driver. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade no pode ser modificada aps iniciada a comunicao. Exemplo: Sub Driver1_BeforeStart() 'Driver1 um objeto do tipo Driver de Comunicao DriverLocation = "c:\driver\plc.dll" P1 = 2 P2 = 1 P3 = 9600 End Sub P2: Utilize a propriedade P2 para configurar o driver. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade no pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade 0. Exemplo: Sub Driver1_BeforeStart() 'Driver1 um objeto do tipo Driver de Comunicao DriverLocation = "c:\driver\plc.dll" P1 = 2 P2 = 1 P3 = 9600 End Sub P3: Utilize a propriedade P3 para configurar o driver. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade no pode ser modificada aps iniciada a comunicao. Exemplo: Sub Driver1_BeforeStart() 'Driver1 um objeto do tipo Driver de Comunicao DriverLocation = "c:\driver\plc.dll" P1 = 2 P2 = 1 P3 = 9600 End Sub E3 - Scripts - Manual de Referncia 174 Propriedades P4: Utilize a propriedade P4 para configurar o driver. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade no pode ser modificada aps iniciada a comunicao. Exemplo: Sub Driver1_BeforeStart() 'Driver1 um objeto do tipo Driver de Comunicao DriverLocation = "c:\driver\plc.dll" P1 = 2 P2 = 1 P3 = 9600 P4 = 500 End Sub ParamDevice: Define o endereo do equipamento acessado pelo driver. Esta propriedade herdada pelos tags filhos do driver, que podem sobrescrever este valor, se necessrio. ReadRetries: Indica o nmero de re-tentativas de leitura do driver em caso de erro. Se for configurado para 2, por exemplo, indica que o driver vai tentar duas vezes mais uma comunicao falhada, sem contar a tentativa original. ShareMaximum: A propriedade ShareMaximum define o nmero mximo de drivers de comunicao que sero agrupados em um I/O Server compartilhado. Esta propriedade s utilizada se a propriedade ShareServer estiver habilitada. Exemplo: ' Este driver no ser compartilhado ShareServer = False ShareMaximum = <qualquer valor> 'todos os drivers sero agrupados no mesmo IOServer 'no define um limite ShareServer = True ShareMaximum = 0 'agrupa cada 5 drivers em um IOServer ShareServer = True ShareMaximum = 5 ShareServer: Se a propriedade ShareServer estiver configurada para True, isto significa que este driver ir compartilhar sua execuo entre os demais objetos Driver de Comunicao que possuam o mesmo string em DriverLocation. Isto implica que somente o primeiro driver de comunicao configurado executar a inicializao da comunicao. Todos os demais objetos driver de comunicao E3 - Scripts - Manual de Referncia Propriedades 175 compartilhados ignoraro todos os parmetros de configurao P1 at P4, e tambm outras configuraes. Do contrrio, se a propriedade estiver configurada para False, o driver no compartilhar qualquer tipo de comunicao com outros objetos Driver de Comunicao. Esta propriedade no pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade False. WriteFeedbackMode: Esta propriedade permite controlar a confirmao (ou feedback) das escritas em tags. aplicvel somente a tags que possam ser lidos, ou seja, possuam a propriedade AllowRead em True. Atravs desta propriedade, possvel tornar mais imediata a leitura de tags que recebem escritas. Esta propriedade possui as seguintes opes de configurao: Opes disponveis para WriteFeedbackMode OPO DESCRIO 0- wfWaitNextRead A leitura do tag ser feita normalmente no prximo scan. 1- wf!mmediateReadAfterWrite Aps cada escrita, uma leitura de confirmao ser feita o mais cedo possvel. 2- wfTrustWriteSuccess Se o driver indicar sucesso na escrita, o valor escrito assumido diretamente pelo tag, sem l-lo do PLC.
O valor padro desta propriedade 1-wf!mmediateReadAfterWrite. Aplicaes anteriores a existncia desta propriedade assumem o valor 0-wfWaitNextRead quando carregadas. Exemplo: Sub CommandButton1_Click() Dim modo modo = Application.GetObject("Driver1").WriteFeedbackMode MsgBox modo Select case modo Case 0 MsgBox "A leitura do tag ser feita no prximo scan" Case 1 MsgBox "Aps cada escrita, uma leitura de confirmao_ ser feita o mais cedo possvel" Case 2 MsgBox "Se o driver indicar sucesso na escrita, _ o valor escrito assumido diretamente pelo o tag, _ sem l-lo do PLC." End Select End Sub E3 - Scripts - Manual de Referncia 176 Propriedades NOTA: Quando for usado o modo 2- wfTrustWriteSuccess, o timestamp e a qualidade podem ficar errados, j que numa escrita bem sucedida, o valor assumido pelo tag sem buscar o Timestamp e a Qualidade no PLC. Alm disso, o prprio valor assumido pode ter um pequeno desvio devido a qualquer tipo de arredondamento que possa ocorrer no driver e/ou PLC. Deve ser levado em conta ainda que alguns drivers ou protocolos podem indicar sucesso, mesmo quando a escrita falhou. Por tudo isso, os outros modos (1-wfImmediateReadAfterWrite ou 0- wfWaitNextRead) devem ser preferidos sempre que possvel. WriteRetries: Indica o nmero de re-tentativas de escrita do driver em caso de erro. Se for 2, indica que o driver vai tentar duas vezes mais uma comunicao falhada, sem contar a tentativa original. WriteSyncMode: Determina como as escritas sero enviadas para o IOServer (modo sncrono ou assncrono). Esta propriedade possui as seguintes opes de configurao: Opes disponveis para WriteSyncMode OPO DESCRIO 0-wsmDefault Modo sncrono (padro). 1-wsmSync Modo sncrono. Sempre que um valor escrito em algum tag o E3Run envia a escrita para o IOServer e aguarda o retorno da escrita 2-wsmAsyncUnconfirmed Modo assncrono sem confirmao. Todas as escritas so enviadas para o IOServer sem aguardar o retorno, e assume-se sempre que a escrita funcionou. Quando em modo assncrono, os mtodos de escrita dos tags (Write, WriteEx) sempre retornam True imediatamente, e o status da escrita (nos mtodos que retornam este status) fica sempre vazio (Empty). O script OnTagWrite do driver executado assim que a escrita enviada para o IOServer, e o parmetro Succeeded fica sempre em True.
As escritas assncronas sero executadas pelo IOServer assim que o driver ficar disponvel (quando a leitura atual tiver acabado). Se vrias escritas assncronas forem enviadas para o IOServer, o driver s retomar as leituras depois que todas as escritas assncronas forem executadas. E3 - Scripts - Manual de Referncia Propriedades 177 6.2.2. Propriedades do Tag de Comunicao AdviseType: Controla o modo Advise. As opes disponveis so: Opes disponveis para AdviseType OPO DESCRIO 0- Always!nAdvise O tag mantido atualizado se a propriedade AllowRead for True. 1- AdviseWhenLinked O tag s atualizado se AllowRead for True e o tag estiver associado a algum objeto ativo, por exemplo, um Display de uma Tela aberta, um Alarme habilitado, entre outros. A associao do tag para esse propsito pode ser feita nas seguintes propriedades: Value, RawValue, TimeStamp, Quality e Bit00 .. Bit31 do Tag de Comunicao.
Exemplo: Sub CommandButton3_Click() MsgBox Application._ Application.GetObject("Driver1.Tag1").AdviseType End Sub AllowRead: Configure esta propriedade para definir se este tag dever ou no ser lido pelo driver de comunicao. Se esta propriedade estiver configurada para True, o driver automaticamente atualizar as propriedades Value e Bits (de Bit00 at Bit31) deste objeto em intervalos de tempo definidos pela propriedade Scan. Caso contrrio, este tag de comunicao no ser lido. Esta propriedade pode ser modificada em execuo. O valor padro desta propriedade True. Exemplo: Sub Botao1_Click() 'Faz com que seja parada a leitura do tag Set obj = Application.GetObject("Driver1.tag") obj.AllowRead = False End Sub AllowWrite: Configure esta propriedade para definir se este tag dever ou no ser escrito automaticamente quando for modificada a propriedade Value ou qualquer propriedade Bit (de Bit00 at Bit31). Se esta propriedade estiver configurada para True, as modificaes sero enviadas para o equipamento/dispositivo associado ao driver de comunicao. Caso contrrio, as modificaes sero ignoradas. O valor padro desta propriedade True. Exemplo: Sub Botao1_Click() 'Faz com que seja desabilitada a escrita do tag E3 - Scripts - Manual de Referncia 178 Propriedades Set obj = Application.GetObject("Driver1.tag") obj.AllowWrite = False End Sub Bit00-Bit031: As propriedades de bit Bit00 at Bit31 representam juntas os 32 bits do valor presente na propriedade Value do objeto tag de comunicao, sendo Bit00 o bit menos significativo e Bit31 o bit mais significativo. Modificar cada um destes bits implica na igual modificao da propriedade Value do tag, e vice-versa, mas isto somente ocorre quando a propriedade UseBitFields estiver configurada para True. O valor padro destas propriedades False. DeviceHigh: A propriedade DeviceHigh define qual o valor mximo atingido pelo tag no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 1000. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. DeviceLow: A propriedade DeviceLow define o valor mnimo atingido por este tag no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. Exemplo: E3 - Scripts - Manual de Referncia Propriedades 179 Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC, mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala, isto , representam os bits do valor lido do equipamento, antes da converso. EnableDeadBand: A propriedade EnableDeadBand habilita/desabilita a propriedade PercentDeadBand. Se esta propriedade estiver configurada para True, o valor do tag atualizado somente se este mudar e o novo valor exceder o limite definido pela propriedade PercentDeadBand. Caso contrrio, o tag sempre atualizado e o limite de deadband (banda morta) no verificado. Sempre mantenha a banda morta (deadband) habilitada, pois ela melhora a performance da aquisio de dados e processamento. Voc deve desabilitar o deadband somente em casos onde o Driver de Comunicao estiver retornando eventos de tags digitais ou analgicos, e seja necessrio processar estes eventos via script no evento OnRead do tag. O valor padro desta propriedade True. EnableDriverEvent: Esta propriedade utilizada para controlar a gerao do evento OnTagRead, que ocorre no driver de comunicao que contm o bloco. Se a propriedade EnableDriverEvent do tag estiver configurada para True, ser habilitada a gerao do evento OnTagRead por este tag. Caso contrrio, no ocorre. Os trs tipos de elementos de comunicao (tag de comunicao, bloco de comunicao e elemento de bloco) podem gerar este evento. O evento ocorre no driver e no no bloco. EnableScaling: A propriedade EnableScaling habilita/desabilita a escala de valor para o valor enviado e recebido do equipamento/dispositivo. Se esta propriedade estiver configurada para True, todo valor proveniente do equipamento/dispositivo sofrer ajuste de escala nas propriedades DeviceHigh, DeviceLow, EUHigh e EULow, antes de ser atribudo propriedade Value. Caso contrrio, nenhum ajuste de escala ser efetuado em nenhum dos dois sentidos (escrita e leitura). Exemplo: E3 - Scripts - Manual de Referncia 180 Propriedades Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EU: Esta propriedade utilizada para identificar a unidade de engenharia que o valor representa, como por exemplo: graus, metros, KW/h etc. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EUHigh: Define qual o valor mximo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 1000. E3 - Scripts - Manual de Referncia Propriedades 181 Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso.
EULow: Define qual o valor mnimo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 0. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EULow = 100 End Sub NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. E3 - Scripts - Manual de Referncia 182 Propriedades N1: Especifica a varivel do equipamento/dispositivo a que este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade 0. Exemplo: Sub Tag_OnStartRunning() N1 = 10 End Sub N2: Especifica a varivel do equipamento/dispositivo a que este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade 0. Exemplo: Sub Tag_OnStartRunning() N2 = 3 End Sub N3: Especifica a varivel do equipamento/dispositivo a que este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade 0. Exemplo: Sub Tag_OnStartRunning() N1 = 10 N3 = 5 N4 = 20 End Sub N4: Especifica a varivel do equipamento/dispositivo a que este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade 0. Exemplo: Sub Tag_OnStartRunning() N1 = 10 N4 = 20 End Sub E3 - Scripts - Manual de Referncia Propriedades 183 ParamDevice: Define o endereo do equipamento acessado pelo tag. Esta propriedade herdada do driver, mas seu valor pode ser sobrescrito, se necessrio. ParamItem: Identifica o dado que o tag acessa dentro de um equipamento. PercentDeadBand: A propriedade PercentDeadBand determina a variao mnima do valor (banda morta) de um tag, para que seu valor no E3 seja atualizado. Este valor especificado como um percentual da diferena entre as propriedades DeviceHigh e DeviceLow. Esta propriedade s ser utilizada caso a propriedade EnableDeadBand do mesmo tag esteja configurada para True. Se a propriedade PercentDeadband for igual a 0, o tag no ter banda morta, e qualquer variao no seu valor ser repassada para o E3. Caso contrrio, s ser enviado para o E3 um novo valor cuja diferena, em relao ao valor atual no E3, seja maior que a banda morta. O valor padro desta propriedade 0. Quality: A propriedade Quality informa qual a qualidade do valor contido na propriedade Value. Cada vez que o Driver atribui um novo valor para o Tag, ele tambm configura a qualidade daquele dado. Esta propriedade somente para leitura. O valor padro desta propriedade 0 (Qualidade Ruim). NOTA: Para maiores informaes sobre qualidade, consulte o tpico Propriedade Quality ou o tpico Qualidade no Manual do Usurio. RawValue: Acessa o valor original do tag anterior escala, ou seja, independentemente da configurao da propriedade EnableScaling. Ento, se esta propriedade for False, as propriedades Value e RawValue apresentam o mesmo comportamento. Scan: Utilize a propriedade Scan para especificar o tempo de varredura que ser utilizado pelo servidor para atualizar a propriedade Value. Esta propriedade representada em milissegundos e pode ser modificada aps iniciada a comunicao, sendo utilizada apenas quando a propriedade AllowRead estiver configurada para True. Ao configurar esta propriedade nos diversos tags presentes na aplicao, recomenda-se aumentar o valor da propriedade Scan para aqueles tags que no variam muito no equipamento/dispositivo, possibilitando assim que outros tags de maior prioridade sejam lidos com maior freqncia, aumentando assim a performance geral do sistema. O valor padro desta propriedade 1000 (1 segundo). O valor do scan deve ser maior que 0. Exemplo: Sub Tag_OnStartRunning() Scan = 1500 End Sub E3 - Scripts - Manual de Referncia 184 Propriedades TimeStamp: A propriedade TimeStamp atualizada sempre que ocorrer alguma mudana de valor ou estado nas propriedades Value ou Quality. Ele informa qual a data/hora associada tanto ao valor quanto qualidade do tag de comunicao. Esta uma propriedade somente para leitura. O valor padro desta propriedade 00:00:00. UseBitFields: Caso a propriedade UseBitFields esteja configurada para True, toda vez que o valor da propriedade Value for modificada, ele atualizar os bits referentes s propriedades Bit00 at Bit31. Da mesma forma, atualizar o valor de Value toda vez que alguma das propriedades Bit00 at Bit31 mudar de valor e posteriormente enviar para o equipamento/dispositivo, se a propriedade AllowWrite estiver configurada para True. Caso contrrio, os bits no sofrero/acarretaro qualquer mudana. Esta propriedade pode ser atualizao aps ter sido iniciada a comunicao. NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetados pelo ajuste de escala, isto , representam os bits do valor lido do equipamento, antes da converso. Value: Atualizada sempre que uma nova leitura vlida de um valor do equipamento/dispositivo for feita, utilizando-se a parametrizao N1 at N4.O tipo desta varivel (nmero inteiro, ponto flutuante, texto) depende do driver ao qual o tag est associado e da sua parametrizao. Esta propriedade somente ser atualizada desta forma se a propriedade AllowRead estiver configurada para True, e quando no houver erros de comunicao (neste caso somente as propriedades Quality e TimeStamp sero atualizadas), de acordo com o tempo de varredura definido em Scan. Outra forma de utilizar esta propriedade para escrever valores no equipamento/dispositivo, bastando para isto atribuir um novo valor propriedade Value ou a algum dos bits Bit00-Bit31. Neste caso, a propriedade AllowWrite deve estar configurada para True. Esta tambm a propriedade padro do objeto Tag de Comunicao. Sendo assim, uma referncia por valor a um Tag de Comunicao no necessita obrigatoriamente explicitar a propriedade Value para acessar o valor. O valor padro desta propriedade vazio (sem valor). Exemplo: Sub Botao1_Click() 'Acessa um tag e mostra o valor atual 'tag1 um objeto tipo Tag de Comunicao Set obj = Application.GetObject("Driver de Comunicao1._ tag1") MsgBox "Valor atual de tag1: " & obj.Value 'Isto tambm pode ser feito de outra forma, 'sem mostrar a propriedade Value, que padro MsgBox "Valor atual de tag1: " & obj E3 - Scripts - Manual de Referncia Propriedades 185 End Sub NOTA: Os valores dos bits (Propriedades Bit00...Bit31) no so afetados pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. 6.2.3. Propriedades do Bloco de Comunicao AdviseType: Controla o modo Advise. As opes disponveis so: Opes disponveis para AdviseType OPO DESCRIO 0- Always!nAdvise O tag mantido atualizado se a propriedade AllowRead for True. 1- AdviseWhenLinked O tag s atualizado se AllowRead for True e o tag estiver associado a algum objeto ativo, por exemplo, um Display de uma Tela aberta, um Alarme habilitado, entre outros. A associao do tag para esse propsito pode ser feita nas seguintes propriedades: Value, RawValue, Quality e Bit00 .. Bit31 de Elementos de Bloco, e Quality e TimeStamp de Blocos de Comunicao.
AllowRead: Define se este bloco dever ou no ser lido pelo driver de comunicao. Caso a propriedade AllowRead esteja habilitada, ento o driver automaticamente atualizar os elemento de comunicao inseridos neste bloco, em intervalos de tempo definidos pela propriedade Scan. Caso contrrio, este bloco de comunicao no ser lido ou atualizado. Esta propriedade pode ser modificada em execuo. O valor padro desta propriedade True. Exemplo: Sub Botao1_Click() 'Faz com que seja parada a leitura do bloco Set obj = Application.GetObject("Driver1.bloco1") obj.AllowRead = False End Sub AllowWrite: Define se este bloco dever ou no ser escrito quando for modificada a propriedade Value de seus Elemento do Bloco de comunicao. Se esta propriedade estiver configurada para True, as modificaes sero enviadas para o equipamento/dispositivo associado ao driver de comunicao. Caso contrrio as modificaes sero ignoradas. Os elementos de comunicao no aceitaro valores, caso esta propriedade estiver configurada para False, ao no ser que a propriedade AllowRead tambm estiver configurada para False. Exemplo: Sub Botao1_Click() 'Faz com que seja desabilitada a escrita do bloco Set obj = Application.GetObject("Driver1.bloco1") E3 - Scripts - Manual de Referncia 186 Propriedades obj.AllowWrite = False End Sub B1: Especifica a qual conjunto de dados no equipamento/dispositivo este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. Exemplo: Sub Bloco1_BeforeStart() B1 = 2 B2 = 1 B3 = 9600 End Sub B2: Especifica a qual conjunto de dados no equipamento/dispositivo este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. Exemplo: Sub Bloco1_BeforeStart() B1 = 2 B2 = 1 B3 = 9600 End Sub B3: Especifica a qual conjunto de dados no equipamento/dispositivo este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. Exemplo: Sub Bloco1_BeforeStart() B1 = 2 B2 = 1 B3 = 9600 End Sub B4: Especifica a qual conjunto de dados no equipamento/dispositivo este tag estar associado. Consulte a documentao do driver para sua correta parametrizao. Esta propriedade pode ser modificada aps iniciada a comunicao. Exemplo: Sub Bloco1_BeforeStart() B1 = 2 B2 = 1 E3 - Scripts - Manual de Referncia Propriedades 187 B3 = 9600 B4 = 524 End Sub EnableDeadBand: A propriedade EnableDeadBand habilita/desabilita a propriedade PercentDeadBand. Se esta opo estiver configurada para True, o valor do bloco atualizado somente se este mudar e o novo valor exceder o limite definido pela propriedade PercentDeadBand. Caso contrrio, o bloco sempre atualizado e o limite de deadband (banda morta) no verificado. Sempre que possvel, recomendado manter a deadband (banda morta) habilitada, pois ela melhora a performance da aquisio e processamento de dados. Normalmente, a banda morta ser desabilitada apenas para os tags que retornem valores que representem eventos que precisem ser tratados no script OnRead do tag. O valor padro desta propriedade True. EnableDriverEvent: Esta propriedade utilizada para controlar a gerao do evento OnTagRead, que ocorre no driver de comunicao que contm o bloco. Se a propriedade EnableDriverEvent do tag estiver configurada para True, ser habilitada a gerao do evento OnTagRead por este tag. Caso contrrio, no ocorre. Os trs tipos de elementos de comunicao (tag de comunicao, bloco de comunicao e elemento de bloco) podem gerar este evento. O evento ocorre no driver e no no bloco. ParamDevice: Define o endereo do equipamento acessado pelo bloco. Esta propriedade herdada do driver, mas seu valor pode ser sobrescrito, se necessrio. ParamItem: Identifica o dado que o bloco acessa dentro de um equipamento. Quality: A propriedade Quality informa qual a qualidade do valor contido na propriedade Value. Cada vez que o Driver atribui um novo valor para o Bloco, ele tambm configura a qualidade daquele dado. Esta propriedade somente para leitura. O valor padro desta propriedade 0 (Qualidade Ruim). NOTA: Para maiores informaes sobre qualidade, consulte o tpico Propriedade Quality ou o tpico Qualidade no Manual do Usurio. Scan: Especifica qual o tempo de varredura ser utilizado pelo servidor para atualizar o bloco. Esta propriedade representada em milissegundos e pode ser modificada aps iniciada a comunicao, sendo utilizada apenas quando a propriedade AllowRead estiver habilitada. Ao configurar esta propriedade nos diversos blocos presentes na aplicao, recomenda-se aumentar o valor da propriedade Scan para aqueles blocos que no variam muito no equipamento/dispositivo, possibilitando assim que outros blocos de maior prioridade sejam lidos com maior freqncia, aumentando assim a performance geral do E3 - Scripts - Manual de Referncia 188 Propriedades sistema. O valor padro desta propriedade 1000 (1 segundo). O valor do scan deve ser maior que zero. Exemplo: Sub Bloco de comunicao1_BeforeStart() Scan = 152 End Sub Size: Define o tamanho do conjunto de valores deste bloco. Consulte a documentao do driver utilizado para conhecer qual o limite para esta propriedade, de acordo com os parmetros B1 at B4. Criando os elementos de bloco, voc possibilita o acesso aos valores lidos e tambm permite a escrita de valores para equipamento/dispositivo. Esta propriedade no pode ser modificada aps a comunicao ser iniciada. O valor padro desta propriedade 0. Exemplo: Sub Bloco de comunicao1_BeforeStart() Size = 10 End Sub TimeStamp: A propriedade TimeStamp atualizada sempre que ocorrer alguma mudana de valor ou estado nas propriedades Value ou Quality. Ele informa qual a data/hora associada tanto ao valor quanto qualidade do bloco de comunicao. Esta uma propriedade somente para leitura. O valor padro desta propriedade 00:00:00. 6.2.4. Propriedades do Elemento de Bloco Bit00-Bit031: As propriedades de bit Bit00 at Bit31 representam juntas os 32 bits do valor presente na propriedade Value do elemento de bloco, sendo Bit00 o bit menos significativo e Bit31 o bit mais significativo. Modificar cada um destes bits implica na igual modificao da propriedade Value do elemento, e vice-versa, mas isto somente ocorre quando a propriedade UseBitFields estiver configurada para True. O valor padro destas propriedades False. DeviceHigh: A propriedade DeviceHigh define o valor mximo atingido pelo elemento de bloco no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 1000. E3 - Scripts - Manual de Referncia Propriedades 189 Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no PLC, mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub DeviceLow: A propriedade DeviceLow define qual o valor mnimo atingido por este elemento no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 0. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no PLC, mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EnableDriverEvent: Esta propriedade utilizada para controlar a gerao do evento OnTagRead, que ocorre no driver de comunicao que contm o bloco. Se a propriedade EnableDriverEvent do tag estiver configurada para True, ser habilitada a gerao do evento OnTagRead por este tag. Caso contrrio, no ocorre. Os trs tipos de elementos de comunicao (tag de comunicao, bloco de comunicao e elemento de bloco) podem gerar este evento. O evento ocorre no driver e no no bloco. E3 - Scripts - Manual de Referncia 190 Propriedades EnableScaling: A propriedade EnableScaling habilita/desabilita a escala de valor para o valor enviado e recebido do equipamento/dispositivo. Se esta propriedade estiver configurada para True, todo valor proveniente do equipamento/dispositivo sofrer ajuste de escala conforme as propriedades DeviceHigh, DeviceLow, EUHigh e EULow antes de ser atribudo propriedade Value. Caso contrrio, nenhum ajuste de escala ser efetuado em nenhum dos dois sentidos (escrita e leitura). O valor padro desta propriedade False. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no PLC, mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EU: Esta propriedade utilizada para identificar qual unidade de engenharia seu valor representa, como por exemplo: graus, metros, KW/h etc. Exemplo: Sub ElementodeBloco1_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EUHigh: Define qual o valor mximo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 1000. E3 - Scripts - Manual de Referncia Propriedades 191 Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EULow: Define qual o valor mnimo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 0. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EULow = 100 EULow = 0 End Sub Index: Especifica a posio que o elemento de bloco ocupa entre os elementos configurados pela propriedade Size do bloco de comunicao no qual ele est inserido. Esta propriedade aceita valores de 0 at um nmero menor do que a valor definido em Size. Por exemplo: configurando um bloco de comunicao para ter Size igual a 20, o nmero mximo vlido para a propriedade Index ser 19 e o mnimo 0. Esta propriedade pode ser alterada aps iniciada a comunicao. O valor padro propriedade 0, porm ao mapear os elementos de um bloco o Studio automaticamente ajusta o parmetro Index para um valor de acordo com o especificado. E3 - Scripts - Manual de Referncia 192 Propriedades Exemplo: Sub Elemento_OnStartRunning() Index = 15 End Sub PercentDeadBand: A propriedade PercentDeadBand determina a variao mnima do valor (banda morta) de um elemento de bloco, para que seu valor no E3 seja atualizado. Este valor especificado como um percentual da diferena entre as propriedades DeviceHigh e DeviceLow. Esta propriedade s ser utilizada caso a propriedade EnableDeadBand do mesmo elemento esteja configurada para True. Se a propriedade PercentDeadband for igual a 0, o elemento de bloco no ter banda morta, e qualquer variao no seu valor ser repassada para o E3. Caso contrrio, s ser enviado para o E3 um novo valor cuja diferena, em relao ao valor atual no E3, seja maior que a banda morta. O valor padro desta propriedade 0. Quality: A propriedade Quality informa qual a qualidade do valor contido na propriedade Value. Cada vez que o Driver atribui um novo valor para o Elemento, ele tambm configura a qualidade daquele dado. Esta propriedade somente para leitura. O valor padro desta propriedade 0 (Qualidade Ruim). NOTA: Para maiores informaes sobre qualidade, consulte o tpico Propriedade Quality ou o tpico Qualidade no Manual do Usurio. RawValue: Acessa o valor original do elemento anterior escala, ou seja, independentemente da configurao da propriedade EnableScaling. Ento, se esta propriedade for False, as propriedades Value e RawValue apresentam o mesmo comportamento. UseBitFields: Se esta propriedade estiver configurada para True, toda vez que o valor da propriedade Value for modificada, ele atualizar os bits referentes s propriedades Bit00 at Bit31. Da mesma forma, atualizar o valor de Value toda vez que alguma das propriedades Bit00 at Bit31 mudar de valor e posteriormente enviar para o equipamento/dispositivo se a propriedade AllowWrite do bloco de comunicao estiver configurada para True. Caso contrrio, os bits no sofrero/acarretaro qualquer mudana. Esta propriedade pode ser atualizada aps ter sido iniciada a comunicao. O valor padro desta propriedade False. E3 - Scripts - Manual de Referncia Propriedades 193 Value: Atualizada sempre que uma nova leitura vlida de um valor do equipamento/dispositivo for feita, utilizando-se a parametrizao B1 at B4 do Bloco de Comunicao onde este elemento estiver inserido, e considerando-se sua posio na tabela lida atravs da propriedade Index. O tipo desta varivel (nmero inteiro, ponto flutuante, texto) depende do driver ao qual o elemento est associado e da sua parametrizao. Esta propriedade somente ser atualizada desta forma se a propriedade AllowRead do objeto Bloco de Comunicao ao qual o elemento pertence estiver configurada para True, e quando no houver erros de comunicao (neste caso somente as propriedades Quality e TimeStamp sero atualizadas), de acordo com o tempo de varredura definido em Scan. Outra forma de utilizar esta propriedade para escrever valores no equipamento/dispositivo, bastando para isto atribuir um novo valor propriedade Value ou a algum dos bits Bit00-Bit31. Neste caso, a propriedade AllowWrite do objeto Bloco de Comunicao deve estar configurada para True. Esta tambm a propriedade padro do objeto Elemento de Bloco. Sendo assim, uma referncia por valor a um Elemento de Bloco no necessita obrigatoriamente explicitar a propriedade Value para acessar o valor. Caso esta propriedade no esteja sendo atualizada, verifique se a propriedade Index est corretamente configurada. O valor padro desta propriedade vazio (sem valor). Exemplo: Sub Botao1_Click() 'Acessa um elemento e mostra o valor atual 'elm1 um objeto tipo Bloco de comunicaoElement Set obj = Application.GetObject("Driver de Comunicao1.Block1.elm1") MsgBox "Valor atual de elm1: " & obj.Value 'Isto tambm pode ser feito de outra forma, 'sem mostrar a propriedade Value, que padro MsgBox "Valor atual de elm1: " & obj End Sub
E3 - Scripts - Manual de Referncia 194 Propriedades 6.3. Propriedades dos Ob]etos do Cliente OPC 6.3.1. Propriedades do Driver OPC Compatibility: permite controlar o uso das interfaces padro OPC pelo Cliente OPC do E3. As opes disponveis so as seguintes: 0-Anyversion: funcionamento normal (recomendado): o OPC driver ir comunicar com servidores DA 2.0x e 1.0a (dando preferncia ao uso de interfaces 2.0x); 1-version10A: permite forar a comunicao no padro DA 1.0a para servidores que suportam DA 2.0x e 1.0a; e 2- version20: permite forar a comunicao apenas no padro OPC DA 2.0. Essa propriedade no pode ser modificada quando a comunicao do cliente OPC estiver habilitada (tanto no Studio, quanto em tempo de execuo). NOTA: Apenas em ltimo caso o driver deve ser configurado num valor diferente de 0-Anyversion (valor padro). Esta propriedade de uso avanado, e se aplica restritamente para contornar alguma situao de possvel incompatibilidade com algum servidor OPC especfico. ReconnectPeriod: Controla o perodo da conexo com o Servidor OPC. Se a conexo for perdida, o driver pra e reinicia at que esta ao retorne sucesso. O perodo configurado em milissegundos e quando o valor configurado para 0, a reconexo desabilitada. Pelo fato do Driver OPC ser parado e iniciado, os eventos BeforeStart()/AfterStop() sero gerados. Quando a conexo for perdida, todos os tags relacionados sero desconectados do seu estado atual (bad/quality/null value). Exemplo: Sub Driver OPC1_AfterStart() Application.GetObject("DriverOPC1.GrupoOPC1")._ ReconnectPeriod = 0 End Sub ServerID: Determina o servidor ao qual o Driver OPC deve se conectar. Apesar do valor padro da propriedade ser vazio, se o campo estiver vazio, o objeto OPC no ir conectar. Esta propriedade s pode ser modificada quando o Driver OPC no est conectado. E3 - Scripts - Manual de Referncia Propriedades 195 Exemplo: Sub CommandButton1_Click() Set opc = Application.GetObject("DriverOPC1") Opc.Deactivate Opc.ServerId = "ElipseSCADA.OPCSvr.1" Opc.ServerMachine = "\\server2" Opc.Activate End Sub ServerMachine: A propriedade ServerMachine determina o endereo da estao onde est rodando o servidor OPC. Para aplicaes que esto rodando localmente, esta propriedade pode ficar em branco (padro). Caso contrrio, ser necessrio especificar o caminho (por exemplo: "\\NomeServidor"). Esta propriedade s pode ser modificada quando o driver OPC estiver desconectado. Exemplo: Sub CommandButton1_Click() Set opc = Application.GetObject("DriverOPC1") Opc.Deactivate Opc.ServerId = "ElipseSCADA.OPCSvr.1" Opc.ServerMachine = "\\server2" Opc.Activate End Sub ServerName: A propriedade ServerName retorna o nome/descrio do servidor OPC. Esta propriedade diferente da propriedade ServerID, que um cdigo. Exemplo: Sub Driver OPC1_AfterStart() MsgBox _ Application.GetObject("DriverOPC1.GrupoOPC1").ServerName End Sub
E3 - Scripts - Manual de Referncia 196 Propriedades ServerStatus: Determina o estado da conexo com o servidor OPC. As opes disponveis so as seguintes: Opes disponveis para ServerStatus OPO DESCRIO -1 - ServerStatus_Unknown O Driver OPC est conectado ao servidor OPC mas o estado no informado ou o cliente OPC possui a propriedade ReconnectPeriod em 0. 0 - ServerStatus_NoConnected O Driver OPC no est conectado ao servidor OPC. Isso acontece quando, por exemplo, o Driver OPC no est ativo, ou a conexo no foi estabelecida por algum problema qualquer.
Os valores abaixo so informados apenas quando a propriedade ReconnectPeriod diferente de 0. Esta passagem de perodo especificando o estado buscada no servidor. Caso o estado no seja informado corretamente, a propriedade pode manter o valor igual a -1, ou a desconexo pode ser detectada neste caso, levando a propriedade ServerStatus para 0. Os valores so baseados nos cinco status padro definidos para servidores OPC. Opes disponveis para ReconnectPeriod diferente de zero OPO DESCRIO 1- ServerStatus_Running O servidor est rodando normalmente. 2- ServerStatus_Failed O servidor no est rodando. Um erro no especificado ocorreu no servidor. 3- ServerStatus_NoConfig O servidor est rodando, porm sem informaes de configurao. +- ServerStatus_Suspended O servidor foi suspenso temporariamente. 5- ServerStatus_Test O servidor est em Modo de Testes.
E3 - Scripts - Manual de Referncia Propriedades 197 Exemplo: Sub CommandButton1_Click() Dim status status = Application.GetObject("DriverOPC1").ServerStatus MsgBox "O status do driver " & status Select Case status Case -1 MsgBox "O DriverOPC est conectado ao servidor OPC mas_ seu estado no foi informado" Case 0 MsgBox "O DriverOPC no est conectado ao servidor OPC" Case 1 MsgBox "O servidor est rodando normalmente" Case 2 MsgBox "O servidor no est rodando" Case 3 MsgBox "O servidor est rodando mas sem informaes de_ configurao" Case 4 MsgBox "O servidor foi suspenso temporariamente" Case 5 MsgBox "O servidor est em Modo de Testes" End Select End Sub NOTA: Para obter o comportamento equivalente a uma propriedade Booleana, o recomendado usar ServerStatus diferente de 0 (zero). Isso basicamente diferencia apenas entre haver a conexo ou no, desconsiderando estados mais especficos do servidor. Alm disso, dessa forma, a expresso independe do uso da propriedade ReconnectPeriod diferente de 0 (zero). 6.3.2. Propriedades do Grupo OPC BlockMode: A propriedade BlockMode determina o comportamento de ativao/desativao do Grupo OPC. Quando esta propriedade estiver configurada para True, a comunicao dos tags OPC do grupo ser iniciada em conjunto. Isso em geral ir ocasionar uma melhor performance (menor tempo de ativao), por minimizar o nmero de chamadas ao servidor OPC. Quando a propriedade estiver configurada para False, o comportamento ser de ativar a comunicao de cada tag OPC do grupo individualmente (de acordo com a seqncia normal de ativao dos E3 - Scripts - Manual de Referncia 198 Propriedades objetos). Com isso, por exemplo, o primeiro tag do grupo (na ordem vista no Organizer) ir comunicar antes do ltimo tag. Apesar de mais lento, pode ser uma vantagem usar esse modo de ativao do bloco quando se deseja, por exemplo, fazer alguma operao (uma escrita no tag, por exemplo) num Script do evento OnStartRunning do tag. Na desativao ocorre tudo de maneira anloga. Quando o valor da propriedade True, a desativao da comunicao do tags do grupo ocorre em conjunto, ao trmino da desativao de todo Grupo OPC. Caso a propriedade esteja configurada para False, a desativao da comunicao ocorre individualmente para cada tag (de acordo com a seqncia normal de desativao de objetos). DeadBand: A propriedade DeadBand permite ajustar o nvel mnimo de variao de um tag OPC, para que este seja atualizado. Esse parmetro s se aplica para os tags do grupo que forem considerados do tipo analgico pelo servidor OPC ao qual o OPC Driver est conectado. O intervalo vlido para esta propriedade de 0 a 100 por cento. Um valor de 0 (zero) para o DeadBand significa que qualquer variao do valor de um tag do grupo implicar na atualizao do grupo. Esse valor percentual aplicado para cada tag em relao aos seus limites de Engenharia (o que fica definido no servidor OPC). Para que um tag seja atualizado, a seguinte expresso deve ser verdadeira (isso avaliado no Servidor OPC): Abs(Valor_guardado_anteriormente Valor_corrente) > _ (DeadBand / 100) * Abs (Limite_Superior Limite_Inferior) O valor padro desta propriedade 0. Enabled: A propriedade Enabled habilita a atualizao dos tags dentro de um Grupo OPC. Se esta propriedade estiver em False, nenhum tag dentro do Grupo OPC ser atualizado. Caso contrrio, os tags que tenham a propriedade AllowRead configurados em True e que esteja em Advise (para maiores informaes, ver propriedade AdviseType), sero mantidos atualizados de acordo com o tempo de atualizao (propriedade Scan) e banda morta (propriedade DeadBand) do grupo. Estando essa propriedade em False, no possvel utilizar o mtodo Refresh() do grupo. RealScan: Scan efetivo usado pelo servidor do Grupo OPC. Exemplo: Sub CommandButton3_Click() MsgBox _ Application.GetObject("DriverOPC2.GrupoOPC2").RealScan End Sub Scan: Especifica o tempo de varredura de atualizao dos tags do grupo que sero utilizado pelo servidor. Esta propriedade representada em milissegundos e E3 - Scripts - Manual de Referncia Propriedades 199 pode ser modificada aps iniciada a comunicao, sendo utilizada apenas quando a propriedade Enable estiver configurada para True. Ao configurar esta propriedade nos diversos tags presentes na aplicao, recomenda- se aumentar o valor da propriedade Scan para aqueles grupos de tags que no variam muito no equipamento/dispositivo, possibilitando assim que outros grupos de tags de maior prioridade sejam lidos com maior freqncia, aumentando assim a performance e resposta do sistema. O valor padro desta propriedade 1000. 6.3.3. Propriedades do Tag OPC AdviseType: Controla o modo Advise. As opes disponveis so: Opes disponveis para AdviseType OPO DESCRIO 0- Always!nAdvise O tag mantido atualizado se a propriedade AllowRead do Tag OPC for True e a propriedade Enabled do Grupo OPC tambm for True. 1- AdviseWhenLinked O tag s atualizado se a propriedade AllowRead do Tag OPC e a propriedade Enabled do Grupo OPC forem True, e o tag estiver associado a algum objeto ativo, por exemplo, um Display de uma Tela aberta, um Alarme habilitado, entre outros. A associao do tag para esse propsito pode ser feita nas seguintes propriedades: Value, RawValue, TimeStamp, Quality e Bit00 .. Bit31 de Tags OPC.
Exemplo: Sub CommandButton3_Click() MsgBox Application._ GetObject("Driver OPC.GrupoOPC.Tag_ OPC1").AdviseType End Sub AllowRead: Define se este tag dever ou no ser lido pelo driver OPC. Caso a propriedade esteja configurada para True, o driver automaticamente atualizar as propriedades Value e Bits (de Bit00 at Bit31) deste objeto em intervalos de tempo. Caso contrrio, este tag OPC no ser lido. Esta propriedade pode ser modificada em execuo. O valor padro desta propriedade True. E3 - Scripts - Manual de Referncia 200 Propriedades Exemplo: Sub Botao1_Click() 'Faz com que seja parada a leitura do tag Set obj = Application.GetObject("Driver1.tag") obj.AllowRead = False End Sub AllowWrite: Define se este tag dever ou no ser escrito automaticamente quando a propriedade Value ou qualquer propriedade Bit (de Bit00 at Bit31) for modificada. Se a propriedade estiver True, as modificaes sero enviadas para o equipamento/dispositivo associado ao driver OPC; do contrrio, as modificaes sero ignoradas. O valor padro desta propriedade True. Exemplo: Sub Botao1_Click() 'Faz com que seja desabilitada a escrita do tag Set obj = Application.GetObject("Driver1.tag") obj.AllowWrite = False End Sub Bit00-Bit031: As propriedades de bit Bit00 at Bit31 representam juntas os 32 bits do valor presente na propriedade Value do objeto OPC Tag, sendo Bit00 o bit menos significativo e Bit31 o bit mais significativo. Modificar cada um destes bits implica na igual modificao da propriedade Value do tag, e vice-versa, mas isto somente ocorre quando a propriedade UseBitFields estiver configurada para True. O valor padro destas propriedades False. NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. E3 - Scripts - Manual de Referncia Propriedades 201 DataType: Propriedade somente de leitura. Determina o tipo de dado associado ao tag OPC (ver tabela). Opes disponveis para DataType OPO DESCRIO 0- _Undefined Valor unidimensional no definido (Vazio). 1- _Null Valor nulo. 2 - _!nteger Valor unidimensional Inteiro de 16 bits sinalizado. 3 - _Long Valor unidimensional inteiro de 32 bits sinalizado. + - _Single Valor unidimensional de ponto flutuante de 32 bits. 5 - _Double Valor unidimensional de ponto flutuante de 64 bits. 6 - _Currency Valor unidimensional monetrio com 4 casas decimais. 7 - _Date Valor de data/hora. 8 - _String Valor literal - Texto. 9 - _Object Valor unidimensional de referncia a um objeto. 10 - _Error Valor unidimensional de cdigo de erro. 11 - _Boolean Valor unidimensional booleano (verdadeiro/falso). 12 - _variant Dados de qualquer tipo usados para objeto e outros valores para os quais o tipo de dados desconhecido. 13 - _UnkObject Valor unidimensional de referncia a um objeto. 1+ - _Decimal Valor unidimensional de ponto flutuante de 96 bits. 36 - _Record Valor unidimensional de gravao. 16 - _Char Valor unidimensional inteiro de 8 bits. 17 - _Byte utilizado para criao de DLLs e para OLE. Ocupa de memria 1 byte. 18 - _Word Valor unidimensional inteiro de 16 bits. 19 - _Dword Valor unidimensional inteiro de 32 bits. 20 - _LongLong Valor unidimensional inteiro de 64 bits sinalizado. 21 - _DDWord Valor unidimensional inteiro de 64 bits. 22 - _!nteger_ Nmeros sem decimais, cujo intervalo de ocorrncia dever ser do 32.768 a 32.767. Ocupa 2 bytes. 23 - _Uinteger Nmero inteiro sem sinal (no caso equivale a um DWORD), que vai de 0 a4294967295 (2^32 - 1). 819+ - _Arr!nteger Array unidimensional de valores integer (inteiros). 8195 - _ArrLong Array unidimensional de valores inteiros de 32 bits sinalizados. 8196 - _ArrSingle Array unidimensional de ponto flutuante de 32 bits. 8197 - _ArrDouble Array unidimensional de valor de ponto flutuante de 64 bits. 8198 - _ArrCurrency Array unidimensional de valor monetrio com 4 casas decimais. 8199 - _ArrDate Array unidimensional de valor de data/hora. 8200 - _ArrString Array unidimensional de valor literal Texto. 8201 - _ArrObject Array unidimensional de valor de referncia a um objeto. 8202 - _ArrError Array unidimensional de valor de cdigo de erro. 8203 - _ArrBoolean Array unidimensional de valor booleano (verdadeiro/falso). E3 - Scripts - Manual de Referncia 202 Propriedades OPO DESCRIO 820+ - _Arrvariant Array de dados de qualquer tipo usados para objeto e outros valores para os quais o tipo de dados desconhecido. 8205-_ArrUnkObject Array unidimensional de valor de referncia a um objeto. 8206 - _ArrDecimal Array unidimensional de valor de ponto flutuante de 96 bits. 8228 - _ArrRecord Array unidimensional de valor record. 8208 - _ArrChar Array unidimensional de valor char. 8209 - _ArrByte Array unidimensional de bytes, que so valores utilizados para criao de DLLs e para OLE. Ocupa de memria 1 byte. 8210 - _ArrWord Array unidimensional de valor inteiro de 32 bits. 8211 - _ArrDWord Array unidimensional de valor inteiro de 32 bits. 8212- _ArrLongLong Array unidimensional de valor inteiro de 16 bits. 8213 - _ArrDDWord Array unidimensional de valor inteiro de 32 bits sinalizado. 821+ - _Arr!nteger_ Array unidimensional de Inteiro de 16 bits sinalizado 8215 - _ArrU!nteger Array unidimensional de nmero inteiro sem sinal (no caso equivale a um DWORD), que vai de 0 a 4294967295 (232 - 1).
DeviceHigh: A propriedade DeviceHigh define o valor mximo atingido por um tag no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScalling estiver configurada para True, seno, os valores permanecem os mesmos. O valor padro desta propriedade 1000. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. E3 - Scripts - Manual de Referncia Propriedades 203 DeviceLow: A propriedade DeviceLow define o valor mnimo atingido por um tag no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScalling est configurada para True, seno as configuraes permanecem as mesmas. O valor padro desta propriedade 0. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. EnableScaling: Se esta propriedade estiver configurada para True, todo valor proveniente do equipamento/dispositivo sofrer ajuste de escala conforme as propriedades EUHigh e EULow antes de ser atribudo propriedade Value. Caso a propriedade EnableScaling tenha o valor configurado para False, nenhum ajuste de escala ser efetuado em nenhum dos dois sentidos (tanto para escrita como para leitura). O valor padro desta propriedade False. E3 - Scripts - Manual de Referncia 204 Propriedades Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = TrueDeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EU: Identifica a unidade de engenharia representada pelo valor, como por exemplo: graus, metros, KW/h etc. O valor desta propriedade vazio. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub E3 - Scripts - Manual de Referncia Propriedades 205 EuHigh: Define qual o valor mximo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 1000. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub NOTA: Os valores dos bits (propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. EuLow: Define qual o valor mnimo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 0. Exemplo: Sub Tag_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no PLC mas significam na 'prtica de 0 a 100 graus Celsius EU = "graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EULow = 100 EULow = 0 End Sub E3 - Scripts - Manual de Referncia 206 Propriedades NOTA: Os valores dos bits (propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. ItemID: A propriedade ItemID determina o caminho que identifica o tag OPC no servidor OPC ao qual o driver OPC se conecta. A definio desse caminho flexvel e depende do servidor especfico. Normalmente os servidores especificam um espao de ID com itens hierrquicos, do tipo "ItemPai.ItemFilho.Tag1". Esta propriedade funciona como uma "chave" nica para os dados, considerando o "onde" ou "o que" que permite o servidor OPC se conectar fonte dos dados. Apesar de o valor padro ser vazio, necessrio especificar algum valor para que o tag OPC seja vlido. Exemplo: Sub Tag OPC1_Click() MsgBox ItemID End Sub Quality: A propriedade Quality informa qual a qualidade do valor contido na propriedade Value. Cada vez que o Driver atribui um novo valor para o Tag, ele tambm configura a qualidade daquele dado. Esta propriedade somente para leitura. O valor padro desta propriedade 0 (Qualidade Ruim). NOTA: Para maiores informaes sobre qualidade, consulte o tpico Propriedade Quality ou o tpico Qualidade no Manual do Usurio. RawValue: Acessa o valor original do tag anterior escala, ou seja, independentemente da configurao da propriedade EnableScaling. Ento, se esta propriedade for False, as propriedades Value e RawValue apresentam o mesmo comportamento. SyncWrite: A propriedade SyncWrite determina o tipo de escrita usada por um tag OPC. Se a propriedade estiver configurada para True, a escrita ser sncrona, isto , o driver OPC espera o resultado da escrita do servidor. Caso contrrio, a escrita assncrona, isto , o valor do tag OPC ser enviado e o processamento do OPC Driver continuar imediatamente. O valor padro desta propriedade False. NOTA: No modo assncrono (propriedade configurada para False), a performance da comunicao tende a ser maior, porm no modo sncrono (propriedade configurada para True), o sucesso da operao de escrita verificado e informado. TimeStamp: A propriedade TimeStamp atualizada sempre que ocorrer alguma mudana de valor ou estado nas propriedades Value ou Quality. Ele informa qual a data/hora associada tanto ao valor quanto qualidade do tag OPC. Esta uma propriedade somente para leitura. O valor padro desta propriedade 00:00:00. E3 - Scripts - Manual de Referncia Propriedades 207 UseBitFields: Caso a propriedade UseBitFields tenha o valor True, toda vez que o valor da propriedade Value for modificada ele atualizar os bits referentes s propriedades Bit00 at Bit31. Da mesma forma atualizar o valor de Value toda vez que alguma das propriedades Bit00 at Bit31 mudar de valor e posteriormente enviar para o equipamento/dispositivo se a propriedade AllowWrite estiver configurada para True. Caso contrrio, se a propriedade UseBitFields estiver configurada para False, os bits no sofrero qualquer mudana. Esta propriedade pode sofrer atualizao aps ter sido iniciada a comunicao. O valor padro desta propriedade False. Exemplo: Sub Tag OPC1_Click() UseBitFields = True End Sub NOTA: Os valores dos bits (Propriedades Bit00..Bit31) no so afetadas pelo ajuste de escala. Isto , representam os bits do valor lido do equipamento, antes da converso. Value: A propriedade Value atualizada quando feita uma nova leitura vlida de um valor do equipamento/dispositivo utilizando sua parametrizao, porm o tipo desta varivel (nmero inteiro, ponto flutuante, texto) depende do driver OPC, ao qual ele est associado e da sua parametrizao. Esta propriedade somente ir ser atualizada desta forma, se a propriedade AllowRead estiver configurada para True e quando no houver erros de comunicao (neste caso somente as propriedades Quality e TimeStamp so atualizadas), mas de acordo com o tempo de varredura definido no grupo ao qual ele pertence. Outra forma de utilizar esta propriedade escrever valores no equipamento/dispositivo. Basta para isso, atribuir um novo valor para a propriedade Value ou algum dos bits Bit00-Bit31, desde que a propriedade AllowWrite esteja configurado para True. Esta propriedade tambm a propriedade padro do objeto tag OPC. Sendo assim, uma referncia por valor a um objeto tag OPC no necessita obrigatoriamente explicitar a propriedade Value para acessar o valor. O valor padro desta propriedade vazio. Exemplo: Sub Botao1_Click() 'Acessa um tag e mostra o valor atual 'tag1 um objeto tipo OPCTag Set obj = Application._ GetObject("Driver de_ Comunicao1.tag1") MsgBox "Valor atual de tag1: " & obj.Value 'sem mostrar a propriedade Value, que padro MsgBox "Valor atual de tag1: " & obj End Sub E3 - Scripts - Manual de Referncia 208 Propriedades 6.3.4. Propriedades do Bloco OPC AdviseType: Controla o modo Advise. As opes disponveis so: Opes disponveis para AdviseType OPO DESCRIO 0- Always!nAdvise O tag mantido atualizado se a propriedade AllowRead do Bloco OPC for True e a propriedade Enabled do Grupo OPC tambm for True. 1- AdviseWhenLinked O tag s atualizado se a propriedade AllowRead do Bloco OPC e a propriedade Enabled do Grupo OPC forem True, e o tag estiver associado a algum objeto ativo, por exemplo, um Display de uma Tela aberta, um Alarme habilitado, entre outros. A associao do tag para esse propsito pode ser feita nas seguintes propriedades: Value, RawValue, Quality e Bit00 .. Bit31 de Elementos de Bloco OPC, e Quality e TimeStamp de Blocos OPC.
Exemplo: Sub CommandButton3_Click() MsgBox Application._ GetObject("DriverOPC.GrupoOPC.SCRIPT1").AdviseType End Sub AllowRead: Configure esta propriedade para definir se este bloco dever ou no ser lido pelo driver OPC. Caso a propriedade AllowRead esteja configurada para True, ento o driver automaticamente atualizar as propriedades Value e Bits (de Bit00 at Bit31) dos elementos do bloco OPC em intervalos de tempo. Caso contrrio, este bloco OPC no ser lido se a propriedade AllowRead estiver configurada para False. Esta propriedade pode ser modificada em execuo. O valor padro desta propriedade True. Exemplo: Sub Botao1_Click() 'Faz com que seja parada a leitura do tag Set obj = Application.GetObject("Driver1.tag") obj.AllowRead = False End Sub AllowWrite: Configure esta propriedade para definir se este tag dever ou no ser escrito automaticamente quando a propriedade Value ou qualquer propriedade Bit (de Bit00 at Bit031) for modificada. Se a propriedade estiver True, as modificaes sero enviadas para o equipamento/dispositivo associado ao Driver E3 - Scripts - Manual de Referncia Propriedades 209 OPC, seno as modificaes sero ignoradas. Estando esta propriedade configurada para True, ento o driver automaticamente atualizar as propriedades Value e Bits (de Bit00 at Bit31) deste objeto, em intervalos de tempo. Caso contrrio, este Bloco OPC no ser lido. O valor padro desta propriedade True. Exemplo: Sub Botao1_Click() Set obj = Application.GetObject("Driver1.tag") obj.AllowWrite = False End Sub DataType: Propriedade somente de leitura. Determina o tipo de dado associado ao bloco OPC (ver tabela). Opes disponveis para DataType OPO DESCRIO 0- _Undefined Valor unidimensional no definido (Vazio). 1- _Null Valor nulo. 2 - _!nteger Valor unidimensional Inteiro de 16 bits sinalizado. 3 - _Long Valor unidimensional inteiro de 32 bits sinalizado. + - _Single Valor unidimensional de ponto flutuante de 32 bits. 5 - _Double Valor unidimensional de ponto flutuante de 64 bits. 6 - _Currency Valor unidimensional monetrio com 4 casas decimais. 7 - _Date Valor de data/hora. 8 - _String Valor literal - Texto. 9 - _Object Valor unidimensional de referncia a um objeto. 10 - _Error Valor unidimensional de cdigo de erro. 11 - _Boolean Valor unidimensional booleano (verdadeiro/falso). 12 - _variant Dados de qualquer tipo usados para objeto e outros valores para os quais o tipo de dados desconhecido. 13 - _UnkObject Valor unidimensional de referncia a um objeto. 1+ - _Decimal Valor unidimensional de ponto flutuante de 96 bits. 36 - _Record Valor unidimensional de gravao. 16 - _Char Valor unidimensional inteiro de 8 bits. 17 - _Byte utilizado para criao de DLLs e para OLE. Ocupa de memria 1 byte. 18 - _Word Valor unidimensional inteiro de 16 bits. 19 - _Dword Valor unidimensional inteiro de 32 bits. 20 - _LongLong Valor unidimensional inteiro de 64 bits sinalizado. 21 - _DDWord Valor unidimensional inteiro de 64 bits. 22 - _!nteger_ Nmeros sem decimais, cujo intervalo de ocorrncia dever ser do 32.768 a 32.767. Ocupa 2 bytes. 23 - _Uinteger Nmero inteiro sem sinal (no caso equivale a um DWORD), que vai de 0 a4294967295 (2^32 - 1). 819+ - _Arr!nteger Array unidimensional de valores integer (inteiros). 8195 - _ArrLong Array unidimensional de valores inteiros de 32 bits sinalizados. E3 - Scripts - Manual de Referncia 210 Propriedades OPO DESCRIO 8196 - _ArrSingle Array unidimensional de ponto flutuante de 32 bits.
8197 - _ArrDouble Array unidimensional de valor de ponto flutuante de 64 bits. 8198 - _ArrCurrency Array unidimensional de valor monetrio com 4 casas decimais. 8199 - _ArrDate Array unidimensional de valor de data/hora. 8200 - _ArrString Array unidimensional de valor literal Texto. 8201 - _ArrObject Array unidimensional de valor de referncia a um objeto. 8202 - _ArrError Array unidimensional de valor de cdigo de erro. 8203 - _ArrBoolean Array unidimensional de valor booleano (verdadeiro/falso). 820+ - _Arrvariant Array de dados de qualquer tipo usados para objeto e outros valores para os quais o tipo de dados desconhecido. 8205 - _ArrUnkObject Array unidimensional de valor de referncia a um objeto. 8206 - _ArrDecimal Array unidimensional de valor de ponto flutuante de 96 bits. 8228 - _ArrRecord Array unidimensional de valor record. 8208 - _ArrChar Array unidimensional de valor char. 8209 - _ArrByte Array unidimensional de bytes, que so valores utilizados para criao de DLLs e para OLE. Ocupa de memria 1 byte. 8210 - _ArrWord Array unidimensional de valor inteiro de 32 bits. 8211 - _ArrDWord Array unidimensional de valor inteiro de 32 bits. 8212 - _ArrLongLong Array unidimensional de valor inteiro de 16 bits. 8213 - _ArrDDWord Array unidimensional de valor inteiro de 32 bits sinalizado. 821+ - _Arr!nteger_ Array unidimensional de Inteiro de 16 bits sinalizado 8215 - _ArrU!nteger Array unidimensional de nmero inteiro sem sinal (neste caso equivale a um DWORD), que vai de 0 a 4294967295 (232 - 1).
ItemID: A propriedade ItemID determina o caminho que identifica o Bloco OPC no servidor ao qual o Driver OPC se conecta. A definio deste caminho flexvel e depende do servidor especfico. Normalmente, os servidores especificam um espao de ID com itens hierrquicos, do tipo "ItemPai.ItemFilho.Tag1". A propriedade ItemID funciona como uma "chave" nica para os dados, considerando o "onde" ou "o que" que permite ao servidor OPC se conectar fonte dos dados. Apesar de o valor padro ser vazio, necessrio especificar algum valor para que o Bloco OPC seja vlido. Exemplo: Sub Bloco OPC1_OnStartRunning() MsgBox ItemID End Sub Quality: A propriedade Quality informa qual a qualidade do valor contido na propriedade Value. Cada vez que o Driver atribui um novo valor para o Bloco, ele tambm configura a qualidade daquele dado. Esta propriedade somente para leitura. O valor padro desta propriedade 0 (Qualidade Ruim). E3 - Scripts - Manual de Referncia Propriedades 211 NOTA: Para maiores informaes sobre qualidade, consulte o tpico Propriedade Quality ou o tpico Qualidade no Manual do Usurio. Size: Define o tamanho do conjunto de valores do bloco. Consulte a documentao do driver utilizado, para conhecer qual o limite para esta propriedade de acordo com os parmetros B1 at B4. Criando os elementos para o bloco, possibilita acessar os valor lidos e tambm permite a escrita de valores para equipamento/dispositivo. Esta propriedade no pode ser modificada aps iniciada a comunicao. O valor padro desta propriedade 0. Exemplo: Sub Bloco OPC1_OnStartRunning() Size = 12 End Sub SyncWrite: A propriedade SyncWrite determina o tipo de escrita usada por um Bloco OPC. Se a propriedade estiver configurada para True, a escrita ser sncrona, isto , o Driver OPC espera o resultado da escrita do servidor. Caso contrrio, a escrita assncrona, isto , o valor do OPCTag ser enviado e o processamento do Driver OPC continuar imediatamente. O valor padro desta propriedade False. NOTA: No modo assncrono (propriedade desabilitada), a performance da comunicao tende a ser maior, porm no modo sncrono (propriedade habilitada), o sucesso da operao de escrita verificado e informado. TimeStamp: A propriedade TimeStamp atualizada sempre que ocorrer alguma mudana de valor ou estado nas propriedades Value ou Quality. Ele informa qual a data/hora associada tanto ao valor quanto a qualidade do Bloco OPC. Esta uma propriedade somente para leitura. O valor padro desta propriedade 00:00:00. 6.3.5. Propriedades do Elemento de Bloco OPC Bit00-Bit031: As propriedades de bit Bit00 at Bit31 representam juntas os 32 bits do valor presente na propriedade Value do objeto elemento de bloco OPC, sendo Bit00 o bit menos significativo e Bit31 o bit mais significativo. Modificar cada um destes bits implica na igual modificao da propriedade Value do elemento, e vice- versa, mas isto somente ocorre quando a propriedade UseBitFields estiver configurada para True. O valor padro destas propriedades False. DeviceHigh: A propriedade DeviceHigh define o valor mximo atingido por um elemento de bloco no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre E3 - Scripts - Manual de Referncia 212 Propriedades quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 1000. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no OPC, mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub DeviceLow: A propriedade DeviceLow define o valor mnimo atingido por um elemento no equipamento/dispositivo. Esta propriedade ser utilizada para fazer o ajuste de escala do valor proveniente do equipamento/dispositivo antes de ser atribudo propriedade Value. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 0. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no OPC, mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EnableScaling: A propriedade EnableScaling habilita/desabilita a escala de valor para o valor enviado e recebido do equipamento/dispositivo. Se esta propriedade estiver configurada para True, todo valor proveniente do equipamento/dispositivo sofrer ajuste de escala conforme as propriedades DeviceHigh, DeviceLow, EUHigh e EULow antes de ser atribudo propriedade Value. O mesmo ocorrer quando uma escrita for necessria, quando o valor presente em Value sofrer ajuste de escala E3 - Scripts - Manual de Referncia Propriedades 213 (sem com isso alterar a propriedade Value) e posteriormente ser enviado para o equipamento/dispositivo. Caso a propriedade EnableScaling tenha o valor False, nenhum ajuste de escala ser efetuado em nenhum dos dois sentidos (escrita e leitura). O valor padro desta propriedade False. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no OPC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EU: Identifica a unidade de engenharia representada por seu valor, como por exemplo: graus, metros, KW/h etc. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um tag de temperatura 'que varia de 0 a 255 no OPC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub EUHigh: Define qual o valor mximo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 1000. E3 - Scripts - Manual de Referncia 214 Propriedades Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no OPC mas significam na 'prtica de 0 a 100 graus Celsius EU = "graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EULow = 100 EULow = 0 End Sub EULow: Define qual o valor mnimo que dever ser atribudo propriedade Value, ajustando a escala ao valor do equipamento/dispositivo antes desta atribuio. Da mesma forma, no momento da escrita, feita a operao inversa antes de enviar o valor para o driver. Esta converso s ocorre quando a propriedade EnableScaling est configurada para True. O valor padro desta propriedade 0. Exemplo: Sub Elemento_OnStartRunning() 'Faz o ajuste de escala de um elemento temperatura 'que varia de 0 a 255 no OPC mas significam na 'prtica de 0 a 100 graus Celsius EU = "Graus Celsius" EnableScaling = True DeviceHigh = 255 DeviceLow = 0 EUHigh = 100 EULow = 0 End Sub Index: Utilize esta propriedade para especificar a posio que um elemento ocupa entre os elementos configurados pela propriedade Size do objeto Bloco OPC no qual ele est inserido. Esta propriedade aceita valores de 0 at um nmero menor do que a valor definido em Size. Por exemplo: configurando um bloco OPC para ter Size igual a 20, o nmero mximo vlido para a propriedade Index ser 19 e o mnimo 0. Esta propriedade pode ser alterada aps iniciada a comunicao. O valor padro propriedade 0, porm ao mapear os elementos de um bloco o Studio automaticamente configura o parmetro Index para um valor de acordo com o especificado. E3 - Scripts - Manual de Referncia Propriedades 215 Exemplo: Sub Elemento1_OnRead() MsgBox Index End Sub Quality: A propriedade Quality informa qual a qualidade do valor contido na propriedade Value. Cada vez que o Driver atribui um novo valor para o Elemento, ele tambm configura a qualidade daquele dado. Esta propriedade somente para leitura. O valor padro desta propriedade 0 (Qualidade Ruim). NOTA: Para maiores informaes sobre qualidade, consulte o tpico Propriedade Quality, ou o tpico Qualidade no Manual do Usurio. RawValue: Acessa o valor original do elemento anterior escala, ou seja, independentemente da configurao da propriedade EnableScaling. Ento, se esta propriedade for False, as propriedades Value e RawValue apresentam o mesmo comportamento. UseBitFields: Caso a propriedade UseBitFields tenha o valor True, toda vez que o valor da propriedade Value for modificada, ele atualizar os bits referentes s propriedades Bit00 at Bit31. Da mesma forma, atualizar o valor de Value toda vez que alguma das propriedades Bit00 at Bit31 mudar de valor e posteriormente enviar para o equipamento/dispositivo se a propriedade AllowWrite do bloco de comunicao estiver configurada para True. Caso contrrio, se a propriedade UseBitFields estiver configurada para False, os bits no sofrero/acarretaro qualquer mudana. Esta propriedade pode ser atualizada aps ter sido iniciada a comunicao. O valor padro desta propriedade False. Value: Atualizada sempre que um novo valor lido no servidor OPC, de acordo com a especificao da propriedade ItemID do Bloco OPC onde este objeto est inserido, e considerando a propriedade Index (que especifica a posio do elemento no vetor do bloco). O tipo desta propriedade (nmero inteiro, ponto flutuante, texto, etc.) depende do driver ao qual ele est associado e da sua parametrizao. Esta propriedade somente ser atualizada desta forma se a propriedade AllowRead do objeto Bloco OPC ao qual o elemento pertence estiver configurada para True, e de acordo com o tempo de varredura definido na propriedade Scan do Grupo OPC que contm o bloco. Se a propriedade AllowWrite do objeto Bloco OPC estiver configurada em True, pode-se escrever valores no equipamento/dispositivo simplesmente atribuindo um novo valor para a propriedade Value. Esta tambm a propriedade padro do objeto Elemento de Bloco OPC. Sendo assim, uma referncia por valor a um objeto Elemento de Bloco OPC no necessita obrigatoriamente explicitar a propriedade Value para acessar o valor. Caso esta propriedade no esteja sendo atualizada, verifique se a propriedade Index est E3 - Scripts - Manual de Referncia 216 Propriedades corretamente configurada (seu valor deve ser zero at o tamanho do Bloco OPC menos um). Exemplo: Sub Botao1_Click() 'Acessa um elemento e mostra o valor atual 'elm1 um objeto tipo Elemento de Bloco OPC Set obj = Application.GetObject_ ("OPCDriver1.Grupo1.BlocoOPC1.elm1") MsgBox "Valor atual de elm1: " & obj.Value 'Isto tambm pode ser feito de outra forma, 'sem mostrar a propriedade Value, que padro MsgBox "Valor atual de elm1: " & obj End Sub Propriedade Quality Quality: A propriedade Quality representa o estado de qualidade do valor. O E3 utiliza o padro OPC para informar essa propriedade. O campo formado por uma palavra de 16 bits, sendo que os primeiros 8 bits so definidos na forma de 3 campos de bits: Qualidade, Substatus e Limite, nessa disposio: QQSSSSLL. Qualidade pode ser: ruim, incerta ou boa (ver tabela a seguir). Substatus tem informaes complementares de Qualidade. Limite pode indicar informaes de diagnstico. Servidores que no suportam estas ltimas informaes, retornam zero nos bits correspondentes. Os outros 8 bits (de maior ordem) esto disponveis para uso de cada fabricante. Se esses bits forem utilizados, os bits de qualidade padro ainda so utilizados para indicar quais dedues pode-se fazer sobre os dados retornados. Assim, de responsabilidade do cliente interpretar o campo de informaes especficas de qualidade para garantir que o servidor que est provendo essa informao usa as mesmas regras que o cliente. Um driver ou servidor OPC que no suporta informao de qualidade sempre retorna o valor 192 (qualidade boa). Tambm aceitvel que um servidor retorne simplesmente qualidade ruim (0) ou boa (192) e no passar nenhuma informao nos bits de substatus e limite (retornar 0 nesses bits). Uma lista dos valores possveis de Quality e seu significado pode ser vista nas tabelas a seguir. E3 - Scripts - Manual de Referncia Propriedades 217 Faixas de valor para Quality FAIXA QUALIDADE DESCRIO 0 - 63 RUIM O valor no utilizvel pelas razes indicadas em substatus. 6+ - 127 INCERTA A qualidade do valor incerta pelas razes indicadas em substatus. 128 - 191 N/A No usado pelo padro OPC. 192 - 255 BOA A qualidade do valor boa.
Opes possveis para Limite LIMITE DESCRIO Sem limite O valor livre para mover acima ou abaixo. Baixo O valor est limitado em algum valor inferior. Alto O valor est limitado em algum valor superior. Constante O valor uma constante e no pode mover-se.
E3 - Scripts - Manual de Referncia 218 Propriedades Substatus para Qualidade Ruim (0 63) SUBSTATUS DESCRIO LIMITES
S E M
B A I X O
A L T O
C O N S T A N T E
Nao-especifico O valor ruim, mas nenhuma razo especfica conhecida. 000 001 002 003 Erro de configuraao H algum problema de configurao no servidor. Por exemplo: o item em questo pode ter sido apagado. 004 005 006 007 Nao conectado A entrada deveria estar logicamente conectada a algo, mas no est. Esta qualidade pode refletir que no h valor disponvel neste momento porque o mesmo pode no ter sido fornecido pela fonte de dados, por exemplo. 008 009 010 011 Falha de dispositivo Uma falha de dispositivo foi detectada. 012 013 014 015 Falha de sensor Uma falha de sensor foi detectada (o campo Limite pode prover informao adicional). 016 017 018 019 Ultimo valor conhecido Comunicao em falha, mas o ltimo valor conhecido est disponvel. A idade do valor pode ser determinada atravs da propriedade TimeStamp. 020 021 022 023 Falha de comunicaao Comunicao em falha, mas no h valor conhecido disponvel. 024 025 026 027 Fora de servio O bloco est fora de scan ou trancado. 028 029 030 031 NfA No usado. 032 063
E3 - Scripts - Manual de Referncia Propriedades 219 Substatus para Qualidade Incerta (64 127) SUBSTATUS DESCRIO LIMITES
S E M
B A I X O
A L T O
C O N S T A N T E
Nao-especifico O valor incerto, mas nenhuma razo especfica conhecida. 064 065 066 067 Ultimo valor utilizado O dispositivo que estava providenciando o valor parou de faz-lo. O valor deve ser considerado velho. Note que isso difere de um valor ruim com o substatus ltimo Valor Conhecido. Esse estado associado com uma falha de comunicao num valor buscado possvel de ser detectada. Este erro associado falha de alguma fonte externa que iria atualizar o valor em um perodo aceitvel. A idade do dado pode ser determinada atravs da propriedade TimeStamp. 068 069 070 071 NfA No usado. 072 - 079 Sensor sem precisao O valor est colado em um dos limites do sensor (nesse caso o campo limite deve estar ajustado para 1 ou 2) ou o sensor est de algum modo conhecido fora de calibrao (nesse caso, Limite deve ser 0). 080 081 082 083 Unidade de engenharia excedida O valor retornado est fora dos limites definidos para esse parmetro. Note que nesse caso o valor em Limite indica quais limites foram excedidos mas no necessariamente implica que o valor no possa ir alm da faixa especificada. 084 085 086 087 Subnormal O valor derivado de mltiplas fontes e h um nmero menor do que o requerido de boas fontes. 088 089 090 091 NfA No usado. 092 127
E3 - Scripts - Manual de Referncia 220 Propriedades Substatus para Qualidade Boa (192 255) SUBSTATUS DESCRIO LIMITE
S E M
B A I X O
A L T O
C O N S T A N T E
Nao-especifico O valor bom, mas nenhuma razo especfica conhecida. 192 193 194 195 Nao utilizado No utilizado. 196 215 Sobrescrita local O valor foi sobrescrito. Tipicamente indica que a entrada foi desconectada e um valor entrado manualmente foi forado. 216 217 218 219 Nao-especifico O valor bom, mas nenhuma razo especfica conhecida. 220 - 255 6.4. Propriedades do Tag Contador AutoRestart: Indica que a contagem deve ser recomeada do zero aps ter sido atingido o valor estabelecido na propriedade Preset. Esta propriedade somente vlida quando a propriedade CounterType est configurada com o valor 0-Preset. CounterType: Define o comportamento do contador. Os valores disponveis para esta propriedade so: 0-Preset: a contagem interrompida quando o valor estabelecido na propriedade Preset atingido; e 1-!nfinite: a contagem prossegue infinitamente. Enabled: Inicia ou pra o contador. Em True, a contagem iniciada; em False, ela interrompida. Increment: Define o intervalo de atualizao da propriedade Value. Caso esta propriedade tenha seu valor modificado enquanto a contagem estiver em curso, esta modificao s ter efeito quando o contador for parado e reiniciado. Preset: Limite a ser atingido pelo contador, em segundos. ResetCounterWhenEnabled: Habilita o reincio da contagem (do zero) cada vez que o valor da propriedade Enabled retorna a True. Quando desabilitada, o contador reinicia a contagem de onde ela foi interrompida anteriormente. E3 - Scripts - Manual de Referncia Propriedades 221 Value: Mostra a contagem do contador, em segundos. Propriedade somente de leitura. 6.5. Propriedades do Tag Demo Enabled: A propriedade Enabled habilita/desabilita a variao do tag Demo. Se Enabled estiver configurado para False, a variao estar desabilitada. Caso contrrio, o tag atualizar a propriedade Value conforme a configurao das propriedade Period e Scan. O valor padro desta propriedade True. Maximum: A propriedade Maximum determina o valor mximo do tag. O valor padro desta propriedade 100. Exemplo: Sub CommandButton2_Click() 'Ao clicar no boto, abre uma caixa de mensagens, 'indicando o valor da propriedade Maximum do TagDemo6 MsgBox Application.GetObject("Dados.TagDemo6").Maximum End Sub Minimum: A propriedade Mininum determina o valor mnimo do tag. O valor padro desta propriedade 0. Exemplo: Sub CommandButton2_Click() 'Ao clicar no boto, abre um messagebox indicando o valor 'da propriedade Minimum do TagDemo6 MsgBox Application.GetObject("Dados.TagDemo6").Minimum End Sub Period: Define o comprimento da forma de onda, em milissegundos. No se aplica quando a propriedade Type estiver configurada para 0-Random ou 3- CurrentTime. O valor padro desta propriedade 10000 ms. Exemplo: Sub Tag Demo1_OnStartRunning() Period = 1000 End Sub Scan: A propriedade Scan define o intervalo de tempo, em milissegundos, entre duas variaes da propriedade Value. Utilize esta propriedade se voc desejar maior ou menor quantidade de dados gerados pelo tag Demo. O valor padro desta propriedade 1000. O valor do scan deve ser maior que 0. Exemplo: E3 - Scripts - Manual de Referncia 222 Propriedades Sub Linha1_Click() Application.GetObject("Dados.TagDemo2").Scan = 200 End Sub TimeStamp: A propriedade TimeStamp atualizada sempre que ocorrer alguma mudana de valor ou estado nas propriedades Value ou Quality. Ele informa qual a data/hora associada tanto ao valor quanto qualidade do tag demo. Esta uma propriedade somente para leitura. O valor padro desta propriedade 00:00:00. Type: Determina o tipo de onda do tag. Modifique a propriedade conforme a tabela abaixo. Quanto a propriedade Type estiver configurado para 3 (CurrentTime), a propriedade Value ir conter a data/hora atual do servidor. Opes disponveis para Type VALOR FORMA DE ONDA 0
RampUpDown (rampa de subida e descida) Exemplo: Sub Linha1_Click() Application.GetObject("Dados.TagDemo2").Type = 2 End Sub Value: A propriedade Value varia de acordo com o tipo da forma de onda, estabelecida na propriedade Type. Esta uma propriedade apenas de leitura. O valor padro desta propriedade 0. Exemplo: Sub Figura1_Click() MsgBox Application.GetObject("Dados.TagDemo2").Value=10 End Sub
E3 - Scripts - Manual de Referncia Propriedades 223 6.6. Propriedades do Tag nterno Quality: Informa a qualidade do valor contido na propriedade Value. Esta propriedade de leitura/escrita, mas sempre que o valor do Tag Interno for modificado - seja por Script ou por uma associao - ela ser atualizada de acordo. Exemplo: Sub CommandButton1_Click() MsgBox Application.GetObject("Dados.TagInterno1").Quality End Sub NOTA: Para maiores informaes sobre qualidade, consulte o tpico Propriedade Quality ou o tpico Qualidade no Manual do Usurio. Retentive: A propriedade Retentive determina se o valor do tag interno deve ser armazenado automaticamente, caso o domnio seja parado. Se esta propriedade estiver configurada para True, o valor do tag interno ser armazenado automaticamente, no caso de troca de servidor do domnio ativo. Isso garante que o valor do tag ser sincronizado com um servidor standby. Assim, quando o servidor for executado, o valor do tag ser o mesmo do servidor que parou. Caso contrrio, o valor do tag ser ajustado para o valor inicial sempre que o domnio for executado ou ocorrer troca do servidor ativo. Esta propriedade no tem efeito se for alterada em execuo. E3 - Scripts - Manual de Referncia 224 Propriedades Exemplo: Sub CommandButton1_Click() Dim status status = Application.GetObject("Dados.TagInterno1").Retentive MsgBox status Select Case status Case True MsgBox "O valor do tag interno ser _ armazenado automaticamente." Case False MsgBox "O valor do tag ser ajustado para o valor _ inicial sempre que o domnio for executado ou _ ocorrer troca do servidor ativo." End Select End Sub NOTA: Esta propriedade s vlida para tags internos contidos no Servidor. Tags internos contidos no Viewer no podem ser retentivos. TimeStamp: A propriedade TimeStamp informa a data/hora associada ao valor contido na propriedade Value. Esta propriedade de leitura/escrita, mas sempre que o valor do Tag Interno for modificado - seja por Script ou por uma associao - ela ser atualizada de acordo. Value: A propriedade Value do tipo Variant, o que permite armazenar valores de todo e qualquer tipo, desde um inteiro at referncias para objetos (veja o exemplo abaixo). Utilize-o para guardar valores dentro do Viewer ou Servidor e para trocar dados entre os diversos pontos de sua aplicao. O valor padro desta propriedade vazio. Esta propriedade de leitura/escrita. Exemplo: Sub Meses_OnStartRunning() 'Meses um tag do tipo InternalTag. 'Utiliza-se o evento para inicializar o vetor. Value = Array("Janeiro","Fevereiro", "Maro", _ "Abril", "Maio", "Junho", "Julho", "Agosto", _ "Setembro", "Outubro", "Novembro", "Dezembro") End Sub 6.7. Propriedades do Tag Timer Enabled: Habilita/desabilita o Timer. O valor padro desta propriedade True. E3 - Scripts - Manual de Referncia Propriedades 225 NextExecTime: Exibe o prximo horrio de disparo. uma propriedade somente de leitura. RepeatInterval: utilizada sempre que o tag for do tipo contnuo. O valor padro desta propriedade 00:00:01. StartTime: Data/hora inicial do timer. Para o tipo Single, a prpria data/hora de disparo. Para os demais, o momento a partir do qual o timer comea a disparar. O valor padro o dia e a hora locais. TriggerType: Tipo de disparo do timer. As opes disponveis so: Opes disponveis para TriggerType OPO DESCRIO 0-ttSingle Disparo nico. 1-ttContinuous Disparo contnuo. 2-ttDaily Disparo dirio. 3-ttNonthly Disparo mensal. 6.8. Propriedades da Tela NOTA: O E3 utiliza para definio de coordenadas e espessura o sistema HIMETRIC. Neste sistema, cada unidade lgica equivale a um milsimo de centmetro; ou seja, cada 1000 unidades equivalem a 1 centmetro. Assim, este o padro adotado na descrio das propriedades do E3, quando aplicvel. BackgroundColor: Especifica a cor de preenchimento do fundo da Tela. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza (RGB(192, 192, 192)). Caption: A propriedade Caption define o ttulo da Tela a ser mostrado na barra de ttulo no Viewer. FillStyle: Esta propriedade especifica o estilo do preenchimento da Tela. A seguinte tabela contm os valores vlidos para a propriedade FillStyle: Opes disponveis para FillStyle OPO DESCRIO 0- bkSolid O preenchimento ser slido. (Default) E3 - Scripts - Manual de Referncia 226 Propriedades 2- bkHorizontal O preenchimento ser com listras horizontais. 3- bkvertical O preenchimento ser com listras verticais. +-bkDownward O preenchimento ser com listras descendo da esquerda para a direita em ngulo de 45 graus. 5-bkUpward O preenchimento ser com listras subindo da esquerda para a direita em ngulo de 45 graus. 6-bkCross O preenchimento ser com listras horizontais e verticais. 7-bkDiagonalCross O preenchimento ser com listras descendo e subindo da esquerda para a direita em angulo de 45 graus. 8-bkGradient O preenchimento ser em degrad utilizando tanto ForegroundColor quanto BackgroundColor. O efeito ser definido pela propriedade GradientStyle. 11- bkBackground Preenche a Tela com a cor de fundo. 12 - bkPicture Preenche a Tela com a figura selecionada na propriedade PictureFile.
ForegroundColor: Especifica a cor do preenchimento da frente da Tela. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro para esta propriedade preto (RGB (0, 0, 0)). Aplicaes anteriores introduo desta propriedade tero ambas as propriedades ForegroundColor e BackgroundColor configuradas com a cor antes armazenada na propriedade BackgroundColor, e o estilo de preenchimento configurado como 11- bkBackground, que pinta toda a Tela com a cor de fundo (comportamento antigo, anterior criao dos estilos). Exemplo: Sub Tela1_Click() 'Troca a cor de fundo da Tela para azul ForegroundColor = RGB(0, 0, 255) End Sub Frame: Retorna o quadro-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. GradientStyle: Esta propriedade especifica o estilo de preenchimento degrad da Tela. Esta propriedade s ser utilizada quando a valor da propriedade FillStyle estiver configurada para 8 (gradient). Os degrads consideram a mudana da cor partindo de ForegroundColor e indo para BackgroundColor. Opes disponveis para GradientStyle OPO DESCRIO 0- LeftToRight Degrad vertical da esquerda para a direita. 1- RightToLeft Degrad vertical da direita para a esquerda. E3 - Scripts - Manual de Referncia Propriedades 227 2- verFromCenter Degrad vertical do centro para as bordas. 3- verToCenter Degrad vertical das bordas para o centro. +- BottonUp Degrad horizontal de baixo para cima. 5- TopDown Degrad horizontal de cima para baixo. 6- HorzFromCenter Degrad do centro para as bordas. 7- HorzToCenter Degrad das bordas para o centro. 8- DiagUpRight Degrad diagonal para cima com a cor de frente na direita. (Padro). 9- DiagUpLeft Degrad diagonal para cima com a cor de frente na esquerda. 10- DiagUpFromCenter Degrad diagonal para cima do centro para as bordas. 11- DiagUpToCenter Degrad diagonal para cima das bordas para o centro. 12- DiagDownLeft Degrad diagonal para baixo com cor de frente na esquerda. 13- DiagDownRight Degrad diagonal para baixo com cor de frente na direita. 1+- DiagDownFromCenter Degrad diagonal para baixo do centro para as bordas. 15- DiagDownToCenter Degrad diagonal para baixo das bordas para o centro. 16- SpotSouthEast Degrad com cor de frente partindo do canto inferior direito. 17- SpotSouthWest Degrad com cor de frente partindo do canto inferior esquerdo. 18- SpotNorthWest Degrad com cor de frente partindo do canto superior esquerdo. 19- SpotNorthEast Degrad com cor de frente partindo do canto superior direito. 20- SpotFromCenter Degrad com cor de fundo do centro para as bordas. 21- SpotToCenter Degrad com cor de fundo das bordas para o centro.
HasFocus: Esta propriedade determina que o objeto selecionado est com o foco. Esta propriedade acessvel apenas em tempo de execuo. Height: A propriedade Height define a altura da Tela, em unidade Himetric. Layer: Esta propriedade define em quais camadas o objeto deve aparecer. O valor representa uma mscara de 32 bits, um bit para cada camada. Portanto, podem ser definidas at 32 camadas individuais. Assim, objetos podem ser agrupados logicamente e mostrados/escondidos apenas com a modificao da mscara da propriedade Layer.
Figura 27: Opes disponveis na Lista de Propriedades E3 - Scripts - Manual de Referncia 228 Propriedades Exemplo: Sub Tela1_Click() Layer = 1 End Sub NOTA: A visibilidade do objeto depende de trs fatores: a propriedade Visible tem que estar configurada para True; o objeto que pai deste objeto tem que estar visvel; a propriedade Layer deste objeto tem que estar habilitada para a Tela. MouseOver: A propriedade MouseOver informa se o ponteiro do mouse encontra-se em cima da tela. Caso afirmativo, a propriedade MouseOver habilitada; do contrrio, ser False. Esta propriedade somente de leitura e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. MouseOverChild: A propriedade MouseOverChild informa se o ponteiro do mouse encontra-se em cima de um dos objetos inseridos na Tela. Caso afirmativo, a propriedade MouseOverChild habilitada. Caso contrrio, para False. Esta propriedade para somente leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. PictureFile: Contm o nome do arquivo da figura que ser utilizada como fundo na Tela. Pode ser qualquer formato j suportado no E3 pelo objeto DrawPicture (*.bmp;*.gif;*.jpg;*.cur;*.ico;*.emf;*.wmf). O valor padro desta propriedade um string em branco. Esta propriedade s ser vlida se a propriedade FillStyle estiver selecionada como 12 - bkPicture. PicturePosition: Indica a posio da figura selecionada na propriedade PictureFile na Tela. Esta propriedade s ser vlida se a propriedade FillStyle estiver selecionada como 12 - bkPicture. As opes vlidas so: Opes disponveis para PicturePosition OPO DESCRIO 0 - Center Figura no tamanho original, centralizada na Tela 1 - Tile Figura no tamanho original, repetida tantas vezes quantas necessrias para preencher a Tela. 2 - Stretch Figura redimensionada para preencher a Tela. 3 - TopLeft Figura no tamanho original, no canto esquerdo superior da Tela. + - BottomLeft Figura no tamanho original, no canto esquerdo inferior da Tela. 5 - BottomRight Figura no tamanho original, no canto direito inferior da Tela. 6 - TopRight Figura no tamanho original, no canto direito superior da E3 - Scripts - Manual de Referncia Propriedades 229 Tela. Screen: Retorna a Tela-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. TabStop: Esta propriedade determina a utilizao da tecla [TAB| no sistema. Se o campo estiver True, possvel utilizar a tecla; caso contrrio, a tecla no pode ser utilizada. Width: A propriedade Width define a largura, em unidade Himetric, da Tela. 6.9. Propriedades do Ouadro e do Divisor 6.9.1. Propriedade do Ouadro Caption: A propriedade Caption define o ttulo da Quadro a ser mostrado na barra de ttulo no Viewer. 6.9.2. Propriedades do Divisor IsHTML: A propriedade IsHTML retorna True se o divisor contm Htmls inseridos no quadro. Caso contrrio, retorna False. SplitBorder: Habilita/desabilita a borda do divisor, e determina se a borda entre o divisor mandante e o divisor restante deve ser exibida em tempo de execuo. Esta propriedade no tem efeito no divisor restante. O valor padro desta propriedade True. SplitDockPosition: Indica a posio do divisor desejado na Tela. As opes disponveis so: Opes disponveis para SplitDockPosition OPO DESCRIO 0 - dockRemaining Posiciona o divisor como restante, ou seja: ele ocupar o espao que sobra na diviso horizontal ou vertical. 1 - dockTop Posiciona o divisor como mandante, acima do restante. 2 - dockBottom Posiciona o divisor como mandante, abaixo do restante. 3 - dockLeft Posiciona o divisor como mandante, esquerda do restante. E3 - Scripts - Manual de Referncia 230 Propriedades + - dockRight Posiciona o divisor como mandante, direita do restante.
SplitLink: A propriedade SplitLink contm um "link" que deve ser mostrado no divisor. possvel especificar uma Tela do projeto, um executvel ou um link na Internet. No caso de Telas, possvel especificar um percentual de zoom e a habilitao das barras de rolagem usando a chave "?", como no modelo: <nome-da- tela>?<zoom>?<barra-de-rolagem>, onde <nome-da-tela> o nome da Tela a ser aberta; <zoom> o percentual de zoom e <barra-de-rolagem> 1 para habilitar ou 0 para no habilitar. Os parmetros <zoom> e <barra-de-rolagem> so vlidos apenas se o link indicado se tratar de uma Tela. Caso contrrio, sero ignorados. Se o parmetro <zoom> no for informado, assumido 100%. Se o parmetro <barra-de-rolagem> no for informado, assumido 1, ou seja, habilitado. Exemplo: Sub CommandButton1_Click() Application.GetFrame("Divisor1").SplitLink = "Tela1?10?1" End Sub SplitResizable: Determina se o divisor mandante pode ser redimensionado em tempo de execuo. Esta propriedade no tem efeito no divisor restante. O valor padro desta propriedade True. SplitValue: A propriedade SplitValue determina o valor que ser atribudo ao divisor do quadro, que tanto pode ser % (percentagem), hm (HIMETRIC) ou px (pixels). Se a unidade for omitida, o valor ser considerado em HIMETRIC. Exemplo: Sub Divisor1_Click() SplitValue = 10 End Sub 6.10. Propriedades de Ob]etos de Tela Neste tpicos, so listadas as propriedades dos Objetos de Tela. As propriedades explicadas abaixo no se aplicam nos seguintes objetos: ActiveX (MSForms), E3Chart, E3Browser e E3Alarm. Estes so citados posteriormente, em captulos especficos para estes objetos. NOTA: O E3 utiliza para definio de coordenadas e espessura o sistema HIMETRIC. Neste sistema, cada unidade lgica equivale a um milsimo de E3 - Scripts - Manual de Referncia Propriedades 231 centmetro; ou seja, cada 1000 unidades equivalem a 1 centmetro. Assim, este o padro adotado na descrio das propriedades do E3, quando aplicvel. 6.10.1. Propriedades Comuns a Todos os Ob]etos de Tela NOTA: As propriedades listadas a seguir so comuns a todos os objetos citados acima, inclusive o Grupo de objetos e movimentos de Rotao e Translao. Enabled: Esta propriedade habilita/desabilita o recebimento de eventos provenientes do teclado e mouse. O valor padro desta propriedade True. Frame: Retorna o quadro-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. HasFocus: Esta propriedade determina que o objeto selecionado est com o foco. Esta propriedade acessvel apenas em tempo de execuo. Height: A propriedade Height define a altura do objeto, em unidade Himetric. Layer: Esta propriedade define em quais camadas o objeto deve aparecer. O valor representa uma mscara de 32 bits, um bit para cada camada. Portanto, podem ser definidas at 32 camadas individuais. Assim, objetos podem ser agrupados logicamente e mostrados/escondidos apenas com a modificao da mscara da propriedade Layer. MouseOver: A propriedade MouseOver informa se o ponteiro do mouse encontra-se em cima da Tela. Caso afirmativo, a propriedade MouseOver habilitada; do contrrio, ser False. Esta propriedade somente de leitura e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. MouseOverChild: A propriedade MouseOverChild informa se o ponteiro do mouse encontra-se em cima de um dos objetos inseridos na Tela. Caso afirmativo, a propriedade MouseOverChild habilitada. Caso contrrio, para False. Esta propriedade para somente leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. Screen: Retorna a Tela-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. TabStop: Esta propriedade determina a utilizao da tecla [TAB| no sistema. Se o campo estiver True, possvel utilizar a tecla; caso contrrio, a tecla no pode ser utilizada. E3 - Scripts - Manual de Referncia 232 Propriedades Tip: A propriedade Tip mostra uma texto popup quando o mouse estiver por um breve momento sobre o objeto em execuo. Exemplo: Sub RetanguloArr1_MouseUp(nButton, nShiftState, x, y) Tip= "This is a test!" End Sub Visible: Esta propriedade define se o objeto deve ou no estar visvel. Se a propriedade estiver configurada para True, o objeto fica visvel, desde que os seguintes itens sejam tambm obedecidos, obrigatoriamente: o objeto-pai deste objeto tambm deve estar visvel, e a propriedade Layer do objeto deve estar presente na camada de Tela. Do contrrio, o objeto fica invisvel. Width: A propriedade Width define a largura, em unidade Himetric, do objeto. X: A propriedade X define a coordenada horizontal esquerda, em unidade Himetric, do objeto. Y: Esta propriedade define a coordenada vertical acima, em unidade Himetric, do objeto. 6.10.2. Propriedades Comuns dos Ob]etos de Tela de Desenho e Texto NOTA: As propriedades listadas a seguir so comuns a todos os Objetos de Tela de Desenho (Linha, Retngulo, Retngulo Arredondado, Elipse, Arco, Desenho Livre, Polgono e Polgono de Curvas) e a todos os Objetos de Tela de Texto (Texto, Display e SetPoint). Angle: A propriedade Angle define o ngulo de rotao em graus, no sentido anti-horrio, que o objeto deve ser rotacionado. Isto tambm se aplica aos filhos que este objeto tiver, respeitando as limitaes de rotao de cada objeto filho. O objeto rotacionar de acordo com o seu centro, que pode ser editado durante a operao de rotao. O valor padro desta propriedade 0 (sem rotao). BackgroundColor: Esta propriedade especifica a cor de preenchimento do fundo do objeto. Esta cor utilizada quando a propriedade BackgroundStyle est configurada para 1 (opaco) e umas das propriedades VerticalPercentFill ou HorizontalPercentFill est com valores diferentes de 100. Outro uso desta cor quando a propriedade FillStyle est configurada entre os valores 2 e 8. Isto faz com que a rea restante utilize a cor de fundo para preenchimento. Nos scripts, utilize a E3 - Scripts - Manual de Referncia Propriedades 233 funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza (RGB(192, 192, 192)). BackgroundStyle: Esta propriedade especifica o modo do preenchimento do fundo do objeto. Esta propriedade habilita a utilizao das propriedades VerticalPercentFill e HorizontalPercentFill com valores diferentes de 100 e tambm da propriedade FillStyle configurada entre os valores 2 e 8. Isto faz com que a rea restante utilize a cor de fundo BackgroundColor para preenchimento. A seguinte tabela contm os valores vlidos para a propriedade BackgroundStyle: Opes disponveis para BackgroundStyle OPO DESCRIO 0 - Transparente Nenhum fundo deste objeto ser desenhado. 1- Opaco Caso visvel, o fundo ser desenhado. BorderColor: Especifica a cor da borda ou a cor da linha deste objeto. Esta propriedade s utilizada quando a propriedade BorderStyle no est configurada para o valor 5 (null), onde o objeto fica sem borda. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade branco (RGB(255, 255, 255)), exceto para os objetos Display e SetPoint, cujo valor padro da propriedade cinza escuro (RGB(128,128,128)). BorderStyle: A propriedade BorderStyle determina o estilo de borda que ser aplicada ao objeto. Opes disponveis para BorderStyle OPO DESCRIO 0- Normal (Padro) Aplica uma borda slida no grade vertical na escala. 1- Dash Aplica uma borda linha tracejada na escala. 2- Dot Aplica uma borda pontilhada na escala. 3- Dashdot Aplica uma borda trao e ponto na escala. +- Dashdotdot Aplica uma borda trao ponto ponto na escala. 5- Null O objeto no ter borda. BorderWidth: Define a espessura, em unidade Himetric, da linha/borda do objeto. S utilizado se a propriedade BorderStyle no estiver configurada para o valor 5 (null). O valor padro desta propriedade 0. Esta uma exceo no sistema de medidas do E3, pois quando seu valor 0, a espessura da linha/borda no definida em unidade Himetric, mas sim em pixels: BorderWidth=0 indica a espessura de 1 pixel. Exemplo: Sub CommandButton1_Click() Screen.Item("Label1").BorderWidth=120 End Sub E3 - Scripts - Manual de Referncia 234 Propriedades Effect3D: Determina a aplicao de efeito 3D no objeto selecionado. As opes disponveis para esta propriedade so: Opes disponveis para Effect3D OPO DESCRIO 0- No3D Transparente. (Padro) 1-Raised Aplica efeito 3D em relevo. 2-Sunken Aplica efeito 3D em baixo relevo. (Afundado) Effect3D_X: Especifica a dimenso do efeito 3D no eixo horizontal do objeto (eixo X). O valor padro desta propriedade 30. Exemplo: Sub Linha1_Click() Effect3D_X=50 End Sub Effect3D_Y: Especifica a dimenso do efeito 3D no eixo vertical do objeto (eixo Y). O valor padro desta propriedade 30. Exemplo: Sub Linha1_Click() Effect3D_Y=50 End Sub Effect3DColorBase: Determina a cor da base do efeito 3D no objeto. O valor padro desta propriedade preto (RGB (0, 0, 0)). Exemplo: Sub Linha1_Click() Effect3DColorBase= RGB (0,150,200) End Sub Effect3DColorTop: Determina a cor do topo do efeito 3D no objeto. O valor padro desta propriedade branco (RGB (255, 255, 255)). Exemplo: Sub Linha1_Click() Effect3DColorTop= RGB (0,255,200) End Sub E3 - Scripts - Manual de Referncia Propriedades 235 FillStyle: Esta propriedade especifica o estilo do preenchimento do objeto. A seguinte tabela contm os valores vlidos para a propriedade FillStyle: Opes disponveis para FillStyle OPO DESCRIO 0- Solid O preenchimento ser slido. (Default) 1- Hollow No haver preenchimento. 2- Horizontal O preenchimento ser com listras horizontais. 3- vertical O preenchimento ser com listras verticais. +-Downward O preenchimento ser com listras descendo da esquerda para a direita em ngulo de 45 graus. 5-Upward O preenchimento ser com listras subindo da esquerda para a direita em ngulo de 45 graus. 6-Cross O preenchimento ser com listras horizontais e verticais. 7-DiagonalCross O preenchimento ser com listras descendo e subindo da esquerda para a direita em angulo de 45 graus. 8-Gradient O preenchimento ser em degrad utilizando tanto ForegroundColor quanto BackgroundColor. O efeito ser definido pela propriedade GradientStyle. 9-SemiTransparent Deixa o objeto translcido. 10- NouseArea O preenchimento ser vazio, mas o objeto continua sensvel aos eventos
ForegroundColor: Esta propriedade especifica a cor do preenchimento do frente do objeto. Esta cor utilizada quando a propriedade FillStyle est configurada para 0 (slido) ou entre 2 e 9. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro para esta propriedade azul (RGB (0, 0, 255)), exceto para os objetos Display e SetPoint, cujo valor padro para esta propriedade branco (RGB (255, 255, 255)). Exemplo: Sub Botao1_Click() 'Troca a cor de fundo do botao para verde 'quando clica no objeto ForegroundColor = RGB(0, 255, 0) End Sub GradientStyle: Esta propriedade especifica o estilo de preenchimento degrad do objeto. Esta propriedade s ser utilizada quando a valor da propriedade FillStyle estiver configurada para 8 (gradient). Os degrads consideram a mudana da cor partindo de ForegroundColor e indo para BackgroundColor. E3 - Scripts - Manual de Referncia 236 Propriedades Opes disponveis para GradientStyle OPO DESCRIO 0- LeftToRight Degrad vertical da esquerda para a direita. 1- RightToLeft Degrad vertical da direita para a esquerda. 2- verFromCenter Degrad vertical do centro para as bordas. 3- verToCenter Degrad vertical das bordas para o centro. +- BottonUp Degrad horizontal de baixo para cima. 5- TopDown Degrad horizontal de cima para baixo. 6- HorzFromCenter Degrad do centro para as bordas. 7- HorzToCenter Degrad das bordas para o centro. 8- DiagUpRight Degrad diagonal para cima com a cor de frente na direita. (Padro). 9- DiagUpLeft Degrad diagonal para cima com a cor de frente na esquerda. 10- DiagUpFromCenter Degrad diagonal para cima do centro para as bordas. 11- DiagUpToCenter Degrad diagonal para cima das bordas para o centro. 12- DiagDownLeft Degrad diagonal para baixo com cor de frente na esquerda. 13- DiagDownRight Degrad diagonal para baixo com cor de frente na direita. 1+- DiagDownFromCenter Degrad diagonal para baixo do centro para as bordas. 15- DiagDownToCenter Degrad diagonal para baixo das bordas para o centro. 16- SpotSouthEast Degrad com cor de frente partindo do canto inferior direito. 17- SpotSouthWest Degrad com cor de frente partindo do canto inferior esquerdo. 18- SpotNorthWest Degrad com cor de frente partindo do canto superior esquerdo. 19- SpotNorthEast Degrad com cor de frente partindo do canto superior direito. 20- SpotFromCenter Degrad com cor de fundo do centro para as bordas. 21- SpotToCenter Degrad com cor de fundo das bordas para o centro. IMPORTANTE: Um grande nmero de objetos sendo mostrados com degrad simultaneamente acarreta uma perda de performance na atualizao da tela. O uso de figuras no lugar pode resolver o problema. Exemplo: Sub Botao1_Click() 'Objeto fica com degrade FillStyle = 8 'GradientFill GradientStyle = 0 'leftToRight End Sub HorizontalFillStyle: Define como ser o preenchimento horizontal do objeto. Esta propriedade trabalha em conjunto com a propriedade HorizontalPercentFill, que informa qual porcentagem do objeto dever ser preenchida. Estas duas propriedades permitem uma simulao de um preenchimento de nvel em um objeto, como ocorre em um nvel de um tanque, por exemplo. E3 - Scripts - Manual de Referncia Propriedades 237 Opes disponveis para HorizontalFillStyle OPO DESCRIO 0- FillLeftToRight A porcentagem de preenchimento ser da esquerda para a direita. (Padro) 1-FillRightToLeft A porcentagem de preenchimento ser da direita para a esquerda. 2-FillCenterToEdgesH A porcentagem de preenchimento ser do centro para as bordas.
Exemplo: Sub Circulo1_OnStartRunning() HorizontalFillStyle=2 End Sub HorizontalPercentFill: Utilize a propriedade HorizontalPercentFill para especificar qual a porcentagem da rea horizontal do objeto dever ser preenchida. Os valores aceitos por esta propriedade variam de 0 a 100. Esta propriedade trabalha em conjunto com a propriedade HorizontalFillStyle, que informa como este preenchimento ocorrer. O valor padro desta propriedade 100. Exemplo: Sub Circulo1_OnStartRunning() HorizontalPercentFill=200 End Sub Shadow: Indica a presena do efeito de sombra no objeto. Se True, o objeto possui uma sombra, cujas coordenadas so estabelecidas pelas propriedades ShadowX e ShadowY. Do contrrio, o objeto no possui o efeito de sombra. O valor padro desta propriedade False. ShadowColor: Especifica a cor do preenchimento da sombra do objeto. Esta cor utilizada quando a propriedade Shadow est configurada para True. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza escuro (RGB(128, 128, 128)). Exemplo: Sub Botao1_Click() 'Troca a cor de fundo do botao para cinza claro 'quando clica no objeto ShadowColor = RGB(192, 192, 192) End Sub ShadowX: Define a coordenada vertical esquerda da sombra deste objeto, em unidades Himetric. Este sombra sempre relativa a propriedade X do objeto. Valores positivos indicam que a sombra estar direita do objeto, e negativos, esquerda. O valor padro desta propriedade 200. E3 - Scripts - Manual de Referncia 238 Propriedades ShadowY: Define a coordenada horizontal superior da sombra deste objeto, em unidades Himetric. Este sombra sempre relativa a propriedade Y do objeto. Valores positivos indicam que a sombra estar abaixo do objeto, e negativos, acima. O valor padro desta propriedade 200. Exemplo: Sub Botao1_Click() ShadowY = 250 End Sub VerticalFillStyle: Define como ser o preenchimento vertical do objeto. Esta propriedade trabalha em conjunto com a propriedade VerticalPercentFill, que informa qual porcentagem do objeto dever ser preenchida. Estas duas propriedades permitem uma simulao de um preenchimento de nvel em um objeto. Opes disponveis para VerticalFillStyle OPO DESCRIO 0- FillBottonToTop A porcentagem de preenchimento ser de baixo para cima. 1-FillTopToBottom A porcentagem de preenchimento ser de cima para baixo. 2-FillCenterToEdgesv A porcentagem de preenchimento ser do centro para as bordas.
Exemplo: Sub Circulo1_OnStartRunning() VerticalFillStyle= 2 End Sub VerticalPercentFill: Utilize a propriedade VerticalPercentFill para especificar qual a porcentagem da rea vertical do objeto dever ser preenchida. Os valores aceitos por esta propriedade variam de 0 a 100. Esta propriedade trabalha em conjunto com a propriedade VerticalFillStyle, que informa como este preenchimento ocorrer. O valor padro desta propriedade 100. Exemplo: E3 - Scripts - Manual de Referncia Propriedades 239 Sub Circulo1_OnStartRunning() VerticalPercentFill= 254 End Sub 6.10.3. Propriedades do Retngulo Arredondado RoundAspectX: A propriedade RoundAspectX define o tamanho da dimenso das laterais do retngulo no eixo X. Sendo assim, de acordo com o valor definido na propriedade, os cantos do retngulo iro mudar a sua forma, desde um retngulo at uma elipse. Esta propriedade pode variar seu valor de 0.1 at 1.0. Exemplo: Sub RetanguloArred_Click() RoundAspectX = 0.5 End Sub RoundAspectY: A propriedade RoundAspectY define o tamanho da dimenso da altura do retngulo no eixo Y. Sendo assim, de acordo com o valor definido na propriedade, os cantos do retngulo iro mudar a sua forma, desde um retngulo at uma elipse. Esta propriedade pode variar seu valor de 0.1 at 1.0. Exemplo: Sub RetanguloArred_Click() RoundAspectY = 0.5 End Sub 6.10.4. Propriedades do Arco ArcBeginAngle: Esta propriedade configura o ngulo inicial do arco do objeto, em graus. O intervalo aceito por essa propriedade vai de 0 at 359. O estilo e forma do arco dependero tambm das configuraes das propriedades ArcEndAngle e ArcStyle. O valor padro desta propriedade 0. Exemplo: Sub CommandButton9_Click() Screen.Item("Arco1").ArcBeginAngle = 12 End Sub ArcEndAngle: Esta propriedade configura o ngulo final do arco do objeto, em graus. O intervalo aceito por essa propriedade vai de 0 at 359. O estilo e forma do arco dependero tambm das configuraes das propriedades ArcBeginAngle e ArcStyle. O valor padro desta propriedade 270. E3 - Scripts - Manual de Referncia 240 Propriedades Exemplo: Sub CommandButton9_Click() Screen.Item("Arco1").ArcEndAngle = 12 End Sub ArcStyle: Esta propriedade especifica o estilo da borda/linha do objeto. A borda do objeto ser desenhada conforme o estilo definido, utilizando a cor especificada em BorderColor com a espessura BorderWidth. A seguinte tabela contm os valores vlidos para a propriedade ArcStyle: Opes disponveis para ArcStyle OPO DESCRIO 0- arc O estilo do desenho ser um arco. 1- chord O estilo do desenho ser uma corda, unindo o ponto inicial e final. 2- pie O estilo do desenho ser uma pizza. (Padro)
Exemplo: Sub CommandButton9_Click() Screen.Item("Arco1").ArcStyle = 1 End Sub 6.10.5. Propriedades da Figura BackgroundColor: Esta propriedade especifica a cor de preenchimento do fundo do objeto. Esta cor utilizada quando a propriedade BackgroundStyle est configurada para 1 (opaco) e umas das propriedades VerticalPercentFill ou HorizontalPercentFill est com valores diferentes de 100. Outro uso desta cor quando a propriedade FillStyle est configurada entre os valores 2 e 8. Isto faz com que a rea restante utilize a cor de fundo para preenchimento. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza (RGB(192, 192, 192)). BackgroundStyle: Esta propriedade especifica o modo do preenchimento do fundo do objeto. Esta propriedade habilita a utilizao das propriedades VerticalPercentFill e HorizontalPercentFill com valores diferentes de 100 e tambm da propriedade FillStyle configurada entre os valores 2 e 8. Isto faz com que a rea restante utilize a cor de fundo BackgroundColor para preenchimento. A seguinte tabela contm os valores vlidos para a propriedade BackgroundStyle: Opes disponveis para BackgroundStyle OPO DESCRIO E3 - Scripts - Manual de Referncia Propriedades 241 0 - Transparente Nenhum fundo deste objeto ser desenhado. 1- Opaco Caso visvel, o fundo ser desenhado. Convert: Esta propriedade permite a converso da figura. Se a opo do campo estiver em 0 possvel visualizar a converso. Caso contrrio, no ser possvel visualizar a converso. O campo s aceita os valores 0 e 1. O valor padro desta propriedade 0. EnableOverrideLineColor: Esta propriedade habilita/desabilita o objeto a sobrescrever a cor original da linha da imagem pela cor definida na propriedade OverrideLineColor. Se a propriedade EnableOverrideLineColor estiver habilitada, faz com que sejam modificadas a cor original da linha do objeto pela cor de OverrideLineColor. Caso contrrio, o objeto figura exibir a cor original. Filename: Define o nome do arquivo de imagem associado a esse objeto. O caminho do arquivo pode ser tanto o caminho completo do arquivo no disco ou o caminho relativo aplicao (quando inserido o arquivo de imagem como um recurso da aplicao). O valor padro desta propriedade vazio. Os seguintes tipos de arquivos de imagem so suportados:
PROPRIEDADE FILTRO DESCRIO FILTRO Bitmap file BMP No Sim Graphics Interchange Format GIF No Sim Joint Picture Expert Group JPG No Sim Icon File ICO No Sim HorizontalFillStyle: Define como ser o preenchimento horizontal do objeto. Esta propriedade trabalha em conjunto com a propriedade HorizontalPercentFill, que informa qual porcentagem do objeto dever ser preenchida. Estas duas propriedades permitem uma simulao de um preenchimento de nvel em um objeto, como ocorre em um nvel de um tanque, por exemplo. Opes disponveis para HorizontalFillStyle OPO DESCRIO 0- FillLeftToRight A porcentagem de preenchimento ser da esquerda para a direita. (Padro) 1-FillRightToLeft A porcentagem de preenchimento ser da direita para a esquerda. 2-FillCenterToEdgesH A porcentagem de preenchimento ser do centro para as bordas.
Exemplo: Sub Circulo1_OnStartRunning() HorizontalFillStyle=2 End Sub E3 - Scripts - Manual de Referncia 242 Propriedades HorizontalPercentFill: Utilize a propriedade HorizontalPercentFill para especificar qual a porcentagem da rea horizontal do objeto dever ser preenchida. Os valores aceitos por esta propriedade variam de 0 a 100. Esta propriedade trabalha em conjunto com a propriedade HorizontalFillStyle, que informa como este preenchimento ocorrer. O valor padro desta propriedade 100. Exemplo: Sub Circulo1_OnStartRunning() HorizontalPercentFill=200 End Sub OverrideFillColor: Quando a propriedade OverrideFillMode estiver especificada para valores 2 ou 3, a propriedade OverrideFillColor ser usada para definir a cor a ser usada no preenchimento da imagem, ao invs da cor original. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade vermelho (RGB(255, 0, 0)). Exemplo: Sub DrawPicture1_Click() 'Ao clicar no objeto seta o modo 'Override para slido e troca a cor de 'preenchimento da imagem para azul OverrideFillMode = 2 OverrideFillColor = RGB(0, 0, 255) End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). OverrideFillMode: A propriedade OverrideFillMode especifica o modo do preenchimento da imagem do objeto, quando este est mostrando um arquivo Windows Metafile. Ela altera o modo original de preenchimento da imagem sem alterar o arquivo definido pela propriedade Filename. A seguinte tabela contm os valores vlidos para a propriedade OverrideFillMode: Opes disponveis para OverrideFillMode OPO DESCRIO 0- NoOverride (Padro) A imagem manter seu preenchimento original. 1- WideFrame A imagem no ser preenchida. 2- SolidFill A imagem ser preenchida com a cor especificada pela propriedade OverrideFillColor. 3- ByBrightness A imagem ser preenchida com a cor especificada pela propriedade OverrideFillColor, porm levar em conta qual era a intensidade da cor original da imagem. E3 - Scripts - Manual de Referncia Propriedades 243 Exemplo: Sub DrawPicture1_Click() 'Ao clicar no objeto seta o modo 'Override para slido e troca a cor de 'preenchimento da imagem para azul OverrideFillMode = 2 OverrideFillColor = RGB(0, 0, 255) End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). OverrideLineColor: Quando a propriedade EnableOverrideLineColor estiver configurada para True, a propriedade OverrideLineColor ser usada para definir a cor a ser usada na cor da linha da figura, ao invs da cor original. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade vermelho (RGB(255, 0, 0)). Exemplo: Sub DrawPicture1_Click() OverrideLineColor = RGB(0, 0, 255) End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). Shadow: Indica a presena do efeito de sombra no objeto. Se True, o objeto possui uma sombra, cujas coordenadas so estabelecidas pelas propriedades ShadowX e ShadowY. Do contrrio, o objeto no possui o efeito de sombra. O valor padro desta propriedade False. ShadowColor: Especifica a cor do preenchimento da sombra do objeto. Esta cor utilizada quando a propriedade Shadow est configurada para True. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza escuro (RGB(128, 128, 128)). Exemplo: Sub Botao1_Click() 'Troca a cor de fundo do botao para cinza claro 'quando clica no objeto ShadowColor = RGB(192, 192, 192) End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). E3 - Scripts - Manual de Referncia 244 Propriedades ShadowX: Define a coordenada vertical esquerda da sombra deste objeto, em unidades Himetric. Este sombra sempre relativa a propriedade X do objeto. Valores positivos indicam que a sombra estar direita do objeto, e negativos, esquerda. O valor padro desta propriedade 200. ShadowY: Define a coordenada horizontal superior da sombra deste objeto, em unidades Himetric. Este sombra sempre relativa a propriedade Y do objeto. Valores positivos indicam que a sombra estar abaixo do objeto, e negativos, acima. O valor padro desta propriedade 200. Exemplo: Sub Botao1_Click() ShadowY = 250 End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). TransparentColor: Quando a propriedade TransparentMode estiver configurada para 1, esta propriedade definir qual cor da imagem no ser desenhada, e a imagem ficar transparente nestes pontos. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade branco (RGB(255, 255, 255)). Exemplo: Sub DrawPicture1_Click() 'Deixa a cor da imagem azul transparente 'quando clica no objeto Figura TransparentMode = 1 'ByColor TransparentColor = RGB(0, 0, 255) End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). E3 - Scripts - Manual de Referncia Propriedades 245 TransparentMode: A propriedade TransparentMode especifica o modo como a imagem ter o efeito de transparncia. Opes disponveis para TransparentMode OPO DESCRIO 0- Disabled Nenhuma transparncia ser efetuada. 1-ByColor A transparncia ser de acordo com a cor definida na propriedade TransparentColor. 2- ByPercent A imagem ficar translcida com porcentagem de transparncia especificada na propriedade TransparentPercent. Exemplo: Sub DrawPicture1_Click() 'Deixa a cor da imagem azul transparente 'quando clica no objeto Figura TransparentMode = 1 'ByColor TransparentColor = RGB(0, 0, 255) End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). TransparentPercent: Quando a propriedade TransparentMode estiver configurada para 2, esta propriedade define quo translcida a imagem ser exibida, variando de 0 (totalmente translcido) a 100 (opaco - slido). Exemplo: Sub DrawPicture1_Click() 'Deixa a imagem translcida quando clica no objeto TransparentMode = 1 'ByPercent TransparentPercent = 50 '50% translcido End Sub NOTA: Esta propriedade s funciona quando o objeto Figura est trabalhando com arquivos metafile (WMF ou EMF). VerticalFillStyle: Define como ser o preenchimento vertical do objeto. Esta propriedade trabalha em conjunto com a propriedade VerticalPercentFill, que informa qual porcentagem do objeto dever ser preenchida. Estas duas propriedades permitem uma simulao de um preenchimento de nvel em um objeto. E3 - Scripts - Manual de Referncia 246 Propriedades Opes disponveis para VerticalFillStyle OPO DESCRIO 0- FillBottonToTop A porcentagem de preenchimento ser de baixo para cima. 1-FillTopToBottom A porcentagem de preenchimento ser de cima para baixo. 2-FillCenterToEdgesv A porcentagem de preenchimento ser do centro para as bordas.
Exemplo: Sub Circulo1_OnStartRunning() VerticalFillStyle= 2 End Sub VerticalPercentFill: Utilize a propriedade VerticalPercentFill para especificar qual a porcentagem da rea vertical do objeto dever ser preenchida. Os valores aceitos por esta propriedade variam de 0 a 100. Esta propriedade trabalha em conjunto com a propriedade VerticalFillStyle, que informa como este preenchimento ocorrer. O valor padro desta propriedade 100. Exemplo: Sub Circulo1_OnStartRunning() VerticalPercentFill= 254 End Sub 6.10.6. Propriedades do Texto, Display e 8etPoint EnableLimits: Indica se ser feita a verificao de limites no texto. Quando EnableLimits for True, e o usurio inserir um valor no-numrico ou colocar um valor fora dos limites definidos em MinValue e MaxValue, uma mensagem de erro mostrada (a propriedade IsSetPoint deve ser True). Exemplo: Sub CommandButton1_Click() Screen.Item("Texto1").EnableLimits = _ Not(Screen.Item("Texto1").EnableLimits) End Sub Format: A propriedade Format especifica que tipo de formato ser atribudo ao objeto. Permite mudar a forma como os dados so apresentados sem mudar o valor que existe por trs deles. Esta propriedade pode ser editada manualmente ou configurada atravs da janela de formatao. Seu uso semelhante aos formatadores usados nas planilhas de dados, seguindo a mesma sintaxe. So suportados os seguintes tipos de dados: E3 - Scripts - Manual de Referncia Propriedades 247 Tipos de dados suportados por Format DADOS DESCRIO Numrico Sada decimal, cientfica, hexadecimal, binria e octal. Texto Textos em geral. Booleano Valores boleanos. DatafHora Calendrio Gregoriano IsSetPoint: A propriedade IsSetPoint utilizada para determinar se o objeto tem comportamento de SetPoint, ou seja, permite edio da propriedade Value. A propriedade Value consiste em um variant, que pode assumir valores de todo e qualquer tipo. A propriedade IsSetPoint propriedade booleana e assume o seguinte comportamento: se a opo for True, ser permitida a edio; j se a opo estiver False, a edio no ser permitida. Isto pode ser visualizado quando o objeto Viewer est em execuo. O valor padro desta propriedade False. KeepFormatWhenEditing: Permite que o valor do objeto seja editado com ou sem formatao. As opes disponveis so: 0 - kfNever = neste caso o valor sempre editado sem formatao (padro); e 1 - kfAutomatic = permite que o valor seja editado no valor formatado, caso o E3 detecte que o texto formatado passvel de ser interpretado como um valor. Caso o formato seja considerado incompatvel o valor editado sem formatao. MaxLimits: Contm o valor mximo permitido no objeto (a propriedade EnableLimits deve ser True). Exemplo: Sub CommandButton3_Click() Screen.Item("Texto1").MaxLimit=Screen.Item("Texto6").Value End Sub MinLimits: Contm o valor mnimo permitido no objeto (a propriedade EnableLimits deve ser True). Exemplo: Sub CommandButton2_Click() Screen.Item("Texto1").MinLimit= Screen.Item("Texto5").Value End Sub Multiline: A propriedade Multiline indica se o texto ter mltiplas linhas (True) ou ser uma caixa de texto simples (False). Isto pode ser visualizado quando o objeto Viewer est em execuo. O valor padro desta propriedade False. Exemplo: Sub Tela1_OnStartRunning() Screen.Item("TextBox1").Multiline=True End Sub E3 - Scripts - Manual de Referncia 248 Propriedades SetPointDataType: Determina o tipo de valor que enviado do SetPoint para o tag. Opes disponveis para SetPointDataType OPO DESCRIO 0- stCurrentType Mantm o tipo do valor atual no SetPoint (ver a seguir). 1- stChar Valor inteiro de 8 bits com sinal. 2- stByte Valor inteiro de 8 bits sem sinal. 3- stWord Valor inteiro de 16 bits sem sinal. +- st!nteger Valor inteiro de 16 bits com sinal. 5- stLong Valor inteiro de 32 bits com sinal. 6- stDWord Valor inteiro de 16 bits sem sinal. 7- stSingle Valor de ponto flutuante de 32 bits. 8- stDouble Valor de ponto flutuante de 64 bits. 9- stDateTime Valor data/hora. 10- stString Texto. Quando o texto digitado enviado pelo SetPoint, este primeiro tentar converter o valor para o tipo configurado (Word, String, Double etc.). Se a converso no for possvel - ou seja, o valor digitado invlido para o tipo escolhido nenhum valor enviado (por exemplo, se o usurio digitar -1 e o tipo for Byte). J quando o valor da propriedade for 0-stCurrentType, o tipo do dado enviado pelo SetPoint ser extrado do valor anterior presente no objeto. Caso o valor anterior seja empty ou null, nenhuma converso ser feita e o valor digitado ser enviado como texto. Exemplo: Sub Combobox1_Change( ) Screen.Item("Texto1").SetPointDataType = CInt(Left(Value, 2)) End Sub StretchText: Redimensiona o tamanho do objeto. A partir do momento que a propriedade StretchText for habilitada, o objeto automaticamente redimensiona o tamanho da fonte do texto para que a rea ocupada por ele continue sempre a mesma. De outra forma, se a propriedade StretchText estiver configurada para False, nenhum redimensionamento ser efetuado. TextAlignment: Esta propriedade especifica o alinhamento horizontal do texto mostrado no objeto. Opes disponveis para TextAlignment OPO DESCRIO 0-LeftAlignment O alinhamento horizontal do texto ser esquerda. 1-CenterAlignment O alinhamento horizontal do texto ser centralizado. 2-RightAlignment O alinhamento horizontal do texto ser direita. E3 - Scripts - Manual de Referncia Propriedades 249
TextColor: Esta propriedade especifica a cor da fonte do texto a ser exibido. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade preto (RGB(0, 0, 0)). TextFont: Define o tipo da fonte a ser utilizado pelo objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes e configurada somente via Studio. Value: A propriedade Value consiste em um variant, que pode assumir valores de todo e qualquer tipo, e que ser exibido pelo objeto. Geralmente esta propriedade conter um texto, pois automaticamente preenchida quando ocorre a criao de um novo objeto texto. A propriedade IsSetPoint, utilizada para determinar se o objeto texto vai ter comportamento de IsSetPoint, ou seja, permitir edio da propriedade Value. Exemplo: Sub DrawString1_OnStartRunning() 'L o valor de um tag e mostra o Texto Dim obj Set obj = Application.GetObject("DataServer1.DemoTag1") Value = "Valor de DemoTag1 = " & obj.Value End Sub VertTextAlignment: Determina o alinhamento vertical do texto do objeto. Opes disponveis para VertTextAlignment OPO DESCRIO 0-TopAlignment Alinhamento vertical do texto no topo do objeto. 1-NidAlignment Alinhamento vertical do texto no centro do objeto. 2-BottonAlignment Alinhamento vertical do texto na base do objeto.
WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. E3 - Scripts - Manual de Referncia 250 Propriedades 6.10.7. Propriedades da Escala Angle: A propriedade Angle define o ngulo de rotao em graus, no sentido anti-horrio, que o objeto deve ser rotacionado. Isto tambm se aplica aos filhos que este objeto tiver, respeitando as limitaes de rotao de cada objeto filho. O objeto rotacionar de acordo com o seu centro, que pode ser editado durante a operao de rotao. O valor padro desta propriedade 0 (sem rotao). BackgroundColor: Esta propriedade especifica a cor de preenchimento do fundo do objeto. Esta cor utilizada quando a propriedade BackgroundStyle est configurada para 1 (opaco) e umas das propriedades VerticalPercentFill ou HorizontalPercentFill est com valores diferentes de 100. Outro uso desta cor quando a propriedade FillStyle est configurada entre os valores 2 e 8. Isto faz com que a rea restante utilize a cor de fundo para preenchimento. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza (RGB(192, 192, 192)). BorderColor: Esta propriedade determina a cor da borda que ser aplicada no objeto escala. Com esta propriedade, possvel aplicar a cor padro ou personaliz- la atravs da sua edio. O valor padro desta propriedade branco (RGB (255, 255, 255)). Exemplo: Sub Escala1_Click() BorderColor = RGB (255,0,0) End Sub BorderStyle: A propriedade BorderStyle determina o estilo de borda que ser aplicada ao objeto escala. Opes disponveis para BorderStyle OPO DESCRIO 0- Normal (Padro) Aplica uma borda slida no grade vertical na escala. 1- Dash Aplica uma borda linha tracejada na escala. 2- Dot Aplica uma borda pontilhada na escala. 3- Dashdot Aplica uma borda trao e ponto na escala. +- Dashdotdot Aplica uma borda trao ponto ponto na escala. 5- Null O objeto no ter borda. Exemplo: Sub Escala1_Click() BorderStyle = 1 End Sub E3 - Scripts - Manual de Referncia Propriedades 251 BorderWidth: Esta propriedade determina a altura (em pixels) da borda do objeto escala. Atravs desta propriedade, possvel configurar a altura da borda, sem ter que mexer na sua estrutura. O valor padro desta propriedade 0. Exemplo: Sub CommandButton1_Click() Screen.Item("Escala1").BorderWidth=120 End Sub FillStyle: Esta propriedade especifica o estilo do preenchimento do objeto. A seguinte tabela contm os valores vlidos para a propriedade FillStyle: Opes disponveis para FillStyle OPO DESCRIO 0- Solid O preenchimento ser slido. 1- Hollow No haver preenchimento. 2- Horizontal O preenchimento ser com listras horizontais. 3- vertical O preenchimento ser com listras verticais. +-Downward O preenchimento ser com listras descendo da esquerda para a direita em ngulo de 45 graus. 5-Upward O preenchimento ser com listras subindo da esquerda para a direita em ngulo de 45 graus. 6-Cross O preenchimento ser com listras horizontais e verticais. 7-DiagonalCross O preenchimento ser com listras descendo e subindo da esquerda para a direita em angulo de 45 graus. 8-Gradient O preenchimento ser em degrad utilizando tanto ForegroundColor quanto BackgroundColor. O efeito ser definido pela propriedade GradientStyle. 9-SemiTransparent Deixa o objeto translcido. 10- NouseArea O preenchimento ser vazio, mas o objeto continua sensvel aos eventos (Padro) ForegroundColor: Esta propriedade especifica a cor do preenchimento do frente do objeto. Esta cor utilizada quando a propriedade FillStyle est configurada para 0 (slido) ou entre 2 e 9. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro para esta propriedade azul (RGB (0, 0, 255)). Exemplo: Sub Botao1_Click() 'Troca a cor de fundo do botao para verde 'quando clica no objeto ForegroundColor = RGB(0, 255, 0) End Sub Format: A propriedade Format especifica que tipo de formato ser atribudo ao objeto. Permite mudar a forma como os dados so apresentados sem mudar o valor E3 - Scripts - Manual de Referncia 252 Propriedades que existe por trs deles. Esta propriedade pode ser editada manualmente ou configurada atravs da janela de formatao. Seu uso semelhante aos formatadores usados nas planilhas de dados, seguindo a mesma sintaxe. So suportados os seguintes tipos de dados: Tipos de dados suportados por Format DADOS DESCRIO Numrico Sada decimal, cientfica, hexadecimal, binria e octal. Texto Textos em geral. Booleano Valores boleanos. DatafHora Calendrio Gregoriano GradientStyle: Esta propriedade especifica o estilo de preenchimento degrad do objeto. Esta propriedade s ser utilizada quando a valor da propriedade FillStyle estiver configurada para 8 (gradient). Os degrads consideram a mudana da cor partindo de ForegroundColor e indo para BackgroundColor. E3 - Scripts - Manual de Referncia Propriedades 253 Opes disponveis para GradientStyle OPO DESCRIO 0- LeftToRight Degrad vertical da esquerda para a direita. 1- RightToLeft Degrad vertical da direita para a esquerda. 2- verFromCenter Degrad vertical do centro para as bordas. 3- verToCenter Degrad vertical das bordas para o centro. +- BottonUp Degrad horizontal de baixo para cima. 5- TopDown Degrad horizontal de cima para baixo. 6- HorzFromCenter Degrad do centro para as bordas. 7- HorzToCenter Degrad das bordas para o centro. 8- DiagUpRight Degrad diagonal para cima com a cor de frente na direita. (Padro). 9- DiagUpLeft Degrad diagonal para cima com a cor de frente na esquerda. 10- DiagUpFromCenter Degrad diagonal para cima do centro para as bordas. 11- DiagUpToCenter Degrad diagonal para cima das bordas para o centro. 12- DiagDownLeft Degrad diagonal para baixo com cor de frente na esquerda. 13- DiagDownRight Degrad diagonal para baixo com cor de frente na direita. 1+- DiagDownFromCenter Degrad diagonal para baixo do centro para as bordas. 15- DiagDownToCenter Degrad diagonal para baixo das bordas para o centro. 16- SpotSouthEast Degrad com cor de frente partindo do canto inferior direito. 17- SpotSouthWest Degrad com cor de frente partindo do canto inferior esquerdo. 18- SpotNorthWest Degrad com cor de frente partindo do canto superior esquerdo. 19- SpotNorthEast Degrad com cor de frente partindo do canto superior direito. 20- SpotFromCenter Degrad com cor de fundo do centro para as bordas. 21- SpotToCenter Degrad com cor de fundo das bordas para o centro. IMPORTANTE: Um grande nmero de objetos sendo mostrados com degrad simultaneamente acarreta uma perda de performance na atualizao da Tela. O uso de figuras no lugar pode resolver o problema. Exemplo: Sub Botao1_Click() 'Objeto fica com degrade FillStyle = 8 'GradientFill GradientStyle = 0 'leftToRight End Sub LineColor: Determina a cor da linha com as marcas divisrias e subdivisrias da escala. Para determinar a cor da legenda com nmeros do objeto, use a propriedade TextColor. O valor padro desta propriedade preto (RGB (0, 0, 0)). MaximumValue: Esta propriedade determina o valor mximo atingido pela escala. O valor padro desta propriedade 100. E3 - Scripts - Manual de Referncia 254 Propriedades Exemplo: Sub CommandButton_Click() 'Ao clicar no boto, abre um messagebox indicando 'o valor da mximo da propriedade da escala MsgBox CSTr(Screen.Item("Escala1").MaximumValue) End Sub MinimumValue: Esta propriedade determina o valor mnimo requerido pela escala. O valor padro desta propriedade 0. Exemplo: Sub CommandButton1_Click() 'Ao clicar no boto, abre um messagebox indicando 'o valor da propriedade Minimum do TagDemo1 MsgBox _ CSTr(Application.GetObject("Dados.Scala1").MinimumValue) End Sub MinorTicks: Esta propriedade determina a quantidade de marcas da escala. O valor padro desta propriedade 3. Exemplo: Sub CommandButton1_Click() 'Mostra o total de marcas da escala MsgBox CStr(Screen.Item("Escala1").MinorTicks) End Sub MinorTicksPercentSize: Esta propriedade determina o tamanho das marcas que subdividem cada medida do objeto escala. O valor padro desta propriedade 10. Exemplo: Sub CommandButton1_Click() MsgBox CStr(Screen.Item("Escala1").MinorTicksPercentSize) End Sub ScaleAlignment: Esta propriedade determina o tipo de alinhamento que ser atribudo escala: 0-RightSide = direita (valor padro); 1-LeftSide = esquerda. Exemplo: Sub CommandButton1_Click() Screen.Item("Escala1").ScaleAlignment=1 End Sub ShowText: Esta propriedade determina a visibilidade do texto na legenda do objeto escala. Se a opo estiver habilitada, o texto mostrado. Caso contrrio, o E3 - Scripts - Manual de Referncia Propriedades 255 objeto mostra somente as linhas e subdivises da escala. O valor padro desta propriedade True. StretchText: Esta propriedade determina a aplicao de extenso (stretch) ao texto do objeto escala (caso a largura ou altura da escala seja alterados, o texto acompanha esta variao). Se a propriedade estiver habilitada, o objeto acompanha as variaes de altura e largura do objeto conforme for transformado. Caso contrrio, o texto permanece com as configuraes iniciais. O valor padro desta propriedade False. TextAlignment: A propriedade TextAlignment determina o alinhamento do texto no objeto. Opes disponveis para TextAlignment OPO DESCRIO 0- leftAlignment (Padro) O alinhamento do texto ser esquerda. 1- centerAlignment O alinhamento do texto ser centralizado. 2- rightAlignment O alinhamento do texto ser direita. TextColor: Determina a cor da fonte aplicada na legenda com nmeros do objeto escala. Para determinar a cor da linha com as marcas divisrias e subdivisrias da escala, utilize a propriedade LineColor. O valor padro desta propriedade preto (RGB (0, 0, 0)). TextFont: A propriedade TextFont determina a fonte que ser aplicada na escala. A fonte escolhida ser aplicada em todo o objeto escala. Esta propriedade no pode ser utilizada em scripts e/ou associaes e configurada somente via Studio. Ticks: Determina a quantidade de divisrias que a escala ter. O valor padro desta propriedade 5. TickPercentSize: Determina o tamanho das linhas que dividem o objeto escala. Conforme for o valor especificado nesta propriedade, maior ou menor ficar ao tamanho da linha da divisria padro da escala. O valor padro desta propriedade 20. E3 - Scripts - Manual de Referncia 256 Propriedades 6.10.8. Propriedades do Grupo de Ob]etos Angle: A propriedade Angle define o ngulo de rotao em graus, no sentido anti-horrio, que o grupo deve ser rotacionado. Isto tambm se aplica aos filhos que este objeto tiver, respeitando as limitaes de rotao de cada objeto filho. O objeto rotacionar de acordo com o seu centro, que pode ser editado durante a operao de rotao. O valor padro desta propriedade 0 (sem rotao). Exemplo: Sub Arco1_Click() Angle = 180 End Sub EnableOverrideLineColor: Esta propriedade habilita/desabilita o objeto grupo a sobrescrever as cores originais das linhas dos objetos contidos no grupo. Se a propriedade EnableOverrideLineColor estiver habilitada, faz com que sejam modificadas as cores originais das linhas dos objetos do grupo pela cor definida na propriedade OverrideLineColor. Caso contrrio, cada objeto contido no grupo apresentar sua cor de linha original. O valor padro desta propriedade False. OverrideFillColor: Quando a propriedade OverrideFillMode estiver especificada para valores 2 ou 3, a propriedade OverrideFillColor ser usada para definir a cor a ser usada no preenchimento dos objetos contguos no grupo, ao invs da cor original. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade vermelho (RGB(255, 0, 0)). Exemplo: Sub DrawGroup1_Click() 'Ao clicar no objeto seta o modo 'Override para slido e troca a cor de 'preenchimento da imagem para azul OverrideFillMode = 2 OverrideFillColor = RGB(0, 0, 255) End Sub OverrideFillMode: A propriedade OverrideFillMode especifica o modo do preenchimento dos objetos que esto dentro do grupo. Ela altera o modo original de preenchimento da imagem sem alterar a configurao original de preenchimento dos objetos. E3 - Scripts - Manual de Referncia Propriedades 257 Opes disponveis para OverrideFillMode OPO DESCRIO 0- NoOverride Preenchimento original do objeto. 1- WireFrame Os objetos no sero preenchidos, desenharo somente suas bordas. 2- SolidFill O preenchimento dos objetos contidos no grupo ser slido com a cor especificada na propriedade OverrideFillColor. 3-ByBrightness O preenchimento dos objetos contidos no grupo ser slido com a cor especificada pela propriedade OverrideFillColor, porm levar em conta qual era a intensidade da cor original de preenchimento de cada objeto. Exemplo: Sub DrawGroup1_Click() 'Ao clicar no objeto seta o modo 'Override para slido e troca a cor de 'preenchimento da imagem para azul OverrideFillMode = 2 OverrideFillColor = RGB(0, 0, 255) End Sub OverrideLineColor: Quando a propriedade EnableOverrideLineColor estiver configurada para True, a propriedade OverrideLineColor ser usada para definir a cor a ser usada na cor da linha dos objetos do grupo, ao invs da cor original. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade vermelho (RGB(255, 0, 0)). Exemplo: Sub Grupo1_Click() OverrideLineColor = RGB (255,0,0) End Sub Shadow: Indica a presena do efeito de sombra no objeto. Se True, o objeto possui uma sombra, cujas coordenadas so estabelecidas pelas propriedades ShadowX e ShadowY. Do contrrio, o objeto no possui o efeito de sombra. O valor padro desta propriedade False. ShadowColor: Especifica a cor do preenchimento da sombra do grupo. Esta cor utilizada quando a propriedade Shadow est configurada para True. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza escuro (RGB(128, 128, 128)). E3 - Scripts - Manual de Referncia 258 Propriedades Exemplo: Sub Botao1_Click() 'Troca a cor de fundo do botao para cinza claro 'quando clica no objeto ShadowColor = RGB(192, 192, 192) End Sub ShadowX: Define a coordenada vertical esquerda da sombra deste objeto, em unidades Himetric. Este sombra sempre relativa a propriedade X do objeto. Valores positivos indicam que a sombra estar direita do objeto, e negativos, esquerda. O valor padro desta propriedade 200. ShadowY: Define a coordenada horizontal superior da sombra deste grupo, em unidades Himetric. Este sombra sempre relativa a propriedade Y do grupo. Valores positivos indicam que a sombra estar abaixo do grupo, e negativos, acima. O valor padro desta propriedade 200. Exemplo: Sub Botao1_Click() ShadowY = 250 End Sub 6.10.9. Propriedades do Movimento {Translao e Rotao} Angle: A propriedade Angle define o ngulo de rotao em graus, no sentido anti-horrio, que o objeto deve ser rotacionado. Isto tambm se aplica aos filhos que este objeto tiver, respeitando as limitaes de rotao de cada objeto filho. O objeto rotacionar de acordo com o seu centro, que pode ser editado durante a operao de rotao. O valor padro desta propriedade 0 (sem rotao). Exemplo: Sub Arco1_Click() Angle = 180 End Sub Detents: Atravs da propriedade Detents determinado o nmero de passos do movimento no objeto. Exemplo: Sub CommandButton1_Click() MsgBox Screen.Item("DynamicRotate1").Detents End Sub EnableOverrideLineColor: Esta propriedade habilita/desabilita o objeto a sobrescrever a cor original da linha da imagem pela cor definida na propriedade OverrideLineColor. Se a propriedade EnableOverrideLineColor estiver habilitada, E3 - Scripts - Manual de Referncia Propriedades 259 faz com que sejam modificadas a cor original da linha do objeto pela cor de OverrideLineColor. Caso contrrio, o objeto figura exibir a cor original. O valor padro desta propriedade False. EnableSlider: A propriedade EnableSlider habilita o slider no movimento do objeto. Se a propriedade estiver habilitada, o slider do movimento habilitado. Caso contrrio, isto no ocorre. Exemplo: OverrideFillColor: Quando a propriedade OverrideFillMode estiver especificada para valores 2 ou 3, a propriedade OverrideFillColor ser usada para definir a cor a ser usada no preenchimento dos objetos no movimento, ao invs da cor original. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade vermelho (RGB(255, 0, 0)). Exemplo: Sub DrawGroup1_Click() 'Ao clicar no objeto seta o modo 'Override para slido e troca a cor de 'preenchimento da imagem para azul OverrideFillMode = 2 OverrideFillColor = RGB(0, 0, 255) End Sub OverrideFillMode: A propriedade OverrideFillMode especifica o modo do preenchimento dos objetos que esto em movimento. Ela altera o modo original de preenchimento da imagem sem alterar a configurao original de preenchimento dos objetos. Opes disponveis para OverrideFillMode OPO DESCRIO 0- NoOverride Preenchimento original do objeto. 1- WireFrame Os objetos no sero preenchidos, desenharo somente suas bordas. 2- SolidFill O preenchimento dos objetos contidos no grupo ser slido com a cor especificada na propriedade OverrideFillColor. 3-ByBrightness O preenchimento dos objetos contidos no grupo ser slido com a cor especificada pela propriedade OverrideFillColor, porm levar em conta qual era a intensidade da cor original de preenchimento de cada objeto.
E3 - Scripts - Manual de Referncia 260 Propriedades Exemplo: Sub DrawGroup1_Click() 'Ao clicar no objeto seta o modo 'Override para slido e troca a cor de 'preenchimento da imagem para azul OverrideFillMode = 2 OverrideFillColor = RGB(0, 0, 255) End Sub OverrideLineColor: Quando a propriedade EnableOverrideLineColor estiver configurada para True, a propriedade OverrideLineColor ser usada para definir a cor a ser usada na cor da linha do objeto em movimento, ao invs da cor original. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade vermelho (RGB(255, 0, 0)). Exemplo: Sub Grupo1_Click() OverrideLineColor = RGB (255,0,0) End Sub RangeMax: Atravs da propriedade RangeMax determina o alcance mximo do movimento linear ou rotacional no objeto. Exemplo: Sub CommandButton1_Click() MsgBox Screen.Item("DynamicMove1").RangeMax End Sub RangeMin: Atravs da propriedade RangeMin determinado o alcance mnimo do movimento linear ou rotacional no objeto. Exemplo: Sub CommandButton1_Click() MsgBox Screen.Item("DynamicMove1").RangeMin End Sub Shadow: Indica a presena do efeito de sombra no objeto. Se True, o objeto possui uma sombra, cujas coordenadas so estabelecidas pelas propriedades ShadowX e ShadowY. Do contrrio, o objeto no possui o efeito de sombra. O valor padro desta propriedade False. ShadowColor: Especifica a cor do preenchimento da sombra do movimento. Esta cor utilizada quando a propriedade Shadow est configurada para True. Nos scripts, utilize a funo do VBScript RGB() para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade cinza escuro (RGB(128, 128, 128)). E3 - Scripts - Manual de Referncia Propriedades 261 Exemplo: Sub Botao1_Click() 'Troca a cor de fundo do botao para cinza claro 'quando clica no objeto ShadowColor = RGB(192, 192, 192) End Sub ShadowX: Define a coordenada vertical esquerda da sombra deste objeto, em unidades Himetric. Este sombra sempre relativa a propriedade X do objeto. Valores positivos indicam que a sombra estar direita do objeto, e negativos, esquerda. O valor padro desta propriedade 200. ShadowY: Define a coordenada horizontal superior da sombra deste movimento, em unidades Himetric. Este sombra sempre relativa a propriedade Y do objeto. Valores positivos indicam que a sombra estar abaixo do objeto, e negativos, acima. O valor padro desta propriedade 200. Value: o valor inicial do movimento. Deve ser um valor entre os valores nas propriedades RangeMax e RangeMin. 6.10.10. Propriedades da Rotao RotationAngle: Esta propriedade determina o ngulo de rotao do movimento no objeto. Exemplo: Sub CommandButton1_DbClick() Screen.Item("DynamicMove1").RotationAngle = 180 End Sub RotationDirection: Atravs da propriedade RotationDirection determinada a direo do ngulo de rotao do movimento no objeto. Opes disponveis para RotationDirection OPO DESCRIO 0- Clockwise Direciona o ngulo de rotao a direita do objeto. 1- CounterClockWise Direciona o ngulo de rotao a esquerda do objeto. E3 - Scripts - Manual de Referncia 262 Propriedades
Exemplo: Sub CommandButton1_Click() 'Direciona o ngulo de rotao a direita do objeto Screen.Item("DynamicMove1").RotationDirection = 1 End Sub 6.11. Propriedades dos ActiveX NOTA: O E3 utiliza para definio de coordenadas e espessura o sistema HIMETRIC. Neste sistema, cada unidade lgica equivale a um milsimo de centmetro; ou seja, cada 1000 unidades equivalem a 1 centmetro. Assim, este o padro adotado na descrio das propriedades do E3, quando aplicvel. 6.11.1. Propriedades comuns BackColor: Determina a cor de fundo do objeto. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade para os objetos Lista de Seleo, Lista e Editor de Texto a cor branca (RGB (255,255,255)), e para os demais objetos a cor bege (RGB (236,233,216)). Enabled: Habilita/desabilita o objeto, isto , o foco e a resposta eventos gerados pelo usurio. Se a propriedade estiver configurada para True, o objeto pode receber o foco, responder a eventos gerados pelo usurio e estar acessvel atravs de scripts (padro). Caso contrrio, o usurio no poder interagir com o objeto usando o mouse, pressionando teclas ou teclas de atalho e o objeto aparece esmaecido. Alm disso, se o objeto exibir um bitmap, o bitmap fica esmaecido sempre que este objeto estiver desabilitado. As propriedades Enabled e Locked so interligadas. Quando as propriedades Enabled e Locked forem ambas True, o objeto pode receber foco e aparecer normalmente na Tela, e os dados podem ser copiados, mas no editados. Quando Enabled for True, mas Locked for False, os dados podem ser no s copiados, mas tambm editados. No entanto, quando Enabled for False, o objeto no recebe foco e fica esmaecido na Tela, independentemente do status de Locked. Alm disso, os dados no podem ser copiados ou tampouco editados. possvel combinar as configuraes das propriedades Enabled e TabStop para impedir que o usurio selecione um boto de comando com TAB, embora ainda seja E3 - Scripts - Manual de Referncia Propriedades 263 permitido ao usurio clicar o boto. Definir a propriedade TabStop como False significa que o boto de comando no aparecer na ordem de tabulao. Entretanto, se Enabled for True, o usurio ainda poder clicar no boto de comando, desde que a propriedade TakeFocusOnClick esteja definida como True. ForeColor: Especifica a cor do preenchimento do fundo do objeto. Nos scripts, utilize a funo do VBScript RGB para formar a cor a ser associada a esta propriedade. O valor padro desta propriedade para todos os objetos MSForms a cor preta (RGB(0, 0, 0)). Frame: Retorna o quadro-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. HasFocus: Esta propriedade determina que o objeto selecionado est com o foco. Esta propriedade acessvel apenas em tempo de execuo. Height: Determina a altura do objeto. Layer: Esta propriedade define em quais camadas o objeto deve aparecer. O valor representa uma mscara de 32 bits, um bit para cada camada. Portanto podem ser definidas at 32 camadas individuais. Assim, objetos podem ser agrupados logicamente e mostrados/escondidos apenas com a modificao da mscara da propriedade Layer. Para que o objeto aparea na tela, pelo menos uma das suas camadas precisa estar visvel, ou seja, pelo menos 1 bit configurado na sua mscara tambm precisa estar configurado na propriedade Layer da Tela. MouseIcon: A propriedade MouseIcon atribui uma imagem ao ponteiro do mouse, quando este movido sobre o objeto. Esta propriedade vlida somente quando a propriedade MousePointer definida como 99 fmMousePointerCustom. Um arquivo com imagem pode ser selecionado para o ponteiro do mouse de duas formas: atravs da Lista de Propriedades (extenses .cur ou .ico); ou via scripts, utilizando-se a funo LoadPicture para especificar o caminho e o nome do arquivo que contm o cone personalizado (somente extenso .cur). Exemplo: Sub CommandButton1_Click() ' Atribuindo o item 99- fmMousePointerCustom propriedade ' para que ela aceite a customizao do cone do mouse Screen.Item("CheckBox1").MousePointer = 99 Screen.Item("CheckBox1").MouseIcon =LoadPicture("C:\a.cur") End Sub E3 - Scripts - Manual de Referncia 264 Propriedades MouseOver: A propriedade MouseOver informa se o ponteiro do mouse encontra-se em cima da Tela. Caso afirmativo, a propriedade MouseOver habilitada; do contrrio, ser False. Esta propriedade apenas de leitura, e acessvel apenas em tempo de execuo.. O valor padro desta propriedade False. MouseOverChild: A propriedade MouseOverChild informa se o ponteiro do mouse encontra-se em cima de um dos objetos inseridos na Tela. Caso afirmativo, a propriedade MouseOverChild habilitada; do contrrio, ser False. Esta propriedade apenas de leitura, e acessvel apenas em tempo de execuo.. O valor padro desta propriedade False. MouserPointer: A propriedade MousePointer especifica o tipo de ponteiro do mouse que mostrado quando o usurio posiciona o mesmo sobre um objeto. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para MousePointer OPO DESCRIO 0- fmNousePointerDefault Ponteiro padro. A imagem determinada pelo objeto. 1- fmNousePointerArrow Seta. 2- fmNousePointerCross Ponteiro em forma de cruz. 3- fmNousePointerBeam Em forma de I. 6- fmNousePointerSizeNesw Seta dupla apontando para nordeste e sudoeste. 7- fmNousePointerSizeNS Seta dupla apontando para norte e sul. 8- fmNousePointerNWse Seta dupla apontando para noroeste e sudeste. 9- fmNousePointerWE Seta dupla apontando para oeste e leste. 10- fmNousePointerUpArrow Seta para cima. 11- NousePointerStarHourGlassring Ampulheta. 12- fmNousePointerHelpNoDrop Smbolo de "Not" (crculo com uma linha diagonal) na parte superior do objeto sendo arrastado. Indica um destino de soltar invlido. 13- fmNousePointerAppStarting Seta com uma ampulheta. 1+- fmNousePointerHelp Seta com um ponto de interrogao. 15- fmNousePointerSizeAll Dimensiona todo o cursor (setas apontando para norte, sul, leste e oeste). 99- fmNousePointerCustom Usa o cone especificado pela propriedade MouseIcon.
Use a propriedade MousePointer para indicar alteraes de funcionalidade conforme o ponteiro do mouse passar sobre os objetos em uma Tela. Por exemplo, a configurao de ampulheta (opo 11) til para indicar que o usurio precisa E3 - Scripts - Manual de Referncia Propriedades 265 esperar por tempo um processo ou operao a ser finalizada. Alguns cones podem variar, dependendo das configuraes do sistema, como os cones associados aos temas da rea de trabalho. O valor padro desta propriedade 0-fmNousePointerDefault. Screen: Retorna a Tela-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. TabStop: Esta propriedade determina a utilizao da tecla [Tab| no sistema. Se o campo estiver True, possvel utilizar a tecla; caso contrrio, a tecla no pode ser utilizada. Tip: A propriedade Tip mostra uma texto popup quando o mouse estiver por um breve momento sobre o objeto em execuo. Exemplo: Sub RetanguloArr1_MouseUp(nButton, nShiftState, x, y) Tip= "Isto um teste!" End Sub Visible: Esta propriedade define a visibilidade do objeto. Se configurada como True, o objeto fica visvel, desde que tambm sejam obedecidos os seguintes fatores: o objeto-pai deste objeto tambm deve estar visvel, e a propriedade Layer deste objeto tambm deve estar presente na camada da Tela. Width: Determina a largura do objeto. X: A propriedade X define a coordenada horizontal esquerda, em unidade Himetric, do objeto. Y: Esta propriedade define a coordenada vertical acima, em unidade Himetric, do objeto. 6.11.2. Propriedades da Caixa de 8eleo e Boto de Opes Accelerator: Define ou recupera a tecla aceleradora do objeto. Esta tecla aceleradora uma tecla de atalho que usada em conjunto com a tecla [Alt], d o foco ao objeto. O valor padro desta propriedade vazio. Alignment: A propriedade Alignment especifica a posio do objeto relativa a sua legenda. As opes disponveis para esta propriedade so as seguintes: 0- fmAlignmentLeft: coloca a legenda esquerda do objeto; e 1- fmAligmentRight: coloca a legenda direita do objeto. E3 - Scripts - Manual de Referncia 266 Propriedades AutoSize: A propriedade AutoSize ajusta a largura do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Para os objetos Caixa de Seleo (Check-box) e Boto de Opes (Option Button), quando a propriedade estiver configurada para True, o texto ser redimensionado para coincidir com o tamanho atual do objeto. BackStyle: A propriedade BackStyle define o estilo do plano de fundo para os objetos. As opes disponveis para esta propriedade so as seguintes: 0-fmBackStyleTransparent: define o objeto como transparente, isto , nenhum fundo deste objeto ser desenhado; e 1-fmBackStyleOpaque: define o objeto como opaco, isto , o fundo ser desenhado (valor padro). NOTA: Esta propriedade no afeta a transparncia de bitmaps. Voc deve usar um editor de figura como o Paintbrush, por exemplo, para tornar um bitmap transparente. Nem todos os objetos ActiveX suportam bitmaps transparentes. Caption: Define o texto que ser mostrado no objeto. Font: A propriedade Font utilizada para determinar a fonte do objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada unicamente via Studio. GroupName: A propriedade GroupName utilizado para criar um grupo de objetos mutuamente exclusivos. NOTA: Esta propriedade no utilizada no E3 e foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. Locked: A propriedade Locked habilita/desabilita a edio do objeto. Se esta propriedade estiver configurada para True, a edio no permitida. Caso contrrio, possvel editar o objeto. Os valores configurados na propriedade Enabled influenciam o comportamento de Locked. Para maiores detalhes, consulte a propriedade Enabled. O valor padro desta propriedade False. Picture: A propriedade Picture especifica a figura (bitmap) atribuda ao objeto. Um arquivo com imagem pode ser selecionado de duas maneiras: atravs da Lista de Propriedades; ou via scripts, utilizando-se a funo LoadPicture para especificar o caminho e o nome do arquivo que contm a figura. Para remover a figura, clique o valor da propriedade Picture e pressione a tecla Delete. A tecla Backspace (tecla de espao do teclado) no remove a figura. Exemplo: Sub CommandButton1_Click() Screen.Item("CheckBox1").Picture =LoadPicture("C:\aba.gif") End Sub E3 - Scripts - Manual de Referncia Propriedades 267 PicturePosition: A propriedade PicturePosition especifica a posio da figura atribuda ao objeto em relao a sua legenda. As opes disponveis para esta propriedades so as seguintes: Opes disponveis para PicturePosition OPO DESCRIO 0- fmPicturePositionLeftTop A figura aparece esquerda de sua legenda. A legenda alinhada com a parte superior da figura. 1- fmPicturePositionLeftCenter A figura aparece esquerda da legenda. A legenda centralizada relativamente imagem. 2- fmPicturePositionLeftBotton A figura aparece esquerda da legenda. A legenda alinhada com a parte inferior da figura. 3- fmPicturePositionRightTop A figura aparece direita da legenda. A legenda alinhada com a parte superior da figura. +- fmPicturePositionRightCenter A figura aparece direita da legenda. A legenda centralizada relativamente figura. 5- fmPicturePositionRightBotton A figura aparece direita da legenda. A legenda alinhada com a parte inferior da figura. 6- fmPicturePositionAboveLeft A figura aparece acima da legenda. A legenda alinhada com a extremidade esquerda da figura. 7- fmPicturePositionAboveCenter A figura aparece acima da legenda. A legenda centralizada abaixo da figura (padro). 8- fmPicturePositionAboveRight A figura aparece acima da legenda. A legenda alinhada com a extremidade direita da figura. 9- fmPicturePositionBelowLeft A figura aparece abaixo da legenda. A legenda alinhada com a extremidade esquerda da figura. 10- fmPicturePositionBelowCenter A figura aparece abaixo da legenda. A legenda centralizada acima da figura. 11- fmPicturePositionBelowRight A figura aparece abaixo da legenda. A legenda alinhada com a extremidade direita da figura.
SpecialEffect: A propriedade SpecialEffect especifica a aparncia de um objeto. As opes disponveis para esta propriedade so as seguintes: E3 - Scripts - Manual de Referncia 268 Propriedades Opes disponveis para SpecialEffect OPO DESCRIO 0- fmButtonEffectFlat O objeto aparece plano e possui um destaque na borda, uma alterao de cor ou ambos. 2- fmButtonlEffectSunked O objeto possui uma sombra na parte superior esquerda e um destaque na parte inferior direita, como se estivessem afundados na Tela.
TextAlign: Especifica como o texto alinhado no objeto. As opes disponveis so as seguintes: 1- fmTextAlignLeft: alinha o texto com a extremidade esquerda do objeto; 2- fmTextAlignCenter: centraliza o texto com a extremidade direita do objeto; 3- fmTextAlignRight: alinha o texto com a extremidade direita do objeto. TripleState: A propriedade TripleState determina at trs estados de valores para o objeto. Se a propriedade estiver configurada para True, o usurio poder escolher entre trs opes de estados: Falso, verdadeiro ou Nulo. O valor Nulo exibido como um boto sombreado. Caso contrrio, o usurio pode escolher entre os valores False ou True. O valor padro desta propriedade False. Value: Indica o valor inicial do objeto. Tem comportamento booleano; se True, o objeto inicia marcado, do contrrio, seu estado inicial no marcado. O valor padro desta propriedade False. WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. 6.11.3. Propriedades da Lista de 8eleo AutoSize: A propriedade AutoSize ajusta a largura do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Para o objeto Lista de Seleo (Combo Box), quando a propriedade estiver configurada para True, a largura do texto reajustada para a mesma do objeto. AutoTab: A propriedade AutoTab habilita/desabilita a tabulao automtica no objeto. Se a propriedade estiver configurada para True, a tabulao automtica ocorre. Caso contrrio, no utilizada. Aps o usurio digitar o nmero mximo de caracteres em um objeto (utilizando a propriedade MaxLength), o foco se move automaticamente para o prximo objeto da ordem de tabulao, quando estes caracteres forem atingidos. Por exemplo, para que E3 - Scripts - Manual de Referncia Propriedades 269 uma Lista de Seleo exiba dados de estoque que possuam sempre cinco caracteres, pode-se usar a propriedade MaxLength para especificar o nmero mximo de caracteres a serem introduzidos no objeto e a propriedade AutoTab para tabular automaticamente para o prximo objeto depois que o usurio digitar cinco caracteres. AutoWordSelect: Habilita/desabilita a seleo automtica de palavras no objeto. Se esta propriedade estiver configurada para True, a palavra indicada selecionada no texto mais o espao seguinte, caso voc tenha selecionado parte dela. Caso contrrio, somente o caractere indicado na palavra selecionado. BackStyle: A propriedade BackStyle define o estilo do plano de fundo para os objetos. As opes disponveis para esta propriedade so as seguintes: 0- fmBackStyleTransparent: define o objeto como transparente, isto , nenhum fundo deste objeto ser desenhado; e 1 - fmBackStyleOpaque: define o objeto como opaco, isto , o fundo ser desenhado (valor padro). NOTA: Esta propriedade no afeta a transparncia de bitmaps. Voc deve usar um editor de figura como o Paintbrush, por exemplo, para tornar um bitmap transparente. Nem todos os objetos ActiveX suportam bitmaps transparentes. BorderColor: Esta propriedade determina a cor da borda que ser aplicada no objeto. Com esta propriedade, possvel aplicar a cor padro ou personaliz-la atravs da sua edio. Para que esta propriedade seja aplicvel, necessrio que a propriedade BorderStyle esteja configurada para 1 - fmBorderStyleSingle. O valor padro desta propriedade preto (RGB 0,0,0). BorderStyle: A propriedade BorderStyle determina o estilo de borda que ser aplicada ao objeto. As opes disponveis so: 0-fmBorderStyleNone: sem borda; e 1-fmBorderStyleSingle: com borda simples. BoundColumn: Determina a coluna da lista onde os dados sero armazenados. Por exemplo, se cada linha contm 8 itens e a propriedade BoundColumn 3, o sistema armazena as informaes na terceira coluna da linha atualmente selecionada. Se o valor for igual a 0, este valor passado para a propriedade ListIndex do objeto. Se o valor for 1 ou superior, o dado indicado atribudo coluna referente ao valor especificado na propriedade. As colunas so numeradas a partir de 1. NOTA: Esta propriedade no tem efeito no E3 e foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. CanPaste: A propriedade CanPaste especifica se a rea de transferncia contm os dados aos quais o objeto d suporte. Se a opo estiver configurada para True, o E3 - Scripts - Manual de Referncia 270 Propriedades objeto pode receber informaes coladas da rea de transferncia. Se os dados da rea de transferncia estiverem em um formato ao qual o objeto no d suporte, a propriedade CanPaste ser False. Por exemplo, se voc tentar colar um bitmap em um objeto que s d suporte a texto, CanPaste ser False. Esta propriedade acessvel apenas em tempo de execuo. Column: Especifica a linha e coluna no objeto. Se for especificado somente o valor de coluna, a propriedade Column l ou escreve a coluna especificada na linha atual do objeto. Por exemplo, MinhaListadeSeleo.Column (3) l ou escreve a terceira coluna do objeto. Esta propriedade acessvel apenas em tempo de execuo. ColumnCount: A propriedade ColumnCount especifica o nmero de colunas do objeto. A configurao de ColumnCount como 0 exibe zero colunas, e a configurao desta propriedade como -1 exibe todas as colunas disponveis. O valor padro desta propriedade 1. ColumnHeads: A propriedade ColumnHeads habilita/desabilita a exibio do ttulo das colunas no objeto. Se a propriedade estiver configurada para True, o ttulo mostrado. Caso contrrio, o ttulo das colunas no mostrado. O valor padro False. ColumnWidths: A propriedade ColumnWidth utilizada para especificar a largura da coluna do objeto, em pontos. Um valor igual a 1 ou branco faz com que a largura seja calculada na coluna (a largura mnima de uma coluna calculada 72 pontos (1 polegada). Um valor igual a 0 oculta a coluna. Para produzir colunas mais estreitas, deve-se especificar a largura na propriedade ou utilizar alguma dos valores abaixo: E3 - Scripts - Manual de Referncia Propriedades 271 Opes disponveis para ColumnWidth OPO DESCRIO 90;72;90 A primeira coluna possui 90 pontos (1,25 polegada); a segunda coluna possui 72 pontos (1 polegada); a terceira coluna possui 90 pontos. 6 cm;0;6 cm A primeira coluna possui 6 centmetros; a segunda coluna est oculta; a terceira coluna possui 6 centmetros. Como parte da terceira coluna visvel, uma barra de rolagem horizontal aparece. 1,5 pol;0;2,5 pol A primeira coluna possui 1,5 polegadas, a segunda coluna est oculta, e a terceira coluna possui 2,5 polegadas. 2 pol;;2 pol A primeira coluna possui 2 polegadas, a segunda coluna possui 1 polegada (padro) e a terceira coluna possui 2 polegadas. Como somente metade da terceira coluna visvel, uma barra de rolagem horizontal aparece. (vazio) Todas as trs colunas possuem a mesma largura (1,33 polegadas). O valor padro desta propriedade vazio (o E3 ir utilizar o valor padro do sistema).
CurTargetX: Retorna a posio horizontal de insero de um texto no objeto. Esta posio medida em unidades himtricas (um himetro 0,0001 do metro). Pode-se usar CurTargetX e CurX para mover o ponto de insero de um texto conforme o usurio percorre pelo contedo do objeto. Quando o usurio move o ponto de insero para outra linha do texto, a propriedade CurTargetX especifica a posio mais indicada para o ponto de insero do texto desejado. A propriedade CurX definida neste valor, se a linha do texto for maior que o valor de CurTargetX. Caso contrrio, a propriedade CurX definida como o final da linha do texto. Esta propriedade acessvel apenas em tempo de execuo. NOTA: Esta propriedade no tem efeito no E3 e foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. CurX: A propriedade CurX especifica a posio atual horizontal do ponto de insero no objeto. Esta propriedades aplicada num objeto que possua vrias linhas, isto , a propriedade Multiline est habilitada. O valor de retorno vlido quando o objeto possui o foco. Voc pode usar a propriedade Multiline e a propriedade CurX para posicionar o ponto de insero do texto conforme o usurio rola pelo contedo no objeto. Quando o usurio move o ponto de insero para uma outra linha de texto rolando o contedo do objeto, a propriedade CurTargetX especifica a posio desejada para o ponto de insero. A propriedade CurX definida com este valor se a linha de texto for maior do que o valor de CurTargetX. Caso contrrio, CurX definido no fim da linha de texto. Esta propriedade acessvel apenas em tempo de execuo. E3 - Scripts - Manual de Referncia 272 Propriedades DragBehavior: Habilita/desabilita o recurso de arrastar e soltar um texto no contedo do objeto. As opes disponveis para esta propriedade so as seguintes: 0- fmDragBehaviorDisabled: no permite a ao de arrastar e soltar o texto no contedo do objeto; e 1- fmDragBehaviorEnabled: permite a ao de arrastar e soltar o texto no contedo do objeto. O valor padro desta propriedade 0. NOTA: A propriedade DragBehavior no tem efeito se a propriedade Style estiver configurada para 2. DropButtonStyle: Esta propriedade especifica o smbolo exibido no boto da Lista de Seleo. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para DropButtonStyle OPO DESCRIO 0- fmDropButtonStylePlain Exibe um boto plano, sem smbolo. 1- fmDropButtonStyleArrow Exibe um seta para baixo (padro). 2- fmDropButtonStyleElipsis Exibe trs pontos (...). 3- fmDropButtonStyleReduce Exibe uma reta horizontal como um caractere sublinhado. O valor padro desta propriedade 1- fmDropButtonStyleArrow. EnterFieldBehavior: Esta propriedade controla a forma como o contedo do texto selecionado na rea de edio quando se pressiona a tecla [TAB| no objeto, e no quando o objeto recebe o foco como um resultado do mtodo SetFocus(). As opes disponveis para esta propriedade so as seguintes: 0- fmEnterFieldBehaviorSelectAll: seleciona todo o contedo do texto quando a tecla TAB pressionada no objeto; e 1- fmEnterFieldBehaviorRecallSelection: deixa a seleo inalterada. O valor padro desta propriedade 0- fmEnterFieldBehaviorSelectAll. Font: A propriedade Font utilizada para determinar a fonte do objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada unicamente via Studio. HideSelection: A propriedade HideSelection especifica se o texto selecionado continua em destaque quando um objeto no tiver mais o foco. Se a propriedade estiver configurada para True, o texto selecionado somente se mantm em destaque caso o objeto tenha o foco. Caso contrrio, o texto selecionado sempre aparece em destaque, independente do foco no objeto. O valor padro desta propriedade True. E3 - Scripts - Manual de Referncia Propriedades 273 IMEMode: A propriedade IMEMode especifica o modo IME de um objeto. NOTA: Essa propriedade aplica-se apenas em aplicativos escritos em idiomas asiticos (chins simplificado, chins tradicional, coreano e japons) e ignorada em outros aplicativos. Foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. As opes disponveis so as seguintes: Opes disponveis para IMEMode OPO DESCRIO 0- fm!NENodeNoControl No controla IME (padro). 1- fm!NENodeOn IME ativado. 2- fm!NENodeOff IME desativado. Modo ingls. 3- fm!NENodeDisable IME desativado. O usurio no pode ativar IME pelo teclado. +- fm!NENodeHiragana IME ativado com modo Hiragana de largura total. 5- fm!NENodeKatakanaFull IME ativado com modo Katakana de largura total. 6- fm!NENodeKatakana IME ativado com modo Katakana de meia largura. 7- fm!NENodeAlphaFull IME ativado com modo Alfanumrico de largura total. 8- fm!NENodeAlpha IME ativado com modo Alfanumrico de meia largura. 9- fm!NENodeHangulFull IME ativado com modo Hangul de largura total. 10- fm!NENodeHangul IME ativado com modo Hangul de meia largura. 11-fm!NENodeHanziFull IME ativado com modo Hanzi de largura total 12-fm!NENodeHanzi IME ativado com modo Hanzi de meia largura. LineCount: A propriedade LineCount retorna o nmero de linhas do objeto. Esta propriedade acessvel apenas em tempo de execuo. List: Retorna ou define as entradas da linha e coluna na lista do objeto. A numerao de linha e coluna comea com zero. Isto , o nmero de linha da primeira linha na lista zero; o nmero de coluna da primeira coluna zero. O nmero da segunda linha ou coluna 1 e assim por diante. Esta propriedade acessvel apenas em tempo de execuo. ListCount: Retorna o nmero de itens contidos na lista do objeto. Esta propriedade acessvel apenas em tempo de execuo. ListIndex: Identifica o item atualmente selecionado na lista, chamado de ndice. Os valores de ListIndex vo de 1 ao nmero total de linhas em uma lista menos um (isto , ListCount 1). Quando nenhuma linha selecionada, ListIndex retorna 1. E3 - Scripts - Manual de Referncia 274 Propriedades Quando o usurio seleciona uma linha em uma Lista de seleo, o sistema define o valor da propriedade ListIndex. O valor da propriedade ListIndex da primeira linha de uma lista 0, o valor da segunda linha 1 e assim por diante. Esta propriedade acessvel apenas em tempo de execuo. ListRows: A propriedade ListRows determina o nmero mximo de linhas na lista do objeto. O valor padro desta propriedade 8. ListStyle: A propriedade ListStyle determina o estilo da lista do objeto. As opes disponveis para esta propriedade so as seguintes: 0-fmListStylePlain: listagem com os itens do plano de fundo em destaque; e 1- fmListStyleOption: exibe botes de opo ou caixas de seleo para uma lista de vrias opesquando o usurio seleciona um item do grupo, o boto de opo associado ao item selecionado e os botes de opo para outros itens no grupo so desmarcados. O valor padro desta propriedade 0- fmListStylePlain. ListWidth: A propriedade ListWidth determina a largura da lista do objeto. O valor padro desta propriedade 0. Locked: A propriedade Locked habilita/desabilita a edio do objeto. Se esta propriedade estiver configurada para True, a edio no permitida. Caso contrrio, possvel editar o objeto. Os valores configurados na propriedade Enabled influenciam o comportamento de Locked. Para maiores detalhes, consulte a propriedade Enabled. O valor padro desta propriedade False. MatchEntry: Procura, atravs do texto digitado pelo usurio, por uma entrada de texto que coincida com os dados existentes no objeto. Ao encontrar uma incidncia do texto, a linha contendo a mesma selecionada e o contedo da coluna exibido. As opes disponveis so as seguintes: 0- fmNatchEntryFirstLetter: procura pela entrada de texto que coincida com o primeiro caractere digitado no objeto. Se for digitada repetidamente a mesma letra, passada para a prxima entrada de texto que comece com esta letra e assim por diante; 1- fmNatchEntryComplete: conforme cada caractere digitado, o objeto procura por uma entrada de texto que coincida com os caracteres digitados; e 2- fmNatchEntryNone: no faz a procura no objeto. O valor padro desta propriedade 1- fmNatchEntryComplete. E3 - Scripts - Manual de Referncia Propriedades 275 MatchFound: Indica se o texto que o usurio digitou no objeto coincide com qualquer entrada na lista. Se a propriedade estiver configurada para True, o contedo da propriedade Value coincide com um dos registros na lista. Caso contrrio, o contedo da propriedade Value no coincide nenhum dos registros na lista (padro). Esta propriedade acessvel apenas em tempo de execuo, no sendo aplicvel quando a propriedade MatchEntry definida como 2. O valor padro desta propriedade False. MatchRequired: Especifica se o texto digitado deve ou no coincidir com os itens existente na Lista de seleo. Se a propriedade estiver configurada para True, o usurio no pode sair da Lista de seleo at que o texto inserido coincida com um item existente do objeto. Caso contrrio, o texto inserido na Lista de seleo pode ser diferente de todos os dados existente da mesma. MaxLength: A propriedade MaxLength determina o nmero mximo de caracteres no objeto. Configurando esta propriedade como 0, no h limite de caractere no objeto. SelectionMargin: Habilita/desabilita a margem de seleo do objeto. Se esta propriedade estiver configurada para True, o texto ser selecionado ao se clicar na margem do objeto. Caso contrrio, o texto no ser selecionado ao se clicar na margem. NOTA: Se a propriedade SelectionMargin estiver configurada para True quando o objeto for impresso, a margem de seleo tambm ser impressa. SelLength: Retorna o nmero de caracteres selecionados no objeto. Esta propriedade acessvel apenas em tempo de execuo. SelStart: Indica o ponto inicial do texto selecionado ou o ponto de insero se nenhum texto for selecionado. Esta propriedade acessvel apenas em tempo de execuo. SelText: Retorna o texto selecionado no objeto. Esta propriedade acessvel apenas em tempo de execuo. ShowDropButtonWhen: A propriedade ShowDropButtonWhen especifica quando mostrar o boto suspenso (tecla de navegao do objeto). As opes disponveis para esta propriedade so as seguintes: 0- fmShowDropButtonWhenNever: no mostra o boto suspenso em nenhuma circunstncia; 1- fmShowDropButtonWhenFocus: mostra o boto suspenso quando o objeto possui o foco; e 2- fmShowDropButtonWhenAlways: sempre mostra o boto suspenso. E3 - Scripts - Manual de Referncia 276 Propriedades SpecialEffect: A propriedade SpecialEffect especifica a aparncia de um objeto. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para SpecialEffect OPO DESCRIO 0- fmSpecialEffectFlat O objeto aparece plano e possui um destaque na borda, uma alterao de cor ou ambos. 1- fmSpecialEffectRaised O objeto possui um destaque na parte superior esquerda e uma sombra na parte inferior direita, como se estivesse em relevo 2- fmSpecialEffectSunked O objeto possui uma sombra na parte superior esquerda e um destaque na parte inferior direita. O objeto e a sua borda afundados na Tela. 3- fmSpecialEffectEtchet A borda parece estar esculpida ao redor da extremidade do objeto. 6- fmSpecialEffectBump O objeto possui uma cresta na parte inferior direita e parece plano na parte superior esquerda.. Style: Determina o estilo do objeto. As opes disponveis so as seguintes: 0- fmStyleDropDownCombo: a lista de seleo se comporta como uma caixa de combinao suspensa. O usurio pode digitar um valor na regio de edio ou selecionar um valor da lista suspensa (padro); e 2- fmStyleDropDownList: a Lista de seleo se comporta como uma caixa de listagem. O usurio deve escolher um valor da lista. Text: retorna o texto da opo selecionada. Esta propriedade acessvel apenas em tempo de execuo. TextAlign: Especifica como o texto alinhado no objeto. As opes disponveis so as seguintes: 1- fmTextAlignLeft: alinha o texto com a extremidade esquerda do objeto; 2- fmTextAlignCenter: centraliza o texto com a extremidade direita do objeto; 3- fmTextAlignRight: alinha o texto com a extremidade direita do objeto. TextColumn: A propriedade TextColumn identifica a coluna no objeto. Os valores para a propriedade TextColumn vo de 1 ao nmero de colunas na lista. O valor TextColumn para a primeira coluna 1, o valor da segunda coluna 2, e da por diante. A configurao de TextColumn como 0 exibe os valores para a propriedade ListIndex. A configurao de TextColumn como 1 exibe a primeira coluna que possui o valor da propriedade ColumnWidths superior a zero 0. TextLength: Retorna o nmero de caracteres digitados no objeto. Esta propriedade acessvel apenas em tempo de execuo. E3 - Scripts - Manual de Referncia Propriedades 277 TopIndex: A propriedade TopIndex define ou retorna o item da lista que aparece na posio mais prxima do topo na lista. Esta propriedade retorna o valor 1 se a lista est vazia ou no exibida Value: o valor da propriedade BoundColumn das linhas atualmente selecionadas. Uma mudana de valor na propriedade Value no implica em mudana de valor na propriedade BoundColumn. Para adicionar ou deletar entradas em uma lista de seleo, pode-se usar os mtodos AddItem() ou RemoveItem(). 6.11.4. Propriedades do Boto de Comando Accelerator: Define ou recupera a tecla aceleradora do objeto. Esta tecla aceleradora uma tecla de atalho que usada em conjunto com a tecla [Alt], d o foco ao objeto. O valor padro desta propriedade vazio. AutoSize: A propriedade AutoSize ajusta a largura do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Para o objeto Boto de Comando (Command Button), quando a propriedade estiver configurada para True, a largura do texto reajustada para a mesma do objeto. O contedo do texto cortado quando ele excede a rea do objeto. BackStyle: A propriedade BackStyle define o estilo do plano de fundo para os objetos. As opes disponveis para esta propriedade so as seguintes: 0- fmBackStyleTransparent: define o objeto como transparente, isto , nenhum fundo deste objeto ser desenhado; e 1 - fmBackStyleOpaque: define o objeto como opaco, isto , o fundo ser desenhado (valor padro). NOTA: Esta propriedade no afeta a transparncia de bitmaps. Voc deve usar um editor de figura como o Paintbrush, por exemplo, para tornar um bitmap transparente. Nem todos os objetos ActiveX suportam bitmaps transparentes. Caption: Define o texto que ser mostrado no objeto. Font: A propriedade Font utilizada para determinar a fonte do objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada unicamente via Studio. Locked: A propriedade Locked habilita/desabilita a edio do objeto. Se esta propriedade estiver configurada para True, a edio no permitida. Caso contrrio, possvel editar o objeto. Os valores configurados na propriedade Enabled influenciam o comportamento de Locked. Para maiores detalhes, consulte a propriedade Enabled. O valor padro desta propriedade False. E3 - Scripts - Manual de Referncia 278 Propriedades Picture: A propriedade Picture especifica a figura (bitmap) atribuda ao objeto. Um arquivo com imagem pode ser selecionado de duas maneiras: atravs da Lista de Propriedades; ou via scripts, utilizando-se a funo LoadPicture para especificar o caminho e o nome do arquivo que contm a figura. Para remover a figura, clique o valor da propriedade Picture e pressione a tecla [Delete|. A tecla [Backspace| (tecla de espao do teclado) no remove a figura. PicturePosition: A propriedade PicturePosition especifica a posio da figura atribuda ao objeto em relao a sua legenda. As opes disponveis para esta propriedades so as seguintes: Opes disponveis para PicturePosition OPO DESCRIO 0- fmPicturePositionLeftTop A figura aparece esquerda de sua legenda. A legenda alinhada com a parte superior da figura. 1- fmPicturePositionLeftCenter A figura aparece esquerda da legenda. A legenda centralizada relativamente imagem. 2- fmPicturePositionLeftBotton A figura aparece esquerda da legenda. A legenda alinhada com a parte inferior da figura. 3- fmPicturePositionRightTop A figura aparece direita da legenda. A legenda alinhada com a parte superior da figura. +- fmPicturePositionRightCenter A figura aparece direita da legenda. A legenda centralizada relativamente figura. 5- fmPicturePositionRightBotton A figura aparece direita da legenda. A legenda alinhada com a parte inferior da figura. 6- fmPicturePositionAboveLeft A figura aparece acima da legenda. A legenda alinhada com a extremidade esquerda da figura. 7- fmPicturePositionAboveCenter A figura aparece acima da legenda. A legenda centralizada abaixo da figura (padro). 8- fmPicturePositionAboveRight A figura aparece acima da legenda. A legenda alinhada com a extremidade direita da figura. 9- fmPicturePositionBelowLeft A figura aparece abaixo da legenda. A legenda alinhada com a extremidade esquerda da figura. 10- fmPicturePositionBelowCenter A figura aparece abaixo da legenda. A legenda centralizada acima da figura. 11- fmPicturePositionBelowRight A figura aparece abaixo da legenda. A legenda alinhada com a extremidade direita da figura. E3 - Scripts - Manual de Referncia Propriedades 279 TakeFocusOnClick: Especifica se o objeto recebe o foco quando clicado. Se a propriedade estiver configurada para True, o objeto recebe o foco quando clicado. Caso contrrio, o objeto no recebe o foco quando clicado. WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. 6.11.5. Propriedades do Texto Accelerator: Define ou recupera a tecla aceleradora do objeto. Esta tecla aceleradora uma tecla de atalho que usada em conjunto com a tecla [Alt], d o foco ao objeto. O valor padro desta propriedade vazio. AutoSize: A propriedade AutoSize ajusta a largura do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Para o objeto Texto (Label), quando a propriedade estiver configurada para True, o texto redimensionado para coincidir com o tamanho atual o objeto, permitindo assim a sua exibio completa. BackStyle: A propriedade BackStyle define o estilo do plano de fundo para os objetos. As opes disponveis para esta propriedade so as seguintes: 0-fmBackStyleTransparent: define o objeto como transparente, isto , nenhum fundo deste objeto ser desenhado; e 1-fmBackStyleOpaque (valor padro): define o objeto como opaco, isto , o fundo ser desenhado. NOTA: Esta propriedade no afeta a transparncia de bitmaps. Voc deve usar um editor de figura como o Paintbrush, por exemplo, para tornar um bitmap transparente. Nem todos os objetos ActiveX suportam bitmaps transparentes. BorderColor: Esta propriedade determina a cor da borda que ser aplicada no objeto. Com esta propriedade, possvel aplicar a cor padro ou personaliz-la atravs da sua edio. Para que esta propriedade seja aplicvel, necessrio que a propriedade BorderStyle esteja configurada para 1 - fmBorderStyleSingle. O valor padro desta propriedade preto (RGB (0,0,0)). BorderStyle: A propriedade BorderStyle determina o estilo de borda que ser aplicada ao objeto. As opes disponveis so: 0-fmBorderStyleNone: sem borda; e 1-fmBorderStyleSingle: com borda simples. Caption: Define o texto que ser mostrado no objeto. E3 - Scripts - Manual de Referncia 280 Propriedades Font: A propriedade Font utilizada para determinar a fonte do objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada unicamente via Studio. Picture: A propriedade Picture especifica a figura (bitmap) atribuda ao objeto. Um arquivo com imagem pode ser selecionado de duas maneiras: atravs da Lista de Propriedades; ou via scripts, utilizando-se a funo LoadPicture para especificar o caminho e o nome do arquivo que contm a figura. Para remover a figura, clique o valor da propriedade Picture e pressione a tecla Delete. A tecla Backspace (tecla de espao do teclado) no remove a figura. Exemplo: Sub CommandButton1_Click() Screen.Item("CheckBox1").Picture =LoadPicture("C:\aba.gif") End Sub E3 - Scripts - Manual de Referncia Propriedades 281 PicturePosition: A propriedade PicturePosition especifica a posio da figura atribuda ao objeto em relao a sua legenda. As opes disponveis para esta propriedades so as seguintes: Opes disponveis para PicturePosition OPO DESCRIO 0- fmPicturePositionLeftTop A figura aparece esquerda de sua legenda. A legenda alinhada com a parte superior da figura. 1- fmPicturePositionLeftCenter A figura aparece esquerda da legenda. A legenda centralizada relativamente imagem. 2- fmPicturePositionLeftBotton A figura aparece esquerda da legenda. A legenda alinhada com a parte inferior da figura. 3- fmPicturePositionRightTop A figura aparece direita da legenda. A legenda alinhada com a parte superior da figura. +- fmPicturePositionRightCenter A figura aparece direita da legenda. A legenda centralizada relativamente figura. 5- fmPicturePositionRightBotton A figura aparece direita da legenda. A legenda alinhada com a parte inferior da figura. 6- fmPicturePositionAboveLeft A figura aparece acima da legenda. A legenda alinhada com a extremidade esquerda da figura. 7- fmPicturePositionAboveCenter A figura aparece acima da legenda. A legenda centralizada abaixo da figura (padro). 8- fmPicturePositionAboveRight A figura aparece acima da legenda. A legenda alinhada com a extremidade direita da figura. 9- fmPicturePositionBelowLeft A figura aparece abaixo da legenda. A legenda alinhada com a extremidade esquerda da figura. 10- fmPicturePositionBelowCenter A figura aparece abaixo da legenda. A legenda centralizada acima da figura. 11- fmPicturePositionBelowRight A figura aparece abaixo da legenda. A legenda alinhada com a extremidade direita da figura.
E3 - Scripts - Manual de Referncia 282 Propriedades SpecialEffect: A propriedade SpecialEffect especifica a aparncia de um objeto. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para SpecialEffect OPO DESCRIO 0- fmSpecialEffectFlat O objeto aparece plano e possui um destaque na borda, uma alterao de cor ou ambos. 1- fmSpecialEffectRaised O objeto possui um destaque na parte superior esquerda e uma sombra na parte inferior direita. O objeto parece estar em relevo. 2- fmSpecialEffectSunked O objeto possui uma sombra na parte superior esquerda e um destaque na parte inferior direita. O objeto e a sua borda parecem estar afundados na Tela. 3- fmSpecialEffectEtchet A borda parece estar esculpida ao redor da extremidade do objeto. 6- fmSpecialEffectBump O objeto possui uma cresta na parte inferior direita e parece plano na parte superior esquerda. TextAlign: Especifica como o texto alinhado no objeto. As opes disponveis so as seguintes: 1- fmTextAlignLeft: alinha o texto com a extremidade esquerda do objeto; 2- fmTextAlignCenter: centraliza o texto com a extremidade direita do objeto; 3- fmTextAlignRight: alinha o texto com a extremidade direita do objeto. WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. 6.11.6. Propriedades da Lista BorderColor: Esta propriedade determina a cor da borda que ser aplicada no objeto. Com esta propriedade, possvel aplicar a cor padro ou personaliz-la atravs da sua edio. Para que esta propriedade seja aplicvel, necessrio que a propriedade BorderStyle esteja configurada para 1 - fmBorderStyleSingle. O valor padro desta propriedade preto (RGB (0,0,0)). BorderStyle: A propriedade BorderStyle determina o estilo de borda que ser aplicada ao objeto. As opes disponveis so: 0-fmBorderStyleNone: sem borda; e 1-fmBorderStyleSingle: com borda simples. BoundColumn: Determina a coluna da lista onde os dados sero armazenados. Por exemplo, se cada linha contm 8 itens e a propriedade BoundColumn 3, o sistema armazena as informaes na terceira coluna da linha atualmente selecionada. Se o valor for igual a 0, este valor passado para a propriedade ListIndex do objeto. E3 - Scripts - Manual de Referncia Propriedades 283 Se o valor for 1 ou superior, o dado indicado atribudo coluna referente ao valor especificado na propriedade. As colunas so numeradas a partir de 1. NOTA: Esta propriedade no tem efeito no E3 e foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. Column: Especifica a linha e coluna no objeto. Se for especificado somente o valor de coluna, a propriedade Column l ou escreve a coluna especificada na linha atual do objeto. Por exemplo, MinhaListadeSeleo.Column (3) l ou escreve a terceira coluna do objeto. Esta propriedade acessvel apenas em tempo de execuo. ColumnCount: A propriedade ColumnCount especifica o nmero de colunas do objeto. A configurao de ColumnCount como 0 exibe zero colunas, e a configurao desta propriedade como -1 exibe todas as colunas disponveis. O valor padro desta propriedade 1. ColumnHeads: A propriedade ColumnHeads habilita/desabilita a exibio do ttulo das colunas no objeto. Se a propriedade estiver configurada para True, o ttulo mostrado. Caso contrrio, o ttulo das colunas no mostrado. O valor padro False. ColumnWidths: A propriedade ColumnWidth utilizada para especificar a largura da coluna do objeto, em pontos. Um valor igual a 1 ou branco faz com que a largura seja calculada na coluna (a largura mnima de uma coluna calculada 72 pontos (1 polegada). Um valor igual a 0 oculta a coluna. Para produzir colunas mais estreitas, deve-se especificar a largura na propriedade ou utilizar alguma dos valores abaixo: E3 - Scripts - Manual de Referncia 284 Propriedades Opes disponveis para ColumnWidth OPO DESCRIO 90;72;90 A primeira coluna possui 90 pontos (1,25 polegada); a segunda coluna possui 72 pontos (1 polegada); a terceira coluna possui 90 pontos. 6 cm;0;6 cm A primeira coluna possui 6 centmetros; a segunda coluna est oculta; a terceira coluna possui 6 centmetros. Como parte da terceira coluna visvel, uma barra de rolagem horizontal aparece. 1,5 pol;0;2,5 pol A primeira coluna possui 1,5 polegadas, a segunda coluna est oculta, e a terceira coluna possui 2,5 polegadas. 2 pol;;2 pol A primeira coluna possui 2 polegadas, a segunda coluna possui 1 polegada (padro) e a terceira coluna possui 2 polegadas. Como somente metade da terceira coluna visvel, uma barra de rolagem horizontal aparece. (vazio) Todas as trs colunas possuem a mesma largura (1,33 polegadas). O valor padro desta propriedade vazio (o E3 ir utilizar o valor padro do sistema). Font: A propriedade Font utilizada para determinar a fonte do objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada unicamente via Studio. IMEMode: A propriedade IMEMode especifica o modo IME de um objeto. Essa propriedade aplica-se apenas em aplicativos escritos em idiomas asiticos (chins simplificado, chins tradicional, coreano e japons) e ignorada em outros aplicativos. Ela no tem efeito no E3 e foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. As opes disponveis so as seguintes: E3 - Scripts - Manual de Referncia Propriedades 285 Opes disponveis para IMEMode OPO DESCRIO 0- fm!NENodeNoControl No controla IME (padro). 1- fm!NENodeOn IME ativado. 2- fm!NENodeOff IME desativado. Modo ingls. 3- fm!NENodeDisable IME desativado. O usurio no pode ativar IME pelo teclado. +- fm!NENodeHiragana IME ativado com modo Hiragana de largura total. 5- fm!NENodeKatakanaFull IME ativado com modo Katakana de largura total. 6- fm!NENodeKatakana IME ativado com modo Katakana de meia largura. 7- fm!NENodeAlphaFull IME ativado com modo Alfanumrico de largura total. 8- fm!NENodeAlpha IME ativado com modo Alfanumrico de meia largura. 9- fm!NENodeHangulFull IME ativado com modo Hangul de largura total. 10- fm!NENodeHangul IME ativado com modo Hangul de meia largura. 11-fm!NENodeHanziFull IME ativado com modo Hanzi de largura total 12-fm!NENodeHanzi IME ativado com modo Hanzi de meia largura.
IntegralHeight: A propriedade IntegralHeight ajusta a altura da rea de edio do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Se esta propriedade estiver configurada para True, a altura da rea de edio do texto reajustada para coincidir com o tamanho atual o objeto, permitindo assim a exibio completa do contedo do texto. Caso contrrio, a rea de edio do texto continua com seu tamanho original. Se os textos so maiores que o espao disponvel, este no exibido no objeto. List: Retorna ou define as entradas da linha e coluna na lista do objeto. A numerao de linha e coluna comea com zero. Isto , o nmero de linha da primeira linha na lista zero; o nmero de coluna da primeira coluna zero. O nmero da segunda linha ou coluna 1 e assim por diante. Esta propriedade acessvel apenas em tempo de execuo. ListCount: Retorna o nmero de itens contidos na lista do objeto. Esta propriedade acessvel apenas em tempo de execuo. ListIndex: Identifica o item atualmente selecionado na lista, chamado de ndice. Os valores de ListIndex vo de 1 ao nmero total de linhas em uma lista menos um (isto , ListCount 1). Quando nenhuma linha selecionada, ListIndex retorna 1. Quando o usurio seleciona uma linha em uma Lista de seleo, o sistema define o valor da propriedade ListIndex. O valor da propriedade ListIndex da primeira linha de uma lista 0, o valor da segunda linha 1 e assim por diante. Esta propriedade acessvel apenas em tempo de execuo. ListStyle: A propriedade ListStyle determina o estilo da lista do objeto. As opes disponveis para esta propriedade so as seguintes: 0-fmListStylePlain: E3 - Scripts - Manual de Referncia 286 Propriedades listagem com os itens do plano de fundo em destaque; e 1- fmListStyleOption: exibe botes de opo ou caixas de seleo para uma lista de vrias opesquando o usurio seleciona um item do grupo, o boto de opo associado ao item selecionado e os botes de opo para outros itens no grupo so desmarcados. O valor padro desta propriedade 0- fmListStylePlain. NOTA: A opo 1- fmListStyleOption s pode ser habilitada se a propriedade MultiSelect estiver configurada como 1- fmNultiselectNulti. Locked: A propriedade Locked habilita/desabilita a edio do objeto. Se esta propriedade estiver configurada para True, a edio no permitida. Caso contrrio, possvel editar o objeto. Os valores configurados na propriedade Enabled influenciam o comportamento de Locked. Para maiores detalhes, consulte a propriedade Enabled. O valor padro desta propriedade False. MatchEntry: Procura, atravs do texto digitado pelo usurio, por uma entrada de texto que coincida com os dados existentes no objeto. Ao encontrar uma incidncia do texto, a linha contendo a mesma selecionada e o contedo da coluna exibido. As opes disponveis so as seguintes: 0- fmNatchEntryFirstLetter: procura pela entrada de texto que coincida com o primeiro caractere digitado no objeto. Se for digitada repetidamente a mesma letra, passada para a prxima entrada de texto que comece com esta letra e assim por diante; 1- fmNatchEntryComplete: conforme cada caractere digitado, o objeto procura por uma entrada de texto que coincida com os caracteres digitados; e 2- fmNatchEntryNone: no faz a procura no objeto. O valor padro desta propriedade 1- fmNatchEntryComplete. MultiSelect: A propriedade MultiSelect indica se o objeto permite mltiplas selees. As opes disponveis para esta propriedade so as seguintes: 0- fmNultiselectSingle: somente um item pode ser selecionado; 1- fmNultiselectNulti: permite selecionar um item atravs da barra de espao ou clique com o mouse, fazendo com que marque ou desmarque um item na lista; e 2- fmNultiselectExtended: permite selecionar um item atravs da tecla SHIFT, clicando com o mouse ou pressionando SHIFT e uma das teclas de seta, estendendo a seleo para o item atual. Pressionando [CTRL] e clicando com o mouse, marca ou desmarca um item. O valor padro desta propriedade 0- fmNultiSelectSingle. Selected: Seleciona/desseleciona um item, e verifica se um item est selecionado, quando a propriedade Multiline est configurada como True. Para saber se um determinado item est selecionado, o ndice do item a ser consultado deve ser passado, e a propriedade retorna se o item est selecionado ou no. Dessa forma, E3 - Scripts - Manual de Referncia Propriedades 287 possvel ver quais itens esto selecionados quando o usurio selecionar mais de um. Esta propriedade acessvel apenas em tempo de execuo. Quando o usurio no estiver utilizando mltiplas selees, recomenda-se que sejam usadas as propriedades Value ou ListIndex. SpecialEffect: A propriedade SpecialEffect especifica a aparncia de um objeto. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para SpecialEffect OPO DESCRIO 0- fmSpecialEffectFlat O objeto aparece plano e possui um destaque na borda, uma alterao de cor ou ambos. 1- fmSpecialEffectRaised O objeto possui um destaque na parte superior esquerda e uma sombra na parte inferior direita. O objeto parece estar em relevo. 2- fmSpecialEffectSunked O objeto possui uma sombra na parte superior esquerda e um destaque na parte inferior direita. O objeto e a sua borda parecem estar afundados na Tela. 3- fmSpecialEffectEtchet A borda parece estar esculpida ao redor da extremidade do objeto. 6- fmSpecialEffectBump O objeto possui uma cresta na parte inferior direita e parece plano na parte superior esquerda.
Text: retorna o texto da opo selecionada. Esta propriedade acessvel apenas em tempo de execuo. TextAlign: Especifica como o texto alinhado no objeto. As opes disponveis so as seguintes: 1- fmTextAlignLeft: alinha o texto com a extremidade esquerda do objeto; 2- fmTextAlignCenter: centraliza o texto com a extremidade direita do objeto; 3- fmTextAlignRight: alinha o texto com a extremidade direita do objeto. TextColumn: A propriedade TextColumn identifica a coluna no objeto. Os valores para a propriedade TextColumn vo de 1 ao nmero de colunas na lista. O valor TextColumn para a primeira coluna 1, o valor da segunda coluna 2, e da por diante. A configurao de TextColumn como 0 exibe os valores para a propriedade ListIndex. A configurao de TextColumn como 1 exibe a primeira coluna que possui o valor da propriedade ColumnWidths superior a zero 0. TopIndex: A propriedade TopIndex define ou retorna o item da lista que aparece na posio mais prxima do topo na lista. Esta propriedade retorna o valor 1 se a lista est vazia ou no exibida. E3 - Scripts - Manual de Referncia 288 Propriedades Value: o valor da propriedade BoundColumn das linhas atualmente selecionadas. Esta propriedade no tem efeito no E3 e foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. 6.11.7. Propriedades da Barra de Rolagem Delay: Especifica um tempo de espera para o objeto. A propriedade Delay afeta a durao de tempo entre os eventos SpinUp, SpinDown e Change consecutivos, gerados quando o usurio clica e mantm pressionada a Barra de rolagem. O primeiro evento ocorre imediatamente. O tempo de espera at a segunda ocorrncia do evento de cinco vezes o valor especificado na propriedade Delay. Aps o tempo inicial, o intervalo entre os eventos o valor especificado para Delay. O valor padro de Delay 50 ms. Isto significa que o objeto inicia o primeiro evento depois de 250 ms (5 vezes o valor especificado) e inicia cada evento subseqente depois de 50 ms. LargeChange: Especifica a quantidade de passos do cursor da Barra de rolagem. O valor da propriedade LargeChange a quantidade pela qual a propriedade Value alterada, quando o usurio clica na rea entre a caixa de rolagem e o cursor da Barra de rolagem. Qualquer valor inteiro permitido para a propriedade LargeChange, mas o intervalo recomendado de -32,767 a +32,767, sendo que este valor deve estar entre os valores determinados nas propriedade Max e Min da Barra de rolagem. Max: A propriedade Max utilizada para determinar o limite mximo do objeto. Min: A propriedade Min utilizada para determinar o limite mximo do objeto. Orientation: A propriedade Orientation utilizada para determinar a orientao do objeto na Tela. As opes disponveis para esta propriedade so as seguintes: -1- fmOrientationAuto: determina automaticamente a orientao com base nas dimenses do objeto, isto , conforme ele foi criado; 0- fmOrientationvertical: o objeto disposto verticalmente; e 1- fmOrientationHorizontal: o objeto disposto horizontalmente. O valor padro desta propriedade -1- fmOrientationAuto. ProportionalThumb: A propriedade ProportionalThumb especifica se o tamanho da caixa de rolagem igual a dimenso do objeto. Se a propriedade estiver configurada para True, a caixa da Barra de Rolagem tem a mesma dimenso do objeto. Caso contrrio, se for dimensionado o objeto, a caixa de rolagem permanece com o tamanho original. E3 - Scripts - Manual de Referncia Propriedades 289 O valor padro desta propriedade True. SmallChange: A propriedade SmallChange especifica a quantidade de movimento que ocorre quando o usurio clica em uma seta de rolagem no objeto.O valor padro desta propriedade 1. Value: Nmero inteiro entre os valores definidos pelas propriedades Min e Max. Indica a posio inicial da barra de rolagem. No aceita valores menores que o valor de Min, ou maiores que o valor de Max. 6.11.8. Propriedades do Boto ncremento-Decremento Delay: Especifica um tempo de espera para o objeto. A propriedade Delay afeta a durao de tempo entre os eventos SpinUp, SpinDown e Change consecutivos, gerados quando o usurio clica e mantm pressionada O Boto Incremento- Decremento. O primeiro evento ocorre imediatamente. O tempo de espera at a segunda ocorrncia do evento de cinco vezes o valor especificado na propriedade Delay. Aps o tempo inicial, o intervalo entre os eventos o valor especificado para Delay. O valor padro de Delay 50 ms. Isto significa que o objeto inicia o primeiro evento depois de 250 ms (5 vezes o valor especificado) e inicia cada evento subseqente depois de 50 ms. Max: A propriedade Max utilizada para determinar o limite mximo do objeto. Min: A propriedade Min utilizada para determinar o limite mximo do objeto. Orientation: A propriedade Orientation utilizada para determinar a orientao do objeto na Tela. As opes disponveis para esta propriedade so as seguintes: -1- fmOrientationAuto: determina automaticamente a orientao com base nas dimenses do objeto, isto , conforme ele foi criado; 0- fmOrientationvertical: o objeto disposto verticalmente; e 1- fmOrientationHorizontal: o objeto disposto horizontalmente. O valor padro desta propriedade -1- fmOrientationAuto. SmallChange: A propriedade SmallChange especifica a quantidade de movimento que ocorre quando o usurio clica em uma seta de rolagem no objeto. O valor padro desta propriedade 1. E3 - Scripts - Manual de Referncia 290 Propriedades Value: Nmero inteiro entre os valores definidos pelas propriedades Min e Max. Indica a posio inicial do incremento ou decremento. No aceita valores menores que o valor de Min, ou maiores que o valor de Max. 6.11.9. Propriedades do Editor de Texto AutoSize: A propriedade AutoSize ajusta a largura do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Para o objeto Editor de Texto (Text Box), quando a propriedade estiver configurada para True, a largura do texto reajustada para a mesma do objeto. O valor padro desta propriedade False. NOTA: Recomenda-se evitar o uso da propriedade AutoSize com um Editor de Texto vazio que tambm utilize as propriedades Multiline e WordWrap. Quando o usurio digita um texto em um Editor de Texto com essas propriedades, ele automaticamente se dimensionar como uma caixa longa e estreita, como um caractere de largura e uma linha de texto de comprimento. AutoTab: A propriedade AutoTab habilita/desabilita a tabulao automtica no objeto. Se a propriedade estiver configurada para True, a tabulao automtica ocorre. Caso contrrio, no utilizada. Aps o usurio digitar o nmero mximo de caracteres em um objeto (utilizando a propriedade MaxLength), o foco se move automaticamente para o prximo objeto da ordem de tabulao, quando estes caracteres forem atingidos. Por exemplo, quando se quer que um Editor de Texto exiba dados de estoque que possuam sempre cinco caracteres, pode-se usar a propriedade MaxLength para especificar o nmero mximo de caracteres a serem introduzidos no objeto e a propriedade AutoTab para tabular automaticamente para o prximo objeto depois que o usurio digitar cinco caracteres. AutoWordSelect: Habilita/desabilita a seleo automtica de palavras no objeto. Se esta propriedade estiver configurada para True, a palavra indicada selecionada no texto mais o espao seguinte, caso voc tenha selecionado parte dela. Caso contrrio, somente o caractere indicado na palavra selecionado. E3 - Scripts - Manual de Referncia Propriedades 291 BackStyle: A propriedade BackStyle define o estilo do plano de fundo para os objetos. As opes disponveis para esta propriedade so as seguintes: 0- fmBackStyleTransparent: define o objeto como transparente, isto , nenhum fundo deste objeto ser desenhado; e 1 - fmBackStyleOpaque: define o objeto como opaco, isto , o fundo ser desenhado (valor padro). NOTA: Esta propriedade no afeta a transparncia de bitmaps. Voc deve usar um editor de figura como o Paintbrush, por exemplo, para tornar um bitmap transparente. Nem todos os objetos ActiveX suportam bitmaps transparentes. BorderColor: Esta propriedade determina a cor da borda que ser aplicada no objeto. Com esta propriedade, possvel aplicar a cor padro ou personaliz-la atravs da sua edio. Para que esta propriedade seja aplicvel, necessrio que a propriedade BorderStyle esteja configurada para 1 - fmBorderStyleSingle. O valor padro desta propriedade preto (RGB (0,0,0)). BorderStyle: A propriedade BorderStyle determina o estilo de borda que ser aplicada ao objeto. As opes disponveis so: 0-fmBorderStyleNone: sem borda; e 1-fmBorderStyleSingle: com borda simples. CanPaste: A propriedade CanPaste especifica se a rea de transferncia contm os dados aos quais o objeto d suporte. Se a opo estiver configurada para True, o objeto pode receber informaes coladas da rea de transferncia. Se os dados da rea de transferncia estiverem em um formato ao qual o objeto no d suporte, a propriedade CanPaste ser False. Por exemplo, se voc tentar colar um bitmap em um objeto que s d suporte a texto, CanPaste ser False. Esta propriedade acessvel apenas em tempo de execuo. CurLine: Especifica a linha corrente do objeto, ou seja, a linha que contm o ponto de insero de texto. O nmero da primeira linha 0. O valor padro desta propriedade 0. CurTargetX: Retorna a posio horizontal de insero de um texto no objeto. Esta posio medida em unidades himtricas (um himetro 0,0001 do metro). Voc pode usar CurTargetX e CurX para mover o ponto de insero de um texto conforme o usurio percorre pelo contedo do objeto. Quando o usurio move o ponto de insero para outra linha do texto, a propriedade CurTargetX especifica a posio mais indicada para o ponto de insero do texto desejado. A propriedade CurX definida neste valor, se a linha do texto for maior que o valor de CurTargetX. Caso contrrio, a propriedade CurX definida como o final da linha do texto. E3 - Scripts - Manual de Referncia 292 Propriedades Esta propriedade acessvel apenas em tempo de execuo. CurX: A propriedade CurX especifica a posio atual horizontal do ponto de insero no objeto. Esta propriedades aplicada num objeto que possua vrias linhas, isto , a propriedade Multiline est habilitada. O valor de retorno vlido quando o objeto possui o foco. Voc pode usar a propriedade Multiline e a propriedade CurX para posicionar o ponto de insero do texto conforme o usurio rola pelo contedo no objeto. Quando o usurio move o ponto de insero para uma outra linha de texto rolando o contedo do objeto, a propriedade CurTargetX especifica a posio desejada para o ponto de insero. A propriedade CurX definida com este valor se a linha de texto for maior do que o valor de CurTargetX. Caso contrrio, CurX definido no fim da linha de texto. Esta propriedade acessvel apenas em tempo de execuo. DragBehavior: Habilita/desabilita o recurso de arrastar e soltar um texto no contedo do objeto. As opes disponveis para esta propriedade so as seguintes: 0- fmDragBehaviorDisabled: no permite a ao de arrastar e soltar o texto no contedo do objeto; e 1- fmDragBehaviorEnabled: permite a ao de arrastar e soltar o texto no contedo do objeto. O valor padro desta propriedade 0. NOTA: A propriedade DragBehavior no tem efeito se a propriedade Style estiver configurada para 2. EnterFieldBehavior: Esta propriedade controla a forma como o contedo do texto selecionado na rea de edio, quando se pressiona a tecla [Tab| no objeto e no quando o objeto recebe o foco como um resultado do mtodo SetFocus(). As opes disponveis para esta propriedade so as seguintes: 0-fmEnterFieldBehaviorSelectAll (valor padro): seleciona todo o contedo do texto quando a tecla [Tab| pressionada no objeto; e 1-fmEnterFieldBehaviorRecallSelection: deixa a seleo inalterada. EnterKeyBehavior: Define o efeito da tecla [Enter| no objeto. Se esta propriedade estiver configurada para True, ao pressionar a tecla [Enter|, uma nova linha criada na rea de edio do texto no objeto. Caso contrrio, ao pressionar a tecla [Enter|, o foco passado para o prximo objeto da ordem de tabulao. Isto tambm ocorre se a propriedade Multiline estiver configurada para False, independente do valor da propriedade EnterKeyBehavior. A combinao das teclas [CTRL|+[Enter| tambm dependem do valor da propriedade Multiline. Se esta propriedade estiver configurada para True, ao pressionar estas teclas, uma nova linha criada na rea de edio do texto do objeto, independente do valor da propriedade EnterKeyBehavior. Se a propriedade for False, as teclas no tero efeito sobre o texto. E3 - Scripts - Manual de Referncia Propriedades 293 Font: A propriedade Font utilizada para determinar a fonte do objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada unicamente via Studio. HideSelection: A propriedade HideSelection especifica se o texto selecionado continua em destaque quando um objeto no tem mais o foco. Se a propriedade estiver configurada para True, o texto selecionado no est em destaque, ao menos que o objeto tenha o foco. Caso contrrio, o texto selecionado sempre aparece em destaque. O valor padro desta propriedade True. IMEMode: A propriedade IMEMode especifica o modo IME de um objeto. Essa propriedade aplica-se apenas em aplicativos escritos em idiomas asiticos (chins simplificado, chins tradicional, coreano e japons) e ignorada em outros aplicativos. Foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. As opes disponveis so as seguintes: Opes disponveis para IMEMode OPO DESCRIO 0- fm!NENodeNoControl No controla IME (padro). 1- fm!NENodeOn IME ativado. 2- fm!NENodeOff IME desativado. Modo ingls. 3- fm!NENodeDisable IME desativado. O usurio no pode ativar IME pelo teclado. +- fm!NENodeHiragana IME ativado com modo Hiragana de largura total. 5- fm!NENodeKatakanaFull IME ativado com modo Katakana de largura total. 6- fm!NENodeKatakana IME ativado com modo Katakana de meia largura. 7- fm!NENodeAlphaFull IME ativado com modo Alfanumrico de largura total. 8- fm!NENodeAlpha IME ativado com modo Alfanumrico de meia largura. 9- fm!NENodeHangulFull IME ativado com modo Hangul de largura total. 10- fm!NENodeHangul IME ativado com modo Hangul de meia largura. 11-fm!NENodeHanziFull IME ativado com modo Hanzi de largura total 12-fm!NENodeHanzi IME ativado com modo Hanzi de meia largura.
IntegralHeight: A propriedade IntegralHeight ajusta a altura da rea de edio do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Se esta propriedade estiver configurada para True, a altura da rea de edio do texto reajustada para coincidir com o tamanho atual o objeto, permitindo assim a exibio completa do contedo do texto. Caso contrrio, a rea de edio do texto continua com seu tamanho original. Se os textos so maiores que o espao disponvel, estes no so exibidos no objeto. E3 - Scripts - Manual de Referncia 294 Propriedades LineCount: A propriedade LineCount retorna o nmero de linhas do objeto. Esta propriedade acessvel apenas em tempo de execuo. Locked: A propriedade Locked habilita/desabilita a edio do objeto. Se esta propriedade estiver configurada para True, a edio no permitida. Caso contrrio, possvel editar o objeto. Os valores configurados na propriedade Enabled influenciam o comportamento de Locked. Para maiores detalhes, consulte a propriedade Enabled. O valor padro desta propriedade False. MaxLength: A propriedade MaxLength determina o nmero mximo de caracteres no objeto. Configurando esta propriedade como 0, no h limite de caractere no objeto. Multiline: A propriedade Multiline indica se o texto ter mltiplas linhas (True) ou ser uma caixa de texto simples (False). Isto pode ser visualizado quando o objeto Viewer est em execuo. O valor padro desta propriedade False. PasswordChar: Converte o texto do objeto para um caractere especial configurado na propriedade. Utilize esta propriedade para proteger informaes sensveis, como senhas ou cdigos de segurana. O valor de PasswordChar o caractere (normalmente um asterisco) que aparece em um objeto, ao invs dos caracteres reais que o usurio digita. Se no for especificado um caractere, o controle exibe os caracteres que o usurio digita. ScrollBars: Especifica se o objeto possui barras de rolagem verticais, horizontais ou ambas. As opes disponveis so as seguintes: 0- fmScrollBarNone: no exibe barras de rolagem; 1- fmScrollBarHorizontal: exibe uma barra de rolagem horizontal; 2- fmScrollBarvertical: exibe uma barra de rolagem vertical. O valor padro desta propriedade 0- fmScrollBarNone. SelectionMargin: Habilita/desabilita a margem de seleo do objeto. Se esta propriedade estiver configurada para True, ao clicar na margem do objeto, o texto ser selecionado. Caso contrrio, ao clicar na margem o texto no ser selecionado. NOTA: Se a propriedade SelectionMargin estiver configurada para True quando o objeto for impresso, a margem de seleo tambm ser impressa. SelLength: Retorna o nmero de caracteres selecionados no objeto. Esta propriedade acessvel apenas em tempo de execuo. SelStart: Indica o ponto inicial do texto selecionado ou o ponto de insero se nenhum texto for selecionado. Esta propriedade acessvel apenas em tempo de execuo. E3 - Scripts - Manual de Referncia Propriedades 295 SelText: Retorna o texto selecionado no objeto. Esta propriedade acessvel apenas em tempo de execuo. SpecialEffect: A propriedade SpecialEffect especifica a aparncia de um objeto. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para SpecialEffect OPO DESCRIO 0- fmSpecialEffectFlat O objeto aparece plano e possui um destaque na borda, uma alterao de cor ou ambos. 1- fmSpecialEffectRaised O objeto possui um destaque na parte superior esquerda e uma sombra na parte inferior direita. O objeto parece estar em relevo. 2- fmSpecialEffectSunked O objeto possui uma sombra na parte superior esquerda e um destaque na parte inferior direita. O objeto e a sua borda parecem estar afundados na Tela. 3- fmSpecialEffectEtchet A borda parece estar esculpida ao redor da extremidade do objeto. 6- fmSpecialEffectBump O objeto possui uma cresta na parte inferior direita e parece plano na parte superior esquerda.
TabKeyBehavior: Determina se as tabulaes so permitidas na regio de edio. Se a propriedade estiver configurada para True, ao pressionar a tecla TAB, inserido um caractere de espaamento na regio de edio. Caso contrrio, ao pressionar TAB, o foco passado para o prximo objeto na ordem de tabulao. Text: retorna o texto sendo digitado na opo selecionada. Esta propriedade acessvel apenas em tempo de execuo. TextAlign: Especifica como o texto alinhado no objeto. As opes disponveis so as seguintes: 1- fmTextAlignLeft: alinha o texto com a extremidade esquerda do objeto; 2- fmTextAlignCenter: centraliza o texto com a extremidade direita do objeto; 3- fmTextAlignRight: alinha o texto com a extremidade direita do objeto. TextLength: Retorna o nmero de caracteres digitados no objeto. Esta propriedade acessvel apenas em tempo de execuo. Value: o texto na rea de edio. WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta E3 - Scripts - Manual de Referncia 296 Propriedades propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. 6.11.10. Propriedades do Boto Liga-Desliga Accelerator: Define ou recupera a tecla aceleradora do objeto. Esta tecla aceleradora uma tecla de atalho que usada em conjunto com a tecla [Alt], d o foco ao objeto. O valor padro desta propriedade vazio. Alignment: A propriedade Alignment especifica a posio do objeto relativa a sua legenda. As opes disponveis para esta propriedade so as seguintes: 0- fmAlignmentLeft: coloca a legenda esquerda do objeto; e 1- fmAligmentRight: coloca a legenda direita do objeto. Esta propriedade acessvel apenas em tempo de execuo. AutoSize: A propriedade AutoSize ajusta a largura do texto, caso a rea disponvel para o mesmo ultrapasse o tamanho do objeto. Para o objeto Boto Liga- Desliga (Toggle Button), quando a propriedade estiver configurada para True, o texto redimensionado para coincidir com o tamanho atual o objeto, permitindo assim a sua exibio completa. BackStyle: A propriedade BackStyle define o estilo do plano de fundo para os objetos. As opes disponveis para esta propriedade so as seguintes: 0- fmBackStyleTransparent: define o objeto como transparente, isto , nenhum fundo deste objeto ser desenhado; e 1 - fmBackStyleOpaque: define o objeto como opaco, isto , o fundo ser desenhado (valor padro). NOTA: Esta propriedade no afeta a transparncia de bitmaps. Voc deve usar um editor de figura como o Paintbrush, por exemplo, para tornar um bitmap transparente. Nem todos os objetos ActiveX suportam bitmaps transparentes. Caption: Define o texto que ser mostrado no objeto. Font: A propriedade Font utilizada para determinar a fonte do objeto. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada unicamente via Studio. GroupName: A propriedade GroupName utilizado para criar um grupo de objetos mutuamente exclusivos. Esta propriedade acessvel apenas em tempo de execuo. NOTA: Esta propriedade no utilizada no E3 e foi mantida por motivos de compatibilidade com a especificao padro dos objetos Microsoft Forms. E3 - Scripts - Manual de Referncia Propriedades 297 Locked: A propriedade Locked habilita/desabilita a edio do objeto. Se esta propriedade estiver configurada para True, a edio no permitida. Caso contrrio, possvel editar o objeto. Os valores configurados na propriedade Enabled influenciam o comportamento de Locked. Para maiores detalhes, consulte a propriedade Enabled. O valor padro desta propriedade False. Picture: A propriedade Picture especifica a figura (bitmap) atribuda ao objeto. Um arquivo com imagem pode ser selecionado de duas maneiras: atravs da Lista de Propriedades; ou via scripts, utilizando-se a funo LoadPicture para especificar o caminho e o nome do arquivo que contm a figura. Para remover a figura, clique o valor da propriedade Picture e pressione a tecla Delete. A tecla Backspace (tecla de espao do teclado) no remove a figura. Exemplo: Sub CommandButton1_Click() Screen.Item("CheckBox1").Picture =LoadPicture("C:\aba.gif") End Sub PicturePosition: A propriedade PicturePosition especifica a posio da figura atribuda ao objeto em relao a sua legenda. As opes disponveis para esta propriedades so as seguintes: E3 - Scripts - Manual de Referncia 298 Propriedades Opes disponveis para PicturePosition OPO DESCRIO 0- fmPicturePositionLeftTop A figura aparece esquerda de sua legenda. A legenda alinhada com a parte superior da figura. 1- fmPicturePositionLeftCenter A figura aparece esquerda da legenda. A legenda centralizada relativamente imagem. 2- fmPicturePositionLeftBotton A figura aparece esquerda da legenda. A legenda alinhada com a parte inferior da figura. 3- fmPicturePositionRightTop A figura aparece direita da legenda. A legenda alinhada com a parte superior da figura. +- fmPicturePositionRightCenter A figura aparece direita da legenda. A legenda centralizada relativamente figura. 5- fmPicturePositionRightBotton A figura aparece direita da legenda. A legenda alinhada com a parte inferior da figura. 6- fmPicturePositionAboveLeft A figura aparece acima da legenda. A legenda alinhada com a extremidade esquerda da figura. 7- fmPicturePositionAboveCenter A figura aparece acima da legenda. A legenda centralizada abaixo da figura (padro). 8- fmPicturePositionAboveRight A figura aparece acima da legenda. A legenda alinhada com a extremidade direita da figura. 9- fmPicturePositionBelowLeft A figura aparece abaixo da legenda. A legenda alinhada com a extremidade esquerda da figura. 10- fmPicturePositionBelowCenter A figura aparece abaixo da legenda. A legenda centralizada acima da figura. 11- fmPicturePositionBelowRight A figura aparece abaixo da legenda. A legenda alinhada com a extremidade direita da figura.
E3 - Scripts - Manual de Referncia Propriedades 299 SpecialEffect: A propriedade SpecialEffect especifica a aparncia de um objeto. Esta propriedade acessvel apenas em tempo de execuo. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para SpecialEffect OPO DESCRIO 0- fmSpecialEffectFlat O objeto aparece plano e possui um destaque na borda, uma alterao de cor ou ambos. 1- fmSpecialEffectRaised O objeto possui um destaque na parte superior esquerda e uma sombra na parte inferior direita. O objeto parece estar em relevo. 2- fmSpecialEffectSunked O objeto possui uma sombra na parte superior esquerda e um destaque na parte inferior direita. O objeto e a sua borda parecem estar afundados na Tela. 3- fmSpecialEffectEtchet A borda parece estar esculpida ao redor da extremidade do objeto. 6- fmSpecialEffectBump O objeto possui uma cresta na parte inferior direita e parece plano na parte superior esquerda.
TextAlign: Especifica como o texto alinhado no objeto. As opes disponveis so as seguintes: 1- fmTextAlignLeft: alinha o texto com a extremidade esquerda do objeto; 2- fmTextAlignCenter: centraliza o texto com a extremidade direita do objeto; 3- fmTextAlignRight: alinha o texto com a extremidade direita do objeto. TripleState: A propriedade TripleState determina at trs estados de valores para o objeto. Se a propriedade estiver configurada para True, o usurio poder escolher entre trs opes de estados: Falso, verdadeiro ou Nulo. O valor Nulo exibido como um boto sombreado. Caso contrrio, o usurio pode escolher entre os valores False ou True. O valor padro desta propriedade False. Value: Indica o valor inicial do objeto. Tem comportamento booleano; se True, o objeto inicia marcado, do contrrio, seu estado inicial no marcado. O valor padro desta propriedade False. WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. E3 - Scripts - Manual de Referncia 300 Propriedades 6.12. Propriedades dos Links Os Links trazem grande facilidade para criar diversos tipos de associaes, visto que no necessria a execuo lgica ou via scripts para associar duas variveis quaisquer. O objeto Links retorna uma coleo das associaes de um objeto qualquer do E3. A propriedade comum toda a coleo Links Count. Count: Informa a quantidade de links do objeto. Retorna o valor 0 (zero) se o objeto no possuir links. Exemplo: Sub CommandButton1_Click() MsgBox Screen.Item("ScrollBar1").Links.Count End Sub 6.12.1. Propriedades Comuns dos Ob]etos de Conexo {Links} Para acessar ou modificar uma conexo, so usadas as propriedades e mtodos dos objetos de conexo (Links). Cada tipo de conexo tem propriedades especficas, exceto pelas propriedades Property, Source e Type, comuns a todos os tipos de conexo. Property: Especifica o nome da propriedade que est conectada. Ao ser modificada, permite deslocar a conexo para outra propriedade do mesmo objeto. Exemplo: Sub CommandButton1_Click() dim bind set bind = Screen.Item("TableBind").Links.Item(1) bind.Property = "Caption" End Sub Source: Especifica a fonte da conexo, que pode ser o nome de outro objeto da aplicao ou uma expresso mais complexa acessando vrios objetos. Exemplo: Sub CommandButton25_Click() dim bind set bind = Screen.Item("TableBind").Links.Item(1) bind.Source = "Dados.TagDemo1.Value" End Sub E3 - Scripts - Manual de Referncia Propriedades 301 Type: Esta propriedade apenas de leitura e informa o tipo de conexo. Os valores disponveis so os seguintes: Opes disponveis para Type OPO DESCRIO 0- bsSimples Conexo simples. 1- bsSimpleBiDir Conexo bidirecional. 2- bsAnalog Conexo analgica. 3- bsAnimation Conexo digital. +- bsTable Conexo por tabela. 5- bsReverse Conexo reversa.
Exemplo: Sub CommandButton1_Click() dim bind set bind = Screen.Item("TableBind").Links.Item(1) MsgBox bind.Type & " - Conexo por Tabela" End Sub 6.12.2. Propriedades dos Links 8imples, Bidirecional e Reverso As conexes simples, bidirecionais e reversas so implementadas por um mesmo objeto. De acordo com o valor destas propriedades, determinado qual desses trs tipos de conexo se trata. Bidirectional: True se a conexo for bidirecional; False se a conexo for reversa ou simples. Exemplo: Sub CommandButton29_Click() dim bind set bind = Screen.Item("SimpleBind").Links.Item(1) bind.BiDirectional = True End Sub Reverse: True se a conexo for reversa; False se a conexo for bidirecional ou simples. Exemplo: Sub CommandButton29_Click() dim bind set bind = Screen.Item("SimpleBind").Links.Item(1) bind.Reverse = True End Sub E3 - Scripts - Manual de Referncia 302 Propriedades 6.12.3. Propriedades da Conexo Digital BlinkOff: Quando esta propriedade estiver configurada para True, a propriedade conectada ir alternar periodicamente entre os valores das propriedades OffValue e BlinkOffValue, caso a fonte retorne False. Exemplo: Sub BlinkOff_Change() On Error Resume Next Dim Bind Set Bind = Screen.Item("Retangulo1")._ Links.Item("ForegroundColor") If Bind Is Nothing Then MsgBox "Retangulo1 is not linked" Else MsgBox "Retangulo1 is linked to " & Bind.Source & " " MsgBox "Changing BlinkOff from " &_ Bind.BlinkOff & " to " & Value Bind.BlinkOff = Value End If End Sub E3 - Scripts - Manual de Referncia Propriedades 303 BlinkOffValue: Especifica o valor alternativo a ser assumido periodicamente pela propriedade quando a expresso da fonte resultar em False, e a propriedade BlinkOff estiver configurada em True. Exemplo: Sub BlinkOffValue_Click() On Error Resume Next Dim Value If Application.ShowPickColor_ (Value, ForegroundColor, 400, 300) Then Dim Bind Set Bind = Screen.Item("Retangulo1").Links._ Item("ForegroundColor") if Bind Is Nothing Then MsgBox "Retangulo1 is not linked" Else MsgBox "Retangulo1 is linked to "& Bind.Source & " " MsgBox "Changing BlinkOffValue from " &_ Bind.BlinkOffValue & " to " & Value Bind.BlinkOffValue = Value End If ForegroundColor = Value End If End Sub BlinkOn: Quando esta propriedade estiver configurada para True, a propriedade conectada ir alternar periodicamente entre os valores da propriedade OnValue e BlinkOnValue, caso a fonte retorne True. E3 - Scripts - Manual de Referncia 304 Propriedades Exemplo: Sub BlinkOn_Change() On error resume next dim Bind Set Bind =_ Screen.Item("Retangulo1").Links.Item("ForegroundColor") if Bind Is Nothing Then MsgBox "Retangulo1 is not linked" Else MsgBox "Retangulo1 is linked to " & Bind.Source & " " MsgBox "Changing BlinkOn from " & Bind._ BlinkOn & " to " & Value Bind.BlinkOn = Value End if End Sub BlinkOnValue: Especifica o valor alternativo a ser assumido periodicamente pela propriedade quando a expresso da fonte resultar em True e a propriedade BlinkOn estiver configurada para True. Exemplo: Sub BlinkOnValue_Click() On Error Resume Next Dim Value If Application.ShowPickColor_ (Value, ForegroundColor, 400, 300) Then Dim Bind Set Bind = Screen.Item("Retangulo1").Links._ Item("ForegroundColor") If Bind Is Nothing Then MsgBox "Retangulo1 is not linked" Else MsgBox "Retangulo1 is linked to "& Bind.Source & " " MsgBox "Changing BlinkOnValue from " &_ Bind.BlinkOnValue & " to " & Value Bind.BlinkOnValue = Value End If ForegroundColor = Value End If End Sub E3 - Scripts - Manual de Referncia Propriedades 305 OffValue: Especifica o valor assumido pela propriedade quando a expresso da fonte resultar em False. Exemplo: Sub OffValue_Click() On Error Resume Next Dim Value If Application.ShowPickColor_ (Value, ForegroundColor, 400, 300) Then Dim Bind Set Bind = Screen.Item("Retangulo1").Links._ Item("ForegroundColor") if Bind Is Nothing Then MsgBox "Retangulo1 is not linked" Else MsgBox "Retangulo1 is linked to "& Bind.Source & " " MsgBox "Changing OffValue from " &_ Bind.OffValue & " to " & Value Bind.OffValue = Value End If ForegroundColor = Value End If End Sub E3 - Scripts - Manual de Referncia 306 Propriedades OnValue: Especifica o valor assumido pela propriedade quando a expresso da fonte for True. Exemplo: Sub OnValue_Click() On error resume next Dim Value If Application.ShowPickColor_ (Value, ForegroundColor, 400, 300) Then Dim Bind Set Bind = Screen.Item("Retangulo1").Links._ Item("ForegroundColor") if Bind Is Nothing Then MsgBox "Retangulo1 is not linked" Else MsgBox "Retangulo1 is linked to "& Bind.Source & " " MsgBox "Changing OnValue from " &_ Bind.OnValue & " to " & Value Bind.OnValue = Value End If ForegroundColor = Value End If End Sub 6.12.4. Propriedades da Conexo Analgica Atravs de quatro valores especificados, feita uma escala linear entre os valores da propriedade e os valores da fonte. As propriedades disponveis na conexo analgica so as seguintes: DstHiValue: Especifica o valor mximo atingido na propriedade. Exemplo: Sub DstHiValue_ValueChange() On Error Resume Next Dim Bind Set Bind = Screen.Item("ScrollBar1").Links.Item("Value") Screen.Item("ScrollBar1").Max = Value If Bind Is Nothing Then MsgBox "ScrollBar1 is not linked" Else MsgBox "ScrollBar1 is linked to " & Bind.Source & "" E3 - Scripts - Manual de Referncia Propriedades 307 MsgBox "Changing DstHiValue from " &_ Bind.DstHiValue & " to " & Value Bind.DstHiValue = Value End If End Sub
DstLoValue: Especifica o valor mnimo atingido na propriedade. Exemplo: Sub DstLoValue_ValueChange() On Error Resume Next Dim Bind Set Bind = Screen.Item("ScrollBar1").Links.Item("Value") Screen.Item("ScrollBar1").Min = Value If Bind Is Nothing Then MsgBox "ScrollBar1 is not linked" Else MsgBox "ScrollBar1 is linked to " & Bind.Source & " " MsgBox "Changing DstLoValue from " &_ Bind.DstLoValue & " to " & Value Bind.DstLoValue = Value End If End Sub SrcHiValue: Especifica o valor mximo atingido na fonte. Exemplo: Sub SrcHiValue_ValueChange() On error resume next Dim Bind Set Bind = Screen.Item("ScrollBar1").Links.Item("Value") Screen.Item("ScrollBar2").Max = Value If Bind Is Nothing Then MsgBox "ScrollBar1 is not linked" Else MsgBox "ScrollBar1 is linked to " & Bind.Source & " " MsgBox "Changing SrcHiValue from " &_ Bind.SrcHiValue & " to " & Value Bind.SrcHiValue = Value End If End Sub E3 - Scripts - Manual de Referncia 308 Propriedades SrcLoValue: Especifica o valor mnimo atingido na fonte. Exemplo: Sub SrcLoValue_ValueChange() On error resume next Dim Bind Set Bind = Screen.Item("ScrollBar1").Links.Item("Value") Screen.Item("ScrollBar2").Min = Value If Bind Is Nothing Then MsgBox "ScrollBar1 is not linked" Else MsgBox "ScrollBar1 is linked to " & Bind.Source & " " MsgBox "Changing SrcLoValue from " &_ Bind.SrcLoValue & " to " & Value Bind.SrcLoValue = Value End if End Sub NOTA: Caso os valores especificados para as propriedades SrcHiValue e SrcLoValue sejam iguais, no possvel fazer a escala, e a conexo funcionar como se fosse uma conexo simples. 6.12.5. Propriedade da Conexo por Tabela Count: A propriedade Count informa o nmero de linhas da tabela. Esta propriedade somente de leitura. Exemplo: Sub Retangulo1_Click() Dim Bind Set Bind = Links.Item("ForegroundColor") If Bind Is Nothing Then MsgBox "Associao inexistente" Else MsgBox Bind.Count End If End Sub E3 - Scripts - Manual de Referncia Propriedades 309 6.12.6. Propriedades da Linha da Conexo por Tabela Blink: Determina que quando a fonte estiver no intervalo desta linha, a propriedade ir alternar periodicamente entre os valores especificados nas propriedades Value e BlinkValue. Exemplo: Sub CheckBox1_Click() Screen.Item("Retangulo1").Links.Item("ForegroundColor")._ Item(1).Blink = Value Screen.Item("Retangulo1").Links.Item("ForegroundColor")._ Item(2).Blink = Value End Sub
BlinkValue: Especifica o valor alternativo (para piscar) da propriedade a ser assumido quando a fonte estiver no intervalo especificado na linha, e a propriedade Blink estiver configurada para True. Exemplo: Sub CommandButton1_Click() Dim Cor ' Escolhe uma cor Application.ShowPickColor Cor, 0, 100, 100 Screen.Item("Retangulo1").Links.Item("ForegroundColor")._ Item(1).BlinkValue = Cor End Sub
Max: Especifica o valor mximo da fonte para uma linha da tabela. Min: Especifica o valor mnimo da fonte para uma linha da tabela. Exemplo (para Max e Min): Sub CommandButton1_Click() Set Bind = _ Screen.Item("Retangulo1").Links.Item("ForegroundColor") Set Linha1 = Bind.Item(1) Linha1.Min = 0 Linha1.Max = 20 Set Linha2 = Bind.Item(2) Linha2.Min = 21 Linha2.Max = 100 End Sub E3 - Scripts - Manual de Referncia 310 Propriedades Value: Especifica o valor da propriedade a ser assumido quando a fonte estiver no intervalo especificado na linha. Exemplo: Sub CommandButton1_Click() Dim Cor ' Escolhe uma cor Application.ShowPickColor Cor, 0, 100, 100 Screen.Item("Retangulo1").Links.Item("ForegroundColor")._ Item(1).Value = Cor End Sub 6.13. Propriedades do Viewer BlinkTime: Define o tempo, em milissegundos, entre cada mudana de estado quando um objeto tem que piscar (ou seja, toda vez que algum objeto de tela tem uma associao e marcada a opo Piscar). O valor padro desta propriedade 200 ms. NOTA: O tempo mnimo de atualizao da tela 55ms; portanto, se esta propriedade for configurada com tempo inferior a 55ms, a configurao no ter efeito algum. CacheEnable: Mantm em memria as Telas j abertas instanciadas no Viewer, permitindo uma troca mais rpida entre elas. Se a propriedade for habilitada, ento o cache de Telas tambm habilitado. Caption: Determina o nome da aplicao que est utilizando o Viewer. O valor padro desta propriedade vazio. CenterWindow: Quando habilitada, determina que a janela de visualizao do Viewer dever iniciar centralizada. Caso contrrio, ser utilizada a configurao default. O valor padro desta propriedade True. CloseButton: Se a opo estiver habilitada, o boto [Fechar| habilitado no Viewer, e possvel utilizar este boto. Caso contrrio, este boto no aparece na janela. O valor padro desta propriedade True. DisableTaskSwitching: Se estiver configurada para True, desabilita a troca de janelas no Viewer. Caso contrrio, a troca de janelas habilitada. O valor padro desta propriedade False. E3 - Scripts - Manual de Referncia Propriedades 311 EnableHeartbeat: Habilita/desabilita o envio de heartbeat (mensagem enviada em intervalos fixos, que indica que o E3 Server est ativo) entre o Viewer e o servidor. Caso o Viewer pare de receber as mensagens de heartbeat, sinal de que algum problema ocorreu, portanto a conexo deve ser abortada. O valor padro desta propriedade False. EnableInactivity: Habilita/desabilita a verificao do perodo de inatividade do usurio. Para maiores informaes, veja o evento OnInactive, do objeto Viewer. O valor padro desta propriedade False. EnableZoomMenu: Se estiver configurada como True, habilita a exibio do menu de configurao do zoom da tela atravs do boto direito do mouse em tempo de execuo, exceto quando algum script estiver configurado com informao divergente nos eventos MouseDown() ou MouseUp(). Caso contrrio, o menu no ser mostrado. O valor padro desta propriedade True. HeartbeatPeriodMs: Indica o intervalo (em milissegundos) entre as mensagens de heartbeat enviadas pelo E3 Server. A mensagem de heartbeat sempre enviada quando o servidor fica o perodo indicado por esta propriedade sem enviar nenhuma mensagem para o Viewer. O valor padro desta propriedade 2000 (dois segundos). HeartbeatTimeoutMs: Indica o tempo, em milissegundos, que o Viewer tolera sem receber nenhuma mensagem do E3 Server. Se este tempo passar, e nenhuma mensagem for recebida, o Viewer assume que a conexo foi perdida, e inicia o processo de reconexo. Este tempo deve ser maior que o tempo determinado na propriedade HeartbeatPeriodMs, de preferncia maior que o dobro. O valor padro desta propriedade 5000 (cinco segundos). InactivityTime: Define o tempo mximo de espera por um evento de mouse ou teclado antes do perodo de inatividade, em minutos. Para maiores informaes, veja o evento OnInactive do objeto Viewer. O valor padro desta propriedade 5 (cinco) minutos. Exemplo: Sub CommandButton3_Click() MsgBox "A aplicao ficar inativa em " & _ Application.InactivityTime & " minuto(s)." End Sub InitialScreen: Indica a Tela/Quadro inicial que dever ser mostrada quando o Viewer chamado. Atravs da propriedade WindowStyle, possvel determinar se a janela dever iniciar maximizada, janelada ou minimizada. O valor padro desta propriedade TelaInicial. E3 - Scripts - Manual de Referncia 312 Propriedades IsViewerReadOnly: Se True, indica que o Viewer est no modo Somente Leitura (acesso restrito). LoginRetries: Especifica o nmero de retentativas de login do Viewer, isto , quantas vezes o dilogo de login ser exibido alm da primeira vez. O valor padro desta propriedade 2. MaximizeButton: Se a opo estiver habilitada (True), o boto [Naximizar| habilitado no Viewer, e possvel utilizar esse boto. Caso contrrio, esse boto no aparece na janela. O valor padro desta propriedade True. MinimizeButton: Se a opo estiver habilitada (True), o boto [Ninimizar] habilitado no Viewer, e possvel utilizar esse boto. Caso contrrio, esse boto no aparece na janela. O valor padro desta propriedade True. ReconnectDialogDelaySec: Indica o nmero de segundos em que o Viewer ir esperar durante uma possvel reconexo ao servidor antes de mostrar uma mensagem avisando o usurio desta ao (esta propriedade no afeta a primeira conexo). Se for igual a 0, a mensagem de reconexo sempre ser mostrada. Para evitar que a mensagem seja mostrada, recomendvel colocar um nmero muito grande (1 bilho, por exemplo). NOTA: Quando a reconexo ocorre em silncio, todas as janelas do Viewer ativo ficam desabilitadas e uma ampulheta mostrada indicando que o aplicativo est indisponvel. Durante o tempo da reconexo, no possvel o usurio cancelar o processo. TargetDPIX: Define o valor de pontos por polegada, na horizontal, do monitor do micro de destino. O valor padro desta propriedade -1, que faz com que seja assumido o valor do micro atual. TargetDPIY: Define o valor de pontos por polegada, na vertical, do monitor do micro de destino. O valor padro desta propriedade -1, que faz com que seja assumido o valor do micro atual. TargetMarginX: Define o nmero de pixels que devem ser descontados da resoluo horizontal da tela (a rea til do Viewer). O valor padro da propriedade -1, que faz com que seja assumida a configurao da janela do Viewer (com/sem barra de ttulo, com/sem borda) em conjunto com a configurao do micro atual (largura de borda e barra de ttulo definidas pelo Windows). TargetMarginY: Define o nmero de pixels que devem ser descontados da resoluo vertical da tela (a rea til do Viewer). O valor padro da propriedade -1, que faz com que seja assumida a configurao da janela do Viewer (com/sem barra E3 - Scripts - Manual de Referncia Propriedades 313 de ttulo, com/sem borda) em conjunto com a configurao do micro atual (largura de borda e barra de ttulo definidas pelo Windows). TargetResolutionX: Define a resoluo horizontal da tela para qual esta aplicao est destinada (em pixels). O valor padro da propriedade -1, que faz com que seja assumida a resoluo do micro atual. TargetResolutionY: Define a resoluo vertical da tela para qual esta aplicao est destinada (em pixels). O valor padro da propriedade -1, que faz com que seja assumida a resoluo do micro atual. TitleBar: Se a opo estiver habilitada (True), a barra de ttulo do Viewer mostrada, conforme as especificaes da propriedade Caption. Do contrrio, ela escondida. O valor padro desta propriedade True. User: Contm o nome do usurio que est utilizando o Viewer. Esta propriedade somente para leitura. WindowHeight: Determina a altura da janela do Viewer, em pixels. O valor padro dessa propriedade 300. WindowStyle: Define o estilo inicial de janela do Viewer. As opes disponveis so: 0-Naximized: inicia o Viewer maximizado; 1-Windowed: inicia o Viewer janelado; e 2-Ninimized: inicia o Viewer minimizado. WindowWidth: Determina a largura da janela do Viewer, em pixels. O valor padro dessa propriedade 400. 6.14. Propriedades do Banco de Dados ConnectionActive: Mostra o status da conexo principal do Banco de Dados. Se a conexo estiver ativa, a propriedade tem o valor True. Caso contrrio, tem o valor False. EnableLocalCreation: Define se o Viewer criar a conexo do banco de dados localmente ou no. A conexo local ser utilizada somente para a criao de consultas. Se a propriedade estiver habilitada (True), o Viewer tenta criar a conexo localmente, e se isso no for possvel, busca a consulta pedida no servidor. O valor padro desta propriedade False. E3 - Scripts - Manual de Referncia 314 Propriedades EnableSynchronization: Indica ao E3, se habilitada (True), que ele tambm deve fazer a gravao dos dados em uma segunda base simultaneamente, para permitir uma maior segurana. Se a propriedade estiver habilitada e houver um servidor StandBy, o E3 faz a sincronizao entre os bancos de dados dos dois servidores. O valor padro desta propriedade False, ou seja, a sincronia est desabilitada. NetLibrary: Configura o tipo de biblioteca de rede do Banco de Dados. As opes disponveis so: Opes disponveis para NetLibrary OPO DESCRIO 0-Default Biblioteca do tipo padro. 1-NamedPipes Biblioteca do tipo Named Pipes. 2-Tcp!p Biblioteca do tipo Winstock TCP/IP. 3-Spx!px Biblioteca do tipo SPX/IPX. +-Banyanvines Biblioteca do tipo Banyan Vines. 5-NultiProtocol Biblioteca do tipo Multi-protocolo (RPC). NOTA: a propriedade NetLibrary somente est disponvel no Banco de Dados do tipo SQL. ReconnectDelay: A propriedade ReconnectDelay determina o tempo de espera (em milissegundos) para o sistema fazer uma tentativa de restabelecer uma conexo perdida com o banco de dados. O valor padro desta propriedade 2000 (2 segundos). SourceDatabase: Caso o Banco de Dados seja Access, este o nome do arquivo .mdb. Caso o Banco de Dados seja SQL, este o nome do servidor SQL concatenado com o Banco escolhido no formato Servidor/Banco. Caso o Banco de Dados seja Oracle, este o nome da conexo criada. Esta propriedade somente para leitura. SourceType: Indica o banco de dados utilizado pelo objeto. As opes disponveis so: 0-stOracle: Banco de dados Oracle; 1-stAccess: Banco de dados Access; 2-stSQLServer: Banco de dados SQL Server. Exemplo: Sub Grupo1_Click() op = Application.SelectMenu("Oracle|Access|SQLServer") If op = 1 Then Application.GetObject("ServidorDB").SourceType = 0 MsgBox "Est sendo usado um servidor Oracle." ElseIf op = 2 Then Application.GetObject("ServidorDB").SourceType = 1 E3 - Scripts - Manual de Referncia Propriedades 315 MsgBox "Est sendo usado um servidor Access." ElseIf op = 3 Then Application.GetObject("ServidorDB").SourceType = 2 MsgBox "Est sendo usado um servidor Access." End If End Sub TimeOutCommand: Contm o tempo de espera para qualquer operao do banco de dados, antes que o sistema gere um erro por timeout. O valor padro 180 (3 minutos). TimeOutConnection: Contm o tempo de espera pela realizao da conexo com o Banco de Dados, antes que o sistema gere um erro por timeout. O valor padro 15 segundos. TotalFailedWrites: Contm o nmero total de erros em operaes de banco de dados que aconteceram at o momento. UserName: Login utilizado para se conectar ao Banco de Dados. Esta propriedade somente para leitura. UseTransaction: Define se o DBServer ir utilizar as transaes do banco de dados ou no. Se True, cada bloco de operaes (200 operaes) de DB (operaes do Histrico, Storage, Formulas e Alarmes) sero executadas de uma vez s, ou seja, em uma transao. 6.15. Propriedades dos Alarmes 6.15.1. Propriedades da Area de Alarmes ActiveAlarms: Determina o nmero de alarmes ativos dentro da rea do sistema. Se esta propriedade estiver com valor 0, os alarmes que esto desativados sero listados atravs da propriedade ActiveNACKAlarms. Esta propriedade somente de leitura. O valor padro desta propriedade 0. ActiveHighAlarms: Indica o nmero de alarmes ativos com severidade alta. Esta propriedade somente de leitura. ActiveHighNACKAlarms: Indica o nmero de alarmes no-reconhecidos com severidade alta. Esta propriedade somente de leitura. E3 - Scripts - Manual de Referncia 316 Propriedades ActiveLowAlarms: Indica o nmero de alarmes ativos com severidade baixa. Esta propriedade somente de leitura. ActiveLowNACKAlarms: Indica o nmero de alarmes no-reconhecidos com severidade baixa. Esta propriedade somente de leitura. ActiveMedAlarms: Indica o nmero de alarmes ativos com severidade mdia. Esta propriedade somente de leitura. ActiveMedNACKAlarms: Indica o nmero de alarmes no-reconhecidos com severidade mdia. Esta propriedade somente de leitura. ActiveNACKAlarms: Indica o nmero de alarmes que esto sem reconhecimento dentro da rea. Esta propriedade somente de leitura. Alarm: Estabelece a existncia alarmes ativos dentro da rea. Se a opo estiver True, o sistema tem pelo menos um alarme ativo dentro da rea, e a propriedade ActiveAlarms far a leitura no sistema, indicando a quantidade de alarme ativos. Caso contrrio, a propriedade ActiveNACKAlarms far a leitura dos alarmes sem reconhecimento. Esta propriedade somente de leitura. AlarmVerify: Habilita a verificao de todos os alarmes dentro da rea. Depois de habilitada esta verificao (True), se a propriedade ActiveAlarms possuir valor maior que 0, o sistema verifica tanto os alarmes ativos quanto os sem reconhecimento, listando estes ltimos pela propriedade ActiveNACKAlarms. Esta propriedade til para evitarmos o efeito de avalanche de alguns sistemas, onde o acontecimento de um evento gera uma grande quantidade de alarmes correlacionados. 6.15.2. Propriedades da Fonte de Alarmes NOTA: as propriedades relativas a cada tipo de alarme podem ser acessadas diretamente por scripts e associaes, bem como visualizadas na Lista de Propriedades do objeto, no mais sendo obrigatria sua edio via mtodo GetAlarm(). E3 - Scripts - Manual de Referncia Propriedades 317 ActiveNACKAlarm: Quando configurado para True, indica que a fonte de alarme no foi reconhecida desde a ltima a ativao. Essa propriedade somente de leitura. Alarm: Quando configurado para True, indica que o alarme est em condio ativa. AlarmVerify: Quando configurado para True, habilita a verificao da fonte de alarmes (ou seja, a gerao de alarmes). CurrentSeverity: Indica a ltima severidade do alarme ativo, a saber: 0 = severidade alta; 1 = severidade mdia; 2 = severidade baixa. CurrentSubConditionName: Determina o nome da ltima condio de alarme ativa. As opes disponveis para esta propriedade so: Opes disponveis para CurrentSubConditionName OPO DESCRIO BN Alarme Banda Morta D!G Alarme Digital Tv Alarme Taxa de Variao LOLO Alarme Analgico na faixa LOLO LO Alarme Analgico na faixa LO H! Alarme Analgico na faixa HI H!H! Alarme Analgico na faixa HIHI DoubleAckRequired: Quando configurada como True, indica que o alarme pode ser reconhecido tanto quando est ativo como quando passa a inativo, ou seja, pode ser reconhecido duplamente. Quando configurada como False, indica que o alarme s pode ser reconhecido uma vez, e ao ser reconhecido sai da lista de alarmes. Alarmes que no necessitem reconhecimento (propriedade AckRequired) no possibilitam esta personalizao. Aplicaes anteriores verso 2.5. vm com esta propriedade configurada como False. Event: Quando configurada como True, indica que o alarme do tipo evento. Um alarme do tipo evento, ao ser ativado, reconhecido pelo usurio System. Portanto, ao ser reconhecido nada acontece (no tem efeito algum), assim como no incrementa o nmero de alarmes ativos nem o nmero de alarmes no-reconhecidos. No pode ser modificada em tempo de execuo. Format: A propriedade Format especifica que tipo de formato ser atribudo ao objeto. Permite mudar a forma como os dados so apresentados sem mudar o valor que existe por trs deles. Esta propriedade pode ser editada manualmente ou configurada atravs da janela de formatao. Seu uso semelhante aos formatadores usados nas planilhas de dados, seguindo a mesma sintaxe bsica. So suportados os seguintes tipos de dados: E3 - Scripts - Manual de Referncia 318 Propriedades Tipos de dados suportados por Format DADOS DESCRIO Numrico Sada decimal, cientfica, hexadecimal, binria e octal. Texto Textos em geral. Booleano Valores boleanos. DatafHora Calendrio Gregoriano
FormattedValue: Contm o valor do alarme formatado de acordo com a propriedade Format. Esta propriedade somente de leitura. RawAlarm: Indica se o alarme deve estar ativo, independentemente da espera. Quando a espera for igual a 0 (zero), o valor de RawAlarm ser o mesmo da propriedade Alarm. Esta propriedade somente de leitura. Source: Contm a expresso que dever ser avaliada para determinar se o alarme deve ocorrer ou no. Value: Contm o valor do que foi avaliado para determinar se o alarme ocorre ou no. 6.15.3. Propriedades do 8ervidor de Alarmes ActiveAlarms: Determina o nmero total de alarmes ativos do sistema. Esta propriedade somente de leitura. ActiveHighAlarms: Indica o nmero de alarmes ativos com severidade alta. Esta propriedade somente de leitura. ActiveHighNACKAlarms: Indica o nmero de alarmes no-reconhecidos com severidade alta. Esta propriedade somente de leitura. ActiveLowAlarms: Indica o nmero de alarmes ativos com severidade baixa. Esta propriedade somente de leitura. ActiveLowNACKAlarms: Indica o nmero de alarmes no-reconhecidos com severidade baixa. Esta propriedade somente de leitura. ActiveMedAlarms: Indica o nmero de alarmes ativos com severidade mdia. Esta propriedade somente de leitura. E3 - Scripts - Manual de Referncia Propriedades 319 ActiveMedNACKAlarms: Indica o nmero de alarmes no-reconhecidos com severidade mdia. Esta propriedade somente de leitura. ActiveNACKAlarms: Indica o nmero total de alarmes que esto sem reconhecimento no sistema (ativos ou no). Esta propriedade somente de leitura. BackupDiscardInterval: Indica a quantidade de unidades de tempo durante o qual os dados de backup sero mantidos na tabela principal e na tabela de backup, at serem descartados (por exemplo, para manter os dados por 24 meses na tabela principal, e mais seis meses na tabela de backup, o valor da propriedade deve ser de 30 meses). Esta propriedade trabalha em conjunto com a propriedade BackupDiscardTimeUnit. O valor padro desta propriedade 12 (doze unidades de tempo indicadas em BackupDiscardTimeUnit). NOTA: O tempo total indicado pela combinao das propriedades BackupDiscardInterval e BackupDiscardTimeUnit deve ser maior que o tempo indicado pelas propriedades DiscardInterval e DiscardIntervalTimeUnit. BackupDiscardTimeUnit: A propriedade BackupDiscardTimeUnit indica a unidade de tempo em que os dados de backup ficaro armazenados at serem descartados. As opes disponveis so: 0-dtHour = horas; 1-dtDay = dias; 2-dtNonth = meses (padro); 3-dtNinute = minutos. Esta propriedade trabalha em conjunto com a propriedade BackupDiscardInterval. DataSource: Define o objeto Banco de Dados que ser utilizado para gravao dos dados dos alarmes. O valor padro desta propriedade vazio, ou seja, no h nenhum Banco de Dados para armazenar os dados. DiscardInterval: Esta propriedade trabalha em conjunto com a propriedade DiscardTimeUnit. A propriedade DiscardInterval indica o intervalo de tempo durante o qual os dados do Histrico ficaro armazenados na tabela do banco de dados, at serem descartados. O valor padro desta propriedade 1 (uma unidade de tempo indicada em DiscardTimeUnit). Se esta propriedade for configurada com um valor menor ou igual ao valor da propriedade BackupDiscardInterval, o E3 automaticamente ajusta o valor de BackupDiscardInterval como o dobro do valor de DiscardInterval. Esta propriedade pode ser modificada em tempo de execuo. E3 - Scripts - Manual de Referncia 320 Propriedades DiscardTimeUnit: Esta propriedade trabalha em conjunto com a propriedade DiscardInterval. A propriedade DiscardTimeUnit indica a unidade de tempo em que os dados da tabela ficaro armazenados at serem descartados. As opes disponveis so: 0-dtHour: horas; 1-dtDay: dias; 2-dtNonth: meses (padro); 3- dtNinute: minutos. EnableBackupTable: Cria uma tabela de backup onde os dados descartados permanecero por segurana. Se configurada para True, a tabela ser criada; do contrrio, no haver tabela de backup. O valor padro desta propriedade True. EnableDiscard: Indica descarte dos dados dos alarmes aps um certo tempo. Se configurada para False, os dados sero armazenados indefinidamente na tabela; do contrrio, sero descartados aps determinado tempo. O valor padro dessa propriedade False. Logging: Cria o registro das informaes dos alarmes no banco de dados especificado pela propriedade DataSource. Se configurado para False, o registro no criado; do contrrio, o registro feito. O valor padro desta propriedade False. TableName: Define um nome para a tabela de alarmes. O valor padro Alarms. Pode ser modificada em tempo de execuo; seu efeito ser imediato. VerificationInternal: Esta propriedade trabalha em conjunto com a propriedade VerificationUnit para controlar o intervalo de tempo que o E3 verifica a antiguidade dos dados, para depois descart-los. O valor padro desta propriedade 1 (uma unidade de tempo indicada em VerificationUnit). VerificationUnit: Esta propriedade trabalha em conjunto com a propriedade VerificationInternal. A propriedade VerificationUnit indica a unidade de tempo em que ser feita a verificao para descarte dos dados. As opes disponveis so: 0-dtHour: horas; 1-dtDay: dias; 2-dtNonth: meses (padro); e 3-dtNinute: minutos. 6.16. Propriedades do E3Alarm NOTA: O E3 utiliza para definio de coordenadas e espessura o sistema HIMETRIC. Neste sistema, cada unidade lgica equivale a um milsimo de centmetro; ou seja, cada 1000 unidades equivalem a 1 centmetro. Assim, este o padro adotado na descrio das propriedades do E3, quando aplicvel. AllowAckAll: Habilita a opo presente no menu pop-up do E3Alarm, que permite o reconhecimento de todos os alarmes. O valor default desta propriedade True. E3 - Scripts - Manual de Referncia Propriedades 321 AllowAckCurrentFilter: Habilita a opo presente no menu pop-up do E3Alarm, que permite o reconhecimento de todos os alarmes do filtro atual. Se no houverem alarmes visveis, a propriedade no tem efeito. O valor default desta propriedade True. AllowAckSelected: Habilita a opo presente no menu pop-up do E3Alarm, que permite o reconhecimento de alarmes selecionados. Se no houverem alarmes selecionados, a propriedade no tem efeito. O valor default desta propriedade True. AllowColumnClick: Habilita/desabilita a seleo dos campos e a direo de ordenao destes atravs do clique no cabealho das colunas do E3Alarm em tempo de execuo. Se esta opo estiver configurada para True e o cabealho for visvel (ver propriedade ColumnHeader), ao clicar o ttulo da coluna, os dados sero ordenados tendo esta coluna como chave. Clicando novamente esta mesma coluna, a ordenao ser feita na direo contrria (muda-se a ordem ascendente para descendente e vice-versa). Ao clicar a coluna com a tecla [Shift| pressionada, o campo usado como segunda chave. Como na chave primria, um segundo clique com [Shift| inverte a ordenao do campo secundrio. AlarmServer: Nome do servidor de alarmes nico existente na aplicao. ColumnHeader: Quando configurada como True, esta propriedade habilita a visualizao do cabealho do E3Alarm. O cabealho tambm permite que seja feita a reordenao dos dados da tabela visualmente (ver propriedade AllowColumnClick). O valor padro desta propriedade True. Domain: Especifica o domnio ao qual o E3Alarm ir se conectar. O padro desta propriedade vazio, ou seja, o E3Alarm se conecta ao mesmo domnio do Viewer onde ele se encontra. Por exemplo: \\NomeDeOutroServidor. Enabled: Habilita o objeto activeX no projeto. O valor padro desta propriedade True. Font: Determina a fonte (tipo de letra) do cabealho e linhas do E3Alarm. Esta propriedade somente de leitura e s pode ser modificada via Studio, no em execuo. Filter: Controla as reas de alarmes visveis no E3Alarm. Se seu valor no for vazio, sero apresentados eventos cujo nome das reas comecem com o texto indicado. Por exemplo: se Filter Ana, sero mostrados os alarmes de reas como Analogicos.Producao ou Analise, mas no Digitais.Analise ou Digitais.Producao. Quando a propriedade SimpleAreaFilter for False, a rea de alarme tambm permitir o uso de coringas para a filtragem (* ou ?). E3 - Scripts - Manual de Referncia 322 Propriedades Os coringas permitidos so: "*": aceita nenhum ou qualquer quantidade de caracteres "?": aceita um caractere qualquer "#": aceita um dgito qualquer "[ ]": permite especificar um conjunto de caracteres. Ex: "[ab]": aceita um caractere se for "a" ou "b" "[f-h]": aceita um caractere entre "f" e "h" "[!cz]": aceita um caractere que no seja "c" ou "z" "[!m-p]": aceita um caractere que no seja de "m" a "p" O padro dessa propriedade vazio, ou seja, sem filtragem por rea (ver tambm propriedades SimpleAreaFilter, ShowHighPriority, ShowMediumPriority e ShowLowPriority). Exemplo: Sub ComboBox1_Change() ' O valor da ComboBox indica o filtro de area do E3Alarm Screen.Item("E3Alarm1").Filter = Value End Sub FilterType: Efetua os filtros de alarme. As opes disponveis so: 1- OnlyAlarms: mostra apenas alarmes; 2-Only Events: mostra apenas eventos; e 3- AlarmsAndEvents, mostra tanto alarmes quanto eventos. Frame: Retorna o quadro-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. GridBkColor: Esta propriedade determina a cor de fundo do E3Alarm. O valor padro desta propriedade a cor configurada no Windows para o item Janela (Painel de ControleVdeoAparnciaAvanadaItem: Janela). HasFocus: Esta propriedade determina que o objeto selecionado est com o foco. Esta propriedade acessvel apenas em tempo de execuo. Height: A propriedade Height define a altura do E3Alarm, em unidade Himetric. Layer: Esta propriedade define em quais camadas o objeto deve aparecer. O valor representa uma mscara de 32 bits, um bit para cada camada. Portanto, podem ser definidas at 32 camadas individuais. Assim, objetos podem ser agrupados logicamente e mostrados/escondidos apenas com a modificao da mscara da propriedade Layer. E3 - Scripts - Manual de Referncia Propriedades 323 MouseOver: A propriedade MouseOver informa se o ponteiro do mouse encontra-se em cima da Tela. Caso afirmativo, a propriedade MouseOver habilitada; do contrrio, ser False. Esta propriedade somente de leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. MouseOverChild: A propriedade MouseOverChild informa se o ponteiro do mouse encontra-se em cima de um dos objetos inseridos na Tela. Caso afirmativo, a propriedade MouseOverChild habilitada. Caso contrrio, para False. Esta propriedade para somente leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. PopupMenu: Habilita um menu pop-up acessado ao clicar com o boto secundrio sobre o E3Alarm. O valor padro desta propriedade True. PrimarySortAscending: Quando esta propriedade estiver configurada para False, a ordenao de eventos pelo campo primrio ser no sentido descendente. Caso contrrio, o sentido ser ascendente. O valor padro desta propriedade False. PrimarySortField: Determina o campo primrio para a ordenao dos eventos no E3Alarm. O nome do campo deve ser sempre especificado em ingls (ver tabela de campos dos alarmes no apndice deste manual). O valor padro dessa propriedade EventTime. Quando esta opo est vazia, a propriedade SecundarySortField no tem efeito. SecondarySortAscending: Quando esta propriedade estiver configurada para True, a ordenao de eventos pelo campo secundrio ser no sentido ascendente. Caso contrrio, o sentido ser descendente. O valor padro desta propriedade False. SecondarySortField: Determina o campo secundrio para a ordenao dos eventos no E3Alarm. O nome do campo deve ser sempre especificado em ingls (ver tabela de campos dos alarmes no apndice deste manual). O valor padro dessa propriedade vazio. Essa propriedade no tem efeito quando PrimarySortField estiver vazia. ShowHighPriority: Filtra quais alarmes sero mostrados ou no, de acordo com a sua severidade. Quando estiver em True, sero mostrados os alarmes de severidade alta; do contrrio, estes alarmes no sero mostrados. O valor padro desta propriedade True. ShowLowPriority: Filtra quais alarmes sero mostrados ou no, de acordo com a sua severidade. Quando estiver em True, sero mostrados os alarmes de severidade baixa; do contrrio, estes alarmes no sero mostrados. O valor padro desta propriedade True. E3 - Scripts - Manual de Referncia 324 Propriedades ShowMediumPriority: Filtra quais alarmes sero mostrados ou no, de acordo com a sua severidade. Quando estiver em True, sero mostrados os alarmes de severidade mdia; do contrrio, estes alarmes no sero mostrados. O valor padro desta propriedade True. SimpleAreaFilter: Quanto esta propriedade for True, o comportamento de filtragem pelo nome de rea de alarmes baseado apenas na coincidncia da parte inicial do nome. Quando for False, o comportamento leva em conta o nome todo da rea, mas permite o uso de caracteres-coringa. Ver tambm a propriedade Filter, que especifica o filtro por nome de rea. TabStop: Esta propriedade determina a utilizao da tecla [TAB| no sistema. Se o campo estiver True, possvel utilizar a tecla; caso contrrio, a tecla no pode ser utilizada. Tip: A propriedade Tip mostra uma texto popup quando o mouse estiver por um breve momento sobre o objeto em execuo. Visible: Esta propriedade define se o objeto deve ou no estar visvel. Se a propriedade estiver configurada para True, o objeto fica visvel, desde que os seguintes itens sejam tambm obedecidos, obrigatoriamente: o objeto-pai deste objeto tambm deve estar visvel, e a propriedade Layer do objeto deve estar presente na camada de Tela. Do contrrio, o objeto fica invisvel. Width: A propriedade Width define a largura, em unidade Himetric, do objeto. X: A propriedade X define a coordenada horizontal esquerda, em unidade Himetric, do objeto. Y: Esta propriedade define a coordenada vertical acima, em unidade Himetric, do objeto. 6.17. Propriedades do Histrico BackupDiscardInterval: Indica a quantidade de unidades de tempo durante o qual os dados de backup sero mantidos na tabela principal e na tabela de backup, at serem descartados (por exemplo, para manter os dados por 24 meses na tabela principal, e mais seis meses na tabela de backup, o valor da propriedade deve ser de 30 meses). Esta propriedade trabalha em conjunto com a propriedade BackupDiscardTimeUnit. O valor padro desta propriedade 12 (doze unidades de tempo indicadas em BackupDiscardTimeUnit). E3 - Scripts - Manual de Referncia Propriedades 325 NOTA: O tempo total indicado pela combinao das propriedades BackupDiscardInterval e BackupDiscardTimeUnit deve ser maior que o tempo indicado pelas propriedades DiscardInterval e DiscardIntervalTimeUnit. BackupDiscardTimeUnit: A propriedade BackupDiscardTimeUnit indica a unidade de tempo em que os dados de backup ficaro armazenados at serem descartados. As opes disponveis so: 0-dtHour = horas; 1-dtDay = dias; 2-dtNonth = meses (padro); 3-dtNinute = minutos. Esta propriedade trabalha em conjunto com a propriedade BackupDiscardInterval. CacheSize: Define o nmero de registros que devem ser lidos pelo histrico antes de serem enviados para o banco de dados. Por exemplo, se um histrico tem CacheSize = 4, ele vai esperar obter 4 registros para ento envi-los para o DBServer associado. Os valores vlidos para esta propriedade devem estar no intervalo de 1 e 4. O valor padro desta propriedade 1. CompressedTable: Habilita o uso de banda morta para a gravao de dados. O valor padro desta propriedade False. DBServer: Indica o objeto Banco de Dados utilizado no histrico para criao de tabelas e registros de dados. O valor padro desta propriedade vazio. DeadBand: Esta propriedade trabalha em conjunto com a propriedade CompressedTable. Indica o valor calculado sobre o ltimo valor gravado (em percentagem) que define se este novo valor ser gravado. Se o valor gravado no for numrico, sua modificao faz com que todos os valores sejam gravados. DiscardInterval: Esta propriedade trabalha em conjunto com a propriedade DiscardTimeUnit. A propriedade DiscardInterval indica o intervalo de tempo durante o qual os dados do Histrico ficaro armazenados na tabela do banco de dados, at serem descartados. O valor padro desta propriedade 1 (uma unidade de tempo indicada em DiscardTimeUnit). Se esta propriedade for configurada com um valor menor ou igual ao valor da propriedade BackupDiscardInterval, o E3 automaticamente ajusta o valor de BackupDiscardInterval como o dobro do valor de DiscardInterval. Esta propriedade pode ser modificada em tempo de execuo. DiscardTimeUnit: Esta propriedade trabalha em conjunto com a propriedade DiscardInterval. A propriedade DiscardTimeUnit indica a unidade de tempo em que os dados da tabela ficaro armazenados at serem descartados. As opes disponveis so: 0-dtHour: horas; 1-dtDay: dias; 2-dtNonth: meses (padro); 3- dtNinute: minutos. E3 - Scripts - Manual de Referncia 326 Propriedades EnableBackupTable: Cria uma tabela de backup onde os dados descartados permanecero por segurana. Se configurada para True, a tabela ser criada; do contrrio, no haver tabela de backup. O valor padro desta propriedade False. EnableDiscard: Indica descarte dos dados do Histrico aps um certo tempo. Se configurada para False, os dados sero armazenados indefinidamente na tabela; do contrrio, sero descartados aps determinado tempo. O valor padro dessa propriedade False. EnableQualityLogs: Quando em True, ao iniciar o Histrico o E3 gera um registro igual ao primeiro registro coletado mas com qualidade ruim (0) e timestamp de um segundo antes. ScanTime: Define a variao de intervalo do tempo, em milissegundos, que o Histrico ir esperar para fazer a aquisio e gravao de um novo registro na tabela. Utilize esta propriedade se voc desejar maior ou menor quantidade de dados gerados por segundo. O valor padro desta propriedade 1000. TableName: Define o nome da tabela que ser utilizada no Histrico. UserTable: Quando esta propriedade est configurada para True, identifica que o Histrico do usurio, ou seja, os dados da tabela foram importados do banco. Caso contrrio, um histrico normal do E3. Esta propriedade apenas de leitura. UseTagQuality: Se for True, o Histrico vai usar o valor de qualidade da fonte do tag; caso contrrio, ser utilizado o mtodo antigo de avaliao (0 = valor duvidoso; 1 = valor bom). VerificationInternal: Esta propriedade trabalha em conjunto com a propriedade VerificationUnit para controlar o intervalo de tempo que o E3 verifica a antiguidade dos dados, para depois descart-los. O valor padro desta propriedade 1 (uma unidade de tempo indicada em VerificationUnit). VerificationUnit: Esta propriedade trabalha em conjunto com a propriedade VerificationInternal. A propriedade VerificationUnit indica a unidade de tempo em que ser feita a verificao para descarte dos dados. As opes disponveis so: 0-dtHour: horas; 1-dtDay: dias; 2-dtNonth: meses (padro); e 3-dtNinute: minutos. E3 - Scripts - Manual de Referncia Propriedades 327 6.18. Propriedades do 8torage BackupDiscardInterval: Indica a quantidade de unidades de tempo durante o qual os dados de backup sero mantidos na tabela principal e na tabela de backup, at serem descartados (por exemplo, para manter os dados por 24 meses na tabela principal, e mais seis meses na tabela de backup, o valor da propriedade deve ser de 30 meses). Esta propriedade trabalha em conjunto com a propriedade BackupDiscardTimeUnit. O valor padro desta propriedade 12 (doze unidades de tempo indicadas em BackupDiscardTimeUnit). NOTA: O tempo total indicado pela combinao das propriedades BackupDiscardInterval e BackupDiscardTimeUnit deve ser maior que o tempo indicado pelas propriedades DiscardInterval e DiscardIntervalTimeUnit. BackupDiscardTimeUnit: A propriedade BackupDiscardTimeUnit indica a unidade de tempo em que os dados de backup ficaro armazenados at serem descartados. As opes disponveis so: 0-dtHour = horas; 1-dtDay = dias; 2-dtNonth = meses (padro); 3-dtNinute = minutos. Esta propriedade trabalha em conjunto com a propriedade BackupDiscardInterval. CacheSize: Define o nmero de registros que devem ser lidos antes de serem enviados para o banco de dados. Por exemplo, se CacheSize = 4, sero obtidos quatro registros para ento envi-los para o DBServer associado. O valor padro desta propriedade 10. CompressedTable: Habilita o uso de banda morta para a gravao de dados. O valor padro desta propriedade False. CompressionRate: Mostra a taxa de compresso de dados obtida at o momento. DBServer: Indica o objeto Banco de Dados utilizado no Storage para criao de tabelas e registros de dados. O valor padro desta propriedade vazio. DeadBand: Esta propriedade trabalha em conjunto com a propriedade CompressedTable. Indica o valor calculado sobre o ltimo valor gravado (em percentagem) que define se este novo valor ser gravado. Se o valor gravado no for numrico, sua modificao faz com que todos os valores sejam gravados. E3 - Scripts - Manual de Referncia 328 Propriedades DiscardInterval: Esta propriedade trabalha em conjunto com a propriedade DiscardTimeUnit. A propriedade DiscardInterval indica o intervalo de tempo durante o qual os dados do Histrico ficaro armazenados na tabela do banco de dados, at serem descartados. O valor padro desta propriedade 1 (uma unidade de tempo indicada em DiscardTimeUnit). Se esta propriedade for configurada com um valor menor ou igual ao valor da propriedade BackupDiscardInterval, o E3 automaticamente ajusta o valor de BackupDiscardInterval como o dobro do valor de DiscardInterval. Esta propriedade pode ser modificada em tempo de execuo. DiscardTimeUnit: Esta propriedade trabalha em conjunto com a propriedade DiscardInterval. A propriedade DiscardTimeUnit indica a unidade de tempo em que os dados ficaro armazenados at serem descartados. As opes disponveis so: 0-dtHour: horas; 1-dtDay: dias; 2-dtNonth: meses (padro); 3-dtNinute: minutos. EnableBackupTable: Cria uma tabela de backup onde os dados descartados permanecero por segurana. Se configurada para True, a tabela ser criada; do contrrio, no haver tabela de backup. O valor padro desta propriedade False. EnableDiscard: Habilita o descarte dos dados aps um certo tempo. Se configurada para False, os dados sero armazenados indefinidamente na tabela; do contrrio, sero descartados aps determinado tempo. O valor padro dessa propriedade False. Fields: Coleo que aponta para os campos criados no Storage. Para cada campo possvel visualizar as propriedades Name e Link, e modificar as propriedades Type, MinRecTime, MaxRecTime, DeadBand e DeadBandUnit. StringFieldSize: Esta propriedade especifica o tamanho mximo que os campos do tipo string do objeto Storage podero ter (ser o tamanho utilizado na criao do campo Value da tabela de strings) TableName: Define o nome da tabela que ser utilizada no Storage. VerificationInternal: Esta propriedade trabalha em conjunto com a propriedade VerificationUnit para controlar o intervalo de tempo que o E3 verifica a antiguidade dos dados, para depois descart-los. O valor padro desta propriedade 1 (uma unidade de tempo indicada em VerificationUnit). VerificationUnit: Esta propriedade trabalha em conjunto com a propriedade VerificationInternal. A propriedade VerificationUnit indica a unidade de tempo em que ser feita a verificao para descarte dos dados. As opes disponveis so: 0-dtHour: horas; 1-dtDay: dias; 2-dtNonth: meses (padro); e 3-dtNinute: minutos. E3 - Scripts - Manual de Referncia Propriedades 329 6.18.1. Propriedades do Campo DeadBand: Banda morta para clculo do algoritmo. DeadBandUnit: Valor absoluto ou a porcentagem de modificao. Link: Determina a fonte de dados que ser associada ao campo. Propriedade apenas de leitura. MaxRecTime: Tempo mximo de espera por um dado. Se este tempo for ultrapassado, o dado torna-se antigo e armazenado. MinRecTime: Tempo mnimo para insero de um dado na tabela. Este tempo calculado em milissegundos. Name: Propriedade que retorna o nome configurado para este campo no objeto Storage. Atravs dele, possvel buscar itens na coleo. Type: Retorna o tipo do objeto no formato do Storage (0 - Double, 1 - Bit, 2 - String). Esta propriedade de leitura e escrita, mas s aceita mudanas enquanto a coleta de dados para este campo ainda no comeou. 6.19. Propriedades da Consulta {E3Ouery} NOTA: No recomendvel o acesso direto destas propriedades via scripts. O ideal acessar o objeto Consulta, passando parmetros atravs do mtodo SetVariableValue() e modificando filtros ou campos atravs da coleo retornada com o mtodo GetE3QueryFields(). CursorLocation: Define o local onde a consulta ser gerada e manipulada, sob o ponto de vista do SGBD (Sistema Gerenciador do Banco de Dados). As opes disponveis so: 0-clServer: a consulta ser gerada no SGBD (servidor); e 1- clClient: a consulta ser gerada no E3 Server (cliente). O valor padro desta propriedade 0-clServer. Ver tambm a propriedade CursorType. NOTA: A utilizao da opo 1-clClient requer um certo cuidado, pois neste modo a consulta ser gerada em memria no E3 Server e pode comprometer a performance do sistema dependendo do tamanho da consulta. CursorType: Define o tipo de consulta de acordo com a visualizao dos dados. O valor padro desta propriedade 0-ctKeyset. Todas as opes disponveis esto na tabela abaixo. E3 - Scripts - Manual de Referncia 330 Propriedades Opes disponveis para CursorType OPO DESCRIO 0- ctKeyset Qualquer mudana nos registros inicialmente retornados pela consulta ser visvel. (Padro) 1- ctStatic Nenhuma mudana nos registros inicialmente retornados pela consulta ser visvel. 2- ctDynamic Todos os novos registros adicionados na consulta sero visveis, alm das mudanas nos registros inicialmente retornados pela consulta. DataSource: Indica o objeto Banco de Dados ou o objeto Storage que ser usado na consulta. Esta propriedade somente de leitura, mas pode ser modificada em tempo de execuo. Fields: Texto com os campos a serem visualizados na consulta, separados por vrgula. Corresponde ao argumento da clusula SELECT do cdigo SQL da consulta. Em branco (vazio), determina que a consulta deve mostrar todos os campos da tabela. Esta propriedade somente de leitura, mas pode ser modificada em tempo de execuo. Frame: Retorna o quadro-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. FunctionType: Esta propriedade vlida quando um objeto Storage fonte da Consulta (isto indicado pela propriedade DataSource). Ela especifica a funo que ir definir os dados gerados pela Consulta. Algumas funes possuem subfunes, que podem ser indicadas na propriedade FunctionSubType. A propriedade FunctionType pode assumir os seguintes valores: E3 - Scripts - Manual de Referncia Propriedades 331 Opes disponveis para FunctionType OPO DESCRIO -1-ftNoFunction No h nenhuma funo definida. 0-ftLastvalue Retorna o ltimo valor armazenado na Base de Dados. 1-ftArchivedvalue Retorna um valor armazenado em relao a um determinado instante de tempo definido na varivel TimeStamp. O tipo de relao definido em FunctionSubType. 2-ftTagAttribute Devolve um atributo do Tag, definido em FunctionSubType. 3-ftCompressedDataNvalues Retorna, para um nico Tag, N valores definidos na varivel NumVals, armazenados a partir de um instante inicial, definido na varivel StartTime. +-ftCompressedDataStartEndTime Retorna, para um nico Tag, os valores armazenados que esto entre o intervalo definido pelas variveis StartTime e EndTime. 5-ftSampledData Retorna, para um ou mais Tags, os valores interpolados (ou seja, estimados) entre os instantes definidos pelas variveis StartTime e EndTime, a intervalos fixos definidos pela varivel TimeInterval. 6-ftCalculatedData Retorna, para um ou mais Tags, o resultado de operaes matemticas aplicadas aos dados entre os instantes definidos pelas variveis StartTime e EndTime, a intervalos fixos definidos pela varivel TimeInterval.
NOTA: As variveis tambm podem ser definidas em execuo a partir da chamada do mtodo SetVariableValue() da Consulta. FunctionSubType: Especifica o subtipo da funo indicada por FunctionType. Apenas as opes 1 - ftArchivedvalue, 2 - ftTagAttribute e 6 - ftCalculatedData possuem subtipos. Para as outras funes, FunctionSubType assume o valor -1 - fsNoSubType. A tabela a seguir mostra os possveis valores da propriedade, de acordo com a funo escolhida na propriedade FunctionType: E3 - Scripts - Manual de Referncia 332 Propriedades Subtipos para funo ArchivedValue (FunctionType = 1) SUBTIPO DESCRIO 0-fsPreviousArchivedvalue Valor armazenado imediatamente anterior ao TimeStamp fornecido. 1-fs!nterpolatedArchivedvalue Valor calculado a partir do valor anterior e posterior. 2-fsNextArchivedvalue Valor armazenado imediatamente posterior ao TimeStamp. 3-fsExactArchivedvalue Se for encontrado um valor armazenado no exato instante que foi fornecido pelo TimeStamp. Subtipos para funo TagAttribute (FunctionType = 2) SUBTIPO DESCRIO 0-fsTagAttributeDescription Significado/descrio do tag. 1-fsTagAttributeSource Caminho do Tag que est sendo armazenado 2-fsTagAttributeType Tipo de dado: double, boolean, string. 3-fsTagAttributeEU Unidades de engenharia +-fsTagAttributeLowEng Limite inferior. 5-fsTagAttributeHighEng Limite superior. 6-fsTagAttributeDeadBand Banda Morta para gravao. 7-fsTagAttributeDeadBandUnit Unidade da Banda Morta (valor absoluto ou porcentagem). 8-fsTagAttributeNinRecTime Tempo mnimo para gravao (variaes menores que esse intervalo so desprezadas). 9-fsTagAttributeNaxRecTime Tempo mximo para gravao (a ausncia de variao nesses intervalos fora uma gravao). Subtipos para funo CalculatedData (FunctionType = 6) SUBTIPO DESCRIO 0-fsTotalCalculatedData Total dos valores. 1-fsNinimumCalculatedData Valor mnimo. 2-fsNaximumCalculatedData Valor mximo. 3-fsStandardCalculatedData Desvio padro. +-fsRangeCalculatedData Amplitude dos valores. 5-fsNeanCalculatedData Mdia dos valores. 6-fsNedianCalculatedData Mediana dos valores. GroupBy: Texto correspondente ao argumento da clusula GROUPBY do cdigo SQL da consulta. Esta propriedade somente de leitura, mas pode ser modificada em tempo de execuo. HasFocus: Esta propriedade determina que o objeto selecionado est com o foco. Esta propriedade acessvel apenas em tempo de execuo. E3 - Scripts - Manual de Referncia Propriedades 333 Having: Texto correspondente ao argumento da clusula HAVING do cdigo SQL da consulta. Esta propriedade normalmente utilizada com a propriedade Groupby. Esta propriedade somente de leitura, mas pode ser modificada em tempo de execuo. MouseOver: A propriedade MouseOver informa se o ponteiro do mouse encontra-se em cima da Tela. Caso afirmativo, a propriedade MouseOver habilitada; do contrrio, ser False. Esta propriedade somente de leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. MouseOverChild: A propriedade MouseOverChild informa se o ponteiro do mouse encontra-se em cima de um dos objetos inseridos na Tela. Caso afirmativo, a propriedade MouseOverChild habilitada. Caso contrrio, para False. Esta propriedade para somente leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. OrderBy: Texto correspondente ao argumento da clusula ORDERBY do cdigo SQL da consulta. Esta propriedade somente de leitura, mas pode ser modificada em tempo de execuo. Screen: Retorna a Tela-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. SQL: Encerra o cdigo SQL especificado para a consulta. Esta propriedade somente para leitura, mas pode ser modificada em tempo de execuo. Table: A propriedade Table contm as tabelas que sero consultadas (por exemplo, Alarms a tabela de alarmes/eventos). Corresponde ao argumento da clusula FROM do cdigo SQL da consulta. Esta propriedade somente de leitura, mas pode ser modificada em tempo de execuo. Where: Determina a condio da consulta que filtra os registros da tabela a serem visualizados, ou seja, s sero visualizados os registros que satisfizerem a condio. Corresponde ao argumento WHERE do cdigo SQL da consulta. Esta propriedade somente de leitura, mas pode ser modificada em tempo de execuo. E3 - Scripts - Manual de Referncia 334 Propriedades 6.20. Propriedades do E3Browser AllowColumnResize: Habilita/desabilita a configurao do tamanho das colunas da grade do objeto, em tempo de execuo. Se esta propriedade estiver configurada para False, o tamanho das colunas fixo e no poder ser modificado. AllowRowResize: Habilita/desabilita a configurao do tamanho das linhas da grade do objeto, em tempo de execuo. Se esta propriedade estiver configurada para False, o tamanho das linhas fixo e no poder ser modificado. ColumnWidth: Determina a largura das colunas do E3Browser, em pixels. CurSel: Indica a posio atual do cursor do E3Browser, ou seja, o ndice da linha em que ele est posicionado. E3Query: Retorna o objeto Consulta do E3Browser, para que se possa acessar suas propriedades. Enabled: Habilita/desabilita o E3Browser. Se configurado como True, pode-se usar o scroll e selecionar linhas do E3Browser. Do contrrio, nenhum click no E3Browser ter efeito. Fields: Retorna o objeto coleo que contm a lista com todos os campos da tabela, tornando possvel a sua referncia atravs dos itens dessa coleo. O valor padro desta propriedade vazio. Exemplo: Sub E3Browser1_Click() ' Troca a cor do campo Campo1 Set fields = Screen.Item("E3Browser").Fields Set campo1 = fields.Item("Campo1") campo1.BkColor = RGB(255, 0, 0) ' Vermelho ' Mostra quantos campos tem o E3Browser MsgBox fields.Count ' Mostra o nome dos campos do E3Browser For Each Fields In fields MsgBox fields.Name Next End Sub E3 - Scripts - Manual de Referncia Propriedades 335 Opes disponveis para Fields OPO DESCRIO Name Retorna o nome do campo. Criteria Retorna o critrio que muda a consulta atual do campo. Sort Retorna a classificao do campo: ASC (ascendente) ou DESC (descendente). visible Retorna o estado de visibilidade do campo. Format Retorna o formato do valor do campo. Width Retorna a largura do campo. Color Retorna a cor do texto do campo. BkColor Retorna a cor de fundo do campo.
FixedBkColor: Especifica a cor do fundo da primeira coluna do E3Browser. O valor padro desta propriedade a cor bege (RGB (236, 233, 216)). FixedColumnWidth: Determina a largura da primeira coluna do E3Browser, em pixels. O valor padro desta opo 30 pixels. FixedRowFont: Determina a fonte (texto) utilizada na linha de cabealho do E3Browser. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada somente via Studio. O valor padro desta propriedade a fonte Arial. FixedRowHeight: Determina a altura (em pixels) da linha de cabealho do E3Browser. O valor padro desta propriedade 20. FixedTextColor: Muda a cor do cabealho do E3Browser. Frame: Retorna o quadro-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. GridBkColor: Determina a cor de fundo da rea de dados do E3Browser. O valor padro desta propriedade a cor branca (RGB (255, 255, 255)). GridFont: Determina a fonte utilizada nos textos da rea de dados do E3Browser. O valor padro desta propriedade a fonte Arial. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada somente via Studio. GridLineColor: Determina a cor das linhas da grade de dados do E3Browser. O valor padro desta propriedade cinza (RGB (192, 192, 192)). E3 - Scripts - Manual de Referncia 336 Propriedades GridLinesType: Determina o tipo de linhas a serem desenhadas na grade de dados do E3Browser. Opes disponveis para GridLinesType OPO DESCRIO 0 - GLNone Sem linhas separadoras. 1 - GLHorz Somente as linhas horizontais (padro). 2 - GLvert Somente as linhas verticais. 3 - GLBoth Linhas verticais e horizontais
HasFocus: Em True, indica que o E3 Browser est com o foco do teclado. Height: Essa propriedade determina a altura do objeto, em unidade Himetric. Layer: Indica o nmero da camada onde o E3Browser est posicionado. MouseOver: A propriedade MouseOver informa se o ponteiro do mouse encontra-se em cima da Tela. Caso afirmativo, a propriedade MouseOver habilitada; do contrrio, ser False. Esta propriedade somente de leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. MouseOverChild: A propriedade MouseOverChild informa se o ponteiro do mouse encontra-se em cima de um dos objetos inseridos na Tela. Caso afirmativo, a propriedade MouseOverChild habilitada. Caso contrrio, para False. Esta propriedade para somente leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. RefreshTime: Especifica o tempo de atualizao da consulta em relao ao banco de dados. Atravs desta propriedade, possvel verificar as atualizaes dos dados no histrico relacionado referente a um determinado tempo estipulado (em milissegundos). Quando a propriedade RefreshTime for igual a 0, no h atualizao dos dados, e eles permanecem inalterados. RowHeight: Define a altura das linhas da E3Browser, em pixels. O valor padro desta propriedade 20. Screen: Contm uma referncia para o objeto Tela onde o E3 Browser est includo. SelectRow: Estabelece a possibilidade de seleo das linhas do E3 Browser. Se estiver configurada para True, ser possvel selecionar as linhas; do contrrio, as linhas no podem ser selecionadas. E3 - Scripts - Manual de Referncia Propriedades 337 SourceQuery: Contm a referncia para o objeto E3Query ao qual o E3Browser est associado. NOTA: Para trocar a consulta do E3Browser por script (caso a nova consulta modifique os campos da consulta original), alm de alterar a propriedade SourceQuery, preciso utilizar os mtodos RetrieveE3QueryFields() e Requery(). TabStop: Indica se o objeto E3Browser receber o foco do teclado quando o usurio utiliza a tecla [TAB] para trocar entre os diversos campos em uma Tela. TextBkColor: Especifica a cor de fundo das clulas de dados do E3Browser. O valor padro desta propriedade a cor branca (RGB (255, 255, 255)). TextColor: Especifica a cor do texto do E3Browser. O valor padro desta propriedade a cor preta (RGB (0,0,0)). Tip: Contm um texto de ajuda apresentado como dica quando o usurio coloca o ponteiro do mouse sobre o objeto. TitleTipBkColor: Especifica a cor do fundo do texto da dica do E3Browser. O valor padro desta propriedade a cor preto (RGB (0, 0, 0)). TitleTipTextColor: Especifica a cor do texto da dica do E3Browser. O valor padro desta propriedade a cor cinza (RGB (204, 204, 204)). ToolbarBkColor: Especifica a cor de fundo da barra de funes do E3 Browser. O valor padro desta propriedade bege (RGB (236, 233, 216)). ToolbarFont: Determina a fonte utilizada nos textos da barra de funes do E3 Browser. Esta propriedade no pode ser utilizada em scripts e/ou associaes, sendo configurada somente via Studio. ToolbarForeColor: Especifica a cor de frente da barra de funes do E3 Browser. O valor padro desta propriedade preto (RGB (0, 0, 0)). Visible: Habilita/desabilita a visibilidade do campo selecionado no E3Browser. Se a propriedade estiver configurada para True, o campo ser visvel no E3Browser. Caso contrrio, o campo no mostrado no E3Browser, em tempo de execuo. O valor padro True. Width: Determina a largura do objeto, em unidade Himetric. E3 - Scripts - Manual de Referncia 338 Propriedades X: A propriedade X define a coordenada horizontal esquerda, em unidade Himetric, do objeto. Y: Esta propriedade define a coordenada vertical acima, em unidade Himetric, do objeto. 6.21. Propriedades do E3Chart Axes: Retorna a coleo de eixos do E3Chart. A partir da, as propriedades da coleo de eixos podem ser modificadas. BackColor: Determina a cor de fundo do E3 Chart. Para que esta cor aparea, a propriedade ShowBackground deve estar configurada como True. O valor padro desta propriedade bege (RGB (236, 233, 216)). CursorBegin: Define a posio do cursor inicial, entre 0 e 1. necessrio executar o mtodo ShowCursor() ou habilitar a opo Pesquisa de Intervalos para que os cursores apaream. CursorColor: Estabelece a cor do cursor de pesquisa de intervalo. O valor padro vermelho (RGB(255,0,0)). CursorEnd: Define a posio do cursor final, entre 0 e 1. necessrio executar o mtodo ShowCursor() ou habilitar a opo Pesquisa de Intervalos para que os cursores apaream. CursorLineStyle: Estilo de linha do cursor de pesquisa de intervalo. As opes disponveis so: Opes disponveis para CursorLineStyle OPO DESCRIO 0- LS_Solid Aplica uma linha slida no cursor de intervalo do E3Chart. 1- LS_Dash Aplica uma linha tracejada no cursor de intervalo do E3Chart. 2- LS_Dot Aplica uma linha pontilhada no cursor de intervalo do E3Chart . 3- LS_Dashdot Aplica uma linha trao e ponto no cursor de intervalo do E3Chart. 4- LS_Dashdotdot Aplica uma linha trao ponto ponto no cursor de intervalo do E3Chart. 5- LS_Null Aplica uma linha invisvel no cursor de intervalo do E3Chart.
CursorLineWidth: Estabelece a largura do cursor de intervalo. E3 - Scripts - Manual de Referncia Propriedades 339 Enabled: Habilita o objeto ActiveX no projeto. O valor padro desta propriedade True. ForeColor: Determina a cor de frente do E3 Chart. O valor padro desta propriedade preto (RGB (0, 0, 0)). Frame: Retorna o quadro-pai do objeto. Esta propriedade acessvel apenas em tempo de execuo. GridBkColor: Determina a cor de fundo da grade do E3Chart. O valor padro desta propriedade branco (RGB (255, 255, 255)). Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") Old = E3Chart1.GridBkColor MsgBox "prxima " E3Chart1.GridBkColor = RGB(0,255,0) MsgBox "voltar" E3Chart1.GridBkColor = old End Sub HasFocus: Esta propriedade determina que o objeto selecionado est com o foco. Esta propriedade acessvel apenas em tempo de execuo. Height: A propriedade Height define a altura do E3 Chart, em unidade Himetric. E3 - Scripts - Manual de Referncia 340 Propriedades HorAxisTitle: Determina o ttulo do eixo horizontal principal. Exemplo: Sub CommandButton1_Click() Set E3Chart1= Screen.Item("E3Chart1") Old = E3Chart1.HorAxisTitle MsgBox "prxima" E3Chart1.HorAxisTitle = "!teste" MsgBox "voltar" E3Chart1.HorAxisTitle = old End Sub HorGrid: Determina o tipo de linha que ser aplicada na grade horizontal do E3Chart. Opes disponveis para HorGrid OPO DESCRIO 0- Solid Aplica uma linha slida na grade horizontal do E3Chart. 1- Dash Aplica uma linha tracejada na grade horizontal do E3Chart. 2- Dot Aplica uma linha pontilhada na grade horizontal do E3Chart (padro). 3- Dashdot Aplica uma linha trao e ponto na grade horizontal do E3Chart. 4- Dashdotdot Aplica uma linha trao ponto ponto na grade horizontal do E3Chart. 5- Invisible Aplica uma linha invisvel na grade horizontal do E3Chart.
Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") Old = E3Chart1.HorGrid For i= 0 to 5 E3Chart1.HorGrid = i MsgBox "E3Chart1.HorGrid =" & cstr(i) Next MsgBox "voltar" E3Chart1.HorGrid = old End Sub E3 - Scripts - Manual de Referncia Propriedades 341 HorGridColor: Determina a cor da grade horizontal do objeto E3Chart. O valor padro desta propriedade cinza (RGB (192, 192, 192). Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") Old = E3Chart1.HorGridColor = RGB(255,0,0) MsgBox "prxima" E3Chart1.HorGridColor = RGB(255,0,0) MsgBox "prxima" E3Chart1.HorGridColor = RGB(0,0,255) MsgBox "voltar" E3Chart1.HorGridColor = old End Sub HorMinorTicks: Determina o nmero de subdivises das escalas horizontais da grade. O valor padro desta propriedade 1. Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") Old = E3Chart1.HorMinorTicks For i = 0 to 5 E3Chart1.HorMinorTicks = i MsgBox "Prximo valor" Next E3Chart1.HorMinorTicks = old End Sub HorScaleBegin: Determina o valor inicial aplicado na escala horizontal principal da grade. Este valor pode ser numrico para E3Charts xy, ou Data para E3Charts com escala de tempo fixa. Para E3Charts de tempo real, esta propriedade no aplicada e ento utilizada a propriedade TimeSpan. E3 - Scripts - Manual de Referncia 342 Propriedades HorScaleEnd: Determina o valor final aplicado na escala horizontal principal da grade. Este valor pode ser numrico para E3Charts XY, ou Data para E3Charts com escala de tempo fixa. Para E3Charts de tempo real, esta propriedade no aplicada e ento utilizada a propriedade TimeSpan. Exemplo: Sub ComboBox1_Change() 'Define qual consulta deseja mostrar current_query_index = ListIndex Set E3Chart1 = Screen.Item("E3Chart1") i = 0 for each query in E3Chart1.Queries if i = current_query_index Then query.FieldFilter(0) = "" 'traz tudo Set current_query = query Else query.FieldFilter(0) = "<0" 'no trazer nada para 'no ficar lento End If i = i + 1 next 'S mostra as penas que usam a consulta atual for each pen in E3Chart1.Pens pen.Visible = (pen.QueryName = current_query.Name) next 'Atualiza as consultas E3Chart1.Queries.UpdateData() Screen.Item("E3Chart1").HorScaleBegin = Now - 0.001 Screen.Item("E3Chart1").HorScaleEnd = Now End Sub HorScaleFormat: Contm um texto que representa uma mscara dentro da qual os valores da escala horizontal sero mostrados. Esta mscara pode representar vrios tipos de valores: Geral: No possui formatao especfica, adaptando-se automaticamente ao valor especificado. Nmero: Apresenta nmeros com parte inteira e fracionria. O usurio pode optar por at 15 casas decimais, por usar ou no um separador de milhares, e por apresentar nmeros negativos sinalizados (-) ou entre parnteses. Para nmeros muito grandes ou muito pequenos, recomenda-se utilizar o formato Cientfico. E3 - Scripts - Manual de Referncia Propriedades 343 Data: Apresenta valores numricos de data e hora (quando vlido). Para representar apenas hora, use o formato equivalente. Hora: Apresenta valores numricos de hora e data (quando vlido). Para representar apenas hora, use o formato equivalente. Porcentagem: Multiplica o nmero por 100 e adiciona o smbolo percentual (%). Admite at 15 casas decimais. Cientfico: Apresenta o nmero em notao de mantissa e expoente. Ideal para nmeros de magnitude variada. Admite at 15 casas decimais. Especial: Permite formatar nmeros inteiros em bases no-decimais (hexadecimal, octal ou binria, por exemplo). Outro: Permite editar diretamente o cdigo de formatao desejado, ou selecionar um formato criado anteriormente. A mscara destes formatos, como exemplificadas no campo Tipo, ser exibida na Janela de Propriedades (Ex: d/M/yy H:mm, 0E-00, etc.). HorTickUnit: Determina o nmero de subdivises entre as marcas da grade. Quando esta propriedade estiver com valor 0, o espaamento ser automtico. Exemplo: Sub SubCommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") old = E3Chart1.HorTickUnit for i = 0 to 30 step 10 E3Chart1.HorTickUnit = i MsgBox "E3Chart1.HorTickUnit = " & cstr(i) next MsgBox "voltar." E3Chart1.HorTickUnit = old End Sub Layer: Indica o nmero da camada onde o E3Browser est posicionado. Legend: Retorna o objeto legenda do E3Chart. A partir da, as propriedades da legenda podem ser modificadas. MouseOver: A propriedade MouseOver informa se o ponteiro do mouse encontra-se em cima da Tela. Caso afirmativo, a propriedade MouseOver E3 - Scripts - Manual de Referncia 344 Propriedades habilitada; do contrrio, ser False. Esta propriedade somente de leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. MouseOverChild: A propriedade MouseOverChild informa se o ponteiro do mouse encontra-se em cima de um dos objetos inseridos na Tela. Caso afirmativo, a propriedade MouseOverChild habilitada. Caso contrrio, para False. Esta propriedade para somente leitura, e acessvel apenas em tempo de execuo. O valor padro desta propriedade False. Pens: Retorna o objeto Coleo de Penas do E3Chart. O objeto Coleo de Penas utilizado para inserir ou remover e acessar as penas disponveis no E3Chart. Esta propriedade somente de leitura. Exemplo: Sub CommandButton1_Click() For each pen in Screen.Item("E3Chart1").Pens pen.Visible = True Next End Sub Queries: Retorna o objeto Coleo de Consultas dentro do E3Chart. O objeto Coleo de Consultas utilizado para inserir/remover/acessar as consultas disponveis no E3 Chart. Esta propriedade somente de leitura. RefreshTime: Esta propriedade determina o tempo de atualizao do E3Chart. Exemplo: Sub E3Chart1_OnStartRunning() MsgBox RefreshTime End Sub ScaleFont: Determina a fonte do texto utilizada na grade. Exemplo: Sub CommandButton1_Click() Screen.Item("E3Chart1").ScaleFont = "Times New Roman" Screen.Item("E3Chart1").ScaleFont.Size = 12 Screen.Item("E3Chart1").ScaleFont.Italic = true End Sub Screen: Contm uma referncia para o objeto Tela onde o E3 Chart est includo. ShowBackground: Habilita/desabilita a visualizao do fundo do grfico. Se a propriedade for igual a True, o fundo do grfico mostrado. Caso contrrio, o E3 - Scripts - Manual de Referncia Propriedades 345 grfico fica com o fundo transparente. A cor escolhida na propriedade BackColor no aparece se esta propriedade estiver em False (opo padro). Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") E3Chart1.ShowBackground = not E3Chart1.ShowBackground End Sub ShowBottomScale: Se a propriedade estiver configurada para True, o eixo horizontal principal mostrado na base da grade. Caso contrrio, no mostrado. O valor padro True. Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") oldBottomScale = E3Chart1.ShowBottomScale MsgBox "Mostrar eixo" E3Chart1.ShowBottomScale = True MsgBox "Esconder eixo" E3Chart1.ShowBottomScale = False MsgBox "Voltar..." E3Chart1.ShowBottomScale = oldBottomScale End Sub ShowGridBackground: Habilita/desabilita a visualizao do fundo da grade. Se a propriedade for igual a True (padro), o fundo da grade mostrado. Caso contrrio, a grade fica com o fundo transparente. A cor escolhida na propriedade GridBkColor no aparece se esta propriedade estiver em False. Exemplo: Sub CommandButton1_Click() Set Chart1 = Screen.Item("E3Chart1") Chart1.ShowGridBackground = not Chart1.ShowGridBackground End Sub ShowLeftScale:. Se a propriedade estiver configurada para True, o eixo vertical principal ser mostrado esquerda da grade. Caso contrrio, fica invisvel. Exemplo Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.ShowLeftScale = not Chart.ShowLeftScale End Sub E3 - Scripts - Manual de Referncia 346 Propriedades ShowRightScale: Se a propriedade estiver configurada para True, o eixo vertical principal da escala ser mostrado direita da grade. Caso contrrio, fica invisvel. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.ShowRightScale= not Chart.ShowRightScale End Sub ShowTitle: Se a propriedade estiver configurada para True, o ttulo principal do E3Chart visvel. Caso contrrio, fica invisvel. A propriedade Title contm o ttulo que ser mostrado no E3Chart. Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") oldTitle = E3Chart1.Title oldShowTitle = E3Chart1.ShowTitle E3Chart1.Title = "teste!" MsgBox "Mostrar" E3Chart1.ShowTitle = True MsgBox "Esconder" E3Chart1.ShowTitle = False MsgBox "Voltar" E3Chart1.Title = oldTitle E3Chart1.ShowTitle = oldShowTitle End Sub ShowTopScale: Se a propriedade estiver configurada para True, o eixo horizontal principal mostrado no topo da grade. Caso contrrio, no mostrado. O valor padro False. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.ShowToptScale= not Chart.ShowTopScale End Sub TabStop: Esta propriedade determina a utilizao da tecla [TAB| no sistema. Se o campo estiver True, possvel utilizar a tecla; caso contrrio, a tecla no pode ser utilizada. E3 - Scripts - Manual de Referncia Propriedades 347 TimeSpan: Indica a escala de tempo que aparece no eixo horizontal principal do E3Chart quando esta for configurada para mostrar a escala de tempo real. O valor desta propriedade sempre em segundos. O valor padro desta propriedade 60. Exemplo: Sub RetanguloArr1_Click() MsgBox Screen.Item("E3Chart1").TimeSpan End Sub Tip: Contm um texto de ajuda apresentado como dica quando o usurio coloca o ponteiro do mouse sobre o objeto. Title: Determina o ttulo principal do E3 Chart. Para que o ttulo aparea no E3 Chart, a propriedade ShowTitle deve ser configurada para True. TitleFont: Determina a fonte do ttulo principal do E3Chart. Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") E3Chart1.Title = "Teste" E3Chart1.ShowTitle = True MsgBox "Troca fonte" E3Chart1.TitleFont = "Times New Roman" MsgBox "Troca tamanho" E3Chart1.TitleFont.Size = 20 End Sub VerAxisTitle: Determina o ttulo do eixo vertical principal. Exemplo: Sub ComboBox1_Change() Screen.Item("E3Chart1").VerAxisTitle = "Titulo1" End Sub VerGrid: Determina o tipo de linha que ser aplicada na grade vertical do E3Chart. E3 - Scripts - Manual de Referncia 348 Propriedades Opes disponveis para VerGrid OPO DESCRIO 0- Solid Aplica uma linha slida na grade vertical do E3Chart. 1- Dash Aplica uma linha tracejada na grade vertical do E3Chart. 2- Dot Aplica uma linha pontilhada na grade vertical do E3Chart (padro). 3- Dashdot Aplica uma linha trao e ponto na grade vertical do E3Chart. 4- Dashdotdot Aplica uma linha trao ponto ponto na grade vertical do E3Chart. 5- Invisible Aplica uma linha invisvel na grade vertical do E3Chart.
Exemplo: Sub E3Chart1_OnStartRunning() VerGrid = 2 End Sub VerGridColor: Determina a cor da linha do eixo vertical principal da grade. O valor padro desta propriedade cinza (RGB (192, 192, 192)). Exemplo: Sub RetanguloArr1_Click() Screen.Item("E3Chart1").VerGridColor = 3 End Sub VerMinorTicks: Determina o nmero de subdivises entre as marcas do eixo vertical principal da grade. O valor padro desta propriedade 1. Exemplo: Sub RetanguloArr1_Click() Screen.Item("E3Chart1").VerMinorTicks = 3 End Sub VerScaleBegin: Determina o valor no topo no eixo vertical principal da grade do E3Chart. O valor padro desta propriedade 100. Exemplo: Sub RetanguloArr1_Click() MsgBox Screen.Item("E3Chart1").VerScaleBegin End Sub E3 - Scripts - Manual de Referncia Propriedades 349 VerScaleEnd: Determina o valor na base do eixo vertical principal da grade. O valor padro desta propriedade -100. Exemplo: Sub RetanguloArr1_Click() MsgBox Screen.Item("E3Chart1").VerScaleEnd End Sub VerScaleFormat: Contm um texto que representa uma mscara dentro da qual os valores da escala vertical sero mostrados. Esta mscara pode representar vrios tipos de valores: Geral: No possui formatao especifica, adaptando-se automaticamente ao valor especificado. Nmero: Apresenta nmeros com parte inteira e fracionria. O usurio pode optar por at 15 casas decimais, por usar ou no um separador de milhares, e por apresentar nmeros negativos sinalizados (-) ou entre parnteses. Para nmeros muito grandes ou muito pequenos, recomenda-se utilizar o formato Cientfico. Data: Apresenta valores numricos de data e hora (quando vlido). Para representar apenas hora, use o formato equivalente. Hora: Apresenta valores numricos de hora e data (quando vlido). Para representar apenas hora, use o formato equivalente. Porcentagem: Multiplica o nmero por 100 e adiciona o smbolo percentual (%). Admite at 15 casas decimais. Cientfico: Apresenta o nmero em notao de mantissa e expoente. Ideal para nmeros de magnitude variada. Admite at 15 casas decimais. Especial: Permite formatar nmeros inteiros em bases no-decimais (hexadecimal, octal e binria, por exemplo). Outro: Permite editar diretamente o cdigo de formatao desejado, ou selecionar um formato criado anteriormente. A mscara destes formatos, como exemplificadas no campo Tipo, ser exibida na Janela de Propriedades (Ex: d/M/yy H:mm, 0E-00, etc.). E3 - Scripts - Manual de Referncia 350 Propriedades VerTickUnit: Determina o nmero de subdivises entre as marcas da grade. Quando esta propriedade estiver com valor 0, o espaamento ser automtico. Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") Old = E3Chart1.VerTickUnit For i=0 to 30 step 10 E3Chart1.VerTickUnit = i MsgBox "E3Chart1.VerTickUnit =" &cstr(i) Next MsgBox "voltar" E3Chart1.VerTickUnit = old End Sub Visible: Habilita/desabilita a visibilidade do E3 Chart. Se a propriedade estiver configurada para True, o E3 Chart ser visvel. Caso contrrio, o E3 Chart no mostrado. O valor padro True. Width: Determina a largura do objeto, em unidade Himetric. X: A propriedade X define a coordenada horizontal esquerda, em unidade Himetric, do objeto. Y: Esta propriedade define a coordenada vertical acima, em unidade Himetric, do objeto. 6.21.1. Propriedades da Pena AutoQuery: Determina consulta automtica da pena. Se True, a pena deseja usar a consulta automtica. Do contrrio, a consulta automtica no ser utilizada. A consulta automtica no poder ser utilizada nos seguintes casos: quando o SQL customizado pelo usurio; quando se est utilizando Storage; ou quando se est utilizando vrias tabelas. AverageY: Informa a mdia da pena no intervalo, caso a propriedade EnableCalc esteja habilitada. Caso o E3Chart estiver no modo de Pesquisa de Intervalos, mostra a mdia neste intervalo; do contrrio, mostra a mdia no intervalo entre o incio e o fim no eixo horizontal. Valores com qualidade ruim no so considerados caso a propriedade ShowBadPoints estiver desabilitada. Esta propriedade somente de leitura. E3 - Scripts - Manual de Referncia Propriedades 351 BkColor: Determina a cor de fundo usada em uma pena do tipo rea. O valor padro desta propriedade vazio. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.BkColor = RGB (255,0,0) End Sub BufferSize: Determina o nmero de pontos mantidos na pena de tempo real. Aps este valor, os dados mais antigos so descartados. Nas penas histricas, esta propriedade no tem efeito. Esta propriedade ser considerada somente aps a conexo da pena. Para maiores informaes, veja o mtodo Connect(). O valor padro desta propriedade 10.000, e deve ser sempre maior que 0. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.Disconnect() Pen1.BufferSize = 5000 Pen1.Connect() End Sub Color: Determina a cor da linha da pena no E3Chart. O valor padro desta propriedade vazio. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.Color= RGB (212,208,20) End Sub DataSourceType: Determina a origem dos dados da pena. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para DataSourceType OPO DESCRIO 0- Tempo Real Indica conexo da pena a um tag atualizado em tempo real. 1- Histrico Indica conexo da pena aos dados vindos de uma consulta. 2- Pena Nista Indica conexo da pena a tags de tempo real e dados histricos simultaneamente.
E3 - Scripts - Manual de Referncia 352 Propriedades Quando a propriedade DataSourceType for igual a 0 (Tempo Real), as propriedades XLink e YLink informam os links utilizados; ou ento a propriedade UseTimeStamp informa que a propriedade XLink no ser usada, estando em seu lugar o timestamp da propriedade YLink. Quando a propriedade DataSourceType for igual a 1 (Histrico), as propriedades XField e YField informam os campos da tabela a serem usados. A propriedade QueryName indica o nome da tabela usada. Quando DataSourceType for igual a 2 (Pena Mista), as opes 0 e 1 funcionaro simultaneamente para a pena. NOTA: Em tempo de execuo, quando a propriedade for alterada e a pena deixar de mostrar os dados de tempo real, ser preciso chamar o mtodo Connect() para que estes dados sejam mostrados novamente. Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") MsgBox "Clique OK para criar a pena" Set Pen = E3Chart1.Pens.AddPen("Pen1") Pen.DataSourceType = 0 'tempo real Pen.YLink = "Dados.TagDemo1" Pen.UseTimeStamp = True 'no X usa o timestamp Pen.Color = RGB(255,0,0) Pen.Docstring = "teste" MsgBox "Clique OK para conectar" Pen.Connect() 'comea a receber os dados MsgBox "Clique OK para enquadrar" E3Chart1.FitPen(0) MsgBox "Clique OK para remover a pena" E3Chart1.Pens.Remove(Pen.Name) End Sub DigitalData: Determina o estilo de plotagem digital. Se a propriedade estiver configurada para True, o estilo de plotagem digital assume que a variao do dado seja de forma digital, ou seja, que seu valor em relao ao ltimo variou instantaneamente. Caso contrrio, a variao considerada linear e os pontos so unidos por um segmento de reta. O valor padro desta propriedade True. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.DigitalData = True End Sub E3 - Scripts - Manual de Referncia Propriedades 353 EnableCalc: Habilita/desabilita o clculo da mdia, mnimos e mximos dentro do intervalo. EnableHighLimit: Habilita/desabilita a verificao do limite alto. EnableLowLimit: Habilita/desabilita a verificao do limite baixo. EU: Esta propriedade utilizada para identificar a unidade de engenharia que o valor representa, como por exemplo: graus, metros, KW/h, etc. HighLimit: Determina o limite de alarme alto. InterpolatedBeginY: Informa o valor do ponto interpolado onde o cursor inicial cruza com a pena. Esta propriedade somente de leitura. InterpolatedEndY: Informa o valor do ponto interpolado onde o cursor final cruza com a pena. Esta propriedade somente de leitura. LimitPenBkColor: Determina a cor de fundo da pena quando em alarme. LimitPenColor: Determina a cor da pena quando em alarme. LowLimit: Determina o limite de alarme baixo. MaxY: Informa o valor mximo da pena no intervalo, caso a propriedade EnableCalc esteja habilitada. Caso o E3Chart estiver no modo de Pesquisa de Intervalos, mostra a mdia nesse intervalo; do contrrio, mostra a mdia no intervalo entre o incio e o fim no eixo horizontal. Valores com qualidade ruins no so considerados caso a propriedade ShowBadPoints estiver desabilitada. Esta propriedade somente de leitura. MinY: Informa o valor mnimo da pena no intervalo, caso a propriedade EnableCalc esteja habilitada. Caso o E3Chart estiver no modo de Pesquisa de Intervalos, mostra a mdia nesse intervalo; do contrrio, mostra a mdia no intervalo entre o incio e o fim no eixo horizontal. Valores com qualidade ruins no so considerados caso a propriedade ShowBadPoints estiver desabilitada. Esta propriedade somente de leitura. Name: Determina o nome da pena. Exemplo: Sub CommandButton1_Click E3 - Scripts - Manual de Referncia 354 Propriedades Screen.Item("E3Chart1").Pens.Name= "Pena1" End Sub PenLineStyle: Determina o tipo de linha da pena. As opes disponveis so as seguintes: Opes disponveis para PenLineStyle OPO DESCRIO 0-LsSolid Linha slida. 1-LsDash Linha tracejada. 2-LsDot Linha pontilhada. 3-LsDashDot Linha trao-ponto. +-LsDashDotDot Linha trao-ponto-ponto. 5-LsNull Sem linha. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.PenLineStyle = 4 End Sub PenType: Determina o tipo de desenho da pena no E3Chart (0= linha; 1= ponto; 2 = ponto-linha; 3 = rea). Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.PenType = 1 End Sub QueryName: Determina o nome da consulta que a pena est utilizando. Esta propriedade utilizada se a propriedade DataSourceType estiver configurada para 1 (Histrico). Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.QueryName = Consulta12 End Sub ScaleX, ScaleY: As propriedades ScaleX e ScaleY indicam a quais escalas X e Y do E3 Chart a pena est associada, respectivamente. A escala configurada para ScaleX tem orientao horizontal, ou seja, pode estar posicionada no topo ou na base E3 - Scripts - Manual de Referncia Propriedades 355 do E3 Chart. A escala configurada para ScaleY tem orientao vertical, estando posicionada esquerda ou direita do objeto. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Set Pen = Chart.Pens.AddPen("PenaDoTagDemo2") Pen.YLink = "Dados.TagDemo2" Pen.UseTimeStamp = True ' A escala deve existir previamente. Pen.ScaleY = "EscalaParaTagDemo2" Pen.Connect End Sub ScanValue: Define o tempo de leitura esperado do tag da pena de tempo real. Este valor levado em conta no modo de desenho analgico. Quando o valor ultrapassa o valor determinado por ScanValue, considera-se que o valor do tag no foi alterado no intervalo. De outra forma, quando o ScanValue igual a zero, os dados da pena so sempre conectados com uma reta ligando os dois pontos como se o valor estivesse variando de forma linear. A unidade desta propriedade milissegundos. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.ScanValue = 1000 End Sub ShowAverage: Habilita a exibio da mdia da pena no E3Chart. Esta propriedade s tem efeito caso a propriedade EnableCalc esteja habilitada. ShowBadPoints: Quando desabilitada, os pontos com qualidade ruim no sero plotados. Se a pena estiver traando linhas, as linhas que passam pelos pontos de qualidade ruim no sero conectadas. Para que a qualidade dos pontos seja levada em considerao, o campo "nomecampo_quality" deve estar selecionado na Consulta do E3Chart. Quando habilitada, todos os pontos so plotados normalmente ShowMinMax: Habilita a exibio dos pontos mnimo e mximo da pena no E3Chart. Esta propriedade s tem efeito caso a propriedade EnableCalc esteja habilitada. UseTimeStamp: Determina que ser utilizado, para o eixo horizontal, o valor do timestamp associado ao eixo vertical. Veja exemplo na descrio da propriedade DataSourceType. E3 - Scripts - Manual de Referncia 356 Propriedades Visible: Determina se pena est visvel no E3Chart. Se a opo estiver configurada para True, a pena visvel em runtime. Caso contrrio, a pena fica invisvel. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.Visible = Not Pen1.Visible End Sub Width: Determina a largura da linha da pena no E3Chart. Exemplo: Sub CommandButton1_Click() Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pen1") Pen1.Width = 10 End Sub XField: Nome do campo da consulta usado para plotar o dado em uma escala horizontal. usada para penas histricas. XLink: Nome do link usado para plotar o dado em uma escala horizontal. Quando o valor desta propriedade alterado, a pena automaticamente desconectada. Aps a configurao, preciso chamar o mtodo Connect() para que a pena comece a receber os dados relativos a este link. usada para penas de tempo real. XMaxY: Informa o valor X relativo ao ponto MaxY. Esta propriedade somente de leitura. XMinY: Informa o valor X relativo ao ponto MinY. Esta propriedade somente de leitura. YField: Nome do campo da consulta usado para plotar o dado em uma escala vertical. usada para penas histricas. YLink: Nome do link usado para plotar o dado em uma escala vertical. Quando o valor desta propriedade alterado, a pena automaticamente desconectada. Aps a configurao, preciso chamar o mtodo Connect() para que a pena comece a receber os dados relativos a este link. usada para penas de tempo real. E3 - Scripts - Manual de Referncia Propriedades 357 6.21.2. Propriedade da Coleo de Penas Count: Contm o nmero total de penas inseridas no E3Chart. Esta propriedade somente de leitura. 6.21.3. Propriedade da Coleo de Consultas Count: Contm o nmero total de consultas do E3Chart. Esta propriedade somente de leitura. 6.21.4. Propriedades da Coluna Caption: Permite definir um ttulo para a coluna. Column: Retorna o identificador da coluna. Veja a tabela de identificao das colunas. Exemplo: Sub CommandButton15_Click() Set col= Screen.Item("E3Chart1").Legend.Item(1) MsgBox col.Column End Sub Format: Configura o formatador usado na coluna. Exemplo: Sub CommandButton15_Click() Set col= Screen.Item("E3Chart1").Legend.Item(1) MsgBox col.Format="0.0" End Sub Index: Retorna a posio da coluna na Legenda. Exemplo: Sub CommandButton15_Click() Set col= Screen.Item("E3Chart1").Legend.Item(1) MsgBox col.Index End Sub Name: Determina o nome da coluna. O nome das colunas podem ser vistos na tabela de identificao das colunas. E3 - Scripts - Manual de Referncia 358 Propriedades Exemplo: Sub CommandButton1_Click() set Chart = screen.item("E3Chart1") set query = Chart.Queries.Item(0) MsgBox query.Name MsgBox query.TableName End Sub TextAlign: Retorna o alinhamento do texto da coluna. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para TextAlign OPO DESCRIO 0- taLeft Alinhamento esquerdo 1- taRight Alinhamento direito 2- taCenter Alinhamento centralizado
Exemplo: Sub CommandButton1_Click() Set col= Screen.Item("E3Chart1").Legend.Item(1) col.TextAlign = 2 End Sub Width: Retorna a largura da coluna. Exemplo: Sub CommandButton1_Click() Set col= Screen.Item("E3Chart1").Legend.Item(1) col.width = 50 End Sub 6.21.5. Propriedades da Legenda Count: Retorna o nmero total de colunas da Legenda. Exemplo: Sub CommandButton10_Click() MsgBox Screen.Item("E3Chart1").Legend.Count End Sub E3 - Scripts - Manual de Referncia Propriedades 359 LegendPos: Indica a posio da legenda no E3Chart. Opes disponveis para LegendPos OPO DESCRIO 0- lgTop Mostra a legenda n o topo. 1- lgLeft Mostra a legenda na esquerda. 2- lgBottom Mostra a legenda na base. 3- lgRight Mostra a legenda na direita. Exemplo: Sub CommandButton10_Click() Screen.Item("E3Chart1").Legend.LegendPos = 3 End Sub ShowAllPens: Quando a propriedade for True, todas as penas do E3Chart so mostradas na legenda. A propriedade Visible da pena ignorada. Quando em False, somente as penas com a propriedade Visible = True sero mostradas. Exemplo: Sub CommandButton1_Click() Set E3Chart1 = Screen.Item("E3Chart1") E3Chart1.Legend.ShowAllPens = not E3Chart1.Legend.ShowAllPens End Sub ShowHeader: Determina a visibilidade do ttulo da legenda (cabealho). Se a opo for configurada para True, o ttulo da legenda mostrado. Caso contrrio, o ttulo fica invisvel. Exemplo: Sub CommandButton2_Click() Screen.Item("E3Chart1").Legend.ShowHeader = False End Sub Size: Determina o tamanho da legenda. Este tamanho pode significar a altura ou largura, dependendo da posio da legenda. Exemplo: Sub CommandButton13_Click() MsgBox Screen.Item("E3Chart1").Legend.Size End Sub Visible: Determina a visibilidade da legenda. Se a opo estiver configurada como True, a Legenda visvel no E3Chart. Caso contrrio, fica invisvel. Exemplo: Sub CommandButton13_Click() Screen.Item("E3Chart1").Legend.Visible = False End Sub E3 - Scripts - Manual de Referncia 360 Propriedades 6.21.6. Propriedades do Eixo Nota: HorAxis e VerAxis so propriedades da coleo de eixos que acessam os eixos padro horizontal e vertical, respectivamente. Por exemplo, ao invs de utilizar Chart.Axes.Item("EixoHorizontal"), pode-se utilizar Chart.Axes.HorAxis. Demais eixos criados pelo usurio tero nomes prprios, escolhidos caso a caso. Color: Determina a cor principal do Eixo. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.Axes.HorAxis.Color = RGB(0,255,0) End Sub Format: Determina a formatao dos valores do eixo. Exemplo: Sub CommandButton1_Click() ' Muda a formatao Set Chart = Screen.Item("E3Chart1") strOldFormat = Chart.Axes.Item("NomeDoEixo").Format MsgBox "clique para setar a formatao automtica" Chart.Axes.Item("NomeDoEixo").Format = "" 'automatico MsgBox "clique para usar outra formatao" Chart.Axes.Item("NomeDoEixo").Format = "0.0" MsgBox "clique para usar outra formatao" Chart.Axes.Item("NomeDoEixo").Format = "dd/MM/yy hh:mm:ss" MsgBox "clique novamente p/ voltar a formatao original" Chart.Axes.Item("NomeDoEixo").Format = strOldFormat End Sub GridColor: Determina a cor das linhas da grade.Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.Axes.Item("NomeDoEixo").ShowGrid = False MsgBox "clique para trocar a cor das linhas na grade" Chart.Axes.Item("NomeDoEixo").GridColor = RGB(0,0,255) Chart.Axes.Item("NomeDoEixo").ShowGrid = True End Sub E3 - Scripts - Manual de Referncia Propriedades 361 GridStyle: Determina o estilo da linha da grade. As opes disponveis so as seguintes: Opes disponveis para GridStyle OPO DESCRIO 0- solid O estilo da linha da grade slida. 1- dash O estilo da linha da grade pontilhada. 2- dot O estilo da linha da grade tracejada. 3- dashdot O estilo da linha da grade pontilhada e tracejada. +- dashdotdot O estilo da linha da grade ponto-trao-ponto. 5- invisible No h linhas visveis na grade (invisvel).
Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") ' Solid 0, dash 1, dot 2, dashdot 3, dashdotdot, invisible5 For i= 0 to 5 MsgBox "Clique para mudar o estilo da linha no grid" Chart.Axes.Item("NomeDoEixo").GridStyle = i Next End Sub Inverse: Inverte a ordem dos valores mnimo e mximo na escala numrica. Normalmente, em escalas verticais, o valor mnimo parece abaixo, e o valor mximo acima. Nas escalas horizontais, o valor mnimo aparece na esquerda, e o valor mximo na direita. Quando a propriedade Inverse estiver configurada para True, no entanto, esta ordem ser invertida: valores mximos abaixo ou esquerda, valores mnimos acima ou direita. Exemplo: Sub CommandButton1_Click() set Chart = Screen.Item("E3Chart1") Chart.Axes.Item("NomeDoEixo").Inverse=not_ Chart.Axes.Item("NomeDoEixo").Inverse End Sub MinorTicks: Determina o nmero total de subdivises entre as escalas. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.Axes.Item("NomeDoEixo").MinorTicks =_ Chart.Axes.Item("NomeDoEixo").MinorTicks +1 End Sub E3 - Scripts - Manual de Referncia 362 Propriedades Mirror: Indica o espelhamento do eixo. Se a propriedade estiver configurada para True, o eixo ser espelhado no lado oposto do eixo original. Caso contrrio, o eixo permanece na mesma posio. Exemplo: Sub CommandButton1_DBClick() Set Chart = Screen.Item("E3Chart1") Chart.Axes.Item("NomeDoEixo").Mirror=not_ Chart.Axes.Item("NomeDoEixo").Mirror End Sub Name: Determina o nome do eixo. Exemplo: Sub CommandButton1_DBClick() Set Chart = Screen.Item("E3Chart1") Chart.Axes.Item("NomeDoEixo").Title = Chart.Axes.Item("NomeDoEixo").Name End Sub Position: Determina a posio do eixo em relao a grade do E3Chart. As opes disponveis so as seguintes: Opes disponveis para Position OPO DESCRIO 0- axpLeft O eixo posicionado a esquerda da escala. 1-axpRight O eixo posicionado a direita da escala. 2-axpTop O eixo posicionado no topo da escala. 3-axpBotton O eixo posicionado na base da escala. Exemplo: Set CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Set newAxis = Chart.Axes.AddAxis("") For i= 0 to 3 MsgBox "clique ok para mudar a posio do eixo" newAxis.Position = i Next MsgBox "Remover o eixo" Chart.Axes.Remove(newAxis.Name) End Sub ScaleType: Determina o tipo de escala mostrada pelo eixo. As opes disponveis deste item so as seguintes: E3 - Scripts - Manual de Referncia Propriedades 363 Opes disponveis para ScaleType OPO DESCRIO 0- atNumberScale Escala numrica. 1-atLastPeriod Mostra ltimo perodo (Tempo Real) 2-atPeriod Intervalo de tempo (Histrica) Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Set newAxis = Chart.Axes.AddAxis("") For i = 0 to 2 MsgBox "clique ok para mudar o tipo de escala" newAxis.ScaleType = i Next MsgBox "Remover o eixo" Chart.Axes.Remove(newAxis.Name) End Sub ShowGrid: Determina a visualizao das linhas da grade. Se a propriedade estiver configurada para True, as linhas da grade so mostradas. Caso contrrio, as linhas so escondidas. Exemplo: Sub CommandButton_Click() Set Chart = Screen.Item("E3Chart1") Chart.Axes.Item("NomeDoEixo").ShowGrid = not_ Chart.Axes.Item("NomeDoEixo").ShowGrid End Sub Title: Determina o ttulo do eixo. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") Chart.Axes.Item("NomeDoEixo").Title_ = Chart.Axes.Item("NomeDoEixo").Name MsgBox "Clique para remover o ttulo" ' retira o ttulo Chart.Axes.Item("NomeDoEixo").Title = "" End Sub Visible: Determina a visibilidade do eixo na grade. Se a propriedade estiver configurada para True, o eixo visvel na grade. Caso contrrio, o eixo fica invisvel. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item(E3Chart1) E3 - Scripts - Manual de Referncia 364 Propriedades Chart.Axes.Item("NomeDoEixo").Visible=not_ Chart.Axes.Item("NomeDoEixo").Visible End Sub 6.21.7. Propriedades da Coleo de Eixos Count: Retorna o nmero total de eixos do E3Chart, incluindo os dois eixos principais (horizontal e vertical). Exemplo: CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") MsgBox Chart.axes.Count End Sub HorAxis: Retorna o eixo horizontal principal. Este eixo tambm participa da lista de eixos. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") MsgBox Chart.axes.Item(0).Name &","& Chart.axes.Item(1).Name MsgBox Chart.axes.HorAxis.Name &"," &_ Chart.axes.Item("NomeDoEixo").Name End Sub Item: Retorna o eixo atravs de seu nome ou ndice. O ndice 0 sempre o eixo horizontal principal e o ndice 1 sempre o eixo vertical principal. Exemplo: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart") MsgBox Chart.axes.Item(0).Name & "," & Chart.axes.Item(1).Name MsgBox Chart.axes.HorAxis.Name & "," & Chart.axes.Item("NomeDoEixo").Name End Sub E3 - Scripts - Manual de Referncia Propriedades 365 VerAxis: Retorna o eixo vertical principal. Este eixo tambm participa da lista de eixos. Exemplos: Sub CommandButton1_Click() Set Chart = Screen.Item("E3Chart1") MsgBox Chart.axes.Item(0).Name & "," & Chart.axes.Item(1).Name MsgBox Chart.axes.Item("NomeDoEixo").Name &","&_ Chart.axes.VerAxis.Name End Sub 6.22. Propriedades da Frmula DBServer: Indica o nome do banco de dados onde sero gravadas as informaes da frmula: as unidades e os conjuntos de valores. O valor padro desta propriedade vazio. ImmediateExecute: Quando habilitada, faz com que a Frmula escreva seus registros diretamente no Banco de Dados, sem precisar passar por suas filas de operaes (arquivos e3i/e3o). Isso faz com que as operaes feitas no Banco sejam vistas de forma mais rpida. TableName: Indica o nome das tabelas onde ficaro as informaes das frmulas. O valor padro desta propriedade vazio. 6.23. Propriedades dos XControls e XOb]ects Public: Quando uma propriedade de um ElipseX pblica (True), ela ser visvel fora da biblioteca. Caso contrrio, a propriedade ser interna e somente visvel para o objeto. O valor padro desta propriedade True. A propriedade pblica representada pelo cone . Type: Determina o tipo de valores que a propriedade ir aceitar (por exemplo: Boolean, Double, Integer, Variant, etc.). Quando for especificado um tipo de objeto (por exemplo: DemoTag, IOTag, XObject, etc.), esta propriedade ter os seguintes comportamentos: a) Caso o ElipseX esteja desativado: A propriedade funciona como um string, que especifica o caminho da instncia de um objeto do tipo configurado. b) Caso o ElipseX esteja ativo: Na escrita, a propriedade funciona da mesma maneira que quando o objeto est desativado. Porm na leitura, a propriedade retorna o objeto especificado, caso ele exista. Se o caminho no aponta para um objeto existente no momento, a propriedade retorna Nothing. E3 - Scripts - Manual de Referncia 366 Propriedades
6.24. Propriedades do Relatrio Para criarmos um script no relatrio, utilizamos o Editor de Scripts do Relatrio, acessado atravs do boto Editor de Scripts e para visualizar o relatrio, utilizamos o boto Gerar Relatrio, ambos localizados na Barra de Ferramentas do Relatrio. Os scripts do relatrio utilizam alguns procedimentos, dependendo do objeto e/ou da seo que deseja incluir o cdigo. Por exemplo: Report.Sections("PageHeader").Controls("E3Chart1")._ GridBkColor= RGB (255, 0, 255). onde: PageHeader o nome da seo que o objeto est incluso no relatrio; E3Chart1 o nome do objeto que est dentro da seo especificada, no caso o PageHeader; GridBkColor o nome da propriedade do objeto, neste caso o E3Chart. RGB (255,0,255) o parmetro/ao da propriedade, neste caso, mudar a cor de fundo do grfico para rosa. Sendo assim, para fazermos um script no relatrio, usamos o seguinte conceito: Report.Sections("NomeDaSeo").Controls("NomeDoObjeto")._ NomeDaPropriedade=parmetros_da_propriedade NOTA: O objeto Relatrio encapsula um objeto ActiveReports (ou AR), que o relatrio propriamente dito. Caption: Contm o ttulo do relatrio que aparece na barra de ttulo da janela de visualizao (preview). O valor padro desta propriedade vazio. 6.24.1. Propriedades de Layout do Relatrio NOTA: As propriedades aqui descritas so parte do objeto ActiveReport (ou AR) que encapsulado no objeto Relatrio. Estas propriedades so vlidas apenas dentro do escopo do AR e no podem ser acessadas fora desse objeto. E3 - Scripts - Manual de Referncia Propriedades 367 _PageBottomMargin: Determina a margem inferior do relatrio, em twips (1 twip = 1/1440 polegada). O valor padro desta propriedade 1440 (1 pol, ou 2,54 cm). _PageLeftMargin: Determina a margem esquerda do relatrio, em twips (1 twip = 1/1440 polegada). O valor padro desta propriedade 1440 (1 pol, ou 2,54 cm). _PageRightMargin: Determina a margem direita do relatrio, em twips (1 twip = 1/1440 polegada). O valor padro desta propriedade 1440 (1 pol, ou 2,54 cm). _PageTopMargin: Determina a margem superior do relatrio, em twips (1 twip = 1/1440 polegada). O valor padro desta propriedade 1440 (1 pol, ou 2,54 cm). AllowSplitters: Permite que a tela de visualizao do relatrio seja dividida em duas. Essa propriedade s est disponvel em tempo de execuo. Se a propriedade estiver configurada para False (valor padro), a barra para diviso no aparece na tela. documentName: Determina o nome do documento para o relatrio. Este nome aparece no gerenciador de impresso e pode ser usado para identificar mais facilmente o relatrio. O valor padro desta propriedade ActiveReports Document. MaxPages: Estabelece o nmero mximo de pginas para o relatrio. Quando este nmero alcanado, o E3 pra de processar o documento. O valor padro desta propriedade 10. ParentReport: Esta propriedade uma varivel de uso interno do sistema e contm uma referncia para objeto relatrio. A propriedade somente de leitura, e vlida apenas para os eventos DataInitialize e ReportEnd. PrintWidth: Determina a largura da rea de impresso do relatrio, em twips. Se o tamanho do relatrio for mudado em tempo de execuo, a largura de impresso tambm dever ser ajustada, para garantir que o relatrio ir ocupar toda a rea de impresso. O tamanho da rea de impresso deve tambm incluir a largura das margens, para que o relatrio no fique maior que o tamanho do papel. Se isto acontecer, o erro ser assinalado por uma linha pontilhada vermelha impressa em cada pgina do relatrio. E3 - Scripts - Manual de Referncia 368 Propriedades RulerVisible: Quando configurado como True, indica que sero mostradas uma rgua vertical e outra horizontal na janela de visualizao do relatrio. Do contrrio, as rguas ficaro invisveis. ScriptDebuggerEnabled: Habilita/desabilita o depurador do ActiveReports (JIT), para depurar os scripts associados aos relatrios. Este depurador no est disponvel em todo o E3, apenas nos relatrios. ScriptLanguage: Indica a linguagem usada para interpretar os scripts associados a um relatrio. A linguagem padro VBScript, mas JScript tambm pode ser utilizada. ShowParameterUI: Habilita/desabilita os parmetros da caixa de dilogo da Consulta, que aparece quando o relatrio est sendo executado. Se a propriedade estiver configurada para True, os parmetros da caixa de dilogo da consulta sero mostrados. Caso contrrio, estes parmetros no so mostrados. Status: Retorna o status do relatrio. As opes disponveis para esta propriedades so as seguintes: Opes disponveis para Status OPO DESCRIO 0- DDStatIdle Indica que o relatrio est fechado. 1- DDStartRunning Indica que o relatrio est sendo executado. 2- DDStartCompleted Indica que o relatrio est completo. 3- DDStartCanceled Indica que o relatrio foi cancelado. TOCEnabled: Habilita/desabilita o ndice do relatrio. Se a propriedade estiver configurada para True, o ndice do relatrio habilitado; do contrrio, o relatrio no ter ndice. O valor padro desta propriedade True. TOCVisible: Determina a visibilidade do ndice do relatrio. Se a propriedade estiver configurada para True, o ndice do relatrio mostrado; do contrrio, o ndice fica invisvel. O valor padro desta propriedade True. ToolbarVisible: Habilita/desabilita a Barra de Ferramentas da janela de prvia de impresso do relatrio. Se a propriedade estiver configurada para True, a barra habilitada; do contrrio, no haver barra de ferramentas nesta janela. UserData: Configura ou retorna as informaes especficas do usurio. Esta propriedade similar a propriedade Tag do Visual Basic, mas ser exportada e salva em um arquivo .rpx. Pode ser usada para salvar e carregar qualquer informao personalizada necessria ao desenho do relatrio. E3 - Scripts - Manual de Referncia Propriedades 369 Version: Retorna o nmero da verso do produto. WaterMark: Adiciona uma imagem de fundo ao relatrio (marca dgua). As marcas dagua so textos ou figuras que aparecem sob o texto do documento. Normalmente, elas tornam o documento visualmente mais interessante.
Figura 28: Exemplo de Marca dagua O valor padro desta propriedade vazio (sem imagem). WaterMarkAlignment: Determina o alinhamento marca dgua no relatrio. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para WaterMarkAlignment OPO DESCRIO 0- ddPATopLeft Alinha a imagem ao topo e esquerda. 1- ddPATopRight Alinha a imagem ao topo e direita. 2- ddPACenter Alinha a imagem ao centro. (Default) 3- ddPABottomLeft Alinha a imagem base e esquerda. 4- ddPABottonRight Alinha a imagem base e direita. WaterMarkPrintOnPages: Indica o nmero das pginas do relatrio que recebero a marca dgua. A sintaxe utilizada pode incluir uma nica pgina, uma extenso de pginas, ou mesmo uma combinao de ambos. Exemplo: 1, 5-8, 9, 10- 15. WaterMarkSizeMode: Configura o efeito do tamanho da marca dgua na pgina do relatrio. As opes disponveis so as seguintes: Opes disponveis para WaterMarkSizeMode OPO DESCRIO 0- ddSNClicp A marca dgua mostrada no relatrio no seu tamanho original. 1- ddSNStretch A marca dgua ir preencher toda a pgina do relatrio. 2- ddSNZoom A marca dgua ser aumentada at ficar do tamanho da pgina do relatrio. E3 - Scripts - Manual de Referncia 370 Propriedades 6.24.2. Propriedades Comuns das 8ees do Relatrio BackColor: Especifica a cor de fundo da seo do relatrio. O efeito desta propriedade s ser visvel se a propriedade BackStyle estiver habilitada para a opo 1- ddBKNormal. O valor padro branco (RGB (255, 255, 255)). BackStyle: Especifica o estilo de fundo da seo do relatrio. As opes disponveis para esta propriedade so as seguintes: 0- ddBKTransparent: fundo transparente e 1- ddBKNormal: fundo normal. CanGrow: Determina a aplicao de stretch ao texto da pgina do relatrio. Caso a largura ou altura da pgina sejam aumentados, o texto acompanha esta variao. Se a propriedade estiver configurada para True, o texto acompanha as variaes de altura e largura do objeto. Caso contrrio, este permanece com as configuraes iniciais. O valor padro desta propriedade True. CanShrink: Determina a aplicao do efeito de encolhimento ao texto da pgina do relatrio. Caso a largura ou altura da pgina sejam diminudos, o texto acompanha esta variao. Se a propriedade estiver configurada para True, o texto acompanha as variaes de altura e largura do objeto. Caso contrrio, este permanece com as configuraes iniciais. O valor padro desta propriedade True. height: Determina a altura da seo da pgina do relatrio. O valor padro desta propriedade 360. IsRepeating: Determina a repetio da seo na ltima pgina do relatrio. Se a propriedade estiver configurada para True, a seo ser repetida na ltima pgina. Caso contrrio, no haver esta repetio. Name: Indica o nome da seo do relatrio. E3 - Scripts - Manual de Referncia Propriedades 371 Type: Retorna o tipo da seo. As opes disponveis so: Opes disponveis para Type OPO DESCRIO 0- ReportHeader Seo tipo ReportHeader (cabealho de relatrio). 1- ReportFooter Seo tipo ReportFooter (rodap de relatrio). 2- PageHeader Seo tipo PageHeader (cabealho de pgina). 3- PageFooter Seo tipo PageFooter (rodap de pgina). 4- GroupHeader Seo tipo GroupHeader (cabealho de grupo). 5- GroupFooter Seo tipo GroupFooter (rodap de grupo). 6- Detail Seo tipo Detail (rea para contedo do relatrio). Visible: Habilita/desabilita a visibilidade da seo no relatrio. Se a propriedade estiver configurada para True, a seo visvel no relatrio. Caso contrrio, no visvel. O valor padro desta propriedade True. 6.24.3. Propriedades do GroupHeader ColumnLayout: Determina se o GroupHeader ir utilizar o mesmo layout das colunas configuradas na seo Detail. Se a propriedade estiver configurada para True, o nmero de colunas na seo Detail ser o mesmo do GroupHeader ou GroupFooter associados. Caso contrrio, ele permanece com as configuraes padro. DataField: Retorna os dados dos campos do relatrio. Define um campo obrigatrio para um grupo dentro do contedo da seo Detail. Este valor ajustado ao nome de todos os campos na fonte de dados do relatrio ou ao nome de um campo customizado que est inserido na coleo de campos. Quando esta propriedade ajustada, o relatrio cria um grupo novo cada vez que o valor do campo muda nos registros de dados do detalhe. E3 - Scripts - Manual de Referncia 372 Propriedades GrpKeepTogether: Determina se a seo GroupHeader ser impressa como um bloco nico na mesma pgina do relatrio. As opes disponveis so as seguintes: Opes disponveis para GrpKeepTogether OPO DESCRIO 0- GrpNone A pgina pode ser quebrada imediatamente depois de um GroupHeader. 1- GrpFirstDetails O GroupHeader ser impresso com a primeira seo Detail da mesma pgina ou coluna do relatrio. 2- GrpAll O GroupHeader, Detail e Footer de grupo sero impressos juntos na mesma pgina do relatrio.
O valor padro desta propriedade 0- GrpNone. KeepTogether: Determina se as sees do relatrio sero impressas como um nico bloco, na mesma pgina. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para KeepTogether OPO DESCRIO 0 - ddGrpNone H uma quebra de pgina depois do relatrio. 1- ddGrpFirstDetail O relatrio imprimir a seo Detail na mesma pgina ou coluna.
NewColumn: Insere uma nova quebra de coluna antes ou depois da impresso da seo no relatrio. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para NewColumn OPO DESCRIO 0- ddNPNone No h quebra de pgina na seo. 1- ddNBefore Inicia a impresso da seo em uma nova pgina. 2- ddNPAfter Inicia uma nova pgina depois de imprimir a seo. 3- ddNPBeforeAfter Inicia a impresso em uma nova pgina e uma nova pgina depois de imprimir a seo. E3 - Scripts - Manual de Referncia Propriedades 373 NewPage: Insere uma quebra de pgina no relatrio. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para NewPage OPO DESCRIO 0- ddNPNone No h quebra de pgina na seo (padro) 1- ddNBefore Inicia a impresso numa nova pgina. 2- ddNPAfter Inicia uma nova pgina depois da impresso da seo. 3- ddNPBeforeAfter Inicia a impresso numa nova pgina e inicia uma nova pgina depois de imprimir a seo. Repeat: Determina se o GroupHeader ser impresso novamente depois de ser associado seo Detail quando h mltiplas pginas, colunas ou quebras de pginas no relatrio. As opes disponveis so as seguintes: Opes disponveis para Repeat OPO DESCRIO 0- ddRepeatNone No h reimpresso do grupo de cabealho (padro) 1- ddRepeatOnPage Imprime o grupo de cabealhos no topo da pgina conforme as especificaes da seo Detail. 2- ddRepeatOnColumn Imprime o grupo de cabealhos no topo da coluna da pgina do relatrio conforme as especificaes da seo Detail. 3- ddRepeatAll Imprime o grupo de cabealhos e os demais objetos no topo da pgina do relatrio conforme as especificaes da seo Detail.I UnderlayNext: Determina se a seo deve imprimir uma seo depois da outra, consecutivamente. Se a propriedade estiver configurada para True, a seo seguinte comear a impresso a partir da coordenada superior da seo na pgina do relatrio. Caso contrrio, este recurso no utilizado. O valor padro desta propriedade False. 6.24.4. Propriedades do Detail ColumnCount: Determina o nmero de colunas na seo Detail do relatrio. A largura de cada coluna deve ser igual a rea imprimvel do relatrio, dividida pelo nmero de colunas. O valor padro desta propriedade 1. ColumnDirection: A propriedade CollumnDirection determina a direo da impresso das colunas da seo Detail. As opes disponveis so as seguintes: E3 - Scripts - Manual de Referncia 374 Propriedades Opes disponveis para ColumnDirection OPO DESCRIO 0- ddCDDownAcross Imprime cada coluna da seo Detail de cima para baixo e depois passa para a prxima coluna a direita. 1- ddCDAcrossDown Imprime cada coluna da seo Detail da direita para a esquerda e assim por diante.
Layout determinado conforme a opo configurada:
ColumnSpacing: Determina o espaamento da coluna na seo Detail. O valor padro desta propriedade 0. KeepTogether: Determina se as sees do relatrio sero impressas como um nico bloco, na mesma pgina. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para KeepTogether OPO DESCRIO 0 - ddGrpNone H uma quebra de pgina depois do relatrio. 1- ddGrpFirstDetail O relatrio imprimir a seo Detail na mesma pgina ou coluna.
NewColumn: Insere uma nova quebra de coluna antes ou depois da impresso da seo no relatrio. As opes disponveis para esta propriedade so as seguintes: E3 - Scripts - Manual de Referncia Propriedades 375 Opes disponveis para NewColumn OPO DESCRIO 0- ddNPNone No h quebra de pgina na seo. 1- ddNBefore Inicia a impresso da seo em uma nova pgina. 2- ddNPAfter Inicia uma nova pgina depois de imprimir a seo. 3- ddNPBeforeAfter Inicia a impresso em uma nova pgina e uma nova pgina depois de imprimir a seo. NewPage: Insere uma quebra de pgina no relatrio. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para NewPage OPO DESCRIO 0- ddNPNone No h quebra de pgina na seo. 1- ddNBefore Inicia a impresso numa nova pgina. 2- ddNPAfter Inicia uma nova pgina depois da impresso da seo. 3- ddNPBeforeAfter Inicia a impresso numa nova pgina e inicia uma nova pgina depois de imprimir a seo.
6.24.5. Propriedades do GroupFooter ColunmLayout: Determina se o GroupFooter ir utilizar o mesmo layout das colunas configuradas na seo Detail. Se a propriedade estiver configurada para True, o nmero de colunas na seo Detail ir refletir no GroupHeader ou Footer associados. Caso contrrio, permanece com as configuraes padro. O valor padro desta propriedade True. KeepTogether: Determina se as sees do relatrio sero impressas como um nico bloco, na mesma pgina. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para KeepTogether OPO DESCRIO 0 - ddGrpNone H uma quebra de pgina depois do relatrio. 1- ddGrpFirstDetail O relatrio imprimir a seo Detail na mesma pgina ou coluna.
E3 - Scripts - Manual de Referncia 376 Propriedades NewColumn: Insere uma nova quebra de coluna antes ou depois da impresso da seo no relatrio. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para NewColumn OPO DESCRIO 0- ddNPNone No h quebra de pgina na seo. 1- ddNBefore Inicia a impresso da seo em uma nova pgina. 2- ddNPAfter Inicia uma nova pgina depois de imprimir a seo. 3- ddNPBeforeAfter Inicia a impresso em uma nova pgina e uma nova pgina depois de imprimir a seo. NewPage: Insere uma quebra de pgina no relatrio. As opes disponveis para esta propriedade so as seguintes: Opes disponveis para NewPage OPO DESCRIO 0- ddNPNone No h quebra de pgina na seo (padro). 1- ddNBefore Inicia a impresso numa nova pgina. 2- ddNPAfter Inicia uma nova pgina depois da impresso da seo. 3- ddNPBeforeAfter Inicia a impresso numa nova pgina e inicia uma nova pgina depois de imprimir a seo.
PrintAtBottom: Determina se o GroupFooter ou o ReportFooter sero impressos no fundo da pgina. Se a propriedade estiver configurada para True e o relatrio conter um PageFooter, o GroupFooter e o ReportFooter do relatrio sero impressos acima da seo PageFooter. Configurando mais de uma seo para imprimir o fundo do relatrio, far com que as sees seguintes do rodap sejam impressas em pginas separadas. 6.24.6. Propriedades Comuns dos Ob]etos do Relatrio BackColor: Especifica a cor de fundo do objeto no relatrio. O efeito desta propriedade s ser visvel se a propriedade BackStyle estiver habilitada para a opo 1- ddBKNormal. O valor padro desta propriedade branco (RGB 255, 255, 255). NOTA: esta propriedade no vlida para os objetos Linha e Quebra de Pgina. BackStyle: Especifica o estilo do fundo dos objetos do relatrio. As opes disponveis para esta propriedade so as seguintes: 0- ddBKTransparent: E3 - Scripts - Manual de Referncia Propriedades 377 transparente (mostra a cor definida pela propriedade BackColor da seo); e 1- ddBKNormal: normal (mostra a cor definida pela propriedade BackColor do objeto). O valor padro 0- ddBKTransparent. NOTA: esta propriedade no vlida para os objetos Linha, Cdigo de Barras, Quebra de Pgina e Tabela. height: Esta propriedade determina a altura do objeto no relatrio. NOTA: esta propriedade no vlida para os objetos Linha e Quebra de Pgina. left: Retorna o valor do posicionamento esquerdo do objeto no relatrio. NOTA: esta propriedade no vlida para os objetos Linha e Quebra de Pgina. Name: Determina o nome do objeto. O valor padro desta propriedade vazio. Tag: Retorna o tipo do tag associado ao objeto, isto , booleano, string, integer, etc. Top: Retorna o valor do topo do objeto. NOTA: esta propriedade no vlida para o objeto Linha. Visible: Determina a visibilidade do objeto no relatrio. Se a opo estiver configurada para True, o objeto visvel no relatrio. Caso contrrio, o objeto est oculto. O valor padro desta propriedade True. NOTA: esta propriedade no vlida para o objeto Quebra de Pgina. Width: Esta propriedade determina a largura do objeto no relatrio. NOTA: esta propriedade no vlida para os objetos Linha e Quebra de Pgina. E3 - Scripts - Manual de Referncia 378 Propriedades 6.24.7. Propriedades do Cdigo de Barras {BarCode} Alignment: Determina o alinhamento do texto do objeto no relatrio. As opes disponveis so as seguintes: 0- ddtxLeft: alinha o texto esquerda do objeto; 1- ddtxRight: alinha o texto direita do objeto; e 2- ddtxCenter: alinha o texto ao centro do objeto. BarWidth: Determina a largura das barras do Cdigo de Barras. Configurando a lagura para 1, a barra do objeto expandida em at 15 pontos, e assim por diante. Quanto maior o nmero configurado na propriedade, maior a largura da barra do cdigo de barras. O valor padro desta propriedade 1. Caption: Contm o texto do objeto propriamente dito. O valor padro desta propriedade vazio. CaptionPosition: Especifica a posio do texto da propriedade Caption no objeto. As opes disponveis para esta propriedade so as seguintes: 0- ddbcCaptionNone: o texto da propriedade Caption no aparece no cdigo de barras; 1- ddbcCaptionAbove: o texto da propriedade Caption aparece acima do cdigo de barras; e 2- ddbcCaptionBelow: o texto da propriedade Caption aparece abaixo do cdigo de barras. O valor padro desta propriedade 0- ddbcCaptionNone. DataField: Configura ou retorna o dado associado ao objeto. Este dado associado pode ser: um campo da tabela(s) no Banco de Dados fornecido pelo objeto Consulta; uma expresso matemtica com campos da Consulta e funes do VBScript (neste caso, o campo deve ser precedido do smbolo de igual =); ou um tag/propriedade do E3. No caso o valor atual da varivel ser mostrado ao realizar a impresso. O valor padro desta propriedade vazio. NOTA: O servidor deve estar sendo executado para que o valor da varivel possa ser capturado. E3 - Scripts - Manual de Referncia Propriedades 379 Direction: Determina a orientao espacial dos cdigos de barra. As opes disponveis nesta propriedade so as seguintes: Opes disponveis para Direction OPO DESCRIO 0- ddbcLeftToRight O cdigo de barras direcionado da esquerda para a direita. 1- ddbcRightToLeft O cdigo de barras direcionado da direita para a esquerda. 2- ddbcTopToBottom O cdigo de barras direcionado de baixo para cima. 3-ddbcBottomToTop O cdigo de barras direcionado de cima para baixo.
O valor padro desta propriedade 0- ddbcLefttoRight. EnableCheckSum: Habilita/desabilita a leitura do valor de CheckSum (Caractere de objeto do cdigo de barras). Se a propriedade estiver habilitada para False, somente cdigos com CheckSum sero afetados. Font: Determina a fonte do objeto no texto estabelecido pela propriedade Caption. O valor padro desta propriedade Arial. NOTA: Esta propriedade no usada em script e/ou associaes, sendo editada somente via E3 Studio. Forecolor: Especifica a cor de preenchimento de frente do objeto. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade preto (RGB(0, 0, 0)). E3 - Scripts - Manual de Referncia 380 Propriedades Style: Determina o estilo do cdigo de barras. As opes disponveis so as seguintes: Opes disponveis para Style OPO DESCRIO 0- ddbcNone Estilo de cdigo de barras padro. 1- ddbcAnsi39 Estilo de cdigo de barras ANSI 3 de 9 (Cdigo 39). Utilize letras, nmeros, -,*, $, /, +, %, etc. 2- ddbcAnsi39x Estilo de cdigo de barras ANSI estendido 3 de 9 (Cdigo estendido 39). Utilize caracteres completos ASCII. 3- ddbcCode_2_of_5 Estilo de cdigo de barras 2 de 5. Utilize somente nmeros. 4- ddbcCode25intlv Estilo de cdigo de barras intercalado 2 de 5. Utilize somente nmeros. 5- ddbcCode25mat Estilo de cdigo de barras Matriz 25. 6- ddbcCode39 Estilo de cdigo de barras Cdigo 39, utilize letras, nmeros, -,*, $, /, +, %, etc. 7- ddbcCode39x Estilo de cdigo de barras Cdigo 39 estendido. Utilize caracteres completos ASCII. 8- ddbcCode_128_a Estilo de cdigo de barras 128 A. Utilize nmeros, pontuaes, ou letras. 9- ddbcCode_128_b Estilo de cdigo de barras 128 B. Utilize strings, nmeros, pontuaes, ou letras. 10- ddbcCode_128_c Estilo de cdigo de barras 128 C. Utilize somente nmeros. 11- ddbcCode_128auto Estilo de cdigo de barras 128 Automtico. Utilize caracteres completos ASCII. Seleciona automaticamente cdigos entre 128 A, B e C para setar ao cdigo de barras, o valor menor. 12- ddbcCode_93 Estilo de cdigo de barras Cdigo 93. Utilize letras, nmeros, -,*,$, /,+,%, etc. 13- ddbcCode_93x Estilo de cdigo de barras Cdigo 93 estendido. Utilize caracteres completos ASCII. 14- ddbcMSI Estilo de cdigo de barras Cdigo MSI. Utilize somente nmeros. 15- ddbcPostNet Estilo de cdigo de barras PostNet. Utilize somente nmeros com uma verificao digital. 16- ddbcCodabar Estilo de cdigo de barras. Utilize A, B, C, D, +, -, :, /, ou nmeros. 17- ddbcEAN_8 Estilo de cdigo de barras EAN-8. Utilize somente nmeros (7 nmeros e verificao digital). 18- ddbcEAN_13 Estilo de cdigo de barras EAN-13. Utilize somente nmeros (12 nmeros e verificao digital). 19- ddbcUPC_A Estilo de cdigo de barras UPC-A. Utilize somente nmeros (11 nmeros e verificao digital). E3 - Scripts - Manual de Referncia Propriedades 381 20- ddbcUPC_EO Estilo de cdigo de barras UPC-E1. Utilize somente nmeros. Usado para smbolos de compresso-zero UPC. Na propriedade Caption, voc pode entrar com 6 dgitos do cdigo UPC-E ou com 11 dgitos. Se um cdigo com 11 dgitos inserido, o cdigo de barras converte para 6 dgitos UPC-E, se possvel. Seno, converte-se de 11 para 6 dgitos UPC-E e nada mostrado. 21- ddbcUPC_E1 Estilo de cdigo de barras UPC-E1. Utilize somente nmeros. A largura da entrada de dados do U.P.C E1 6 caracteres numricos. 22- ddbcRM4SCC Estilo de cdigo de barras Royal Mail RM4SCC. Utilize somente letras e nmeros (com verificao digital). Este cdigo de barras utilizado no Reino Unido. 23- ddbcUCCEAN128 Estilo de cdigo de barras UCC/EAN_128. Utilize caracteres completos ASCII. A verso especial do cdigo 128 usado na aplicao HIBC.
6.24.8. Propriedades da Elipse, Retngulo e Retngulo Arredondado LineColor: Especifica a cor da linha do objeto. O valor padro desta propriedade preto (RGB 0,0,0). LineStyle: Determina o estilo da linha do objeto. As opes disponveis desta propriedade so as seguintes: Opes disponveis para LineStyle OPO DESCRIO 0- ddLSTransparent A linha do objeto fica transparente. 1- ddLSSolid A linha do objeto aparece slida. 2- ddLSDash A linha do objeto fica tracejada. 3- ddLSDot A linha do objeto fica pontilhada. 4- ddLSDashDot A linha do objeto fica tracejada. 5- ddLSDashDotDot A linha do objeto fica pontilhada, tracejada e pontilhada.
O valor padro desta propriedade 1- ddLSSolid. LineWeight: Especifica a largura da linha do objeto. Configurando a lagura para 1, a linha do objeto expandida em at 15 ponto, se for 2, a linha expandida em E3 - Scripts - Manual de Referncia 382 Propriedades at 30 pontos e assim por diante. Quanto maior o nmero configurado na propriedade, maior a largura do objeto. O valor padro desta propriedade 1. Shape: Permite alterar a forma do objeto. As opes disponveis so as seguintes: Opes disponveis para Shape OPO DESCRIO 0- ddSHRectangle Formato Retangular. 1- ddSHEllipse Formato Eliptico ou Circular. 2- ddSHRoundRect Formato de Retngulo Arredondado. 6.24.9. Propriedade da Figura DataField: Configura ou retorna o dado associado ao objeto. Este dado associado pode ser: um campo da tabela(s) no Banco de Dados fornecido pelo objeto Consulta; uma expresso matemtica com campos da Consulta e funes do VBScript (neste caso, o campo deve ser precedido do smbolo de igual =); ou um tag/propriedade do E3. No caso o valor atual da varivel ser mostrado ao realizar a impresso. O valor padro desta propriedade vazio. NOTA: O servidor deve estar sendo executado para que o valor da varivel possa ser capturado. ForeColor: Especifica a cor do preenchimento do fundo do objeto. Nos scripts, utilize a funo do VBScript RGB para formar a cor a ser associada a esta propriedade. O valor padro desta propriedade preto (RGB(0, 0, 0)). hyperLink: Especifica o link atribudo ao texto. Para utilizar este recurso, use o evento hyperLink. O valor padro desta propriedade vazio. LineColor: Especifica a cor da linha do objeto. O valor padro desta propriedade preto (RGB 0,0,0). E3 - Scripts - Manual de Referncia Propriedades 383 LineStyle: Determina o estilo da linha do objeto. As opes disponveis desta propriedade so as seguintes: Opes disponveis para LineStyle OPO DESCRIO 0- ddLSTransparent A linha fica transparente no objeto. 1- ddLSSolid A linha aparece slida no objeto. 2- ddLSDash A linha fica tracejada no objeto. 3- ddLSDot A linha fica pontilhada no objeto. 4- ddLSDashDot A linha fica tracejada e pontilhada no objeto. 5- ddLSDashDotDot A linha fica pontilhada, tracejada e pontilhada no objeto.
O valor padro desta propriedade 1- ddLSSolid. LineWeight: Especifica a largura da linha do objeto. Configurando a lagura para 1, a linha do objeto expandida em at 15 ponto, e assim por diante. Quanto maior o nmero configurado na propriedade, maior a largura do objeto. O valor padro desta propriedade 1. Picture: Especifica o arquivo de figura para o objeto. As extenses permitidas so: bmp, gif, jpg cur, ico, emf e wmf. O valor padro desta propriedade vazio. PictureAlignment: Determina o alinhamento da figura no objeto. As opes disponveis so as seguintes: Opes disponveis para PictureAlignment OPO DESCRIO 0- ddPATopLeft Alinha a figura no topo esquerdo do objeto. 1- ddPATopRight Alinha a figura no topo direito do objeto 2- ddPACenter Alinha a figura no centro do objeto. 3- ddPABottomLeft Alinha a figura esquerda do objeto 4- ddPABottomRight Alinha a figura direita do objeto.
O valor padro desta propriedade 2- ddPACenter. SizeMode: Especifica o tamanho do objeto. As opes disponveis so as seguintes: E3 - Scripts - Manual de Referncia 384 Propriedades Opes disponveis para SizeMode OPO DESCRIO 0- ddsMClip Mostra o objeto no seu tamanho atual. 1- ddsMStretch Ajusta o objeto de acordo com a sua rea. 2- ddsMZoom Ajusta a altura ou a largura da imagem do objeto dentro da rea especificada, sem distorc-la. 6.24.10. Propriedades do 8etPoint Alignment: Determina o alinhamento do texto no objeto. As opes disponveis para esta propriedade so: 0-Left = alinhamento esquerda (padro); 1-Right = alinhamento direita e 2-Center = alinhamento centralizado. CanGrow: Determina a aplicao de stretch ao texto do objeto. Caso a largura ou altura do objeto sejam aumentados, o texto acompanha esta variao. Se a propriedade estiver configurada para True, o texto acompanha as variaes de altura e largura do objeto. Caso contrrio, este permanece com as configuraes iniciais. O valor padro desta propriedade True. CanShrink: Determina a aplicao do efeito de encolhimento ao texto do objeto. Caso a largura ou altura do objeto sejam diminudos, o texto acompanha esta variao. Se a propriedade estiver configurada para True, o texto acompanha as variaes de altura e largura do objeto. Caso contrrio, este permanece com as configuraes iniciais. O valor padro desta propriedade True. ClassName: Retorna a classe do objeto. Esta propriedade somente de leitura. DataField: Configura ou retorna o dado associado ao objeto. Este dado associado pode ser: um campo da tabela(s) no Banco de Dados fornecido pelo objeto Consulta; uma expresso matemtica com campos da Consulta e funes do VBScript (neste caso, o campo deve ser precedido do smbolo de igual =); ou um tag/propriedade do E3. No caso o valor atual da varivel ser mostrado ao realizar a impresso. O valor padro desta propriedade vazio. NOTA: O servidor deve estar sendo executado para que o valor da varivel possa ser capturado. Font: Esta propriedade determina a fonte do texto no objeto. O valor padro desta propriedade vazio. Esta propriedade no pode ser utilizada em scripts e/ou associaes e configurada somente via Studio. E3 - Scripts - Manual de Referncia Propriedades 385 ForeColor: A propriedade ForeColor especifica a cor de fundo do objeto. Nos scripts, utilize a funo do VBScript RGB para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade preto (RGB(0, 0, 0)). hyperLink: A propriedade hyperLink determina o link que ser atribudo ao texto. Para utilizar este recurso, use o evento hyperLink. Multiline: A propriedade Multiline indica se o texto ter mltiplas linhas (True) ou ser uma caixa de texto simples (False). Isto pode ser visualizado quando o objeto Viewer est em execuo. O valor padro desta propriedade False. OutputFormat: Configura ou retorna a formatao do texto da propriedade Text, utilizado nas configuraes da funo Format do Visual Basic. Style: Retorna o estilo do texto configurado no objeto. Esta propriedade somente de leitura. SummaryDistinctField: Determina o nome do campo que ser usado pela funo selecionada na propriedade SummaryFunc. Esta propriedade s vlida se a funo definida em SummaryFunc for do grupo de funes Distinct Summary, o qual abrange as funes de nmero 9 at 15, e quando a propriedade SummaryType tem valor diferente de 0. SummaryFunc: Determina o tipo de funo que ser usada para processar os valores do campo especificado na propriedade DataField, como listado na tabela a seguir. Esta propriedade s vlida quando a propriedade SummaryType tem valor diferente de 0. E3 - Scripts - Manual de Referncia 386 Propriedades Opes disponveis para SummaryFunc OPO DESCRIO 0- Sum Calcula a soma de todos os valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 1- Avg Calcula a mdia de todos os valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 2- Count Conta o nmero de valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 3- Nin Mostra o menor valor (valor mnimo) dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). +- Nax Mostra o maior valor (valor mximo) dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 5- var Calcula a varincia dos valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 6- varP Calcula a varincia populacional dos valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 7- Dev Calcula o desvio padro dos valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 8- DevP Calcula o desvio padro populacional dos valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 9- DSum Calcula a soma de todos os valores distintos dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 10- DAvg Calcula a mdia baseada nos valores distintos dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 11- DCount Conta o nmero dos valores distintos dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 12- Dvar Calcula a varincia dos valores distintos dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 13- DvarP Calcula a varincia populacional dos valores distintos dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 1+- DDev Calcula o desvio padro dos valores dentro do intervalo de totais especificado (grupo ou pgina ou relatrio). 15- DDevP Calcula o desvio padro populacional dos valores distintos dentro do intervalo de totais especificado (grupo ou pgina ou relatrio).
SummaryGroup: Esta propriedade s vlida quando a propriedade SummaryType for igual a 3-SubTotal. SummaryGroup indica qual o nome da seo GroupHeader que ser usada para controlar os subtotais, ou seja, a cada mudana de valor no GroupHeader, o somatrio reiniciado. NOTA: Quando esta propriedade utilizada, as propriedades CanShrink e CanGrow ficam desabilitadas. SummaryRunning: Determina se ser feito o total de somatrios acumulados, de acordo com as opes: 0-None = no faz o total; 1-Group = calcula os totais acumulados para cada intervalo de totais especificado; 2-All = calcula o total E3 - Scripts - Manual de Referncia Propriedades 387 acumulado para todos os valores do relatrio, independente do agrupamento. Esta propriedade s vlida quando a propriedade SummaryType tem valor diferente de 0. SummaryType: Determina o tipo ou nvel de totalizao a ser gerada. As opes disponveis so as seguintes: Opes disponveis para SummaryType OPO DESCRIO 0- None Sem gerao de somatrio. 1- GrandTotal Especifica que ser totalizado todo o contedo do relatrio. 2- PageTotal Especifica que ser gerado um subtotal por pgina. 3- SubTotal Especifica que ser gerado um subtotal por cada grupo, definido na propriedade SummaryGroup. +- PageCount Especifica o contador de pgina.
Text: Determina o texto que ser atribudo ao objeto. VerticalAlignment: Determina o alinhamento vertical do objeto, a saber: 0-Top = alinhamento pelo topo; 1-Niddle = alinhamento ao centro; 2-Bottom = alinhamento pela base. WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. Se for False, a configurao white-space:nowrap ir aparecer na propriedade Style. 6.24.11. Propriedades do Texto Alignment: A propriedade Alignment determina o alinhamento do texto, a saber: 0-ddtxLeft = alinhamento esquerda; 1-ddtxRight = alinhamento direita e 2-ddtxCenter = alinhamento centralizado (valor padro). Angle: A propriedade Angle indica o ngulo do texto. O valor da propriedade deve ser especificado em dcimos de graus, ou seja, para que o texto seja mostrado em um ngulo de 45 graus, o valor deve ser igual 450. O valor padro desta propriedade 0 (posicionamento horizontal). Caption: A propriedade Caption contm o texto do objeto propriamente dito. O valor padro desta propriedade vazio. E3 - Scripts - Manual de Referncia 388 Propriedades ClassName: A propriedade ClassName permite especificar uma classe CSS global (indicada em uma folha de estilos CSS externa) a ser aplicada ao texto. Uma classe CSS um padro de formatao que determina tipo e tamanho de letra ou alinhamento e espaamento do pargrafo, entre outras caractersticas. Atravs de CSS, podemos aplicar um padro de formatao pr-definido a um texto, agilizando e unificando a apresentao dos textos. Para aplicar um estilo especfico pode-se utilizar a propriedade Style. O valor padro dessa propriedade o estilo Normal. Font: Esta propriedade indica o nome da fonte (tipo das letras) do texto. O valor padro desta propriedade vazio (o E3 vai usar o padro do sistema). NOTA: Esta propriedade no pode ser utilizada em scripts e/ou associaes e configurada somente via Studio.; s pode ser modificada em tempo de configurao. Forecolor: A propriedade Forecolor especifica a cor de preenchimento do fundo do objeto. Nos scripts, utilize a funo RGB() do VBScript para montar a cor a ser associada a esta propriedade. O valor padro desta propriedade preto (RGB (0,0,0)). hyperLink: A propriedade hyperLink determina um link que ser atribudo ao objeto. Para utilizar este recurso, use o evento hyperLink. O valor padro desta propriedade vazio. Multiline: A propriedade Multiline indica se o texto ter mltiplas linhas (True) ou ser uma caixa de texto simples (False). Isto pode ser visualizado quando o objeto Viewer est em execuo. O valor padro desta propriedade False. Style: A propriedade Style permite especificar um estilo CSS para o texto, em substituio ao estilo global. O valor da propriedade deve ser um string CSS vlido, caso contrrio a propriedade ser ignorada. O valor default desta propriedade vazio (o E3 vai usar o padro do sistema). Exemplo: Sub Report1_OnBeforePrint Label1.Style = "font-family: Times; font-weight: bold;_ text-align: center; color: rgb(255,255,0)" End Sub VerticalAlignment: A propriedade VerticalAlignment determina o alinhamento vertical do texto, a saber: 0-ddTxTop = alinhamento pelo topo (default); 1-ddTxNiddle = alinhamento centralizado; 2-ddTxBottom = alinhamento pela base. E3 - Scripts - Manual de Referncia Propriedades 389 WordWrap: Habilita/desabilita uma quebra de linha no texto, caso a rea disponvel para o texto ultrapasse os limites determinados no objeto. Para que esta propriedade funcione, a propriedade Multiline deve ser obrigatoriamente igual a True. 6.24.12. Propriedades da Linha LineColor: A propriedade LineColor especifica a cor da linha do objeto O valor padro desta propriedade preto (RGB 0,0,0). LineStyle: Esta propriedade determina o estilo da linha do objeto. O valor padro desta propriedade 1- ddLSSolid. As outras opes disponveis desta propriedade so as seguintes: Opes disponveis para LineStyle OPO DESCRIO 0- ddLSTransparent A linha fica transparente no objeto. 1- ddLSSolid A linha aparece slida no objeto. 2- ddLSDash A linha fica tracejada no objeto. 3- ddLSDot A linha fica pontilhada no objeto. 4- ddLSDashDot A linha fica tracejada e pontilhada no objeto. 5- ddLSDashDotDot A linha fica pontilhada, tracejada e pontilhada no objeto.
LineWeight: A propriedade LineWeight especifica a largura da linha do objeto. Configurando a lagura para 1, a linha do objeto expandida em at 15 ponto, se a largura for 2, a linha do objeto expandida em at 30 pontos e assim por diante. Quanto maior o nmero configurado na propriedade, maior a largura do objeto. O valor padro desta propriedade 1. X1: A propriedade X1 habilita/desabilita a posio do ponto inicial da linha no eixo X. X2: A propriedade X2 determina a posio do ponto final da linha no eixo X. O valor padro desta propriedade vazio. Y1: A propriedade Y1 determina a posio do ponto inicial da linha no eixo Y. O valor padro desta propriedade vazio. E3 - Scripts - Manual de Referncia 390 Propriedades Y2: A propriedade Y2 determina a posio do ponto final da linha no eixo Y. O valor padro desta propriedade vazio. 6.24.13. Propriedade da Ouebra de Pagina Enabled: A propriedade Enabled habilita/desabilita o objeto no relatrio. Se a opo estiver configurada para True, o objeto habilitado no relatrio. Caso contrrio, o objeto fica desabilitado. O valor padro desta propriedade True. 6.24.14. Propriedades da Tabela CanGrow: Determina a aplicao de stretch ao texto do objeto. Caso a largura ou altura do objeto sejam aumentados, o texto acompanha esta variao. Se a propriedade estiver configurada para True, o texto acompanha as variaes de altura e largura do objeto. Caso contrrio, este permanece com as configuraes iniciais. O valor padro desta propriedade True. CanShrink: Determina a aplicao do efeito de encolhimento ao texto do objeto. Caso a largura ou altura do objeto sejam diminudos, o texto acompanha esta variao. Se a propriedade estiver configurada para True, o texto acompanha as variaes de altura e largura do objeto. Caso contrrio, este permanece com as configuraes iniciais. O valor padro desta propriedade True. CloseBorder: Esta propriedade habilita/desabilita a visualizao da linha da borda da base da tabela, caso a mesma ultrapasse mais de uma pgina no relatrio. left: A propriedade Left retorna o valor do posicionamento esquerdo do objeto no relatrio. O valor padro desta propriedade vazio. E3 - Scripts - Manual de Referncia Propriedades 391 6.24.15. Propriedades do E3Chart Exemplo de utilizao das propriedades do E3Chart em um relatrio Os scripts abaixo devem ser criados na seo PageHeader do relatrio, utilizando o evento OnBeforePrint. Exemplos: Sub OnBeforePrint 'Usando um E3Chart em um relatrio Set chart =_ Report.Sections("PageHeader").Controls("E3Chart1") chart.LoadData() chart.FitAll End Sub
Sub OnBeforePrint 'Este script faz a cpia das configuraes do objeto 'E3Chart "chartfrom" para o E3Chart "chart" 'que ser utilizado no relatrio Set chartfrom =_ Application.GetFrame().Screen.Item("E3Chart1") Set chart =_ Report.Sections("PageHeader").Controls("E3Chart2") chart.CopyConfig(chartfrom) chart.LoadData() chart.FitAll End Sub NOTA: A descrio das propriedades do E3Chart no relatrio so as mesmas explicadas no tpico Propriedades do E3Chart.
Dvidas mais freqentes 393
Como fazer para que uma Tela janelada mostre a barra de ttulo com botes de minimizar, maximizar e fechar? Para isto, deve-se utilizar o mtodo SetFrameOptions() do Divisor. O parmetro !flags especifica caractersticas da janela. O valor 127 define uma janela com os botes [Ninimizar], [Naximizar] e [Fechar] visveis.
Como abrir uma Tela modal? Para abrir uma Tela modal, utilize o mtodo DoModal() do Viewer. Por exemplo: Application.DoModal "Tela1","Ttulo1",0,0,400,200,0 abre uma Tela de nome Tela1, com o ttulo Ttulo1, na posio 0,0, com 400 pixels de largura e 200 pixels de altura, e passa o valor 0 como parmetro para a Tela.
Como fao para copiar valores de uma linha do E3Browser para um tag? Primeiro, selecione a linha (ou registro) desejada no E3Browser. Depois, utilize o mtodo GetColumnValue() do E3Browser. O parmetro !ndexCampo o ndice da coluna a ser copiada (iniciando em 0).
Como impedir que o usurio digite um string num SetPoint? Verifique se o valor digitado numrico no evento Validate. Por exemplo: Sub Text1_Validate(Cancel, NewValue) if not IsNumeric(newValue) then MsgBox "The value must be numeric." Cancel = true end if End Sub Como abrir um calendrio para selecionar uma data e hora ao clicar num SetPoint? Usando o mtodo ShowDatePicker() no evento Click do SetPoint. Capitulo 7 7. Dvidas mais freqentes E3 - Scripts - Manual de Referncia 394 Dvidas mais freqentes Por exemplo: Sub Text1_Click() dim datevalue if Application.ShowDatePicker(datevalue) then Value = datevalue end if End Sub Como reconhecer todos os alarmes de uma rea? Para reconhecer todos os alarmes de uma rea por script, possvel utilizar o mtodo Application.GetObject(ServidorAlarmes1).AckArea(area, user), onde: Area o nome da rea de alarmes da qual se quer reconhecer o alarme; User o nome do operador logado, que pode ser o item Application.User. Para reconhecer todos os alarmes ativos, possvel utilizar o mtodo Application.GetObject(ServidorAlarmes1).AckAllAlarms(user).
Como executar uma ao ao clicar numa tecla especfica do mouse ou do teclado? Usando os eventos KeyDown() ou KeyUp() da tela. Estes eventos so disparados quando uma tecla pressionada ou solta e retornam dois parmetros. Um o cdigo em ASCII da tecla que foi pressionada, o outro indica a condio das teclas [Shift| e [Control| no momento em que a tecla foi pressionada. A idia comparar o parmetro de retorno do evento com o cdigo em ASCII do caractere esperado.
Como criar um script WhileRunning? Criando um evento associado a alguma propriedade que tenha sempre o mesmo valor. Por exemplo, a propriedade Visible de um objeto de tela. Enquanto o objeto estiver visvel (Visible = True), o script ser executado. Porm recomendado evitar o uso de scripts WhileRunning, pois estes podem prejudicar a performance da aplicao. Na maioria dos casos, eles podem ser substitudos por associaes.
Como criar um script OnValueChanged? Criando um evento associado propriedade Value do tag, que seja executado quando a propriedade alterar o seu valor. E3 - Scripts - Manual de Referncia Apndice 395 NOTA: Ateno para no usar mtodos do Viewer no Server, por exemplo um MsgBox. Se for o caso, o evento pode ser criado na tela ou at no prprio objeto Viewer ao invs de ser criado no tag.
Como criar tags e objetos de tela durante execuo? Usando o mtodo AddObject(). Por exemplo, o script abaixo cria tags de comunicao no driver "Driver1". set obj = Application.GetObject("Driver1") for i = 1 to 100 set tag = obj.AddObject("IOTag", false) tag.Name = "IOTag"&CStr(i) tag.Activate next
Como mostrar uma mensagem na tela ao alterar o valor de um tag? Criando um evento na tela associado propriedade Value do tag, que seja executado quando a propriedade alterar o seu valor. Neste evento, utilize o mtodo MsgBox() para mostrar a mensagem. Como fazer uma consulta com filtro por data antes de montar um relatrio? Para fazer isto, necessrio configurar o objeto Consulta (ver captulo Consulta), que acompanha o relatrio, e criar as variveis necessrias na coluna Filtro. No evento de chamada de relatrio, use um script semelhante ao seguinte: Set relatorio = Application.LoadReport("[Relatrio1]") Set consulta = Relatorio.Query() Consulta.SetVariableValue "Variavel1", Valor1 Consulta.SetVariableValue "Variavel2", Valor2 Relatorio.PrintPreview() Onde: [Relatrio1| o nome do relatrio a ser chamado; variavel1, variavel2 so as variveis criadas no filtro do campo E3TimeStamp; valor1, valor2 so as datas a serem consultadas. Para verificar outros tipos de filtros, consulte o captulo Consultas ou a documentao disponvel no tpico de artigos do site da Elipse Software.
E3 - Scripts - Manual de Referncia 396 Dvidas mais freqentes Como depurar erros de scripts no servidor e no Viewer? Caso o evento seja executado no Viewer, utilize o mtodo MsgBox(). J se o evento for executado no servidor, utilize o mtodo Trace().