Visual Basic #4 – Programação dirigida por eventos
Por Juliano Almeida para o Pplware O Visual Basic, para além de se orientar por objectos (o que falamos na semana anterior Programação Orientada para Objectos), foi construído, também, como uma linguagem de programação dirigida por eventos (event driven). Ou seja, as sequências de acções surgem como resposta a eventos ligados aos objectos.
Exemplifiquemos ainda com a preparação da chávena de café.
Tomemos o objecto fogão. Consideremos o evento rodar-o-botão da boca do fogão que pretendemos utilizar. Ao activarmos esse evento, começa a sair gás da boca do fogão, ou seja, há uma resposta do objecto. Podemos dizer que este sistema se encontra programado de forma a funcionar a partir de um evento. É nisto que consiste a programação event-driven.
A nossa aplicação de hoje vai ser simples e útil, vamos pegar na aplicação da semana anterior, e vamos adicionar código ao menu Sair, fazendo com que ao clicar nesse menu, nos apareça uma mensagem a perguntar se pretendemos mesmo sair e, onde teremos duas escolhas, a “OK” e a “Cancelar”.
Então para isso, a primeira coisa a fazer á apagar o código anteriormente introduzido “End”. Depois introduzir o código:
If MsgBox("Tem a certeza que quer sair?", vbOKCancel, "Sair") = vbOK Then End
(Igual em Visual Basic 6 e Visual Basic 2008 – As funções deste código serão explicadas num artigo próximo pormenorizadamente.)
O código acima coloca no ecrã uma caixa de diálogo com a mensagem “Tem a certeza que quer sair?” e espera que o utilizador clique num dos botões OK ou Cancelar. Se o botão premido for OK (retorno igual a vbOK) o prorgama fecha, se for Cancelar o programa continua, sem nada acontecer.
Até para a semana, já sabem que qualquer dúvida comentem ou dirija-se ao nosso fórum. Bom Visual Basic para todos.
Download: Código Event - Driven [113.23KB]
Este artigo tem mais de um ano
Boas..
Acho a iniciativa de promover a programação muito interessante.
Mas se o exemplo estiver vocionado para vb.net, a utilização de msgbox não é a mais indicada, mas sim a utilização de MessageBox.Show.
PS: (Acho eu)
só uma questão existencial aqui para o meu lado.
Porquê programação dirigida a objectos, e nao programação orientada a objectos?
gracias
Boas,
Acho que não leste bem, o tema é programação dirigida por eventos.
humm, esquece escrevi ainda estava a dormir possivelmente.. sorry!
porque é que isto dá sempre erro quando queremos guardar este artigo em pdf?
pensei que fosse do browser mas não, pois uso o opera e experimentei com o mozzila e dá precisamente o mesmo.
erro:
TCPDF error: Alpha channel not supported: https://pplware.sapo.pt/wp-content/images2009/visual_basic_04/imagem_visual_basic04_01_small.png
same here!
Aqui também… Já tinha mencionado essa questão no post da semana passada.
O erro foi corrigido, a conversão já é possível. Pedimos desculpa, trata-se de um bug do conversor pdf que não aceita nem gifs nem png com alpha channel. Esperamos resolver a situação em breve, obrigada pelo reparo.
Na minha PAT fiz uma aplicação em VB.net onde totalizou 1116 linhas de código 😀
Acho esta iniciativa muito interessante.
Antes de mais queria dar os parabens ao autor, está porreira a explicação. Boa iniciativa.
João, já agora podias era enviar o que fizeste para nós vermos também e talvez quem sabe aprender alguma coisa contigo.
É que dizer que fiz… É sempre melhor a partilha de conhecimentos.
Cumprimentos
Na minha PAP (Prova de Aptidão profissional) criei um software de gestão para um lar de 3º idade. O senão deste meu projecto é o seguinte:
Usei este componente “Devexpress DXperience v2008 Vol 1 v8.1.4” para a criação de menus mas desde então a minha aplicação deixou de funcionar em outros portáteis. Descobri que era necessário então a criação de um setup mas infelizmente não consigo porque envolve uma base de dados. Sei que estes tutoriais são o inicio mas espero um dia vir a aprender, aqui no pplware, como se cria um setup 🙂
Aqui deixo uma imagem da minha aplicação na qual me orgulho de ter feito, tirou me muitas noites de sono, directas atrás de directas mas é um projecto que quero continuar a desenvolver como quase técnica de Informática/Gestão. A nota final deste projecto foi 18 valores 🙂
http://fotocache02.stormap.sapo.pt/fotostore01/fotos//04/09/32/4376162_NdT3C.png
Obrigada 🙂
Boa tarde,
Se deseja distribuir a aplicação, efectiavamente terá que efectuar um setup.
Se desejar saber como, o meu email é vrguard@gmail.com.
@Sara Canelas
Se essa é uma aplicação .NET o mais provável é que terás de registar o dll desse componente na GAC
(Global Assembly Cache), existem muitos tutoriais na net sobre isso.
Cumprimentos
Henrique Graça
boas, precisava dumas dicas de nao te importares. a tua aplicação esta espectacular.
contacta me no msn para podermos trocar umas impressoes
anambm_4@hotmail.com
…para continuar! 🙂
Para fazer um botão de igual (=), como é a linha de código??
tipo a calculadora normal?
🙂
Tens uma propriedade do botao que é text ou qualquer coisa parecida.
como é que eu vou explicar?
esta calculadora faz a soma de dois números quando clicamos no botão somar, o mesmo acontece quando fazemos menos, vezes, dividir…
o que eu quero eh eh que aconteça o mesmo com o botão igual, ou seja, primeiro número clicamos mais e ele assume a soma, depois introduzimos o segundo e em terceiro clicamos no botão igual para nos dar o resultado, no fundo é uma calculadora tradicional que existe em Linux e Windows…! acho que me fiz entender, não???
🙂
boas again,
se desejares envia a aplicação para o email abaixo para adaptar o codigo q desejas.
um abraço
vrguard@gmail.com
ah percebi dsc, entao e simples crias uma expressao e fazes um eval.
por exemplo colocas um numero na textbox depois carregas no + e guardas o numero + o ‘+’ numa string e a seguir colocas outro numero na text box, ao carregares no = fazes, o eval(numero inicial + numero final).N sei se me fiz entendeer, e nem sei se a funcao k eu disse existe ou se tem outro nome, mas a ideia é essa em relacao a sintax basta googlares um bocadinho.
Ou em vez de andares com evals, simplesmente vais guardando o valor anterior e efectuas a operação correspondente ao botão clicado.
ok…!vou experimentar para ver se funciona…!
🙂
5*****
Venham mais tutoriais,pois começo a interessar-me por esta matéria.
Cumps.
Peço desculpa pelo off-topic mas acabei de ver novo projecto do Mozilla Labs.
É o jetpack, não sei se já falaram cá dele.
Mas parece-me muito interessante mesmo.
https://jetpack.mozillalabs.com/
Meu caro, fica o convite para fazeres um post sobre esse interessante assunto. Que me dizes?
Abraço
Vítor M.
exvelente post…
continua!
Muito bom, passei para o 11º e irei dar visual basic 6 em programação, nao há nada melhor o que treinar nas ferias.
O artigo desta semana foi fraquinho, comparando com os artigos anteriores… Apenas um If e uma msgbox??? Vá lá, tu consegues fazer melhor!
Boas… Acho excelente mostrares estas bases ao pessoal, eu estou num curso de informatica onde ando a aprender VB, daí eu ter percebido bem os paços do tutorial 3 mas acho que quem não pesca nadinha de basic ou alguma outra programação não vai percebe. Por exemplo quando somas uma textbox com outra, devias explicar pq é que uma se chama text1 ou text2, e pq é que não somas uma com a outra tipo text1 + text2 (pq senão nesta soma 1+1 ficaria 11 em vez de 2) para isso há que colocoar o VAL atraz… bem de resto está tudo optimo, e está do “tem a certeza que quer sair” não fazia a minima ideia, Obrigado por tudo!! E estou à espera dos proximos tutoriais.