Dúvidas Mais Frequentes

<< Clique para Mostrar o Sumário >>

 

Dúvidas Mais Frequentes

Como abrir uma Tela janelada que mostre a barra de título com botões de minimizar, maximizar e fechar?

Para isto, deve-se utilizar o método SetFrameOptions do Divisor. O parâmetro Flags especifica características da janela. O valor 127 define uma janela com os botões Minimizar, Maximizar e Fechar visíveis.

 

Como abrir uma Tela modal?

Para abrir uma Tela modal, utilize o método DoModal do Viewer. Por exemplo:

Application.DoModal "Tela1", "Título1", 0, 0, 400, 200, 0, 1

 

Este código abre uma Tela de nome "Tela1", com o título "Título1", na posição (0, 0), com 400 pixels de largura e 200 pixels de altura, passa o valor 0 (zero) como parâmetro para a Tela e habilita a barra de título da janela.

 

Como copiar valores de uma linha do E3Browser para um Tag?

Primeiro, selecione a linha (ou o registro) desejada no E3Browser. Depois, utilize o método GetColumnValue do E3Browser. O parâmetro Index é o índice da coluna a ser copiada (iniciando em zero).

 

Como impedir que o usuário digite uma String em um SetPoint?

Verifique se o valor digitado é numérico no evento Validate. Por exemplo:

Sub Text1_Validate(Cancel, NewValue)
  If NOT IsNumeric(newValue) Then
    MsgBox "O valor deve ser numérico."
    Cancel = True
  End If
End Sub

 

Como abrir um calendário para selecionar data e hora ao clicar em um SetPoint?

Usando o método ShowDatePicker no evento Click do SetPoint. 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, é possível utilizar o método AckArea. Este método tem dois parâmetros, a saber:

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, pode-se utilizar o método AckAllAlarms.

 

Como executar uma ação ao clicar em um botão específico do mouse ou em uma tecla?

Usando os eventos KeyDown ou KeyUp da Tela. Estes eventos são disparados quando uma tecla é pressionada ou solta e retornam dois parâmetros. Um é o código da tecla que foi pressionada, e o outro indica a condição das teclas SHIFT e CTRL no momento em que a tecla foi pressionada. A ideia é comparar o parâmetro de retorno do evento com o código 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 visível (com a propriedade Visible igual a Verdadeiro), o script é executado. Porém, recomenda-se evitar o uso de scripts do tipo WhileRunning, pois podem prejudicar a performance da aplicação. Na maioria dos casos, eles podem ser substituídos por Associações.

 

Como criar um script OnValueChanged?

Criando um evento associado à propriedade Value de um Tag, e que seja executado quando a propriedade alterar o seu valor.

 

NOTA

Atenção para não usar métodos do Viewer no Servidor, como por exemplo o método MsgBox. Se for o caso, o evento pode ser criado na Tela ou até no próprio objeto Viewer, ao invés de ser criado no Tag.

 

Como criar Tags e objetos de Tela em tempo de execução?

Usando o método AddObject. Por exemplo, o script a seguir cria Tags de Comunicação 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, e que seja executado quando a propriedade alterar o seu valor. Neste evento, utilize o método MsgBox para mostrar a mensagem.

 

Como criar uma Consulta com filtro por data antes de montar um Relatório?

Para isto, é necessário configurar o objeto Consulta (veja o capítulo Consulta) que acompanha o Relatório e criar as variáveis necessárias na coluna Filtro. No evento de chamada de Relatório, use um script semelhante a este:

Set relatorio = Application.LoadReport("[Relatório1]")
Set consulta = Relatorio.Query()
Consulta.SetVariableValue "Variavel1", Valor1
Consulta.SetVariableValue "Variavel2", Valor2
Relatorio.PrintPreview()

 

Onde:

[Relatório1] é o nome do Relatório a ser chamado

Variavel1 e Variavel2 são as variáveis criadas no filtro do campo E3TimeStamp

Valor1 e Valor2 são as datas a serem consultadas

 

Para verificar outros tipos de filtros, consulte o capítulo Consulta ou a documentação disponível no Elipse Knowledgebase.

 

Como depurar erros de script no E3 Viewer e no servidor?

Caso o evento seja executado no E3 Viewer, utilize o método Trace do Viewer. Caso o evento seja executado no servidor, utilize o método Trace do servidor.

Esta página foi útil?