Como alterar propriedade de um objeto via Script LUA
Como alterar propriedade de um objeto via Script LUA
Olá pessoal, tudo bem?
Alguém poderia me ajudar com a sintaxe do comando para alterar uma propriedade de um objeto utilizando Script LUA?
Grato!
Alguém poderia me ajudar com a sintaxe do comando para alterar uma propriedade de um objeto utilizando Script LUA?
Grato!
-
- Posts: 1
- Joined: Thu Jan 31, 2013 4:31 pm
- Location: Av. Dr. Armando de Sales Oliveira, 445, Taquaral - Campinas - SP - Brasil
Re: Como alterar propriedade de um objeto via Script LUA
A sintaxe LUA para acessar propriedades de um objeto é a seguinte:
Objeto.NomeDaPropriedadeDoObjeto
No manual online do HIscada Pro, nesta página, existem exemplos de utilização de scripts LUA.
Na seção Exemplos de Utilização, subseção Exemplo de interação com componentes pode-se observar um exemplo desta sintaxe:
Em anexo a esta resposta, se encontra um arquivo de um projeto de exemplo do HIscada Pro.
Neste projeto existem dois objetos, um botão (Button) e um texto estático (StaticText), em uma tela (Screen).
O botão está associado a um script LUA e, quando pressionado, executa este script.
Ao executar, o script verifica um dos atributos (Caption) do texto estático e muda o valor deste atributo.
Os caminhos destes objetos na hierarquia do projeto em anexo são:
. No manual online do HIscada Pro, existe um guia para importar um projeto, presente nesta página, na seção Importando um Projeto.
. Nesta página do manual, podem ser obtidas informações a respeito das propriedades de um objeto de StaticText (texto estático), que é utilizado no projeto exemplo em anexo a esta resposta.
Em caso de novas dúvidas, basta utilizar nosso fórum!
Objeto.NomeDaPropriedadeDoObjeto
No manual online do HIscada Pro, nesta página, existem exemplos de utilização de scripts LUA.
Na seção Exemplos de Utilização, subseção Exemplo de interação com componentes pode-se observar um exemplo desta sintaxe:
Code: Select all
local scr = Screens.Get("Screen_001") -- Variável src agora tem uma referencia a um objeto de tela
print(scr.Button_001.Left) -- Acessa atributo Left do atributo Button_001 do objeto de tela na variavel src e o imprime
scr.Button_001.Visible = false -- Atribui valor 'false' ao atributo Visible do atributo Button_001 do objeto de tela na variavel src
Neste projeto existem dois objetos, um botão (Button) e um texto estático (StaticText), em uma tela (Screen).
O botão está associado a um script LUA e, quando pressionado, executa este script.
Ao executar, o script verifica um dos atributos (Caption) do texto estático e muda o valor deste atributo.
Os caminhos destes objetos na hierarquia do projeto em anexo são:
Code: Select all
Viewers.Scripts.ScriptGroup_001.Script_001 -- Caminho para o Script LUA na hierarquia do projeto
Viewers.Screens.ScreenGroup_001.Screen_001 -- Caminho para a tela (Screen) na hierarquia do projeto
Viewers.Screens.ScreenGroup_001.Screen_001.Button_001 -- Caminho para o botão (Button) na hierarquia do projeto
Viewers.Screens.ScreenGroup_001.Screen_001.StaticText_001 -- Caminho para o texto estático (StaticText) na hierarquia do projeto
. Nesta página do manual, podem ser obtidas informações a respeito das propriedades de um objeto de StaticText (texto estático), que é utilizado no projeto exemplo em anexo a esta resposta.
Em caso de novas dúvidas, basta utilizar nosso fórum!
- Attachments
-
- testeobj.H7G
- Projeto Exemplo para acesso a atributos de objetos.
- (7.4 KiB) Downloaded 617 times
Lucas M. V. Infante
Analista de Sistemas de Informática
HI Tecnologia - Indústria e Comércio Ltda
Campinas - SP
Fone: +55 (19) 21391700
Fax: +55 (19) 21391710
Email: lucas.infante@hitecnologia.com.br
Web-site: http://www.hitecnologia.com.br
Analista de Sistemas de Informática
HI Tecnologia - Indústria e Comércio Ltda
Campinas - SP
Fone: +55 (19) 21391700
Fax: +55 (19) 21391710
Email: lucas.infante@hitecnologia.com.br
Web-site: http://www.hitecnologia.com.br
-
- Posts: 9
- Joined: Mon Dec 12, 2016 12:10 pm
- Location: Guarulhos
Re: Como alterar propriedade de um objeto via Script LUA
Boa tarde .
neste exemplo que passaram como poderia alem de mudar o texto mudar a cor de fundo?
neste exemplo que passaram como poderia alem de mudar o texto mudar a cor de fundo?
Code: Select all
if (Sender.Screen.StaticText_001.Caption ~= 'ligado') then
Sender.Screen.StaticText_001.Caption = 'ligado'
else
Sender.Screen.StaticText_001.Caption = 'desligado'
end
-
- Posts: 28
- Joined: Fri Feb 19, 2016 6:12 pm
Re: Como alterar propriedade de um objeto via Script LUA
Boa tarde,
Não é possível modificar a cor de fundo pelo Script. Você pode já deixar uma cor de fundo dela nas configurações.
Att,
Daniel Kantor
Não é possível modificar a cor de fundo pelo Script. Você pode já deixar uma cor de fundo dela nas configurações.
Att,
Daniel Kantor
Re: Como alterar propriedade de um objeto via Script LUA
Normalmente acesso os objetos da seguinte forma:
Isso para quando o objeto esta no mesmo screen, mas quando um script vai ser disparado por um Screen e o Objeto está em outro acredito que tenha que colocar o caminho completo, assim:
Mas não está alterando, é dessa forma mesmo?
Tentei fazer:
Para ver o caminho completo mas não aparece nada, como proceder?
Code: Select all
src = Sender.Screen
src.Objeto.Caption = "descricao"
Code: Select all
Viewer.Screens.ScreenGroup.Screen001.Objeto.Caption = "descricao"
Tentei fazer:
Code: Select all
src = Sender.Screen
src.Objeto.Caption = src
-
- Posts: 28
- Joined: Fri Feb 19, 2016 6:12 pm
Re: Como alterar propriedade de um objeto via Script LUA
Bom dia, David,
Para chamar um objeto que não está na tela que o script foi chamado, é necessário fazer um Screens.Get.
Mais informações sobre ele você encontra nesse link:
http://doc.hitecnologia.com.br/hiscada_ ... telas.html
Com isso, você faria:
Isso só funcionará caso a tela esteja aberta. Não é possível puxar um objeto que a tela não esteja aberta.
Para chamar um objeto que não está na tela que o script foi chamado, é necessário fazer um Screens.Get.
Mais informações sobre ele você encontra nesse link:
http://doc.hitecnologia.com.br/hiscada_ ... telas.html
Com isso, você faria:
Code: Select all
scr = Screens.Get('apelido')
scr.Objeto.Caption = 'nome'
Re: Como alterar propriedade de um objeto via Script LUA
E se estiverem na mesma tela não funciona, por exemplo:
Code: Select all
scr = Screens.Get("Viewers.Screens.ScreenGroup.Main")
scr.Objeto.Caption = "blablablabla"
-
- Posts: 28
- Joined: Fri Feb 19, 2016 6:12 pm
Re: Como alterar propriedade de um objeto via Script LUA
O Screens.Get usa o nome que você definiu para a tela ao abrir pelo Screens.Open.
Mais informações sobre essas duas funções você encontre em:
http://doc.hitecnologia.com.br/hiscada_ ... telas.html
Por exemplo:
Mais informações sobre essas duas funções você encontre em:
http://doc.hitecnologia.com.br/hiscada_ ... telas.html
Por exemplo:
Code: Select all
local ret = Screens.Open("MinhaTela", "Viewers.Screens.grupo1.Tela2")
local scr = Screens.Get("MinhaTela")
scr.Objeto.Caption = 'ava'
Re: Como alterar propriedade de um objeto via Script LUA
Porque esse código funciona:
Retorna Main
E esse código não funciona:
Não funciona
Se colocar o path completo também não funciona
ou alterar diretamente:
Tanto o botão que dispara o script quanto o StaticText estão na tela Main.
Code: Select all
local scr=Sender.Screen
scr.LogOper.Caption = scr.Name
E esse código não funciona:
Code: Select all
local scr=Screens.Get("Main")
scr.LogOper.Caption = "teste"
Se colocar o path completo também não funciona
Code: Select all
local scr=Screens.Get("Viewers.Screens.ScreenGroup.Main")
Code: Select all
Viewers.Screens.ScreenGroup.Main.LogOper.Caption = "teste"