Você está na página 1de 257
Programacao e Sistemas de Informacao Técnico de Gestao @ Programacao de Sistemas Informaticos ‘tur ugsto Aa Médulos 8-9-10-41 Ensino Profissional Programacao e Sistemas de 12-13-1415 Informacao Técnico de Gestao e Programacao de Sistemas Informaticos Esteio respaia a nove orogrta,considerando a colendarzays0 Classe Aluno ‘Atcibutos herdados: ‘Nome : String; Tolefone : Strin FIG.8.17. Um exemplo de polimorfismo: um método defini classe derwada (Alun). ‘Type Aluno = Object (Pessoa) curso : String ; AnoCurso : Integer ; Bnd ; Var AL, Az + Aluno ; Como ja sabemos, esta classe Aluno herda automaticamente os membros da classe Pes- soa. Por isso, 0 método EscreveDados também é herdado pelos objetos do tipo Aluno. Por exemplo, uma instrucdo como: Al.EscreveDados ; = fara escrever os dados do aluno A1 nos seus campos Nome e Telefone, ‘Mas a classe Aluno contém mais dois cam- pos de dados: Curso e AnoCurso Naturalmente, quando usamos 0 método EscreveDados com objetos da classe Aluno esperamos que sejam escritos todos os dados desta classe (incluindo Curso e AnoCurso). Entdo, 2 solucéo passa por sobrecarregar 0 método EscreveDados por forma que ele funcione de acordo com o que é esperado Jpara os objetos da classe Aluno. i Elsto consiste simplesmente em criar uma nova jiversao de EscreveDados que faca escrever todos os dados visados; por exemplo, assim: Jo de forma diferente na classe-base [Pessoal e numa ‘Type Aluno = Object (Pessoa) curso : string ; Integer + Procedure Escrevepados ; Anocurse Bnd; Procedure Aluno.EscreveDados Begin Write (None); Writeln (Telefone) Write (Anocurso) ; Weiteln (AnoCurso) ; End, Suponhamos que declaramos um objeto P1 de Pessoa e um objeto A1 de Aluno: var Pi : Pessoa ; Al: Aluno ; Entdo, uma instruc3o como esta’ P1.EscreveDados ; — chama 0 método EscreveDados com um objeto (P1) de Pessoa e, por isso, faz escrever apenas os dados Nome e Telefone. Por outro lado, uma instrugéo como esta Al. EscreveDados ; — chama 0 método EscreveDados com um objeto (At) de Aluno e, por isso, faz escrever nao so Nome e Telefone, mas também Curso e AnoCurso. 23 ‘24 INTRODUGAO A PROGRAMACAO ORIENTADA POR OBJETOS. 8.3. PROGRAMACAO DIRIGIDA POR EVENTOS COWstal Basic 2010 egress — Lasts ae Wont nen Unrate F1G.8.18.0 Microsoft Visual Basie é um ambiente de progr Na maior parte dos ambientes de progra- macao orientada por objetos esta pre- sente também a caracteristica eventos. Esses ambientes so, portanto, ambientes de programacéo OOED (Object Oriented Event Driven) — programagao orientada por objetos e dirigida por eventos Tal € 0 caso do Visual Basic, onde utilizamos uma linguagem orientada por objetos e um ambiente dirigido por eventos. Na programacao procedimental, nao ciri- gida por eventos, 0 programador define a Exemplos, no ambito abrir uma sistema informatico: premir uma tecla: clicar com o rato: -amagio dirigida por eventos ordem em que as instrucdes do programa devem ser executadas, incluindo também estruturas de controlo, chamadas a subpro- gramas, etc. Isto funciona bem quando o utilizador das aplicagoes interage com o programa apenas lendo e escrevendo dados através de uma consola (conjunto monitor e teclado). Mas, quando 0 utilizador trabalha com um ambiente grafico, como, por exemplo, 0 Windows (com janelas, botoes, rato, etc.), a programacao procedimental tem de ser substituida por programacao dirigida por eventos de eventos deum Io. 6.19. Em pragramaco dirigida por eventos, um evento uma ecarréncia tal como urn clique do rato ou 0 premir de uma tecla, mas também, janela lua ip etom cIbe( ta sender ts Systm ot, PROGREMAGAD DRIGIDA POR EVENTOS. nl ee sper). FIG. 6.20. 0 ambiente de programaca do Visual Basic. Na secco superior, podemos ver um formulério (Form!} com um botdo de comando [Buttont] ¢ uma caixa de texto em branco, Na sec¢3o inferior, temos um fexempla de um procedimento de evento associada ao abjeto Buttonl e ao evento Click. E ai que serdo Num ambiente de programagio dirigido por eventos - como, por exemplo, o Visual Basic (figuras 8.18 e 8.20) ~ esta previsto um conjunto de eventos que podem ser detetados e programados no ambito de uma aplicacao. Evento, neste contexto, é uma ocorréncia no sistema (computador, sistema operativo, apli- cages) que pode ser captada e controlada Por programacao, como, por exemplo, clicar com 0 rato sobre um botao de comando, abrir ou fechar uma janela, premir uma tecla, introduzir um dado numa caixa de texto, etc Normalmente, esses eventos podem ser associados a objetos incluidos pelo progra- mador numa aplicacao, tais como botdes de comando, menus, botdes de opcao, caixas de texto, imagens, etc Suponhamos, por exemplo, que incluimos um oto de comando numa aplicacéo e quere- ‘mos que surja urna mensagem numa caixa de texto quando o utilizador fizer um clique sobre 0 botdo de comando. las as instrucGes que pretendemos que sejam executadas com aquele evento Neste exemplo, o botéo de comando é um objeto eo clique do rato é um evento. Em programao dirigida por eventos, 0 programador tera de procurar a forma de escrever um procedimento associado a0 objeto botao de comando para que esse procedimento seja executado quando ocorrer © evento previsto (clique do rato sobre 0 botao de comando). Este tipo de procedimento chama-se, precisa- mente, procedimento de evento (em inglés, event procedure). Um procedimento de evento ¢ uma rotina de cédigo que ¢ escrita associadamente a um ‘objeto para ser executada quando ocorrer determinado evento. E nestes procedimentos de evento que um programador, num ambiente dirigido por eventos, ird escrever grande parte do cédigo das suas aplicacoes. £ isso que iremos fazer, com 0 ambiente Visual Basic, a0 longo dos proximos médulos, 25 PROPOSTAS DE TRABALHO E AUTOAVALIACAO 1. linguagem de programacao que foi abor- dada nos médulos 1 a 7 do volume 1 deste manual foi Pascal. 1.1. Indica, justificando, em qual dos seguin- tes modelos de programagao incluis essa linguagem. a] Programacao nao estruturada bl Programacdo estruturada cl Programacao orientada por objetos. 1.2. Como distingues, em tracos gerais, @ programacao orientada por objetos rela tivamente 8 programagao estruturada? 1.3. Indica o nome de duas linguagens de programacao que pertencam ao para digma de programacao orientada por objetos (P00) 2.No paradigma POO, classes e objetos sao dois conceitos centrais. 2.1. Diz a que entendes por objeto e classe no contexte da POO, Dé exemplos. Rela- ciona objeto com classe. 2.2. Dos sequintes conjuntos, indica, justfi cando, qual o que methor correspond 4s caracteristicas gerais da POO 4a] Estruturacao, procedimental b] Abstracao, modular cl Encapsulamento, heranga, polimor- ismo. 23. Dos seguintes conjuntos, indica, justif cando, qual o que melhor corresponde & composicao de uma classe em POO. a] Estruturas de dados e de controle b] Procedimentos e fungdes. cl Dados métodos. 3. Considera o seguinte cédigo em Pascal que contém um exemplo de uma classe. Type ‘Tanque = object comprimento + Real + Largura : Real ; Function Volume : Real 1 End: Punction Tanque.Volume : Real ; 3 3.2, 33, 34. 35, 38. Voluno = ComprimentotLarguratAltura ; Diz, justificando, 0 que é que neste cédigo indica que existe a definicao de uma classe. Indica, justificando, quais os membros daquela classe que sdo atributos ou campos de dados e quais os que s30, métodos. No final. do cédigo temos a seguinte declaracao: Var T1, T2 : Tanque ;. Neste caso, podemes afirmar que TI e T2 sao objetos? Justifica a tua resposta, Explicita 0 significado de cada uma das ‘seguintes instrusées a] TI.Comprimento := 10; b] Write [T1 Areal ; Escreve trés instrucdes que atrituam aos trés campos de dados do objeto T2 (05 seguintes valores: 5; 4; 3. Escreve uma instrucio que faz executar ‘o método Area assaciado 20 objeto T2. 4,Considera o seguinte cédigo em Pascal que cria uma classe com o nome Pessoa. type Pescoa - object, string ; Private Telefone : string; Public Procedure Settee (W:string) Public Procedure Gettone : string Public Proosaire Sevtelat a:sering) ; Public Procedure GetTelef : string End; 11... Cbdigo dos procedinentoa 4.1. Qual o significado e efeito das palavras Private © Public no cédigo apresentado? 4.2. Na anterior detinicao da classe Pessoa, temos métodos publicos para servirem de interface que permita aceder aos, dados privados dos objetos. Esclarece esta afirmacao. 08 exemplos. 43. Considerando a declaragao de variéveis. [P1 € P2| no final do cédigo apresentado, diz, justificando, qual das seguintes ins: trugoes ¢ valida e qual é incorreta. a] PI.Nome := Sara’ b] Pt SetNomel'Sara!l 5. Supée que a anterior classe Pessoa era tomada como classe-base para criar a seguinte classe derivada Aluno. Type Aluno = Object (Pessoa) sering // outros ateibutos Public Procedure Setdurso (C:Stxingl Public Procedure Geccureo : String ; // oxtros métodos ma // «1. CSdige dos procedimentos Var a1, 22 + Aluno ; 5.1. Que nome se costuma dar a caracteris tica da POO que permite criar classes a partir de outras? Esclarece as vantagens dessa técnica de programacao, 5.2. Considerando a declaracio de variaveis [Al @ AZ| no final do cédigo apresentado, di, justificando, quais das seguintes in trusées sao incorretas e, em relacao 2s que £30 validas, diz qual o seu significado. a] Al.Nome == "Sara; bl A1-SetNomel'Sara’}: A a er g e e 2 a a a = a a z a a a bauee FIG. 9.4. Toolbox - caixa de ferramentas, A esquerda, a seccdo All Windows Forms. Ao centro, a secca0 Common Controls, A direita, sao visiveis algumas dos outras secebes da caixa de ferramentas, nomeadamente, controlos para dados (Datal e controlos de desenho. A Toolbox ou caixa de ferramentas (figura 9.6) contém os controlos do Visual Basic que podemos inserir nos formulérios das nossas aplicacées. Os controlos da Toolbox podem ser acedidos numa lista Gnica - com o titulo All Windows Forms — ou entao procurados em diferentes seccGes ou grupos tematicos. A principal dessas seccées chama-se Com- mon Controls e contém os controlos mais comuns ou mais usados, tais como: Pointer ~ Ponteiro ~ para selecionar e mover elementos no formulario; @ Button - Botdo de Comando ~ para mandar efetuar operaoes; ‘A label - Legenda ~ para apresentar texto (nao permitindo input); ig PictureBox ~ Caixa de Imagem ~ para apresentar imagens; fm TextBox - Caixa de Texto ~ para apre- sentar ou receber texto (permitindo input). Algumas das outras seccoes existentes na Toolbox sao, por exemplo, as seguintes: Containers seccdo de controlos que ser vem para conter outros controlos, tais como’ Panel - Painel - para agrupar um con- junto de controlos num formulario, Menus & Toolbars ~ controlos para criar menus e barras de ferramentas, tais como: = Menu Strip - Tira de menu ~ para criar comandos num menu. Data — seccao de controlos para operar com dados ou bases de dados, tais como: ja DataGridView ~ uma grelha para visualizar dados. Visual Basic PowerPacks ~ outros contralos; Por exemplo, para desenhos no formulario: RectangleShape ~ controlo grafico para desenho de retangulos. 194. OAMBIEN :OGRAMAGHO DO VISUAL BASIC Janelas Solution Explorer e Properties FIG. 9.7. Janela Solution Explorer. A janela chamada Solution Explorer situa-se na parte superior direita do ambiente do Visual Basic e funciona como um meio de explorar ou navegar nas varias componentes do projeto (ver figura 9.7), Nesta janela, aparecem os nomes dos ficheiros dos componentes que vao sendo criados ou incorporades num projeto, como, por exemn- plo: formularios; unidades de cédigo; ima- gens; bases de dados; etc. Na figura 9.7, como se refere a um projeto que est no inicio, apenas aparece Form1.vb =o nome do primeiro formulério que o Visual Basic insere automaticamente no projeto. No topo desta janela Solution Explorer, ‘temos 0 sequinte conjunto de botdes: Properties — apresenta e faz entrar na GD) janela das propriedades; Show All Files - mostra todos os ficheiros do projeto; Refresh ~ atualiza a informacao; View Code - apresenta e faz entrar na janela de edicdo de cédigo; View Designer ~ apresenta e faz entrar na janela de desenho do formulério, 0.9.8, Janela Properties A janela Properties, também conhecida por Caixa de Propriedades (figura 9.8), apresenta as propriedades do controlo selecionado no momento ou do proprio formulario (se nao estiver selecionado nenhum controlo) As propriedades variam de controlo para con- trolo. No entanto, hé muitas propriedades ‘que sao comuns a varios controlos. Uma propriedade que todos os controlos tém 6 Name — 0 nome interno pelo qual é identi- ficado cada control no cédigo de um pro- grama Outras propriedades comuns a muitos con- trolos s80, por exemplo: + Text —o texto que 0 controlo presenta: + BackColor ~ a cor de fundo do controlo; ete No topo desta janela Properties temos o seguinte conjunto de botées: Categorized ~ organiza os controlos BBL por categorias; Alphabetical — apresenta os controlos por ordem alfabética; para 0 controlo que estiver selecionado; Properties ~ regressa 4 apresentacao das propriedades. aw Events — mostra os eventos previstos a & 35 9.2. FASES DE DESENVOLVIMENTO DE UM PROJETO Anilise da situacao 9 ernmemienrrrnn | @ ‘ou problema a resolver + Planeamento das tarefas a realizar ‘dos objetivos Escrita do | ay eee: : depuracaoe cooley finalizacao | | | FIG. 9.9. Esquematizacao das principais fases a considerar no desenvolvimento de um projeto de programagao em Visual Basic. As setas que partem da fase 3 para as fases anteriores indicam que, apés os testes, podemos necessitar de voltar as etapas anteriores, Para compreendermos melhor a estrutura e © modo de funcionamento do ambiente de trabalho do Visual Basic na criacdo de proje- tos de programacao, vamos comecar por analisar as fases de desenvolvimento de um projeto em termos gerais (ver esquema na figura 9.9). Em principio, devemos sempre considerar uma fase prévia a0 desenvolvimento do pro- jeto propriamente dito ~a fase preparatéria ou de planeamento. Esta fase preparatoria ou de planeamento comeca pela andlise da situacdo ou pro- blema que pretendemos resolver com 0 pro- grama e consistira essencialmente na defini- Go dos objetivos ¢ tarefas a realizar. Seguem-se as fases de desenvolvimento do projeto de programacso propriamente dito - que podem ser assim resumidas 1 Desenho da interface grafica - 0 pro- grama deverd ter, pelo menos em principio, uma interface grafica para interacao com 0 utiizador, normalmente, essa interface gré- fica parte de um formulario, onde se colocam 05 componentes visuais apropriados as fun- ionalidades desejadas; 2 - Escrita do cédigo — correspondente as acdes pretendidas; como veremos, a escrita da maior parte do cédigo é feita em procedi- mentos de evento associados a objetos do formulario; 3- Teste, depuracao e finalizacao do pro- jeto ~ apés o desenho da interface e da escrita de codigo, vamos testar 0 programa para ver se ele funciona bem e aperfeicaé-lo, se for caso disso; a finalizacao do projeto pode consistir na criacao de um ficheiro exe- cutavel ou de uma instalacao. DE UM PROJETO| FIG.9.10. Fase de desenho da interface gréfica. \ esquerda, temos apenas um formulério [Formt] vazio, apés termos pedido um novo projeto do tipo “Windows Forms Application’. A direita, podemos ver o desenho da interface que {TextBox!] e um botao de comando (Button! Para exemplficar as fases de um projeto em Visual Basic, vamos comesar por pedir um novo projeto do tipo “Windows Forms Application” (se necessério, rever pagina 31). Segue-se um resumo das trés etapas referidas na pagina anterior (as quais ergo analisa- das mais pormenorizadamente nas paginas seguintes): 1 ~ Desenho da interface gréfica (figura 9.10) — no nosso formulario Form1 vamos inserir os seguintes trés “controlos”: uma legenda (Label1); uma caixa de texto (Text- Box1) e um botao de comando (Button1). 2.- Escrita de cédigo - pretendemos que, a0 liar no botao de comando, o texto da legenda nsiste apenas num formulério com trés “controlos' uma legenda (Labell|; uma caixa de texto (Label) seja alterado para “Bem-vindo ao VB"; para isso temos de abrir a janela especifica para a escrita de cédigo (figura 9.11); trata-se, neste caso, de um procedimento de evento (event procedure) associado ao evento Click do botao de comando (Button’) 3 Teste, depuracao e finalizagao — para testar 0 nosso programa temos de o fazer “correr” ou executar (figura 9.12); para isso acionamos 0 botdo Start Debugging na barra de ferramentas (Toolbar) ou teclamos FS. Neste caso, temos apenas um botéo de ‘comando para testar. Para finalizar 0 projeto, por agora, basta pedir, no menu File, 0 comando Save Alll, para guardar todos os ficheiros do projeto. ote uo CAG peter tt 46.9.1. Fase de escrita do cédigo. Aqui pode ver-se a fescrita de cédigo de um procedimento de evento associado ao clique de um botéo de comando (Button). Pretendemos que o texto da legenda SlLabel!] seja alterado para “Bem-vindo a0 VB 9.9.12. Teste do programa, Para testar o programa acionamos o botdo “Start Debugging”, na barra de ferramentas. Neste caso, temos apenas o botao de comando para testar. Se 0 programa tiver algum erro, 6 a altura para o detetar e corngir. 37 38 Fase 1 - Desenho da interface grafica Escrevaoseunome | —-———* Label llegendal J TextBox caixa de texto} [annem | AL sutton nti de manda FI0.9.13. Um esboco da interface grafica para o nosso primeire programa, © desenho da interface grafica pode comecar com um esboco numa folha de papel (ver exemplo na figura 9.13). No Visual Basic, o desenho da interface gré- fica é bastante facil, pois basta selecionar na Toolbox cada um dos componentes deseja- dos e coloca-los no formulario. A Toolbox ou Caixa de Fetramentas disponi- biliza-nos varios grupos de controlos, entre os quais Common Controls ~ 05 mais comuns. Entre 05 mais utilizados, temos, por exemplo: legendas (labels); caixas de texto (text boxes); bot6es de comando (buttons); etc. A insercao de controlos da Toolbox num for- mulario pode ser feita de duas maneiras: a) selecionando o controlo na Toolbox com um simples clique do rato e desenhando-o no formulério na posicao desejada; b) fazendo um duplo clique sobre © controlo nna caixa de ferramentas — desta forma, 0 controlo aparece de imediato no formulério. Esta nossa primeira interface ter apenas os seguintes trés controlos: —uma legenda ~ Label; — uma caixa de texto ~ TextBox; — um botao de comando ~ Button A figura 9.14 ilustra a insercao de uma legenda (label) num formulario. O Visual Basic atribui automaticamente nomes aos controlos: Label1; Label2; etc. FI0. 9.16. Exernplificacdo da insercao de um controlo do tipo Label (tegenda) num formulirio a partir da Toolbox ou Caixa de Ferramentas, 0 Visual Basic atribui automaticamente names aos controlos: neste caso, Labell. >a gag A fase de programacao que designamos por Desenho da interface grafica engloba dois tipos de tarefas: 1-0 desenho da interface com a de controlos no formulério; desses controlos, conforme as caracteristi cas que queremos que eles assumam. Entre essas propriedades, temos, por exem- plo: — as dimens6es (comprimento, largura); 0 texto que aparece no controlo; —a cor do texto ou a cor do fundo; ete Algumas propriedades dos controlos podem. ser definidas diretamente através do rato sobre DE UM PROJETO| FIG.9.18. Fase de desenho da interface grafica de um projete. Neste caso, ainterface consiste num formulério [Formt] com os seguintes trés “controlos”. uma legenda ILabett}; uma caixa de texto {TextBoxt] e um botdo de comands (Buttont). © proprio objeto, como, por exemplo, o seu osicionamento no formulario e as suas dimen- bes (comprimento, largura); etc A maioria das propriedades de um controlo 6 definida na caixa Properties. Para tal, é nnecessério selecionar 0 controlo no formulério , em seguida, procurar na referida caixa Pro- erties a propriedade que se deseja definir. Na figura 9.16, € exemplificada a definicdo de uma propriedade de um botao de comando (Button). Trata-se, neste caso, da propriedade Text - que tem a ver com 0 texto que € apresentado no botao. Na caixa Properties, & direita de Text, escrevemos 0 texto pretendido (neste exemplo foi apenas: “Clique aqui) FIG. 9.16. Exemplificago da definigdo de uma propriedade de um controlo hum formulério. Est selecionado um objeto do tipo botao de comando [Buttont] e estamos a definir 2 sua propriedade Text - que diz respeito ao texto que 6 apresentado no botao de comando, Neste caso, escrevemos simplesmente: Clique aqui ® a a a a A A a a Fla.9.17. Para definir as propriedades de um controlo é necessério s a-lo, Neste caso, selecionémos o controle Buttont. Na caixa Properties [a dieital, esta a ser definida a propriedade Font - que diz respeito 8 fonte tipogréfica do texto apresentado na batse de comanda. 0 pequena bolo [1 direita da propriedade Font faz abrir a caixa Tipo de letra que se pode ver na figura 9.18, Como j vimos, para definir as proprieda- des de um controlo temos de selecioné-lo no formulério e, em seguida, entrar na caixa Properties, a direita do formulario. As propriedades variam de controlo para controlo, embora haja aigumas que sao comuns entre muitos controlos, como, por exemplo: + Name ~ designa 0 nome interno do con- trolo (por exemplo: Label1; Button; etc.); + Text — 0 texto a apresentar pelo controlo; + BackColor ~ a cor de fundo do controlo; + ForeColor — a cor do texto no controlo; + Size — 0 tamanho do controlo em pixeis; + Image — permite importar uma imagem para apresentar no controlo; + Location ~ define as coordenadas do canto superior esquerdo do controlo relativa- mente ao seu contentor (form ou outro). Em principio, as propriedades estao ordena- das por ordem alfabética. Se isso nao se veri- ficar, basta usar 0 bot8o com as letras AZ para efetuar essa ordenacéo. Na figura 9.17, esta selecionado 0 botao de comando (Button1) e, na caixa Properties, estamos a definir a sua propriedade Font — que diz respeito a fonte tipografica que é usada para escrever 0 texto, Um pequeno botao & direita da propriedade Font faz abrir a caixa Tipo de letra que se pode ver na figura 9.18. Nesta caixa, pode- mos escolher: 0 tipo de letra ou fonte tipo- grafica; 0 estilo tipogréfico (negrito, itdlico, etc.) ¢ 0 tamanho. FIG. 9.18, Caixa de didtogo Tipo de letra que é ‘aberta através do pequeno botdo na linha da propriedade Font ver figura 9.17) SES OE DESENYOL MENTO DE UM PROJETO > >a oex Fig.9.19. Neste caso, na calxa Properties, esti a ser definida a propriedade BackColor ou cor de fundo do controlo selecionade. Uma outra propriedade que € costume que- rer alterar num controlo ou no proprio for- mulario é a cor de fundo ~ BackColor. Na figura 9.19, € exemplificado como pode- mos alterar a cor de fundo de um objeto, neste caso, 0 botdo de comando Buttont Na caixa Properties, na linha da propriedade BackColor, temos um pequeno triangulo que abre uma paleta de cores. Esta tem trés abas: © Windomoptcationt Rung - Maia Vial Base F16.9.20, Exemplo de uma caixa de texto (TextBox), neste caso com a propriedade Mutttine igualada a True rita de varias linhas, o que permite * Custom - que permite ao utilizador esco- Iher a cor numa matriz de cores apresen- tada; + Web - que apresenta uma outra lista de cores (estilo Web da Microsoft); + System — para as cores habituais do sis- tema Estas e outras propriedades estdo disponiveis para qualquer um dos trés tipos de controlos que inserimos no nosso formulario (Label, TextBox e Button) e até para os préprios for- mularios. Uma caixa de texto — TextBox — permite que © utiizador escreva nela. Isto pode ser usado para input de dados no programa, Na figura 9.20, € apresentado um exemplo de utilizagao da caixa de texto na nossa inter- face. Neste caso, foi alterada a sua propriedade chamada Multiline. Habitualmente, esta pro- priedade assume o valor False (falso) e ape- nas admite uma linha de texto. Com Multi- line igual a True (verdadeiro) passa a permitir a escrita de varias linhas de texto. 4 42 Fase 2 - Escrita de codigo Visual Basic ¢ um ambiente de programa- <0 orientada por eventos (event driven) — © que quer dizer que muito do cédigo que escreverios destina-se a fazer executar acdes em resposta a certos eventos que podem ser detetados pelo sistema - 05 procedimentos de evento ‘Vamos exemplificar um procedimento de evento associado ao botdo de comando Button1, mais precisamente ao evento Click relacionado com este controlo Para escrever o cédigo de um procedimento de evento associado a um controlo temas de abrir a janela de cédigo Code Window do Visual Basic. sage a ci i FIG, 9.21. Para abrir a janela Code Window relativa a urn objeto lormulario eu controle) podemos: a] fazer um duplo clique sobre o contrato; bl selecionar 0 controlo e pedir View Code na janela Solution Explorer, cl selecionar a contralo e pedir Code ne menu View, dltectar F7 Para isso podemos optar por uma das segui tes vias (ver também figura 9.21): a) fazer um duplo clique sobre 0 controlo em. questo (neste caso, o botao de comando); b) selecionar o controlo e, na janela Solution Explorer, clicar no botdo View Code; Qselecionar 0 controlo e pedir, no menu View, 0 primeiro item: Code: 4) teclar em F7. Como se pode ver na figura 9.22, a janela de <édigo Code Window surge com algumas linhas de cédigo inseridas pelo proprio Visual Basic: + Public Class Form1 ~ ¢ 0 cabecalho da classe do nosso formulério Form1 (ao qual tudo isto diz respeito); + Private Sub Button _Click (...) ~ é 0 cabe- calho do procedimento (Sub) do boto Buttont com o seu evento Click E dentro deste ultimo procedimento - um procedimento de evento ~ que vamos escrever 0 nosso cédigo. Fi9.9.22.Jancla de cédigo [Code Window] do Visual Basic com um procedimento de evento levent procedure), neste caso, retacionado com o betao de comando Button! © o evento Click, FIG, 9.23, Janela Code Window com a caixa de listager que apresenta os varios ebjetas in dos no formulério, Analisemos melhor a linha do cabecalho deste procedimento de evento (figura 9.22) Private Sub Buttonl_Click(...) a palavra Private indica tratar-se de um método privado desta classe (formulario Formt); — a palavra Sub vern de Subprogram (sub- programa) e 6 a designacao de um procedi- mento em Visual Basic; = 0 conjunto Button1_Click(...) identifica 0 evento Click associado ao botao de comando com 0 nome Button1. Nota: Neste momento, no nos vamos preocupar com as parémetros que o Visual Basic inclui den- tro dos parénteses deste tipo de procedimentos. Por agora, diremos apenas que eles asseguram a comunicacao adequada deste procedimento com o sistema, public Clase Ford Private Sub tutton_Click(®al sender} SbLic Class Forel Private Sub outed 0% + FG. 9.24, Janola Code Window com a caixa que lista 0s eventos previstos para cada objeto Analisemos agora a janela de cédigo Code indow (figuras 9.23 e 9.24). Na figura 9.23, vemos a caixa de listagem que apre- senta 0 objetos inseridos no formulario. Na figura 9.24, verios a caixa que lista os even- tos associadios a cada objeto. © cédigo que vamos escrever neste procedi- mento de evento ¢ (figura 9.25) Labell.Text = "Bem-vindo ao VB" Com esta instruco pretendemos que o objeto com o nome Label1, na sua propriedade Text, receba (=) 0 dado indicado a seguir; neste caso, a frase (entre aspas) “Bem-vindo ao VB" Repare-se que, em Visual Basic, ndo é usado nenhum sinal para terminar uma instrucao. Em principio, uma mudanga de linha implica uma nova instrugao. Se pretendermos continuar uma mesma ins- trusao na linha seguinte, & necessério sinali- zar isso com 0 travessao underscore (_) no final da linha; por exemplo: Label. Text "Esta linha 6 continuacéo da instrugao anterior" FIG. 9.26. Janela de cédigo do procedimento de evento ‘ascaciado a0 botdo de comando Buttont e 20 seu evento Click 43 Ms 5 Pesvate Sub outtont Click(ayial sender Lateli.text + “tem-vindo 20 v8" Public Class: Instrugsas End Sub Fim doprocedimerto End Class —$} Finda ciasse FIG. 9.26. Janela de cédigo de um procedimento do eventa Click associado a0 botda de comando Buttont e representacao esquematica de um procedimenta de evento em geral. A classe em que ele se situa pode conter outros elementos: outros membros e outros procedimentos. Um procedimento de evento distingue-se por ter o nome de um objeto, seguida de travessio e o nome de um evento, Como vimos na pagina anterior, ao entrar- mos na janela Code View (figura 9.26), 0 Visual Basic insere automaticamente algumas linhas de cédigo. A parte que diz respeito a0 procedimento de evento ¢ a seguinte: Private Sub Button] Click(...) End Sub A palavra Sub indica tratar-se de um procedi- mento. A expresso Button1_Click indica evento Click associado a Button Em geral, 0 Visual Basic designa os procedi: mentos de evento desta forma: NomeObjeto_NomeEvento(...) + NomeObjeto — refere o nome do controlo ou objeto que seleciondmos para escrever 0 cédigo; no nosso exemplo, Button’; + Nomevento - refere o nome do evento que pretendemos tratar através da escrita de cédigo; no nosso exemplo, o evento Click. Ha muitos outros eventos possiveis associa- dos aos controlos que inserimos num formu- lério; por exemplo, para um botdo de comando como 0 nosso Button1, esto previstos even ‘tos como: * Click ~ clique simples do rato; + DoubleClick ~ duplo clique; + MouseEnter ~ ponteiro do rato em cima; + Keypressed - tecla pressionada; etc. Para selecionar um evento diferente, abre- se, na janela Code View, a caixa de listagem de eventos (na figura 9.26, onde esta escrito Click) e escolhe-se 0 evento visado. Agora, vamos analisar 0 tipo de instrugées que é habitual escrever em procedimentos de evento simples, como 0 do nosso exem- plo. No caso, a instrucdo que escrevemos foi Labell.Text = “Bem-vindo ao VB" De um modo geral, estas instrucdes tém o seguinte formato’ NomeObjeto.Propriedade = Valor + NomeObjeto — nome do controlo; + Propriedade ~ nome de uma propriedade do referido objeto; * Valor - refere-se a um valor a atribuir & referida propriedade do objeto. Vejamos outros exemplos de instrucdes deste tipo Labell.Text = Now ~ atribui a0 controlo Label1, na sua proprie- dade Text, a data e hora corrente do sistema Wow); Labell.BackColer = Color.Blue = muda a cor de fundo (BackColor) do Label! para azul (Color Blue). [DESENVOLVIMENTO DE UM PROJETO Private sub Buttont_CLick(syial sender As systen.cbject, End class [oF Uecompatbierettendering oon 14 = Este tipo de instrugdes que vimos na pagina anterior remete para o que dissemos acerca das classes e dos objetos no modulo anterior 8. Introducdo a Programacao Orientada por Objetos (se necessério, rever pagina 12). Para referir um membro (dado ou rotina) de um objeto escreve-se, em geral: NomeObjeto.NomeMembro = ou seja, 0 nome do objeto, seguido de ponto e do nome do membro. Como sabemos, os membros de uma classe de objetos podem ser: a) dados, atributos ou propriedades; b) métodos (procedimentos ou funcoes). Como seria de esperar, 0s controlos do Visual Basic (que sao objetos) também tém métodos. Por isso, também podemos escrever instru- oes deste tipo: NomeObjeto.NomeMétodo i+ ou seja, instrucdes que fazem executar imétodos dos objetos (neste caso, controlos). #Vejamos exemplos de instrucoes que execu- Stam métodos de controlos F16.9.27.0 mecanismo de Visual Basic chamada IntliSense. escrevermos nome de um controlo, como, por exemplo, Labell, seguido de um ponte |, 0 Visual Basic apresenta a lista das propriedades e métodos pravistos para este tipo de objeto. Label1.Hide () —esconde (hide) 0 controlo Label; Label1. Show () = mostra (show) 0 controlo Label O Visual Basic oferece uma ajuda muito inte- ressante para podermos escrever instrucdes deste tipo. Chama-se IntelliSense (ver figura 9.27) e consiste no sequinte: — ao escrevermos 0 nome de um controlo, como, por exemplo, Label1, seguido de um ponto (.), 0 Visual Basic apresenta a lista das propriedades e métodos previstos para este tipo de objeto. Nesta lista, os seguintes icones permitem dis- tinguir as propriedades dos métodos: .F~ representa uma propriedade; representa um método. Para objetos como Label1 (como se pode ver na figura 9.27) temos propriedades e méto- dos como os seguintes: FiTet - propriedade Text — que diz res- eito ao texto apresentado no controlo; * Show — método Show ~ que faz aparecer ‘co. controlo, no caso de ele estar oculto, 45 46 Fase 3 - Teste, depuracao e finalizacao Fie.9.28, Para fazer correr_um programma no ambiente de trabalho do Visual Basic podemas utilizar 0 botéo Start Debugging da barra de ferramentas, 0 menu Debug ou a tecla FS. Apos termos desenhado a interface e escrito © cédigo dos procedimentos, vamos querer testar 0 nosso programa. Para isso podemos utilizar uma das seguintes opcoes: a) botéo Start Debugging na Toolbar ou barra de ferramentas; b) menu Debug, comando Start Debugging; ©) tecla FS. Caso 0 Visual Basic encontre algum erro de sintaxe, ou seja, a0 nivel do codigo que escrevemios, 0 programa nao entra em execu- 80 e € apresentada uma mensagem de erro. Neste caso, seré necessario identificar 0 erro, corrigi-lo e, s6 depois, tentar correr de novo 0 programa, Quando um programa esta a correr, a barra de titulo da janela do Visual Basic apresenta a indicacao (Running) e a maioria dos botdes e comandos do ambiente esta desativada. Um botao que pode ser utilizado 6: ~ Stop Debugging - que termina a execu- ¢40 do programa e reconduz-nos ao ambiente de trabalho. FIG. 9.28, Programa a correr como ambiente de trabalho do Visual Basic por trés, Podemos tentdo testar 0 programa ou utilizar 0 botde Stop Debugging para terminar o programa, Durante 0 tempo em que o programa esté a correr ~ run time — podemos testar os varios eventos capazes de desencadear alguma aco. No caso do nosso primeiro projeto, podemos, por exemplo: = clicar no botao de comando (Button); — escrever algo na caixa de texto; ~ efetuar, com a janela do formulario, qual- ‘quer das operacdes habituais com janelas do ambiente Windows, como: mover, fechar, etc. Estando o programa em execuggo ~ run time -, pode acontecer que seja detetado algum erro; neste caso, estamos perante um erro do tipo run time error. Quando isto acontece, 0 programa é termi- nado e somos reconduzidos a0 ambiente de trabalho, mais precisamente ao ponto onde o Visual Basic encontrou 0 erro, Também aqui sera necessério identificar 0 erro, corrigi-lo e, 36 depois, tentar correr de novo o programa. Quando estamos a trabalhar no desenho do formulério ou a escrever 0 cédigo, diz-se que estamos em design time, por contraste com run time (quando 0 programa esta a correr). A finalizagéo ou acabamento de um projeto em Visual Basic pode passar por outros tipos de operacoes. sPor agora, avancamos apenas que, no menu Project (figura 9.30), existe 0 comando ” Finalmente, acrescentémos um controlo do tipo WebBrowser (figura 9.34) - que per- mite apresentar paginas Web. 2-Escrita de cédigo Pretendemos que, ao clicar no botao de comando Buttont ("Ir para ->"), 0 controlo WebBrowsert navegue para 0 endereco que estiver escrito na caixa de texto TextBox1. Para tal, fazemos um duplo clique sobre Button para abrir a janela Code View (figura 9.35) 923, OVSUAL COMO FERRAMENTARAD FIG. 9.38. Fase de escrita do cédigo. {Aqui pode ver-se a escrita de cédigo de um pracedimento de ‘evento associado ao clique do botio Buttont. Neste caso, pretendemos que 0 controlo WebBrowser! navegue para o endereco que festiver na caixa TextBox1, na sua propriedade Text ‘Ai, no procedimento de evento associado a0 evento Click do botao de comando (But- ton1), escrevemos a seguinte linha de cédigo: WebBrowser! Navigate (TextBox1.Text) Trata-se de instruir 0 controlo WebBrowser1 para, através do seu método Navigate(), ir para o endereco que estiver na caixa Text- Box1, na sua propriedade Text. 3~Teste, depuragio e finalizacao A nossa aplicacao esta pronta. Talvez seja conveniente aumentar 0 tamanho do con- trolo WebBrowser1 por forma a podermos ver melhor as paginas Web. Para testar a aplicacao comecamos com o botéo Start Debugging na Toolbar. Se o computador estiver ligado a Internet, 0 nosso browser estard pronto para navegar para 0 endereco Web introduzido na caixa de texto (figura 9.36) Fic. 9.36. Fase de teste da aplicacéo. Escrevemos um endereco da Web na caixa de texto e clicamos no botdo de comands, Sea ligacao & Internet estiver ativa, 0 controlo WebBrowser! navega para o enderace indicado, 49 150. AMBIENTE DE PROGRAMACAO ORIENTADA POR OBJETOS 9.4. DADOS E INSTRUCOES BASICAS EM VISUAL BASIC Principais tipos de instrucdes basicas F inost) mp [a Poessomeninenit oy | ouipe Meméria/Armazenamento a rr a v ww v operasiesdeinput |_| Opraces e Operagies de otpt ror exp or exer ae ee apresentario de FI0.9.37. Esquema basico de um ‘arma ee pas sea Sistema informaticoe 05 ain Serato de uma {abe ona principaistipos de operacées Fropredade Se tata de mersopen sicas a ele associadas: in fa eee ‘um objeto; etc. (MsgBox) ‘ i eee processamento e output Como ¢ sabido, as operagées basicas que se esperam de um sistema informatico sao: + operagées de input ou entrada de dados; + operacées de processamento; + operagées de output ou saida de dados. Quando se inicia a aprendizagem de uma lin- guagem de programacao é um bom comeco Perguntar como se escreve codigo para estes tipos basicos de operacées. Como vimos até aqui, o Visual Basic oferece- -nos controlos vocacionados para input e output: = para input ou entrada de informacao, podemos utilizar caixas de texto (TextBoxes); ~ para output ou apresentacao de informa- 0 podemos utilizar legendas (Labels). Para além disso, o Visual Basic oferece-nos outros recursos concebidos para estas opera- Ges basicas de input e output: + InputBox (caixa de input) — uma funcao que apresenta uma caixa para entrada de dados, ‘+ MsgBox (caixa de mensagem) - uma fun- ‘Go mais vocacionada para apresentar infor- macao, Veremos como utilizar estes recursos mais & frente neste capitulo. Entre as operagdes de processamento que podem ser consideradas como bésicas pode- mos apontar, por exemplo: — efetuar calculos aritméticos (adi¢do, subtra- io, etc); ~ alterar um valor de uma propriedade de um objeto; ~acionar um método de um objeto; etc. Como sabemos, os sistemas informaticos per- mitem trabalhar com dados de diferentes tipos, tais como: ~ strings ou cadeias de caracteres (texto); - valores numéricos de diferentes tipos (inteiros, numeros com casas decimais, etc.); = dados légicos (do tipo: verdadeiro ou falso); - datas, horas, etc. Esta 6 uma outra questao fundamental a ter em conta quando se inicia a aprendizagem de uma linguagem de programacao: a de sabermos que tipos de dados existem e como se utilizam. 94 OADOS E NSTRUCOES BASICAS EM VSUAL BASIC Necessidade de conhecermos e controlarmos os tipos de dados FIG. 9.28 Interface gréfica para um programa que pretende efetuar a adicio de dois valores introduzides fem caixas de texto. Para exemplificar a necessidade de sabermos € controlarmos os tipos de dados com que trabalhamos vamos criar um programa sim- ples que nos vai apresentar um resultado inesperado, Partimos da interface apresentada na figura 9.38, que inclui os seguintes controlos: + duas legendas (Labels) que pedem a intro- ducao de dois valores numéricos; + trés caixas de texto (Textboxes) - as duas primeiras destinam-se & introducao de valo- res pelo utilizador; uma terceira destina-se a apresentacao do resultado; + um botdo de comando (Button) destinado a acionar um procedimento para calcular a soma dos valores introduzidos. Para 0 evento Click do botdo Button1, vamos escrever a seguinte instrucao (figura 9.39) ‘Textaox3.Text = TextHoxd.Text + TextBox2. Text ‘atte test = Teste. fet + Yetta te FIG.9.29. Cédigo do pracedimente de evento asseciado ‘0 botio de corando, destinado a adicionar os valores introduzides nas duas caixas de texto e apresenté-lo na terceira caixa de texto. Com esta instrugio, pretendemos que a caixa TextBox3 apresente a soma dos valores introduzidos nas outras duas caixas de texto (TextBox1 + TextBox2). Suponhamos que, ao testarmos o programa, introduzimos 05 seguintes valores: 3 ¢ 5. Clicando no botao de comando, seria de espe- rar que o resultado apresentado fosse 8. Porém, aparece 35 (ver figura 9.40). Porque? © programa trata 0s dados introduzidos nas. caixas de texto, nao como valores numéricos, mas como strings ou caracteres. ra, com strings o sinal + significa juntar os caracteres. Neste caso, 0 cardcter '3' + 0 caracter ‘5’ da "35" Daqui se infere que é necessdrio controlar os tipos de dados com que trabalhamos num programa, pois eles podem ter significados diferentes em contextos diferentes. FIG. 9.40. Teste do programa, em que surge um resultado inesperado, devido aa facto de nao ce ter controlado devidamente o tipo de dados com que operamos. 52 Tipos de dados, constantes e variaveis Per Byte i Inteiros pequenos [de 0 a 255] Inteiros Integer 4 Inteiros médios [de -2 147 483 684 a +2 147 483 684] Long 8 Inteiros longos [cerca de -9"*a cerca de +91 Single 4 Reais de precisao simples [cerca de 9 digitos) Reais Double 8 Reais de precisao dupla [cerca de 19 aiaitos) Decimal 16 Reais de grande precisao [cerca de 29 digitos] Boolean 2 Valores do tipo: True Iverdadeirol ou False (falso} Char 2 Caracteres (um s6 caracter de cada vez} Outros String Uvaridvell Cadeias de caracteres Itextol DateTime 8 Datas e horas. FIG, 941. Principais tipas de dados primitivos em Visual Basic, © Visual Basic oferece um conjunto diversifi- cado de tipos de dados primitivos. A tabela da figura 9.41 apresenta os mais conhecidos. Para numeros inteiros, temos os seguintes principais tipos de dados: + Byte — inteiros que utilizam um byte (8 bits); 05 inteiros deste tipo situam-se entre 0 e 255; + Integer ou Int32 — utilizam 4 bytes (32 bits) situam-se entre + 2 mil milhdes; + Long ou Int64 — utilizam 8 bytes (64 bits); situam-se entre + 10°. Em relacao a niimeros reais, no inteiros, ou seja, com casas decimais (numeros em floa- ting point ou virgula flutuante), 0 Visual Basic oferece os seguintes tipos + Single — nuimeros de preciso simples; utili- zam 4 bytes ou 32 bits e permitem até cerca de 9 digitos de preciso; + Double — nimeros de preciso dupla; utili- zam 8 bytes ou 64 bits e permitem até cerca de 19 digitos de precisao; + Decimal ~ nuimeros de grande precisa: utilizam 16 bytes € permitem até cerca de 29 casas decimais. tipo Boolean é utilizado para dados que funcionam apenas com dois valores possiveis, (True e False, ou seja, verdadeiro e falso). 0 tipo String destina-se a trabalhar com cadeias de caracteres ou texto. tipo DateTime permite trabalhar com datas e horas. ‘Nota: Os algarismos (caracteres de O a 9) também S80 caracteres e, como tal, podem ser tratados como elementos de uma string; se tivermos um Conjunto de algarismos entre 0s quais esteja um caracter nao numérico, passamos a ter uma string ou cadeia alfanumérica; mesmo que tenha- mos um conjunto de algarismos sem qualquer carécter nao numérico, esse conjunto pode ser tratado como niimero ou como string, depen- cdendo do contexto em que estver. Para além destes tipos de dados primitivos (simples), hd outros tipos de dados (que vere- mos oportunamente), tais como: arrays, estru- turas, referencias, classes de objetos, etc. 4 DADOSE RUGOES BASICASEM VISUAL BASIE Declaragao de constantes Declaragao de varidveis Dim Nome [As Tipol Examples: | | Meméria RAM 3.16 FI0. 9.42. Representacao esquemstica da declaragio de constantes e rela¢o.com a meméria RAM, Constantes sao valores guardados em memo- ria que nao sofrem alterag3o ao longo do programa, Em Visual Basic ha dois tipos de constantes: + constantes intrinsecas ~ determinados valo- res predefinidos internamente pelo Visual Basic (por exemplo: vbBlue ~ que contém um valor constante que representa a cor azul), + constantes nomeadas - constantes que S80 criadas no momento da programacao. ‘A forma genérica de declarar uma constante ¢: valor Const Nome [As Tipo] + Const ~ indica a declaracao ou criacao de uma constante; + Nome - representa um qualquer nome valido com que se designa a constante; por exemplo: Empresa, Taxa, ValorFixo, etc.; + [As Tipo] - refere-se ao tipo de dados que 6 atribuido a constante; por ser opcional aparece dentro de parénteses reto: + Valor ~ representa o valor que ¢ atribuido & constante, ‘Vejamos os seguintes exemplos: Const Pi As Single = 3.14 ~cria a constante Pi com 0 valor 3.14. Const Nl = “Ana Cruz” i — cria a constante N1 coma string “Ana Cruz" Varidveis so nomes atribuidos a espacos de memoria onde podem ser guardados valores, ‘05 quais podem sofrer alteracdes ao longo da execucao do programa. A forma mais habitual de declarar uma varia- vel em Visual Basic € a sequinte: Dim Nome [As Tipo] Nota: A palavra Dim (de Dimension) é a forma mais usual de indicar a delaracao de uma variavel ‘Como veremos oportunamente, existem outras palavras para indicar a declaracéo de variaves. + Nome ~ representa um nome valido atri- buido a varidvel; por exemplo: X, Valor, Lucro, ete.; + [As Tipo] — permite indicar 0 tipo de dados da variavel (é opciona)) ‘Nota: O Visual Basic admite a utilizacao de varié- veis em instrucoes de programacao sem a sua prévia declaracao (ainda que isso nao seja consi- derado boa pratica de programacao). Nesse a0, sera 0 proprio Visual Basic a definir 0 tipo de dados da varivel, de acordo com o contexto dda sua utilzacao. Se surgir uma instruco como, or exemplo, x = 1.5 e a variavel x n3o tiver sido declarada, 0 Visual Basic passa a consideré-la como do tipo Single. Vejamos os seguintes exemplos: Dim Nome As String Dim Valor, Valor2 As Single Podemos incluir mais do que uma variével numa mesma declaracao, separando-as por virgulas 53 Instrucées de atribuicado e expressdes aritméticas Instrusies de atribuigéo Variavet = Vator Exemplos: = -: Hy -os ‘Meméria RAM FIG. 9.43. Representacao esquematica de instrucdes de atribuicao de valores a varidvels e sua rela¢ao com a meméria RAM Em Visual Basic, a atribuigo de um valor a uma variavel faz-se através do sinal de igual (). Em geral, temos Variavel = Valor Os valores a atribuir a uma varidvel devem ser do mesmo tipo de dados com que a varidvel foi declarada (String; Integer; Single; etc.) ‘Além disso, esses valores podem ser: + valores diretos (também designados por lterais), por exemplo Idade - 20 ~ atribui a variavel Idade o valor 20; + valores provenientes de outras varié- veis; por exemplo: Idade = X ~ atribui a variavel Idade o valor X; + valores provenientes de propriedades de objetos; por exemplo: Nome TextBoxl Text = atribui a variével Nome o dado contido na propriedade Text do controlo TextBox1; svalores resultantes de calculos de expressoes aritméticas; por exemplo: Total = P+Q = atribui a varivel Total o valor contido em. P*Q Em Visual Basic poderos utilizar operadores de atribuigéo compostos com operadores aritméticos. Por exemplo: Idade += 1 = utiliza © operador += (atribuicdo com adi- 80) para atribuir a variavel Idade o seu valor depois de adicionado com 1; aquela instrucao, @ equivalente a: Idade = Idade + 1; Soma += Parcela — nesta ultima instrucao, a variével Soma recebe 0 seu valor adicionado ao valor da variavel Parcela, Para além do operador +=, existem outros ope- radores de atribuicao compostos (com as ‘outras operacdes aritméticas); os principais sao: atribuicdo depois de adicao; atribuicao depois de subtracao; atribuicao depois de multiplicacdo; atribuicao depois de divisao. DADOS E NSTRUGOES BASICASEM VISUAL BASIC Prioridade Operadores + Adic30 140.1 (08 1.11 # Subtragao 2-011 148 1.91 * Multiplicagao | 3*1.1 14833) / Divisdo reat 5/2 [dé 25) \ Divisio inteira 512 (48 2) Mod Resto da divis8o | 5 Mod 2 (dé 1) a Exponenciago | 5°2 (d6 25) 3 FIG. 9.44, Operadores aritméticos usados em Visual Basie e sua ordem de prioridade, As instrugdes de atribuigo de valores a variéveis s0 fundamentais em programa- Go, uma vez que é através dessas instrucées que se manda efetuar a maioria dos cdlculos aritméticos (e outros) que se pretendam obter através de um programa. Esses calculos sao indicados através de expresses numéticas. Consideremos uma expressao aritmética, como, por exemplo: 2.5 * (x + 10) Para que esta expresso seja calculada eo seu resultado seja guardado em algum lugar, € necessario que ela seja inclulda numa instru- 0 de atribuicao, como, por exemplo: Resultado = 1.5 * (X + 10) Entao, a variével Resultado recebe o valor obtido com a realizaco dos calculos indicados. Em Visual Basic so usados os operadores aritméticos apresentados na figura 9.44 ordem pela qual sao efetuadas as ope- rages aritméticas em instrucdes de pro- amacao obedece as mesmas prioridades Susadas na Matematica e & a seguinte: 1. Exponenciacao (sinal 4) 2. Multiplicacao (*) e diviso () 3. Divisao inteira () e resto da divisdo (Mod) 4. Adicao (+) e subtracio (-) A utilizacdo de parénteses permite alterar esta ordem de prioridades. Tal como acon- tece na Matematica, quando existem paré teses numa expressao a prioridade das opera- oes ¢ transferida para o interior desses parénteses. Existem dois operadores que so destinados exclusivamente a operagdes com nimeros inteiros (Byte, Integer, Long) e que so: \ - operador que calcula a divisao inteira; Mod - calcula 0 resto da divisao inteira, Por exemplo: » x= 10\3 atvibui a X o valor 3 (dvisao inteira de 10 por 3); 2 K = 10 Mod 3 atribui a X 0 valor 1 (resto da divisdo inteira de 10 por 3). 55 Formas basicas de input e output em Visual Basic Peete Sa ton Cih( ie cedar eS mtltewsea: tet) Como ja vimos em exemplos anteriores, podemos obter dados do utilizador (input) em caixas de texto (TextBoxes) - esta é uma forma de input ou entrada de informacao. Também ja vimos que podemos enviar infor- macao para o ecra (output) através de legen- das (Labels) ~ esta é uma forma de output ou saida de informacao, No formulario da figura 9.45 temos duas cai- xas de texto (TextBox1 e TextBox2) para 0 utilizador introduzir dois valores relativos a0 comprimento e a largura de um retingulo. Temos também um botdo de comando But- tont para mandar calcular a area do retan- Qulo, onde esta escrito: “Calcular Area”. Para apresentar o resultado (output) temos a legenda Label3, onde se pode ler “Resul- tado:" Para 0 botdo Button1, associado ao seu evento Click, varios escrever 0 cédigo que se apresenta na figura 9.45 e também no topo da coluna a direita. Nesse cédigo, comeca- mos por declarar trés varidveis, todas do tipo Single, portanto, permitindo nimeros com casas decimais a variével Comp recebe o valor do compri- mento (introduzido em TextBox1); ~ a variavel Larg recebe o valor da largura {introduzido em TextBox2); a variavel Area recebe o valor da area FIG. 9.48. Cédigo # interface de um programa para exemplificar formas basicas de input e output. Private Sub Buttoni_click() Dim Comp, Lag, Area As Single Comp = Val (TextBoxl.Text) Val (TextBox2. Text) comp * Larg Label} .Text End Sub Larg area “Resultado: * & Area Analisemos a seguinte instrucao: Comp = Val (TextBox1 Text) — a variavel Comp recebe o valor numérico (Wal) vindo da caixa TextBox1. Nota: A funcao Val é uma funcao interna do Visual Basic que devolve o valor numérico con- tido numa string. Como um dado introduzido numa caixa de texto passa & sua propriedade Text como uma string, entéo, a funcso Val capta e devolve o seu valor numérico. Com a instrucao’ Area = Comp * Larg —a variavel Area recebe o célculo da area, A apresentacao do resultado é feita na legenda Label3 com a instrucdo: Label? Text = “Resultado: * & Area Nota: Escrevemos a string “Resultado:* dentro de aspas @ a variavel Area sem aspas, Para juntar 08 dois dados (string e valor da variével) na legenda Label3, utlizamos o carécter & (ungdo de strings). FIG. 9.46, Exernpliicacao de utilizacao de uma caixa InputBox. Como j4 referimos, o Visual Basic oferece duas funcées internas vocacionadas para interagao com 0 utilizador: InputBox e MsgBox A funcéo InputBox (caixa de input) destina- -se a pedir ao utilizador a entrada (input) de um dado, Para isso, apresenta-nos uma caixa de didlogo (como a que se pode ver na figura 9.46) com uma mensagem (onde normalmente se indica o tipo de informacao que se espera do utilizador) e fica a aguardar a introducdo de um dado. A utlizacao desta funcdo deve ser feita atra- vés de uma instrucao de atribuigdo — a uma variavel - do valor a devolver pela fungao, por exemplo: Nome InputBox("Bscreva © seu nome:* = onde Nome é uma variavel que recebe 0 input. A sintaxe simpliticada da funcéo InputBox é: V = InputBox (prompt) Em que: +V-6uma variavel; ‘+ prompt - ¢ a mensagem que se pretende apresentar ao utilizador. ‘A funcdo MsgBox (Message Box ou caixa de jmensagem) permite apresentar pequenas cai 2xas com mensagens (ver figura 9.47). Um “exemplo da sua utilizacdo pode ser: Mogbox (*Esta é uma mensagem simples") FIG. 9.47. Exemplo de uma MsgBox A sintaxe simplificada da fungéo MsgBox é: (Wi = Megtox (prowpt [, buttons]) Neste caso, a funcao MsgBox pode ser ou nao usada com uma varidvel — dai que a variavel [V] apareca dentro de parénteses retos, A funcao MsgBox retorna sempre um valor, neste caso em conformidade com 0 botdo que © utilizador clicar (OK, Yes, No, etc.). Esse valor dado pela funcdo pode ser ignorado ou aproveitado (por exemplo, para decidir como continuar programa) Na sintaxe da funcdo MsgBox, temos ainda’ + prompt - que corresponde a mensagem que pretendemos apresentar; + buttons ~ diz respeito aos botoes que a caixa de mensagem apresenta; se este para- metro for omitido, é apresentado apenas 0 botéo “OK” As figuras 9.46 e 9.47 mostram como as funcées InputBox e MsgBox também. podiam ser usadas com o programa da pagina anterior. Para isso deveriamos modi car 0 codigo do botéo Button1 para algo como 0 seguinte: Private Sub Button] Click() Dim Comp, Larg, Area As single Comp = Val (InputBox (*Comprimento:")} Larg = Val (InputBox ("Largura:")) Area = Comp * Larg Meguox ("0 resultado 6: " & Area) End Sub PROPOSTAS DE TRABALHO E AUTOAVALIACAO _ ‘calcula volume do um tangue 16.9.8, Um formuléria em Visual Basic jpara funcionar camo interface num ppequeno programa em Visual Basic ‘1.Entra no ambiente de trabalho do Visual Basic e pede para criar um novo projeto. 1.1. Desenha, a partic do formuldrio apresen: tado no ambiente de trabalho, os ele- mentos que se podem ver na figura 9.48, designadamente: al uma legenda com o seguinte texto: Escreva dois nomes nas caixas de texto b] duas caixas de texto em branco, colo- cadas por baixo da lagenda anterior; clum botdo de comando com o texto Trocar os nomes nas caixas de exto’ d]um outro botde de comando com 0 texto “Juntar os names na caixa em baixo’ e]uma outra caixa de texto em branco por baixo do segundo botao de comando, 1.2. Escreve 0 cédigo a associar ao evento Click do primeiro botdo de comando de modo que os nomes nas caixas de texto sejam trocades. 1.3. Escreve 0 cédigo a associar ao evento Click do segundo botao de comando de modo que 0s nomes aparecam juntos na 1.4, Testa 0 programa e, se ele funcionar cor- retamente, cria um programa executd- vel. Testa de nove 0 programa a partir do executavel, FIG. 9.49. Urn formulario em Visual Basic para funcionar coma interface rum pequeno programa em Visual Basic 2.Entra no ambiente de trabatho do Visual Basic e pede para criar um novo projeto. 2.1, Desenha, a partir do formulério apresen tado no ambiente de trabalho, os ele- mentos que se podem ver na figura 9.49, designadamente: al uma legends com 0 seguinte texto: ‘Calcular 0 volume de um tanque’ bl trés Legendas, indicando: “Compr mento ="; “Largura =" e “Altura cl trés caixas de texto em branco, coloca- das & direita das legendas anteriores; d]um botao de comando com o texto Calcular volume e] uma ultima caixa de texto em branco, colocada @ direita do botio de comando, 2.2. Escreve 0 cédigo a associar a0 evento Click do botio de comando de modo que seja calculado o volume do tanque de acordo com as medidas introduzidas nas caixas de texto e que o resultado seja apresentado na iltima caixa de texto em branco. 2.3. Testa o programa e, se ele funcionar cor retamente, cria um programa executavel, Procura os ficheiros criados no Windows € testa de novo 0 programa, mas agora com o ficheiro executavel fora do ambiente do Visual Basic.

Você também pode gostar