Vous êtes sur la page 1sur 24

Apostila de Treinamento

.18

Programas Adicionais_____________________________________

Captulo .18
Programas Adicionais

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.18. Programas Adicionais_____________________________________

Objetivos do Captulo
Este captulo mostra novos recursos de programao com o VBA (Visual Basic for Application)
como referenciar biblioteca de aplicativos externos, utilizar as caixas de mensagens e os
foirmulrios em VBA. Mostra tambm como personalizar as barras de ferramentas do WokSpace.
O captulo est organizado nos seguintes tpicos:

Usando as caixas de mensagem

Personalizando as barras de ferramentas

Trabalhando com formulrios VBA

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.18.1.Reviso_________________________________________________
A. Terminologia:

VB: Visual Basic


-

normalmente se refere ao Visual Basic 5.0 ou 6.0 da Microsoft

aplicativo independente do iFIX e do VBA

VBA: Microsoft Visual Basic for Applications


-

ambiente de desenvolvimento orientado a objetos e baseado em eventos que


suporta formulrios Microsoft e ActiveX

normalmente referenciado como parte integrada do iFIX

usado para personalizar os produtos da Microsoft:

adicionar uma barra de ferramentas no Excel

criar um formulrio no Access

VBE: Visual Basic Editor


-

editor de VBA do iFIX

pode ser acessado a partir do WorkSpace

B. Reviso:

O uso de programao no iFIX permite acesso :


-

componentes padres do VBA

todos os objetos do iFIX com suas propriedades, mtodos e eventos

As propriedades, mtodos e eventos disponveis de um objeto depende da classe de


objetos qual o objeto pertence

Os objetos respondem aos eventos de acordo com os programas (scripts) escritos para
cada evento
-

pode-se associar programas para um evento, alguns eventos ou todos os


eventos do objeto, de acordo com a necessidade

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.18.1.. Reviso________________________________________________
C. Exemplo de E-mail

O iFIX pode ser usado para gerar mensagens de e-mail, por exemplo:
-

quando uma determinada condio de alarme alcanada

acaba um turno, dia, semana, ms, etc.

Use os seguintes passos para enviar uma mensagem usando o Microsoft Outlook:
1. Use um schedule do iFIX para executar um programa personalizado
2. No editor de VBA, selecione o item References Microsoft Outlook 8.0
Object Library a partir do menu Tools
3. Digite o programa mostrado na Figura .18-1

O corpo da mensagem pode ser qualquer coisa, como por exemplo:


-

a descrio de um alarme com a data e hora do evento

um relatrio de valores e descries construdo antes da declarao


NewMessage.Body ser executada

Este programa coloca a mensagem na fila de mensagens do Outbox


-

para que esta mensagem seja enviada, configure o Outlook para verificar
novas mensagens com freqncia ou adicione um cdigo para disparar o
comando de envio de mensagens

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.18.1.. Reviso________________________________________________

Sub CriaNovaMensagemOutlook()
Dim ol As Object
Dim NovaMensagem As Object
Set ol = New Outlook.Application
Set NovaMensagem = ol.CreateItem(olMailItem)
' Voc pode enviar a mensagem para uma pessoa do seu
' address book ou digitar o endereo do email
NovaMensagem.To = "Treinamento; treinamento@aquarius.com.br"
NovaMensagem.Subject = "Usando o iFIX para enviar E-mail"
NovaMensagem.Body = A mensagem escrita aqui!"
NovaMensagem.Send
End Sub

Figura .18-1: Exemplo de Programa para E-mail

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.18.2.Usando a Caixa de Mensagem______________________________


A. Nota

A caixa de mensagem mostra uma mensagem na tela, espera o usurio selecionar um


boto da caixa e retorna um nmero inteiro que indica que boto foi selecionado

B. Sintaxe
MsgBox (prompt[, buttons] [, title] [, helpfile, context])

A funo MsgBox possui os seguintes argumentos:


-

prompt (argumento obrigatrio)

buttons (argumento opcional)

expresso numrica especificando a quantidade e o tipo dos botes da


caixa, o estilo do cone, a identificao do boto padro e a
modalidade da caixa de dilogo

title (argumento opcional)

texto mostrado na barra de ttulo da caixa de dilogo

se o ttulo no for especificado, ento o nome da aplicao colocado


como ttulo da caixa de dilogo

helpfile (argumento opcional)

texto mostrado como mensagem na caixa de dilogo

texto que identifica o um arquivo de help que fornece ajuda sobre a


caixa de dilogo

context (usado se for especificado um arquivo de help)

nmero associado ao tpico apropriado de help

C. Exemplo

Veja a Figura .18-2

Este exemplo usa a funo MsgBox para mostrar uma mensagem crtica de erro na
caixa de dilogo com botes Yes e No

O boto No especificado como boto padro de resposta

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.18.2.. Usando a Caixa de Mensagem_____________________________

Dim Mensagem, Estilo, Titulo, Resposta


Mesnagem = "Deseja continuar?"
' Define a mensagem
Estilo = vbYesNo + vbCritical + vbDefaultButton2
Titulo = "Caixa de Confirmao"
' Define o ttulo
' Mostra mensagem
Resposta = MsgBox(Mensagem, Estilo, Titulo)
If Resposta = vbYes Then
MsgBox Voc selecionou Yes!
Else
MsgBox Voc selecionou No!
End If

'
'
'
'

Operador escolhe Yes


Realiza alguma ao
Operador escolhe No
Realiza alguma ao

Figura .18-2: Exemplo da Funo MsgBox

Tpico
Botes

cone

Constante

Descrio

vbOKOnly

Mostra apenas o boto OK

vbOKCancel

Mostra os botes OK e Cancel

vbAbortRetryIgnore

Mostra os botes Abort, Retry e Ignore

vbYesNoCancel

Mostra os botes Yes, No e Cancel

vbYesNo

Mostra os botes Yes e No

vbRetryCancel

Mostra os botes Retry e Cancel

vbCritical

Mostra o cone de mensagem crtica

vbQuestion

Mostra o cone de mensagem de pergunta

vbExclamation

Mostra o cone de mensagem de aviso

vbInformation

Mostra o cone de mensagem de informao

Figura .18-3: Valores das Constantes da Funo MsgBox

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.18.3.Personalizando as Barras de Ferramentas____________________


A. Configurando as Barras de Ferramentas

A partir do menu Workspace, selecione a opo Toolbars

O campo Owner indica o proprietrio (aplicao) da barra de ferramenta:


-

WorkSpace: a barra de ferramentas fica sempre disponvel

Picture: a barra de ferramentas fica disponvel somente quando uma tela


estiver aberta

Schedule: a barra de ferramentas fica disponvel somente quando um


schedule estiver aberto

B. Boto de Personalicao

Button
-

realiza uma ao definida

um objeto com um cdigo Visual Basic associado a ele

possui nome, descrio e dicas que so exclusivos

Category
-

agrupamento lgico de botes

Toolbar
-

agrupamento fsico de botes

pode pertencer s telas, schedules ou ao Workspace

podem conter botes de qualquer categoria

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.18.3.. Personalizando as Barras de Ferramentas___________________

Figura .18-4: Configurao das Barras de Ferramentas

Figura .18-5: Configurao dos Botes

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.18.3.. Personalizando as Barras de Ferramentas___________________


C. Barras de Ferramentas

Servem para auxiliar o ciclo de desenvolvimento, inserir objetos bsicos e realizar


tarefas complexas repetidas com freqncia

Selecione o boto Add Toolbar


-

uma barra de ferramentas sem nenhum boto aparece na tela

Arraste botes de diferentes categorias de botes nova barra de ferramentas

D. Criando Novas Categorias

Para adicionar botes personalizados lista de botes disponveis

Selecione o boto Add Category


-

Selecione o boto Add Button


-

uma caixa de dilogo aparece perguntando pelo nome da categoria


ver Figura .18-6

Selecione o boto Edit Script para criar o programa que este boto ir executar
quando for selecionado

Copyright 2002, Intellution, Inc.

10

Apostila de Treinamento

.18.3.. Personalizando as Barras de Ferramentas___________________

Figura .18-6: Criando Novos Botes

Copyright 2002, Intellution, Inc.

11

Fundamentos do iFIX

.18.4.Usando os Formulrios____________________________________
A. Notas

Um formulrio (objeto UserForm) uma janela ou caixa de dilogo que faz parte da
interface de aplicao do usurio

No editor de VBA, selecione a opo UserForm a partir do menu Insert


-

veja a Figura .18-7

B. Janela do Formulrio

Permite criar janelas ou caixas de dilogos no projeto


-

possvel desenhar e visualizar controles em um formulrio

Durante o desenvolvimento de um formulrio:


-

cada janela de formulrio pode ter um boto de maximizao, minimizao e


de fechamento

a grade do formulrio ajuda no posicionamento dos objetos: determine o


tamanho das linhas de grade na guia General da caixa de dilogo Options

os controles so inseridos no formulrio usando os botes da caixa de


controles (Toolbox)

C. Toolbox

Contm os controles disponveis para serem adicionados no formulrio


-

para adicionar outros controles, clique com o boto direito do mouse e


selecione a opo Additional Controls

Arraste os controles da barra de ferramentas para o formulrio


-

configure as propriedades dos controles da mesma forma que os objetos so


configurados no WorkSpace

Copyright 2002, Intellution, Inc.

12

Apostila de Treinamento

.18.4.. Usando os Formulrios___________________________________

Figura .18-7: Novo Formulrio de Usurio: UserForm

Figura .18-8: Barra de Ferramentas do Formulrio

Copyright 2002, Intellution, Inc.

13

Fundamentos do iFIX

.18.5. Guia de Programao_____________________________________


A. Use convenes de nomenclatura consistentes

Nomeie objetos similares com os mesmos trs caracteres iniciais, por


exemplo, btnLigaBomba1 para os botes

Isto torna a depurao do cdigo mais fcil (veja a Figura 19-2)

B. Criando Looping (malhas fechadas) em VBA

No utilize looping nos programas em VBA

Se um programa estiver em looping, o restante do cdigo VBA no


executado

Use um schedule baseado em evento para associar tarefas ao invs de usar um


looping

Use o obejto Timer (ou o objeto Timer da Microsoft)


-

Exemplo: use o evento OnTimeOut para atualizar consultas SQL na tela


Se precisar utilizar um looping no programa, ento utilize a funo DoEvents

C. DoEvents

A funo DoEvents passa o controle para o sistema operacional

O controle retornado retorna para o iFIX aps o sistema operacional


terminar o processamento dos eventos que lhe foram passados

um comando VBA, no uma sub-rotina da Intellution

A funo DoEvents muito til para tarefas simples como permitir que o
usurio cancele um processo aps sua inicializao como por exemplo a busca de um
arquivo. Para processos com execuo mais longa, recomendada a utilizao do
sistema operacional atravs da utilizao de um objeto Timer ou da atribuio da
tarefa atravs de um ActiveX ou de um componente EXE

Copyright 2002, Intellution, Inc.

14

Apostila de Treinamento

.18.5.. Guia de Programao____________________________________

Sigla

Descrio

arc

Arc

bmp

Bitmap

btn

Button

cht

Chart

chk

CheckBox

cmd

CommandButton

crd

Chord

dlnk

Datalink

exed

Expression Editor Control

frm

Form

lin

Line

mnu

Menu

ovl

Oval

pie

Pie

pgon

Polygon

plin

PolyLine

rct

Rectangle

rdrct

RoundedRectangle

tmr

Timer

txt

TextBox

Figura 18-9: Conveno Sugerida para Nomeao de Obejtos

Copyright 2002, Intellution, Inc.

15

Fundamentos do iFIX

.18.6._____________________________________________Exerccio .18

Programao Adicional
Exerccio .18

Copyright 2002, Intellution, Inc.

16

Apostila de Treinamento

__________________________________________________Exerccio .18
Objetivos:
Aps a realizao deste exerccio, o aluno estar apto para:
1.
2.
3.
4.
5.

Criar uma nova barra de ferramentas


Adicionar botes na barra de ferramentas
Criar novos botes na barra de ferramentas
Criar formulrios
Adicionar uma caixa de dilogo

Informaes sobre o exerccio:


Neste exerccio, iremos explorar alguns programas adicionais do iFIX. Quando terminar este
exerccio, v para a prxima seo e responda as questes.

Copyright 2002, Intellution, Inc.

17

Fundamentos do iFIX

__________________________________________________Exerccio .18
A. Cria uma nova barra de ferramentas.
Faz uma nova barra de ferramentas para objetos de tela.
1. A partir do menu File, selecione New Picture.
Uma nova tela sem ttulo aparece.
2. A partir do menu WorkSpace, selecione Toolbars
A caixa de dilogo da barra de ferramentas aparece.
3. A partir da lista Owner, selecione Picture.
A caixa de dilogo muda para mostrar as barras de ferramentas de tela disponveis.
4. Selecione o boto Customize.
A seguinte caixa de dilogo aparece:

5. Selecione o boto Add Toolbar.


A caixa de dilogo para adicionar uma nova barra de ferramentas aparece.
6. Digite o seguinte nome no campo Toolbar name:
MyToolbar
7. Certifique-se de que a opo de proprietrio Picture est selecionada e selecione OK.
Uma barra de ferramentas pequena e vazia aparece junto com os botes disponveis.

Copyright 2002, Intellution, Inc.

18

Apostila de Treinamento

__________________________________________________Exerccio .18
B. Adiciona botes na barra de ferramentas.
Insere botes na nova barra de ferramentas.
1. A partir da categoria Standard, arraste os seguintes botes para a nova barra de
ferramentas:
Task Wizard
Visual Basic Editor
Switch to Run
2. Selecione o boto Add Category para criar uma nova categoria.
3. Entre com o seguinte nome no campo Category name:
Class
4. Com a categoria Class selecionada, selecione Add Button.
A seguinte caixa de dilogo aparece:

5. Selecione o seguinte bitmap:


c:\Dynamics\APP\SquareButton.bmp
6. Configure as seguintes opes com os valores da direta:
Name:
Description:
Screen Tip:

Copyright 2002, Intellution, Inc.

Square
Insert a Square
Square

19

Fundamentos do iFIX

__________________________________________________Exerccio .18
B. Adiciona botes na barra de ferramentas (continuao).
7. Selecione o boto Edit Script.
O VBE abre
8. Digite o seguinte cdigo de programa para o evento Click do objeto Square:
Private Sub Square_Click()
' make a square
Dim pic As Object
Dim shape As Object
Set pic = Application.ActiveDocument.Page
Set shape = pic.BuildObject("rect")
With shape
.HorizontalPosition = 10
.VerticalPosition = 11
.Height = 20
.Width = 20
.UniformScale = "true"
.Commit
End With
End Sub

9. A partir do menu File selecione Close and Return to WorkSpace Application


Voc retornar para a caixa de dilogo de propriedades do boto.
10.

Selecione OK para adicionar o boto Square.

Copyright 2002, Intellution, Inc.

20

Apostila de Treinamento

__________________________________________________Exerccio .18
C. Adiciona um novo boto.
1. Crie um boto adicional usando as seguintes informaes:
Bitmap:
Name:
Description:
Screen Tip:

c:\dynamics\app\CircleButton.bmp
Circle
Insert a Circle
Circle

2. Entre com o seguinte cdigo de programa para o evento Click do objeto Circle:
Private Sub Circle_Click()
' make a circle
Dim pic As Object
Dim shape As Object
Set pic = Application.ActiveDocument.Page
Set shape = pic.BuildObject("oval")
With shape
.HorizontalPosition = 15
.VerticalPosition = 5
.Height = 20
.Width = 20
.UniformScale = "true"
.Commit
End With
End Sub

3. Arraste os dois novos botes para a barra de ferramentas criada anteriormente neste
exerccio.
4. Selecione o boto Close na caixa de dilogo de personalizao da barra de ferramentas
5. Salve a tela usando o seguinte nome:
ScriptExamples

Copyright 2002, Intellution, Inc.

21

Fundamentos do iFIX

__________________________________________________Exerccio .18
D. Usa os novos botes.
1. Usando os novos botes, adicione um quadrado e um crculo na tela.
A tela dever se parecer agora com:

2. Agora, edite o programa que faz o crculo. Antes de adicionar o objeto tela, abra uma
caixa de mensagem perguntando ao operador se deseja adicionar o crculo ou cancelar a
operao.
3. Edite o programa que faz o quadrado. Atravs de uma caixa de mensagem, pea ao
operador para entrar com a altura do quadrado (de 1 a 20). Use o valor escolhido para a
largura do quadrado tambm.

Fim do Exerccio

Copyright 2002, Intellution, Inc.

22

Apostila de Treinamento

.18.7.Questes de Reviso______________________________________

1. Para que serve a caixa de mensagem?

2. Porque o proprietrio Scheduler no fica sempre disponvel durante a personalizao das


barras de ferramentas?

3. Como possvel criar um formulrio e faz-lo aparecer sempre que uma tela aberta?

4. Como possvel adicionar o objeto Expression Builder um formulrio?

5. Como possvel criar um formulrio que fique disponvel para todas as telas?

Copyright 2002, Intellution, Inc.

23

Fundamentos do iFIX

18.7 Questes de Reviso______________________________________

pgina em branco

Copyright 2002, Intellution, Inc.

24

Vous aimerez peut-être aussi