Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de Usuários
»Células Acadêmicas«
intcontpiada : 118
Scaneando
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
Faça um pequeno teste com 10 questões de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programação com nosso treinamento on-line de lógica de programação
.:.
Veja nosso calendário de treinamentos
Gostou da Página?
Então

para um amigo!
 







Pesquisa personalizada
Pesquisar Dicas:

 






Quer saber mais?
Torne-se um MCP em Visual Basic
Faça um treinamento na Búfalo Informática

Criando AddIns para o VB


O recurso de criar AddIns para o VB é especialmente importante na criação de metodologias de desenvolvimento e padronização de código, além do próprio aumento de produtividade do programador.

Isso porque utilizando o Addin para gerar código o programador faz a geração de um código padronizado, seguindo metodologias pré-definidas.

A geração de um AddIn é baseada no uso da biblioteca Visual Basic Extensibility Model, que permite que manipulemos em código o próprio visual basic.

Além disso, temos um AddIn chamado Wizard Manager que facilita o processo de criação de um Wizard (um conjunto de telas, em sequencia, fazendo perguntas ao usuário), formato que normalmente é necessário aos AddIns.

Então vamos começar. Devemos abrir o VB e não criar projeto algum. O AddIn do Wizard Manager irá criar o projeto para nós. Quando você o acionar ele perguntará se você deseja criar o projeto, pode responder que sim.

O Wizard Manager já cria dois formulários, um deles chamado frmWizard, o formulário principal do Wizard. Além disso ele mostra uma janela na qual podemos gerenciar os steps que nosso Wizard terá.

Em nosso exemplo, Nosso Wizard terá apenas 2 steps :

NomeSub : Para perguntar o nome da sub que nosso Wizard irá criar
Frases : Para perguntar as frases que nosso wizard mostrará em MSGBOX. Será realmente um Wizard bem simples.

Assim sendo precisamos eliminar alguns steps existentes e renomear outros. Neste exemplo iremos eliminar os steps 3 e 4, mantendo os steps 1 e 2, que serão nossa área de trabalho, além da Introduction Screen e do Finished!

Clicando com o botão direito sobre os steps 1 e 2 podemos editar seus nomes para ficarem como planejado (NomeSub e Frases).

Conforme clicamos em um step na janela do Wizard Manager ele nos mostra o step em questão (tecnicamente, cada step é um frame que o wizard manager está gerenciando dentro do formulário. Para mostrar ou esconder os steps ele muda a posição dos frames).

Os steps estão inicialmente com os controles lockados. Se você desejar desfazer o lock de um dos steps deverá seleciona-lo e no menu format desativar a instrução lock controls. Isso é útil para, por exemplo, reduzir o tamanho dos labels já existentes no wizard.

No primeiro step vamos criar uma textbox chamada txtNomeSub.

Iremos inserir duas textbox : txtfrase1 e txtfrase2

Para alterarmos os labels do Wizard não podemos alterar seu conteúdo diretamente pelo caption. O Wizard manager já inseriu um código no Wizard para que seja feita a leitura de strings contidas em um arquivo de resource (.RES) que encontra-se associado ao Wizard. Assim sendo, para alterarmos os labels deveremos personalizar as strings contidas no arquivo de resource.

Montada toda a interface gráfica, vamos ao código. O References (Project->References) para o Microsoft Visual Basic 6 Extensibility já encontra-se feito, isso é característica do template criado pelo Wizard Manager.

Isso feito podemos partir para a programação do botão Finish. Este botão está num control array e já existe um código com select case separando a codificação de cada botão da tela. Temos então que localizar o case específico para o botão finish e, para não tornarmos este evento muito complexo, fazemos uma chamada de uma sub que fará a tarefa do finish, algo assim :

Case BTN_FINISH
     'wizard creation code goes here
     
     Call GerarCodigo
     
     Unload Me
   

Então devemos fazer a sub gerarCodigo. Uma questão importante na hora de gerar o código é o fato de já termos uma variável chamada VBINST definida como sendo a instância atual do VB (o VB no qual estamos utilizando o Wizard).

Sub GerarCodigo()
Dim CM As CodeModule
     Set CM = VBInst.ActiveCodePane.CodeModule
     CM.AddFromString "Sub " & txtNomeSub.Text & "(i as      integer)" & vbCrLf
     CM.AddFromString Space(5) & "if i=1 then " & vbCrLf
     CM.AddFromString Space(10) & "msgbox """ & txtFrase1.Text      & """" & vbCrLf
     CM.AddFromString Space(5) & "else" & vbCrLf
     CM.AddFromString Space(10) & "msgbox """ & txtFrase2.Text      & """" & vbCrLf
     CM.AddFromString Space(5) & "end if"
end sub

Como pode observar, utilizando o AddFromString do objeto CodeModule podemos fazer a montagem da codificação conforme desejarmos. Temos acesso a todos os componentes do form, ou seja, as informações que o usuário passou para o wizard.

Para que a geração de código possa funcionar precisamos habilitar o botão finish. O botão finish vem desabilitado por default, para habilita-lo devemos novamente programar o select case. Desta vez vamos programar o botão next. No botão next vamos identificar se passamos do último step e, neste caso, habilitar o botão Finish. No botão back devemos também desativar o Finish. Veja :

 Case BTN_BACK
     'place special cases here to jump
     'to alternate steps
     nAltStep = mnCurStep - 1
     SetStep nAltStep, DIR_BACK
     
     cmdNav(4).Enabled = False
     
     Case BTN_NEXT
     'place special cases here to jump
     'to alternate steps
     nAltStep = mnCurStep + 1
     SetStep nAltStep, DIR_NEXT
 If nAltStep = 3 Then
     cmdNav(4).Enabled = True
 End If


Antes de testar nosso Wizard, vamos personalizar seu nome. Para fazer isso basta alterar o nome do projeto e descrição em project->properties. Vamos utilizar "GeradordeFrases". Feito isso devemos acessar também o designer do Wizard Manager e alterar o Addin Display Name.

Podemos então compilar a DLL e testar em outro VB, pelo menu Add-Ins, adicionando nosso Wizard e testando-o.

Dennes Torres
MCSD,MCSE,MCDBA



� Búfalo Informática, Treinamento e Consultoria - Rua Álvaro Alvim, 37 Sala 920 - Cinelândia - Rio de Janeiro / RJ
Tel.: (21)2262-1368 (21) 9240-5134 (21) 9240-7281 e-Mail:
contato@bufaloinfo.com.br