Eventos da Aplicação
Em todos os eventos da aplicação, o objeto this estará disponível para que seja possível acessar o objeto IApplication que representa a aplicação. Os métodos e propriedades públicos deste objeto podem ser invocados e utilizados em todos os eventos citados abaixo.
Através deste evento é possível mudar o cabeçalho das páginas relativas a aplicação: a página principal de uma aplicação com mais de uma base e a página de mudança de senha. A aplicação LOJA trata o evento OnHeader para mudar o cabeçalho da aplicação. O código a seguir mostra como o cabeçlho da aplicação LOJA é alterado através do uso deste evento.
1. Function OnHeader 2. OnHeader = "<table cellpadding='0' cellspacing='0' border='0' width='100%'>" & _ 3. "<tr bgcolor='#E49A1A'>" & _ 4. "<td>" & _ 5. "<a href=index.asp?appname=loja&op=applist><img src='loja/header_loja.gif' border=0>" & _ 6. "</td>" & _ 7. "</tr>" & _ 8. "<tr bgcolor='#590B7A' align='right'><td height=28 class='menu'>" & this.Menu & " </td></tr>" & _ 9. "<tr bgcolor='#FFFFFF' align='right'><td height=1><img src='loja/espaco.gif' height='1'></td></tr>" & _ 10 "</table>" 11. End Function
Veja que o evento OnHeader deve ser declarado como uma função e a string retornada na função deve ser o código HTML do novo cabeçalho. O código acima tem um trecho que merece destaque. Na linha 8 econtramos uma chamada ao objeto this que, como dissemos acima, é o objeto relativo a aplicação (IApplication) e assim podemos acessar seus métodos e propriedades. A chamada this.Menu permite que o menu padrão seja mantido mesmo com a mudança na aparência do cabeçalho.
Este evento ocorre assim que uma instância da aplicação é carregada em memória. Pode ser utilizada para inicializar algumas variáveis e propriedades da aplicação.
Sub OnInit
...
End Sub
Este evento ocorre após o login do usuário. Assim, caso seja necessário fazer algum tratamento diferenciado de acordo com o usuário que está entrando na aplicação, este tratamento deve ser feito aqui.
O exemplo que usaremos para este evento pode ser colocado na aplicação LOJA. Os atributos de alguns campos das bases são modificados no caso de o usuário logado ser um administrador. Quando um administrador faz login na aplicação, supomos que seja apenas para atividades administrativas, assim, excluimos o campo "capa" tanto da base de livros como da base de discos da listagem de registros.
Sub OnLogin( request ) If this.Application.User.Administrator Then this.IBases.Item("GDDISCOS").Fields.Item( "capa" ).List = False this.IBases.Item("GDLIVROS").Fields.Item( "capa" ).List = False End If End Sub
Há um parâmetro que é passado no evento OnLogin, trata-se de um request do LightBase Web. É possível passar no login da aplicação parâmetros adicionais na url para serem capturados aqui.
Este evento ocorre quando a aplicação apresenta o rodapé da página de login. Caso desejemos mudar a página de login, este evento deve ser tratado. O evento OnLoginFooter é tratado na aplicação de DISCOS. A seguir apresentamos o código do evento. Veja que o evento deve ser declarado como uma função e deve retornar um código em HTML
Function OnLoginFooter OnLoginFooter = "<table align=center>" & _ "<tr bgcolor='#12810A'>" & _ "<td valign='top' align='center'>" & _ "<img src='discos/login_footer.gif'" & _ "</td>" & _ "</tr>" & _ "</table> </td></tr></table>" End Function
Este evento ocorre quando a aplicação apresenta o cabeçalho da página de login. Caso desejemos mudar a página de login, este evento deve ser utilizado para substituir o cabeçalho padrão do login. A seguir apresentamos o código do evento utilizado na aplicação de DISCOS. Veja novamente que o evento deve ser declarado como uma função e deve retornar um código em HTML.
Function OnLoginHeader OnLoginHeader = _ "<table cellpadding='0' cellspacing='0' border='0' height='100%' width='100%'>" & _ "<tr><td>" & _ "<table align=center cellpaddin=0 cellspacing=0 border=0>" & _ "<tr bgcolor='#12810A'>" & _ "<td valign='bottom' height='45%'>" & _ "<img src='discos/login_header.gif'" & _ "</td>" & _ "</tr>" End Function