Acesso a atributos e funções de Componentes de Tela
Atributos de Componentes de Tela
Através de scripts é possível acessar diversos atributos de componentes de telas. Este acesso pode estar associado à leitura e/ou escrita do valor associado às propriedades. Estes atributos são apresentados nas tabelas seguintes.
Atributos Comuns
São apresentados neste item os atributos que são comuns à grande maioria dos componentes de tela.
Atributos Comuns |
|
|---|---|
Nome da Propriedade |
Descrição |
Visible |
Torna o componente visível ou não. |
Enabled |
Habilita ou não a interação com o componente. |
Top |
Distância em pixels do topo do componente ao topo da tela em que está contido. |
Left |
Distância em pixels da lateral esquerda do componente à lateral esquerda da tela em que está contido. |
Width |
Largura em pixels do componente. |
Height |
Altura em pixels do componente. |
Arguments |
Texto preenchido no IDE na propriedade Argumentos. |
ComboBox
ComboBox |
|
|---|---|
Propriedades Específicas |
Descrição |
Text |
Texto selecionado no combo |
ItemIndex |
Valor inteiro que indica a posição que está selecionada no componente. A primeira posição tem índice 0. O índice -1 significa que não há nenhuma seleção. Esta propriedade pode ser lida ou escrita. No caso de escrita da propriedade ItemIndex, fica a ressalva de que o Tag associado ao controle não será alterado (como ocorre quando a seleção é feita manualmente pelo usuário ao invés de usar esta API.) {HIScada Pro>=0.3.04} |
RefreshNow |
Atribuir 1 a esta propriedade para atualizar a lista interna com o conteúdo da lista de texto global associada a este componente. |
UpdatePending |
“via script”, a propriedade UpdatePending (booleano) indica se o valor do campo foi alterado significando que a atualização no respectivo Tag está pendente. |
SaveEdit |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, atribuir 1 grava os dados do Edit no Tag somente se houver alteração, atribuir 2 sempre grava os dados do Edit no Tag associado. |
CancelEdit |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, atribuir 1 cancela a edição somente se houver alteração, atribuir 2 sempre cancela a edição. |
CheckBox
Checkbox |
|
|---|---|
Propriedades Específicas |
Descrição |
Checked |
Booleano (true,false) que indica se o campo está marcado ou não. |
UpdatePending |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, a propriedade !UpdatePending (booleano) indica se o valor do campo foi alterado significando que a atualização no respectivo Tag está pendente. |
SaveEdit |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, atribuir 1 grava os dados do Edit no Tag somente se houver alteração, atribuir 2 sempre grava os dados do Edit no Tag associado. |
CancelEdit |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, atribuir 1 cancela a edição somente se houver alteração, atribuir 2 sempre cancela a edição. |
ListBox
ListBox |
|
|---|---|
Propriedades Específicas |
Descrição |
DisplayedValue |
Texto associado ao elemento da lista correntemente selecionado. Este atributo é somente para leitura. {HIscada Pro>=0.4.05} |
ItemIndex |
Valor inteiro que indica a posição que está selecionada no componente. A primeira posição tem índice 0. O índice -1 significa que não há nenhuma seleção. Esta propriedade pode ser lida ou escrita. No caso de escrita da propriedade !ItemIndex, fica a ressalva de que o Tag associado ao controle não será alterado (como ocorre quando a seleção é feita manualmente pelo usuário ao invés de usar esta API.) {HIscada Pro>=0.4.05} |
RefreshNow |
Atribuir 1 a esta propriedade para atualizar a lista interna com o conteúdo da lista de texto global associada a este componente. |
UpdatePending |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, a propriedade UpdatePending (booleano) indica se o valor do campo foi alterado significando que a atualização no respectivo Tag está pendente. |
SaveEdit |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, atribuir 1 grava os dados do Edit no Tag somente se houver alteração, atribuir 2 sempre grava os dados do Edit no Tag associado. |
CancelEdit |
Quando a propriedade “Mode de Edição” estiver configurada para “via script”, atribuir 1 cancela a edição somente se houver alteração, atribuir 2 sempre cancela a edição. |
Exemplo de uso do ListBox
local scr = Screens.Get("Screen_001")
-- Mostra qual a linha da lista que está correntemente selecionada
print(scr.ListBox_001.ItemIndex)
-- A cada 2s seleciona um novo item em uma lista de 3 elementos
for i=0,2 do
scr.ListBox_001.ItemIndex = i
Sleep(2000)
end
ImageList
Edit |
|
|---|---|
Propriedades Específicas |
Descrição |
TimeInterval |
Especifica o intervalo de tempo em milissegundos utilizado pelo objeto para alterar as imagens ativas. O valor mínimo para este parâmetro é de 20 milissegundos. Quando especificado o valor “zero” para este parametro, o objeto para de atualizar as imagens, mantendo na tela a última imagem selecionada. Este atributo pode ser lido ou escrito. |
Exemplo de uso:
-- Obtem a tela corrente
local screen = Sender.Screen
-- Imprime o valor corrente do atributo
print('Valor atual= ' .. tostring(screen.ImageList_001.TimeInterval))
-- Define um novo intervalo de alteração das imagens de 250 milissegundos
screen.ImageList_001.TimeInterval = 250
TextEditor
TextEditor |
|
|---|---|
Propriedades Específicas |
Descrição |
Text |
Esta propriedade permite o acesso ao texto do respectivo objeto.
|
Changed |
Esta propriedade permite o acesso ao status de existência de alteração no texto do respectivo objeto.
|
Length |
Esta propriedade disponibiliza a quantidade de caracteres do texto corrente. Cabe ressaltar que esta quantidade pode incluir caracteres de controle inseridos no texto, como por exemplo (carriage return), (line feed), (fim de arquivo), etc. |
Memo
Memo |
|
|---|---|
Propriedades Específicas |
Descrição |
Text |
Esta propriedade permite o acesso ao texto do respectivo objeto.
|
Changed |
Esta propriedade permite o acesso ao status de existência de alteração no texto do respectivo objeto.
|
Length |
Esta propriedade disponibiliza a quantidade de caracteres do texto corrente. Cabe ressaltar que esta quantidade pode incluir caracteres de controle inseridos no texto, como por exemplo (carriage return), (line feed), (fim de arquivo), etc. |
Exemplo de uso do TextEditor e do Memo:
local txt
-- Obtem tela atual
local scr = Sender.Screen
-- Copia o texto de um Memo para um TextEditor
txt = scr.Memo1.Text
scr.TextEditor1.Text = txt
-- Copia o texto de um TextEditor para um Memo
txt = scr.TextEditor1.Text
scr.Memo1.Text = txt
-- Obtem a quantidade de caracteres no texto corrente de um TextEditor
local len = scr.TextEditor1.Length
StaticText
StaticText |
|
|---|---|
Propriedades Específicas |
Descrição |
Caption |
Texto apresentado no componente. Este valor pode ser lido ou escrito. |
Font.Color |
Cor da fonte do StaticText |
Exemplo de uso:
local scr = Screens.Get("Screen_001")
print(scr.StaticText_001.Caption)
scr.StaticText_001.Caption = "Alterado"
|
A propriedade Font.Color de um StaticText só pode ser alterada se a propriedade Transparent estiver False.Quando Transparent estiver True, Font.Color estará fixa para o tema corrente do Windows. |
Screen
Screen |
|
|---|---|
Propriedades Específicas |
Descrição |
Title |
Título da janela definido no IDE. |
Type |
Texto que descreve o tipo da janela. |
Instances |
Tabela LUA cujas chaves são referências para instâncias e os valores são objetos (Tabelas LUA) do tipo Instance. |
SaveAllEdit |
Efetiva escrita de valores nos componentes da tela que tiveram valor de escrita modificado. |
CancelAllEdit |
Cancela escrita de valores nos componentes da tela que tiveram valor de escrita modificado. |
Caption |
Mesmo que o nome da janela. (propriedade Name) |
Nota
Apesar de ser uma propriedade comum, Enable não está disponível nos objetos Screen via interface. Para acionar a propriedade, caso necessário, faça via script.
Plot
Plot |
|
|---|---|
Propriedades Específicas |
Descrição |
DoRefresh |
A atribuição de qualquer valor força o refresh. |
Style |
Através desta propriedade pode-se selecionar um estilo para apresentação no gráfico. Os estilos disponíveis para seleção correspondem aos estilos criados no item “PlotStyles” associado a este componente “Plot”. |
Plot |
|
|---|---|
Funções Específicas |
Descrição |
GetAxis |
Recebe como parâmetro o nome do objeto e retorna objeto do tipo Axis. |
Exemplo de uso do Plot:
-- Obtem tela atual
local scr = Sender.Screen
local eixo_x = scr.Plot_001:GetAxis('x')
local eixo_y = scr.Plot_001:GetAxis('y')
eixo_x:Clear()
eixo_y:Clear()
for i = 1, 10 do
eixo_x.AddData(i)
eixo_y.AddData(i*2)
end
-- Navega na estrutura de componentes e força refresh no objeto Plot de nome Plot_001
-- A atribuição de qualquer valor força o refresh.
scr.Plot_001.DoRefresh = 1
Exemplo de utilização da propriedade “Style” de um Plot:
-- obtem o nome do estilo a ser atribuído ao gráfico
local txt_style = "PlotStyle_GOOD"
-- obtem acesso à tela onde esta o plot a ser atribuído o novo estilo
local scr = Screens.Get("Screen_Plot")
-- obtem o componente "Plot" desta tela
local plot_style = scr.Plot_001.Style
-- atribui o novo estilo ao componente plot
scr.Plot_001.Style = txt_style
Grid
Grid |
|
|---|---|
Propriedades Específicas |
Descrição |
ColCount |
número de colunas do Grid. |
RowCount |
número de linhas do Grid. |
Grid |
|
|---|---|
Funções Específicas |
Descrição |
GetCellText(linha,coluna) |
Recebe como parâmetro linha e coluna e retorna o texto da célula. |
GetCellTag(linha,coluna) |
Recebe como parâmetro linha e coluna e retorna o Tag associado à célula. |
|
|
Exemplo de uso do Grid:
--este exemplo considera a existência de um grid de nome Grid_001 na tela (Sender) contendo no mínimo 3 linhas (além da linha de título) e 3 colunas
-- Obtem tela atual
local scr = Sender.Screen
--imprime valor em forma de texto de todas as células
for Row = 1, 3 do
for Col = 0, 2 do
print("Texto da Célula: (" .. Row .. "," .. Col .. ")" .. scr.Grid_001:GetCellText(Row,Col))
local tag = scr.Grid_001:GetCellTag(Row,Col)
print("Nome do Tag: " .. tag.Name)
end
end
Shape
Shape |
|
|---|---|
Propriedades Específicas |
Descrição |
Shape |
Através desta propriedade pode-se selecionar uma forma da figura geométrica para apresentação. Parâmetro Somente Leitura |
Pen
Pen |
|
|---|---|
Propriedades Específicas |
Descrição |
Pen.Style |
Através desta propriedade pode-se selecionar um estilo de borda para apresentação. Parâmetro Somente Leitura |
Pen.Color |
Através desta propriedade pode-se selecionar a cor da borda para apresentação. |
Pen.Size |
Através desta propriedade pode-se selecionar o espessura da borda para apresentação. |
Brush
Brush |
|
|---|---|
Propriedades Específicas |
Descrição |
Brush.Style |
Através desta propriedade pode-se selecionar um estilo de preenchimento para apresentação. Parâmetro Somente Leitura |
Brush.Color |
Através desta propriedade pode-se selecionar a cor de preenchimento para apresentação. |
Exemplo de uso do Shape:
-- Obtem tela atual
local scr = Screens.Get('Screen_001')
local pen_color = scr.Shape_001.Pen.Color
local pen_width = scr.Shape_001.Pen.Width
local brush_color = scr.Shape_001.Brush.Color
scr.Shape_001.Pen.Color = 0xff0000 -- Azul
scr.Shape_001.Pen.Width = 10
scr.Shape_001.Brush.Color = 0xff0000 -- Azul
Trend
Exemplo de uso do Trend:
-- Obtem tela atual
local scr = Screens.Get('Screen_001')
-- Obtem o nome da tela
local name = scr.Trend_001.Name
-- Obtem distância do topo e esqueda
local top = scr.Trend_001.Top
local left = scr.Trend_001.Left
-- Desloca o topo e esquerda em +10
scr.Trend_001.Top = top+10
scr.Trend_001.Left = left+10
Preview
Plot |
|
|---|---|
Funções Específicas |
Descrição |
ShowReport |
Atualiza relatório associado ao preview. |
Exemplo de uso do Preview:
-- Obtem tela atual
local scr = Screens.Get('Screen_001')
-- Obtem o nome da tela
local name = scr.Preview_001.Name
-- Obtem distância to topo e esqueda
local top = scr.Preview_001.Top
local left = scr.Preview_001.Left
-- Desloca o topo e esquerda em +10
scr.Preview_001.Top = top+10
scr.Preview_001.Left = left+10
-- Mostra o dados do relatório no preview
scr.Preview_001:ShowReport()
Alarms
Grid |
|
|---|---|
Funções Específicas |
Descrição |
Ack |
Reconhece o alarme selecionado no grid de alarmes |
AckAll |
Reconhece todos alarmes ativos |
Silence |
Silencia o som do alarme selecionado |
Reset |
Reseta o alarme selecionado no grid de alarmes |
Suppress |
Suprime o alarme selecionado no grid de alarmes |
UnSuppress |
Remove a supressão de todos os alarmes |
Exemplo de uso do Alarms:
Ack
-- Obtem tela atual
local scr = Sender.Screen
-- Reconhece o alarme selecionado
local ret = scr.Alarms_001:Ack()
AckAll
-- Obtem tela atual
local scr = Sender.Screen
-- Reconhece todos os alarmes
local ret = scr.Alarms_001:AckAll()
Silence
-- Obtem tela atual
local scr = Sender.Screen
--Silencia o som do alarme selecionado
local ret = scr.Alarms_001:Silence()
Reset
-- Obtem tela atual
local scr = Sender.Screen
-- Reseta o alarme selecionado
local ret = scr.Alarms_001:Reset()
Suppress
-- Obtem tela atual
local scr = Sender.Screen
--Suprime o alarme selecionado
local ret = scr.Alarms_001:Suppress()
UnSuppress
-- Obtem tela atual
local scr = Sender.Screen
--Remove a supressão de todos os alarmes
local ret = scr.Alarms_001:UnSuppress()

