Apostila de PM

download Apostila de PM

of 83

Transcript of Apostila de PM

  • 8/8/2019 Apostila de PM

    1/83Controlando a porta paralela Prof Felipe Dias 1

    Controlandoa

    PortaParalela

  • 8/8/2019 Apostila de PM

    2/83Controlando a porta paralela Prof Felipe Dias 2

    Apostila de PM Programao paraManufatura

    Contedo

    * Comunicao atravs da porta paralelaCOMUNICAO VIA PORTA PARALELA DO PC

    INTRODUONosso objetivo principal a comunicao de um PC com um dispositivo de hardware que permita o

    controle de sistemas externos por um software especfico feito pelo aluno, nas nossas aulas trabalharemos coma porta paralela do PC, conhecida como a porta da impressora (LPT), na qual pode ser utilizada como sada ouentrada. Inicialmente vamos concentrar nossos estudos para a sada de dados.

    A porta paralela conhecida tambm como porta Centronics utilizada no interfaceamento entre o

    computador e um hardware especfico (perifrico). Atualmente vrios dispositivos utilizam-se dela, tais como: Zip Drivers; Scanners; Cmeras e outros;A Porta paralela baseada na tecnologia TTL, isto , trabalha com 0V ou 5V que significam respectivamente,nvel baixo e nvel alto, ou ainda desligado e ligado.

    ENDEREAMENTO DA PORTA PARALELA

    Para comearmos o trabalho, primeiramente deve-se saber onde est porta, o computador as nomeia deLPT1, LPT2, LPT3 etc., mas a porta fsica default (padro) a LPT1 e seus endereos so 378H, 379H e37AH. O H faz referncia ao sistema hexadecimal de numerao.

    Endereo Descrio

    378H Envia um byte de dados para a porta.379H Utilizado para receber um byte atravs da porta.37AH Utilizada para enviar dados.

    DESCRIO DA PINAGEM DA PORTA CONFORME O ENDEREO

    Endereos 278H e 378H Endereos 279H e 379H Endereos 27AH e 37AHD7 Pino 9 D7 Pino 11 D7 NCD6 Pino 8 D6 Pino 10 D6 NCD5 Pino 7 D5 Pino 12 D5 NCD4 Pino 6 D4 Pino 13 D4 NCD3 Pino 5 D3 Pino 15 D3 Pino 17D2 Pino 4 D2 NC D2 Pino 16D1 Pino 3 D1 NC D1 Pino 14D0 Pino2 D0 NC D0 Pino 1

    CONECTOR DB25Legenda:NC: No conectado;D0..D7: Dado 1.. Dado 7;

  • 8/8/2019 Apostila de PM

    3/83Controlando a porta paralela Prof Felipe Dias 3

    Macho Fmea

    O conector DB25 localiza-se na parte de trs do seu gabinete e atravs dele, que o cabo paralelo se

    conecta ao computador para poder enviar e receber dados.

    DESCRIO DA FUNO DE CADA PINO DO CONECTOR DB25Conector Macho Conector Fmea

    Pino Sinal Direo Descrio01 Strobe Out Sinal de Controle

    02 Dado 00 Out Bit de dado 0003 Dado 01 Out Bit de dado 0104 Dado 02 Out Bit de dado 0205 Dado 03 Out Bit de dado 0306 Dado 04 Out Bit de dado 0407 Dado 05 Out Bit de dado 0608 Dado 06 Out Bit de dado 0709 Dado 07 Out Bit de dado 0810 Ack In Sinal de Controle11 Busy In Sinal de Controle12 Pe In Sinal de Controle13 --- --- ---14 Auto Feed XT out Out Sinal de Controle15 --- --- ---16 --- --- ---17 --- --- ---18 GND --- Sinal de terra19 GND --- Sinal de terra20 GND --- Sinal de terra21 GND --- Sinal de terra22 GND --- Sinal de terra

    23 GND --- Sinal de terra24 GND --- Sinal de terra25 GND --- Sinal de terra

    Cabo Paralelo, pronto para serligado no gabinete

  • 8/8/2019 Apostila de PM

    4/83Controlando a porta paralela Prof Felipe Dias 4

    No h necessidade do uso de todos os pinos, pode-se utilizar apenas pinos 2 a 9 (Vcc = 5V) e os pinos18 a 25 (GND).

    Um detalhe muito importante, tomar muito cuidado com a corrente (I) na porta paralela, aconselhvel a utilizao de Buffers que sero responsveis tanto pela isolao quanto a amplificao do sinal.

    Mesmo sabendo-se que a porta paralela do computador trabalha sob a tecnologia TTL, no se podesimplesmente ligar CIs TTL na sua sada, pois seu computador pode utilizar tanto a tecnologia TTL LS (Low

    Power Schottky) ou TTL HC (High Speed CMOS), que no possuem corrente suficiente para excitar os CIsTTL, no caso do meu computador porta paralela apresentou uma corrente de sada em torno de 14mA umacorrente de valor baixo, porm este fato no deve ser encarado como um problema, j que podemos contarcom alguns artifcios eletrnicos, tais como:

    Acopladores pticos; Rels; Buffers (a literatura especializada recomenda o CI 74LS514);

    SEQNCIAL DE LEDS

    Um circuito muito simples para testar a porta paralela do PC um circuito chamadode seqencial de leds que apresentado a seguir.

    Lista de Componentes: 8 leds de 5mm; 3 vermelhos; 3 verdes; e 2 amarelos 8 resistores de 220 (vermelho, vermelho, marrom); 1 placa de circuito impresso (10x5cm) de 1 face; 1 conector DB25 macho, fios;

    1 Conector tipo borneira de 9 vias.

    O circuito funciona da seguinte maneira: - Em cada uma das 8 sadas (Pinos 2 a 9) ligado um led em sriecom um resistor de 220, sendo que cada led ligado no pino que possui o sinal de terra (GND pinos 18 a 25)do DB25. Deve-se tomar muito cuidado com a polaridade dos leds, pois os mesmo so da mesma categoria dos

  • 8/8/2019 Apostila de PM

    5/83Controlando a porta paralela Prof Felipe Dias 5

    diodos, isto , possuem polaridade especfica e a corrente (I) flui em apenas um sentido. No incio mandadoum sinal para a porta, com se fora um nmero binrio e esse nmero corresponde a um byte (8 bits), sendoassim cada led representa um bit, e agir como tal. Por exemplo, se mandarmos o nmero 41 em decimal queem binrio corresponde a 00101001, teramos acesos os leds 1,4 e 6, porque so os que correspondem aos uns,ou seja, esto em nvel lgico alto, ou ainda esto injetando corrente no circuito. A seguir apresenta umpossvel diagrama para confeco da placa de circuito impresso.

    Os pinos de 2 a 9 do DB25 so conectados na placa onde esta o sinal de +.Os pinos de 18 a 25 so conectados onde tem o sinal de -.No entanto para que o circuito entre em operao, necessria uma linguagem de programao, que ser

    responsvel pelo acionamento do circuito, ao longo do nosso curso ns utilizaremos o Visual Basic, pois umcompilador de simples entendimento e rpida aprendizagem para os recursos que ns utilizaremos!

    O que o Visual Basic?

    O Visual Basic um compilador do tipo QuickBasic para criao de aplicativos para Windows, ele narealidade, uma aplicao do prprio Windows. dessa forma que os programas em Visual Basic podem sercriados, rodados, depurados e compilados diretamente no Windows. O Visual Basic possibilita aos usurios aprogramao baseada em eventos e objetos. Isto quer dizer que o programador coloca na janela todas as opes(menus, botes, cones, controles, etc...) para que o usurio selecione uma delas com o mouse ou com o teclado.Antes do Visual Basic uma aplicao era desenvolvida em linguagem C, juntamente com o Kit deDesenvolvimento de Software do Windows, o que demandava muito tempo de aprendizagem.

    Linguagem Baseada em Eventos

    Ao darmos um clique com o mouse em um determinado objeto de um aplicativo Visual Basic, porexemplo, um boto, estamos gerando um evento dentro do Windows o qual far com que um determinadopedao de cdigo seja executado. Podemos, tambm, colocar da seguinte maneira: um determinado pedao decdigo foi executado em decorrncia de um evento gerado com o clique do mouse. Se o tal boto nunca forapertado aquele cdigo poder jamais ser executado. Programadores de linguagens voltadas para DOS, estoacostumados a escrever cdigos que so executados de maneira sequencial, ou seja, o programa orientado porsequncia, isto quer dizer que as linhas de cdigo so executadas uma aps a outra durante todo o programa.

    Enquanto o programa no chega ltima linha de cdigo ele no para a no ser que o usurio intervenhafinalizando o programa antes que ele termine. No Windows diferente. No existe um corpo de programa comincio, meio e fim. O programa orientado por eventos. Normalmente, um programa para Windows apresentavrias opes possveis na tela para que o usurio as selecione conforme sua necessidade, representando, assim,um modo completamente novo de se programar. O Visual Basic uma linguagem baseada em eventos. Issoquer dizer que o responsvel pelo fluxo do programa o usurio e no mais o programador. Devemos ter issoem mente quando estivermos projetando um aplicativo. Na programao orientada por sequncia, normalmenteo usurio entra com os dados na sequncia determinada pelo programador. O Visual Basic permite que ousurio entre com os dados na ordem que preferir.

    Linguagem Baseada em ObjetosOutra caracterstica importante do Visual Basic a de ser uma linguagem baseada em objetos. As

    linguagens como o C++ e o Pascal, por exemplo, tambm baseadas em objetos, possuem classe e herana. NoVisual Basic, os objetos so pr-definidos, isto , j existe uma coleo de objetos que acompanham o software.

  • 8/8/2019 Apostila de PM

    6/83Controlando a porta paralela Prof Felipe Dias 6

    Para criar novos objetos, o programador dever utilizar a opo User Control como sendo o tipo de projeto a serrealizado. Os novos objetos s podero ser criados a partir de um outro objeto j existente, portantobasicamente esse novo objeto ter as mesmas caractersticas do objeto que serviu de base. Para criar objetoscapazes de realizar funes diferentes dos objetos existentes, voc dever cri-los em linguagem C. Dentro doVisual Basic, os objetos so, por exemplo, menus, janelas, botes, quadros de texto, etc... Melhor especificadosno captulo sobre objetos. Cada um dos objetos possui vrias propriedades, mtodos e eventos associados aeles.

    Ambiente de Desenvolvimento

    O ambiente de programao do Visual Basic composto pelas seguintes janelas: Janela Principal, Caixa deFerramentas, Janela de Propriedades, Janela de Projeto, Janela de Cdigo e Formulrio. atravs dessas

    janelas que podemos escolher os objetos que faro parte do nosso programa, configurar suas propriedadesconforme a especificao do programa, escolher os eventos que sero utilizados, etc.

    Janela Principal

    Essa janela a responsvel pelo controle geral do ambiente de programao do Visual Basic e contm umabarra de ferramentas e de menus. O menu Help, fornece informaes sobre todos os objetos e caractersticas doVisual Basic. Est tambm disponvel, atravs da tecla "F1" um Help On-Line, no qual podemos obterinformaes detalhadas de um objeto previamente selecionado. Atravs desses recursos, tambm podemosobter informaes sobre a linguagem QuickBasic utilizada no Visual Basic. Com a barra de ferramentas,temos um acesso mais rpido das funes do menu mais utilizadas.

    Barra de Ttulo

    A barra de ttulo a barra horizontal localizada no topo da tela; ela informa o nome do aplicativo e comum atodos os aplicativos Windows da Microsoft. Interaes entre o usurio e a barra de ttulo so manipuladas peloWindows e no pelo aplicativo. Tudo o que est abaixo da barra de ttulo e da barra de menu, em um aplicativo

    Windows, chamado de rea do cliente. Seu aplicativo totalmente responsvel pela aparncia, contedo eresposta dos objetos que voc alojou nessa rea.

  • 8/8/2019 Apostila de PM

    7/83Controlando a porta paralela Prof Felipe Dias 7

    Barra de Objetos

    Essa barra est localizada esquerda da tela do Visual Basic, logo abaixo da barra de ferramentas epossui os objetos grficos (botes, caixas de texto, caixa de figura, etc...) disponveis para seremutilizados dentro do projeto. O Visual Basic chama esses objetos de controles. O ambiente que vocest utilizando pode apresentar mais figuras do que o mostrado abaixo. Isso deve-se ao fato de oVisual Basic ser um ambiente de programao aberto e extensvel, ou seja, alm dos controles

    disponveis no Visual Basic, podemos adquirir outros controles fornecidos por outras empresas ouconstruir o nosso prprio controle.

    Janela de Propriedades

    As propriedades definem as caractersticas de cada objeto - controle daaplicao. O conjunto de propriedades depende do controle selecionado. Porexemplo, um formulrio tem propriedades diferentes de uma figura. Aspropriedades podem ser alteradas em tempo de projeto ou de execuo, sendoque algumas delas somente em tempo de execuo. Para alterar o valor de uma

    propriedade em tempo de execuo s por meio de programao a ser carregadaatravs de um objeto, por exemplo, um boto ou assim que o programa forcarregado, j em tempo de projeto, devemos:

    1. Selecionar o controle cuja propriedade deseja alterar;2. Rolar pela lista de propriedades at encontrar a propriedade desejada;3. Digitar o novo valor;4. Pressionar ENTER para confirmar a alterao efetuada.

    Janela de Projetos

    Essa janela possui uma lista dos arquivos que esto sendo utilizados dentro doprograma que estamos desenvolvendo. Podemos ter arquivos com extenses"BAS", "FRM, "VBP" e outros dentro dessa janela. O Visual Basic organiza ostrabalhos por projeto, permitindo que cada projeto possa ter vrios mdulos.

  • 8/8/2019 Apostila de PM

    8/83Controlando a porta paralela Prof Felipe Dias 8

    Janela de Cdigo

    Essa janela contm a declarao de variveis,constantes e rotinas. Na figura ao lado, podemos verdois quadros combo, um contendo a lista de objetosdentro do nosso programa e o outro uma lista deeventos disponveis para cada um dos objetos.

    Podemos observar na figura que o eventoselecionado o "Click" e o objeto o formulrio. Ocomando Beep na linguagem do Visual Basic geraum aviso originrio do alto-falante do PC. Portantocada vez que o usurio der um clique com o mouse

    no formulrio o procedimento "Form_Click( )" ser executado e gerar um "beep".

    Funes e Sub-Rotinas

    As funes (functions) e sub-rotinas (subs) so chamadas de procedimentos (procedures). Existem trs tipos de

    procedimentos:1.) do Visual Basic;2.) associados aos eventos;3.) criados pelo programador.

    Os procedimentos do Visual Basic so, por exemplo, os mtodos, as funes matemticas, as funesmanipuladoras de "Strings", etc. Os procedimentos associados aos eventos so aqueles procedimentos que sochamados em resposta a um evento. Adicionamos cdigos a eles atravs da Janela de Cdigo do formulrio.Os procedimentos criados pelo programador so aquelas sub-rotinas e funes utilizadas para melhorar aestruturao do cdigo. Podemos ter, por exemplo, uma funo que abre um arquivo. Essa funo trataria ospossveis erros e retornaria o nmero do arquivo aberto. Esse procedimento estaria declarado dentro do objeto

    "General" da Janela de Cdigo de um formulrio ou de um mdulo. Dentro do Visual Basic, a diferena entreuma funo e uma sub-rotina que a funo retorna um valor e a sub-rotina no.

    Formulrio

    Essa a janela do nosso aplicativo. Quando o usurio iniciar o programa, a mesma aparecer. A janela possuios quadros minimizar, maximizar, fechar e menu de controle. nessa janela que colocaremos os controlesgrficos (botes, quadros de texto, etc.) e tambm o cdigo associado a esses objetos. Para abrir uma janela de

    cdigo, basta dar um duplo clique em cima do objeto do qual um evento deve ser tratado.

  • 8/8/2019 Apostila de PM

    9/83Controlando a porta paralela Prof Felipe Dias 9

    Agora vamos colocar em pratica!

    Visual Basic ComunicaoPorta paralela

    Como uma linguagem de alto nvel, o Visual Basic no oferece recursos para

    acesso direto ao hardware. Desta forma, para acessar, por exemplo, a portaparalela ou serial devemos possuir um componente externo, o qual atuar comointerface entre nosso programa e o hardware.

    Componentes para acesso direto ao hardware devem ser desenvolvidos atravs delinguagens que permitem instrues de baixo nvel (como Assembly ou C).Porm, para acesso porta paralela, temos disposio na Internet uma srie deDLLs gratuitas.

    No nosso curso estamos utilizando a "inpout32.DLL" uma DLL gratuita quepermite a entrada (input) e sada (output) de dados atravs da porta serial RS232.Essa DLL deve residir na pasta do projeto ou na pasta c:\windows\system32.

    O uso da "inpout32.DLL" bastante simples! Basta introduzirmos as seguintesdeclaraes em um mdulo do projeto:

    Esta instruo faz a declarao da funo Inp, que na realidade seencontra na biblioteca inpout32.dll sob o nome Inp32.

    Observe que o underline (_) indica apenas que o comando continua na linha debaixo. A mesma instruo pode ser escrita em uma nica linha, conforme

    mostrado abaixo:

    Public Declare Function Inp Lib "inpout32.dll" _

    Alias "Inp32" (ByVal PortAddress As Integer) As Integer

    Public Declare Sub Out Lib "inpout32.dll" _Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As

    Integer)

  • 8/8/2019 Apostila de PM

    10/83Controlando a porta paralela Prof Felipe Dias 10

    Esta segunda instruo faz a declarao da funo Out, que se encontrana biblioteca inpout32.dll sob o nome Out32.

    Aqui tambm o underline (_) indica que o comando continua na linha de baixo. Amesma instruo pode ser escrita em uma nica linha, conforme abaixo:

    Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer

  • 8/8/2019 Apostila de PM

    11/83Controlando a porta paralela Prof Felipe Dias 11

  • 8/8/2019 Apostila de PM

    12/83Controlando a porta paralela Prof Felipe Dias 12

    Vamos elaborar um projeto VB para praticar:Para colocar em prtica as funes estudadas (Inp e Out), inicie um projeto em VB e, primeiramente,

    adicione um mdulo atravs do menu Project/Add Module. Insira, dentro do mdulo, as declaraes dasfunesInp e Out, conforme figura abaixo:

    Aps isso, siga os seguintes passos orientados pelo professor:

    1 Adicionar um total de 8 Command Buttons e distribu-los no formulrio de formaorganizada e simtrica, cada boto deve conter em sua propriedade caption o valorcorrespondente a um nmero, de acordo com sua propriedade name, por exemplo: (name):Command1 (Caption): 1, (name): Command2 (Caption): 2, (name): Command3 (Caption)3, e assim sucessivamente at o oitavo boto.

    2 Crie mais dois botes, agora um com o (Caption): Apagar (name): cmdapagar, eoutro com o (Caption): Sair (name): cmdsair

    3 Insira acima dos botes uma Label, que vai ter sua propriedade (caption) vazia,modifique a propriedade Border Style para opo 1-Fixed Single e vamos modificar o tamanho

    da fonte tambm, na propriedade (fonte) clique nos trs pontinhos e altere o tamanho da fontepara 24 coloque em negrito.

  • 8/8/2019 Apostila de PM

    13/83Controlando a porta paralela Prof Felipe Dias 13

    Agora que terminamos a construo da interface grfica, vamos para parte daprogramao. Como nosso primeiro projeto, vamos fazer juntos desde o incio, para que oformulrio fique centralizado na tela do Windows, basta dar dois cliques no formulrio ecolocar a seguinte linha de comando no evento Load, que quer dizer, ao carregar:

    Private Sub Form_Load ( )Top = (Screen.Height - Height) / 2Left = (Screen.Width - Width) / 2

    End Sub

    Vamos ao funcionamento do nosso programa:Quando um daqueles oito botes for pressionado, ira acender o ledcorrespondente ao seu numero, e ira aparecer na Label seguinte frase:O led n? est aceso. O boto apaga, apaga todos os leds acesos, e oboto sair, sai do programa.

    Formulrio pronto com todos os botes e a label.

    Cdigo fonte do programa acima:

    Private Sub cmdapagar_Click() 'linha de cdigo do boto apagar (evento Click)Out &H378, "&h" & 0 'envia para o endereo H378(porta paralela)

    'o valor zero, que apaga todos os led'sLabel1.Caption = "" 'muda o valor da propriedade caption do objeto label1

    'para vazioEnd Sub fim da linha de comando

    Private Sub cmdsair_Click() 'linha de cdigo do boto sair (evento Click)End 'comando simples para encerrar o programaEnd Sub fim da linha de comando

    Private Sub Command1_Click() 'linha de cdigo do boto 1 (evento Click)Out &H378, "&h" & 1 'envia para o endereo H378(porta paralela)

    'o valor 1 que acende o primeiro ledLabel1.Caption = "O led n1 est aceso" 'muda o valor da propriedade

    'caption do label1 para o texto entre aspasEnd Sub fim da linha de comando

  • 8/8/2019 Apostila de PM

    14/83Controlando a porta paralela Prof Felipe Dias 14

    Private Sub Command2_Click()Out &H378, "&h" & 2Label1.Caption = "O led n2 est aceso"End Sub

    Private Sub Command3_Click()Out &H378, "&h" & 4Label1.Caption = "O led n3 est aceso"End Sub

    Private Sub Command4_Click()Out &H378, "&h" & 8Label1.Caption = "O led n4 est aceso"End Sub

    Private Sub Command5_Click()Out &H378, "&h" & 10Label1.Caption = "O led n5 est aceso"

    End SubPrivate Sub Command6_Click()Out &H378, "&h" & 20Label1.Caption = "O led n6 est aceso"End Sub

    Private Sub Command7_Click()Out &H378, "&h" & 40Label1.Caption = "O led n7 est aceso"End Sub

    Private Sub Command8_Click()Out &H378, "&h" & 80Label1.Caption = "O led n8 est aceso"End Sub

    Private Sub Form_Click() 'linha de cdigo do formulrio (evento Click)Beep 'comando que reproduz um som nos auto falantes.End Sub fim da linha de comando

    Private Sub Form_Load() 'linha de comando do formulrio (evento Load) = ao carregar

    Top = (Screen.Height - Height) / 2 'comandos que mandam o formulrio para oLeft = (Screen.Width - Width) / 2 'Centro do monitor ao carregar.

    End Sub fim da linha de comando

    Observao: As informaes que seguem, sero usadas apenas para possveis consultas, pois parasatisfazer as necessidades das nossas aulas, o contedo descrito at aqui basta, as informaes complementaressero passadas durante as aulas.

  • 8/8/2019 Apostila de PM

    15/83Controlando a porta paralela Prof Felipe Dias 15

    Menus

    Menu File

    Voc precisar do menu principal File para trabalhar com os arquivos que compem seu projeto. Esse menuinclui comandos para salvar, abrir e imprimir arquivos. O menu File tambm permite que voc saia do VisualBasic atravs de um item para isso, a outra maneira utilizando as teclas de combinao do Windows ALT +

    F4 quando estiver posicionado na barra de menu principal. Como em qualquer aplicativo Windows, voctambm poder abrir a caixa de controle na barra de menu e escolher Exit ou dar um duplo clique nessa caixa.A maioria dos itens do menu principal File til apenas quando voc inicia o desenvolvimento de seu prprioaplicativo. Abaixo segue um breve resumo sobre os itens para orient-lo melhor:

    Menu Edit

    Abaixo segue um breve resumo sobre os itens para orient-lo melhor:

  • 8/8/2019 Apostila de PM

    16/83Controlando a porta paralela Prof Felipe Dias 16

    Menu Project

    O menu Project contm itens que possibilitam a insero de vrios procedimentos, janelas, cdigos, mdulos,etc. em seus projetos. Abaixo segue um breve resumo sobre os itens para orient-lo melhor:

    Menu Format

    Menu Debug

  • 8/8/2019 Apostila de PM

    17/83Controlando a porta paralela Prof Felipe Dias 17

    Menu Run

    Menu Tools

    Menu Add-Ins

    O menu Add-Ins lhe permite acessar ferramentas separadas que podem ser incorporadas ao Visual Basic.Existem dois Add-Ins fornecidos com vrias verses do Visual Basic. O Report Manager, que representadopelo software da empresa Seagate Crystal Reports, atualmente na verso 7.0, uma ferramenta completa paramodificar e criar relatrios que voc poder utilizar em seu programa. A outra ferramenta inclusa o VisualData Manager, que usado para gerenciamento de Banco de Dados. Utilize o Add-In Manager para adicionar eRemover Add-Ins do menu.Abaixo segue um breve resumo sobre os itens para orient-lo melhor:

    Menu Window

  • 8/8/2019 Apostila de PM

    18/83Controlando a porta paralela Prof Felipe Dias 18

    Menu Help

    Barra de Ferramentas

    Janelas

    Janela de Projetos

  • 8/8/2019 Apostila de PM

    19/83Controlando a porta paralela Prof Felipe Dias 19

    Esta janela contm informaes sobre o projeto em uso. nela que sero exibidos todos os projetos utilizadosao mesmo tempo, caso existam, ou o nico projeto aberto. Abaixo do projeto, estaro definidos os nomes dosformulrios em uso no projeto.Voc notar que existem dois nomes independentemente do que estiver sendo exibido nesta janela. O primeironome o nome lgico (nome dado ao objeto) e o segundo nome o nome fsico (nome dado ao arquivo), esteestar sendo exibido sempre entre parnteses.Ainda nesta janela atravs dos cones, temos a possibilidade de ir at a janela de cdigo, (janela em que seprograma as atividades para os objetos), voltar para o modo de exibio do formulrio e tambm exibir osformulrios em formato de pastas de um projeto.

    Janela de Propriedades

    nesta janela que o programador altera as caractersticas originais dos objetos utilizados no(s) formulrio(s)do programa. Quando se cria um objeto dentro do formulrio, devemos selecion-lo clicando apenas uma veznele mesmo no formulrio e depois clicar na janela de propriedades, onde sero isoladas apenas as propriedadesdo objeto selecionado. Ento o programador ir alterar algumas das propriedades adequando assim o objeto aficar com as caractersticas e aparncia desejada.Esta mesma janela, possui uma caixa combo situada ao topo. Esta caixa contm o nome de todos os objetosutilizados no formulrio em desenvolvimento. Esta a outra forma do programador localizar e selecionar oobjeto para trabalhar com suas propriedades sem ter que selecion-lo no formulrio.

    Obs: As propriedades dos objetos tambm podem ser alteradas atravs de programao na janela de cdigo,para que os objetos sofram as alteraes no decorrer do programa, devido aos eventos em que foramprogramados.

    Janela de Posicionamento do Formulrio

  • 8/8/2019 Apostila de PM

    20/83Controlando a porta paralela Prof Felipe Dias 20

    atravs desta janela que o programador posiciona o local em que o formulrio aparecer assim que oprograma for executado. Outra maneira de fazer isto, acessando a propriedade do formulrio StartupPosition e escolher a opo Center Screen, mas no ser possvel acessar esta propriedade, caso esteja sendousado um formulrio do tipo MDI. Ento o posicionamento dever ser feito atravs de programao ou por esta

    janela.

    Como centralizar um formulrio atravs de programao:

    Private Sub Form_Load ( )Top = (Screen.Height - Height) / 2Left = (Screen.Width - Width) / 2

    End Sub

    Comandos mais Utilizados

    Os comandos mais comumente utilizados no Visual Basic, esto descritos nos sub-tens deste captulo, so eles:

    Comandos Objetivo

    MsgBox (Caixa de Mensagem) Emitir um aviso ao usurio

    InputBox (Caixa de Entrada) Pedir informao ao usurio

    If...End If (Se...Fim) Fazer Perguntas ou Validaes

    Unload me - End (Encerrar) Fechar um Formulrio ou Software

    Comentrios

    Comentrios so utilizados, como lembretes de informao junto programao e so muito importantesporque podero auxiliar na documentao do software.

    Vamos detalhar os principais comandos:

    MsgBox

    Descrio

    Exibe uma mensagem em uma caixa de dilogo, esperando pelo usurio clicar um boto, e retorna um valorindicando que o usurio clicou o boto.

    Sintaxe

    MsgBox (prompt [, buttons][, title][, helpfile, context])

    A sintaxe do comando MsgBox tem estes argumentos:

  • 8/8/2019 Apostila de PM

    21/83Controlando a porta paralela Prof Felipe Dias 21

    Partes Descrio

    Prompt Expresso texto exibida como a mensagem em uma caixa de dilogo. A quantidademxima de caracteres que podero ser utilizados em uma mensagem deaproximadamente 1024 caracteres, dependendo da largura ocupada pelos caracteresusados. Se a mensagem consiste em mais do que uma linha, voc pode separar as linhasusando um caracter de retorno (Chr(13)), alimentando linha com um ENTER, caracter

    (Chr(10)), alimentando linha com a quebra da mesma, ou ainda usar uma combinao(Chr(13) & Chr(10)) entre cada linha.

    Buttons Expresso numrica que representa a soma dos valores, especificando o nmero e o tipode botes para exibir, o estilo da cone para usar, a identidade do boto padro, e amodalidade da caixa de mensagem. Veja as opes na seo para valores. Se omitidos, ovalor padro para botes 0.

    Title Expresso de texto exibida na barra de ttulo da caixa de dilogo. Se voc omitir o ttulo,o nome da aplicao entra no lugar da barra de ttulo.

    Helpfile No suportada.

    Context No suportada.

    As opes de argumentos do boto so:

    Constantes Valor Descrio

    vbOKOnly 0 Exibe somente o boto de ok.

    vbOKCancel 1 Exibe os botes de ok e cancelar.

    vbAbortRetryIgnore 2 Exibe os botes abortar, repetir e ignorar.

    vbYesNoCancel 3 Exibe os botes sim, no e c ancelar.

    vbYesNo 4 Exibe os botes de sim e no.

    vbRetryCancel 5 Exibe os botes repetir e cancelar.

    vbCritical 16 Exibe a cone de mensagem de parada crtica.

    vbQuestion 32 Exibe a cone de questo.

    vbExclamation 48 Exibe a cone de mensagem de alerta.

    vbInformation 64 Exibe a cone de mensagem informativa.

    vbDefaultButton1 0 O primeiro boto padro.vbDefaultButton2 256 O segundo boto padro.

    vbDefaultButton3 512 O terceiro boto padro.

    vbDefaultButton4 768 O quarto boto padro.

    vbApplicationModal 0 Modalidade da Aplicao; o usurio dever responder amensagem da caixa antes de continuar trabalhando naaplicao em utilizao.

    vbSystemModal 4096 Modalidade do Sistema; todas as aplicaes sosuspendidas at que o usurio responda a caixa demensagem.

  • 8/8/2019 Apostila de PM

    22/83Controlando a porta paralela Prof Felipe Dias 22

    O primeiro grupo de valores(05) descreve o nmero e o tipo de botes exibidos na caixa de dilogo; o segundogrupo (16, 32, 48, 64) descreve o estilo da cone; o terceiro grupo (0, 256, 512, 768) determina qual boto opadro; e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem. Quando estiver adicionandonmeros para criar um valor final para os argumentos dos botes, use somente um nmero de cada grupo.

    Retorno de Valores

    A caixa de mensagem segue os valores retornados abaixo:

    Constantes Valor Botes

    vbOK 1 OK

    vbCancel 2 Cancelar

    vbAbort 3 Abortar

    vbRetry 4 Repetir

    vbIgnore 5 IgnorarvbYes 6 Sim

    vbNo 7 No

    Obs: Se a caixa de dilogo exibe um boto de cancelar, pressionando a tecla ESC obtem-se o mesmo efeitocomo ter clicado o boto de cancelar.

    InputBox

    Descrio

    Exibe um prompt em uma Caixa de Dilogo, esperando que o usurio entre com um texto ou clique um boto, eretorna o contedo de um TextBox.

    Sintaxe

    InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])

  • 8/8/2019 Apostila de PM

    23/83Controlando a porta paralela Prof Felipe Dias 23

    A sintaxe do InputBox possui estes argumentos:

    Partes Descrio

    Prompt exibida uma mensagem em formato texto em umacaixa de dilogo. O tamanho mximo da mensagem aproximadamente 1024 caracteres, dependendo da

    largura dos caracteres usados. Se a mensagem consiste demais do que uma linha, voc pode separar as linhasusando um caracter de retorno (Chr(13)), alimentandolinha com um ENTER, caracter (Chr(10)), alimentandolinha com a quebra da mesma, ou ainda usar umacombinao (Chr(13) & Chr(10)) entre cada linha.

    Title Expresso de texto exibida na barra de ttulo da caixa dedilogo. Se voc omitir o ttulo, o nome da aplicaoentra no lugar da barra de ttulo.

    Default Expresso de texto exibida na caixa de texto como a

    resposta padro se outra entrada no providenciada. Sevoc omitir default, a caixa de texto exibida vazia.

    xpos Expresso numrica que especifica, em pixels, a distnciahorizontal da margem esquerda da caixa de dilogo damargem esquerda da tela. Se xpos omitida, a caixa dedilogo centralizada horizontalmente.

    ypos Expresso numrica que especifica, em pixels, a distnciavertical da margem superior da caixa de dilogo do topoda tela. Se ypos omitida, a caixa de dilogo posicionada verticalmente aproximadamente em 1/3 daaltura da tela.

    Helpfile No suportada.

    Context No suportada.

    Obs: Se o usurio clicar OK ou pressionar ENTER, o retorno da caixa de entrada, contudo est na caixa detexto. Se o usurio clicar Cancelar, o retorno um texto de tamanho zero ("").

    IF ... ENDIFCondicionalmente executa uma seleo de comandos baseados no valor de uma expresso lgica.

    Sintaxe

    IFExpresso [THEN]Comandos

    [ELSEComandos]

    ENDIF

    Argumentos

    Expresso

  • 8/8/2019 Apostila de PM

    24/83Controlando a porta paralela Prof Felipe Dias 24

    Especifica a expresso lgica que recebe valor. Se aExpresso recebe valor verdadeiro (.T.), qualquer comandoseguido do IF ou THEN e precedendo ELSE ou ENDIF (que sempre ocorrero primeiro) so executados.

    Se a Expresso falsa (.F.) e o ELSE includo, qualquer comando depois do ELSE e antes do ENDIF executado.

    Se a Expresso falsa (.F.) e o ELSE no includo, todos os comandos entre o IF e o ENDIF soignorados. Neste caso, a execuo do programa continua com o primeiro comando seguindo at o

    ENDIF.

    Obs: Voc pode definir um bloco IF ... ENDIF sem outro bloco IF ... ENDIF. Os comentrios precedidos por&& podem estar especificados em alguma linha depois de IF, THEN, ELSE, and ENDIF. Estes comentriosso ignorados durante a compilao e execuo do programa.

    Unload - End

    Unload

    O comando Unload utilizado para fechar formulrios que integram um projeto. Pode ser usado de duasformas:

    Sintaxe:

    Unload Me; Unload Form1 .

    Quando escrevemos Me, estamos nos referindo ao formulrio atual em uso. Isto feito para substituir o nome

    do formulrio, quando o nome fornecido a ele na propriedade name muito grande. J no segundo caso,utilizamos o nome de um Formulrio. Portanto, mesmo estando em um determinado formulrio, ao clicarmosem um boto, por exemplo, podemos estar fechando um outro formulrio, basta apenas escrever Unload efornecer o nome do formulrio a ser fechado.Os nicos casos em que o comando Unload seguido de Me ou diretamente do nome de um Form qualquerpoder estar fechando um projeto, sero:

    Se estivermos diretamente no formulrio principal de um sistema; Se estivermos na nica tela de um programa.

    End

    O comando End utilizado para encerrar o programa, lembrando que End significa Fim. Geralmente encontra-se em um item de menu descrito como Sair ou Fechar, em um boto, ou diretamente na programao, fazendocom que o sistema encerre-se propositalmente aps algumas interaes do usurio.

    Comentrios

    Comentrios so acrescidos ao programa para explicar o que um cdigo faz. muito simples perguntar-se porque os comentrios so importantes - at que voc tente modificar ou consertar um programa que algum

    escreveu ou mesmo que voc escreveu meses atrs. Os comentrios no so executados nem processados peloVisual Basic. Eles no ocupam nenhum espao nos cdigos compilados. Existem duas formas de indicar umcomentrio. A forma usual indicar um comentrio com aspas simples. Veja o exemplo abaixo:

  • 8/8/2019 Apostila de PM

    25/83Controlando a porta paralela Prof Felipe Dias 25

    Private Sub Command1_Click ( )' Um comentrio descrevendo o procedimento que viria aqui' Toda linha de comentrio ficar na cor verde

    End Sub

    Obs: Voc pode utilizar a velha palavra-chave Rem.

    Voc poder tambm acrescentar comentrios no final das linhas. Nesse caso mais prtico utilizar aspassimples, porque a forma Rem requer dois-pontos antes dele.

    Objetos

    A Terminologia do Visual Basic

    Propriedade, Mtodo e Evento

    O Visual Basic composto de formulrios e controles genericamente chamados de objetos. Cada um dosobjetos possui vrias propriedades listadas na Janela de Propriedades.

    As propriedades dos objetos nos permitem saber e modificar as caractersticas desses objetos. Por exemplo, onome, a cor, o tamanho, a legenda, o tipo e o tamanho da fonte com que o texto aparece e sua posio, sopropriedades associadas aos quadros de texto, "Labels" (legendas) e botes de controle, opo e de seleo.

    Ao selecionarmos um determinado objeto, dando um clique com o mouse sobre ele, a Janela de Propriedadesautomaticamente listar as propriedades disponveis para aquele objeto e ento poderemos modific-las. Cadaobjeto reconhece as seguintes aes, tais como um clique do mouse, abertura de formulrio, digitao em umquadro de texto, etc. Essas aes so chamadas de eventos.

    Para uma aplicao responder s aes do usurio e aos eventos do sistema, so utilizados os procedimentosassociados a cada evento. Por exemplo, um boto de controle reconhece os seguintes eventos:

    Eventos Aes

    Click Um boto acionado com o mouse ou com o teclado.

    DragDropUm controle solto em cima do boto.

    DragOver Um controle est sendo arrastado sobre o boto.

    GotFocus O boto recebe a ateno do sistema, ou seja, qualquer ao do usurio atravs do mouse outeclado ser recebida pelo boto.

    KeyDown Uma tecla pressionada enquanto o boto tem a ateno do sistema.

    KeyPress Uma tecla pressionada e um valor AscII retornado.

    LostFocus O boto perde a ateno do sistema para outro objeto.

    Quando um evento ocorre em uma aplicao, o sistema automaticamente reconhece o evento e executa o

    cdigo associado a esse evento escrito pelo programador. Esse cdigo chamado de procedimento do evento("Event Procedure"). Esse procedimento aparece na Janela de Cdigo.

    O nome do procedimento associado ao evento composto pelo nome do objeto e pelo nome do evento. O nomedo objeto para todos os formulrios "Form" e para os controles o que aparece na propriedade "Name" do

  • 8/8/2019 Apostila de PM

    26/83Controlando a porta paralela Prof Felipe Dias 26

    controle.

    Devemos escrever cdigo somente para os eventos que sero utilizados em nossa aplicao.

    O mtodo um procedimento ("Function ou Sub") que atua nos objetos. Por exemplo, um quadro de lista umcontrole que possui os seguintes mtodos:

    Mtodos Aes

    AddItem Adicionar um novo item no quadro de lista durante o tempo de execuo, ou seja, quando oprograma est sendo executado.

    Clear Limpar o contedo do quadro de lista.

    Move Movimentar o quadro de lista para uma nova posio no formulrio.

    Refresh Forar uma atualizao imediata ao quadro de lista.

    RemoveItemRemover um item do quadro de lista.

    SetFocus Fazer com que o sistema transfira sua ateno para o quadro de lista.

    Formulrios

    Os formulrios so utilizados como interface com o usurio dentro de uma aplicao. Cada formulrio umajanela que pode conter controles grficos e outros formulrios. Podemos utilizar os formulrios como uma telade ilustrao, um quadro de dilogo ou como um formulrio que contm outro. Podemos modificar o tamanho elocalizao na tela do formulrio, clicando e arrastando o mouse na borda e na barra de ttulo desse formulrio,respectivamente.

    Alm dos controles, os formulrios podem conter cdigo e variveis. Na verdade, cada formulrio possui aprpria janela de cdigo. Dentro do objeto "General" da janela de cdigo, podemos declarar variveis,constantes e procedimentos criados por ns. Na janela de projeto, os arquivos com extenso " .FRM" contm,cada um, um formulrio, os controles contidos nele, uma lista das propriedades do formulrio e dos controles,as variveis e constantes utilizadas e o cdigo associado.

    Um projeto pode conter vrios formulrios e podemos adicionar um novo formulrio selecionando o item "AddForm" dentro do menu "Project". Podemos ter ainda outro tipo de formulrio: o do tipo "MDI" (MultipleDocument Interface). Esse tipo de formulrio pode conter outros formulrios dentro dele. Cada projeto podeconter apenas um formulrio do tipo "MDI". Os formulrios que esto dentro do formulrio "MDI" possuem a

    propriedade "MDIChild" como "True" e so chamados de formulrios Filho. Adicionamos um formulrio"MDI" ao projeto selecionando o item "Add MDI Form" dentro do menu "Project".

    Controles

    So ferramentas utilizadas nos formulrios para receber e mostrar informaes. Os quadros de texto, botes,rtulos, quadros de figuras, etc., so exemplos de controles. Os controles disponveis em um projeto somostrados na Caixa de Ferramentas ("ToolBox") e possuem a extenso de arquivo "OCX". Para inserir umaferramenta de controle em seu projeto em Visual Basic, voc deve selecionar o item "Components..." dentro domenu "Project", normalmente os arquivos ".OCX", encontram-se no diretrio "WINDOWS\SYSTEM", masvoc pode import-los de outros diretrios normalmente.

    Podemos inserir um controle no formulrio de trabalho de duas maneiras:

    1. Dando um duplo clique com o mouse no controle localizado na caixa de ferramentas;

  • 8/8/2019 Apostila de PM

    27/83Controlando a porta paralela Prof Felipe Dias 27

    2. Selecionar o controle na Caixa de Ferramentas. Dar um clique com o boto do mouse na posiodesejada do formulrio (ponto inicial) e arrastar at conseguir o tamanho desejado, soltando em seguidao boto (ponto final).

    Para os controles j localizados no formulrio, podemos modificar o seu tamanho da seguinte maneira:

    1. Selecionar o controle do formulrio dando um clique com o mouse;2. Apertar o boto da esquerda do mouse sobre um dos quadrados localizados na borda do controle;3. Arrastar o mouse at o tamanho desejado;4. Soltar o boto.

    Podemos mudar a posio dos controles localizados no formulrio da seguinte maneira:

    1. Posicionar o apontador do mouse no meio do controle;2. Apertar o boto da esquerda do mouse e arrastar at a posio desejada;3.Soltar o boto.

    Para modificar a propriedade dos controles, devemos:

    1. Selecionar o controle;2. Selecionar a propriedade desejada da Janela de Propriedades;3.Modificar a propriedade.

    Mdulos

    So arquivos de extenso " .BAS" que contm declaraes (variveis e constantes) e procedimentos (funes esub-rotinas). Podemos criar um mdulo selecionando o item "Module" dentro do menu "Project". O VisualBasic mostra uma janela de cdigo com o ttulo "Module". Podemos tambm ver, na janela de projeto, o

    arquivo criado. aconselhvel trocarmos o nome padro dado pelo Visual Basic, pois os arquivos .BAS" so uma maneira dereaproveitarmos as mesmas funes e sub-rotinas para vrias aplicaes. Selecionando o item "Save File As..."dentro do menu "File", podemos fazer essa alterao.

    Projeto

    um arquivo " .VBP" que contm a lista dos formulrios, mdulos e controles que compem uma aplicao.Repetindo, a Janela de Projeto lista todos os arquivos da aplicao. Cada projeto contm pelo menos umformulrio. Podemos inserir quantos formulrios desejarmos dentro de um projeto. Selecionamos o item "New

    Project" dentro do menu "File" para criarmos um novo projeto. O Visual Basic abre esse novo arquivo com onome padro de "Project1.vbp" aconselhvel modificarmos esse nome, selecionando o item "Save ProjectAs..." dentro do menu "File".

    Etapas de Desenvolvimento de um Projeto

    H trs etapas para a criao de um aplicativo em Visual Basic.

    1. Criar a interface com o usurio;2. Configurar as propriedades dos objetos;

    3.Escrever o cdigo.Para criarmos a interface com o usurio, podemos seguir os seguintes passos:

    1. Abrir um novo projeto;

  • 8/8/2019 Apostila de PM

    28/83Controlando a porta paralela Prof Felipe Dias 28

    2. Salvar o projeto e o formulrio criado com os nomes desejados;3. Modificar o tamanho do formulrio, adequando-o aos requisitos do programa.4. Adicionar os controles necessrios (botes, quadros de texto, etc.);5. Adicionar mais formulrios e controles;6. Salvar esses formulrios com os nomes escolhidos;7.Salvar todo o projeto.

    Na segunda etapa do desenvolvimento, devemos configurar as propriedades de todos os objetos. muitoimportante, nessa etapa, darmos nome a cada um dos objetos, configurando-os atravs de sua propriedade"Name". aconselhvel, para uma boa documentao, incluirmos no nome do objeto o seu tipo tambm. Porexemplo, podemos dar o nome "frmprincipal" para a janela (formulrio) que iniciar a aplicao. No item"Properties..." do menu "Project", podemos ver e alterar o formulrio que inicia o aplicativo.

    Na terceira etapa, adicionamos o cdigo, ou seja, projetamos como o programa responder aos diferenteseventos (cliques, duplo clique, teclas adicionadas, interrupo causada pelo temporizador, redimensionamentode uma janela, etc.). Devemos lembrar que essas trs etapas no dispensam um projeto de software detalhado,isto , como o programa dever funcionar, como ser o fluxo de dados dentro do programa, os algortmosutilizados, a interface com o usurio, etc.

    Propriedades e Eventos mais Utilizados

    Propriedades comuns a todos os objetos:

    Propriedades Aes

    BackColor Determinar a cor de fundo de um objeto.

    Enabled Determinar se o formulrio ou controle podem responder aos eventos gerados pelo usurio.

    Font Determinar a fonte, o estilo e tamanho a ser usada para mostrar um texto em um controle;

    usada tambm em tempo de execuo para desenhar e imprimir.ForeColor Determinar a cor do texto impresso.

    Height Determinar a dimenso vertical externa de um objeto.

    Left Determinar a distncia entre a borda esquerda de um objeto e a borda esquerda do objetoque a contm.

    MousePointer Determinar o tipo do ponteiro do mouse mostrado quando ele est sobre uma parteespecfica de um formulrio ou controle.

    Name Especificar o nome usado no cdigo para identificar um formulrio, controle ou objeto de

    acesso a dados. No est disponvel em tempo de execuo.ToolTipText Exibir uma janela de assistncia junto ao ponteiro do mouse, movendo-o sobre um

    formulrio ou controle.

    Top Determinar a distncia entre a borda interna superior de um objeto e a borda superior doobjeto que o contm.

    Visible Determinar se o objeto est visvel ou no.

    Width Determinar a dimenso horizontal de um objeto.

  • 8/8/2019 Apostila de PM

    29/83Controlando a porta paralela Prof Felipe Dias 29

    Eventos comumente utilizados nos objetos:Eventos Aes

    Activate Ocorre quando um formulrio se tornar uma janela ativa.

    Change Ocorre quando o contedo de uma caixa de combinao (caixa combo), barra de paginao(barra de rolagem), etiqueta, caixa de figura ou caixa de texto mudar.

    Click Ocorre quando o usurio pressiona e solta o boto do mouse sobre um objeto. Pode tambmocorrer quando o valor do controle modificado.DblClick Ocorre quando o usurio d um duplo clique com o mouse.

    DragDrop Ocorre quando uma operao de arrastar e soltar" completada como resultado doarrastamento sobre um formulrio ou controle e soltura do boto do mouse.

    DragOver Ocorre quando uma operao de "arrastar e soltar" est em progresso. Pode ser utilizado paramonitorar se o ponteiro do mouse entra, deixa ou est diretamente sobre um alvo vlido. Oponteiro do mouse determina que o objeto receba o evento.

    GotFocus Ocorre quando um objeto recebe a ateno do sistema (focus). Iremos notar que umformulrio recebe a ateno somente quando todos os controles visveis esto desabilitados.

    KeyDown Ocorre quando o usurio pressiona uma tecla.

    KeyPress Ocorre quando o usurio pressiona e solta uma tecla.

    KeyUp Ocorre quando o usurio solta a tecla previamente pressionada.

    LostFocus Ocorre quando um objeto perde a ateno do sistema (focus).

    MouseDownOcorre quando o usurio pressiona o boto do mouse.

    MouseMove Ocorre quando o usurio movimenta o mouse.

    MouseUp Ocorre quando o usurio solta o boto do mouse previamente pressionado.

    ControlesTodos os controles possuem abreviaes para facilitar a programao. Assim caso, o programador esteja lendoum artigo ou desenvolvendo um programa que esteja em um livro (ou outra) fonte e no exista uma foto aomenos da tela deste programa, ele facilmente poder identificar os controles existentes dentro deste programaapenas acompanhando suas abreviaes. Abaixo seguem as Abreviaes dos Controles bsicos utilizados peloVisual Basic.

  • 8/8/2019 Apostila de PM

    30/83Controlando a porta paralela Prof Felipe Dias 30

    Controles Abreviaes

    CheckBox CHK

    ComboBox CMB

    CommandButton CMD

    Data (Control) DTC DirListBox DIR

    DriveListBox DRV

    FileListBox FIL

    Form FRM

    Frame FRM

    HScrollBar SCR

    Image IMG

    Label LBL

    Line LIN

    ListBox LST

    Ole OLE

    OptionButton OPT

    PictureBox PCT Shape SHP

    TextBox TXT

    Timer TMR

    VScrollBar SCR

    As Propriedades Principais do CheckBox

    Propriedades Aes

    Alignment Especifica se o texto ficar do lado esquerdo da caixa.

    Caption O texto anexado ao objeto checkbox.

    Enabled Habilita ou no este objeto. Estando desabilitado, no aceitar que o usurio faa eventocom a caixa de checagem.

    Font Escolhe uma fonte para o texto digitado no caption.

    Name Nomeia o objeto. A inicial abreviada para este tipo de controle "chk".Value Determina o estado do objeto: unchecked, checked ou grayed.

  • 8/8/2019 Apostila de PM

    31/83Controlando a porta paralela Prof Felipe Dias 31

    As Propriedades Principais do ComboBox

    Propriedades Aes

    Style Escolhe o tipo de caixa de combinao que ser utilizada: dropdown combo, simple combo,dropdownlist.

    Text Nesta propriedade digita-se um texto que ficar como padro, fixo na rea de texto, na caixade combinao. Geralmente deixa-se em branco.

    As Propriedades Principais do CommandButton

    Propriedades Aes

    Cancel Se esta opo for ajustada como verdadeira, o boto ser associado tecla ESC e sempreque pressionarmos essa tecla, ser como se tivssemos apertado o boto.

    Caption O ttulo que ser exibido dentro do boto.

    Default Estando o boto com essa propriedade como True, indica que este boto ser o padro desta

    janela e sempre que apertarmos a tecla ENTER, ser como se tivssemos clicado sobre oboto.

    Enabled Determina se o boto ser habilitado para pressionamento por parte do usurio ou no.

    Font Escolhe a fonte de letra que o Caption ter.

    Name O nome que daremos para o objeto boto de comando.

    Visible

    Determina se o boto ser visvel para o usurio quando o

    programa estiver em execuo.

    As Propriedades Principais do Data

    Propriedades Aes

    DataBaseName Localizao da base de dados a ser utilizada pelo programa.

    RecordSource Associa a tabela da base de dados a ser utilizada pelos campos contidos no formulrio.

  • 8/8/2019 Apostila de PM

    32/83Controlando a porta paralela Prof Felipe Dias 32

    As Propriedades Principais do Form

    Propriedades Aes

    Apperance Define se o modo de exibio ser 3D ou normal.

    BackColor Muda a cor de fundo do formulrio.

    BorderStyle

    Muda o tipo de borda do formulrio.None: Sem borda, sem barra de ttulo, sem menu de controle, sem boto maximizar esem boto minimizar e no pode redimensionar a janela.FixedSingle: Borda Fixa. Aceita o menu de controle, maximizar, minimizar, barra dettulo e pode ser redimensionada.Sizable: Borda comum. Possui o menu de controle, maximizar, minimizar, barra dettulo e pode ser redimensionada.Fixed Dialog: Muito usada para janelas que vo manter um dilogo com o usurio. Elapode ter menu de controle e a barra de ttulo, mas no ter os botes de maximizar eminimizar. No pode ser redimensionada.Fixed ToolWindow: No possui o menu de controle, o boto maximizar e o botominimizar. Tambm no pode ser redimensionada. Aparecer somente barra de ttulo eo boto fechar, prprio do windows, esse tipo de formulrio no aparece na barra detarefas do windows.Sizable ToolWindow: No possui o menu controle, o boto maximizar e o botominimizar. Pode ser redimensionada. Aparecer somente barra de ttulo e o botofechar, prprio do windows, esse tipo de formulrio no aparece na barra de tarefas.

    Caption Ser o texto mostrado na barra de ttulo do formulrio (da janela).

    ControlBox Retira ou coloca o menu de controle, boto maximizar, minimizar e fechar a janela.

    Enabled

    Se esta opo estiver com False, indica que nenhum objeto desta janela, e nem a prpria

    janela, podero responder a eventos gerados pelo usurio, como clicar do mouse,pressionamento de teclas, etc.

    Font Escolhe a fonte padro que ser usada para todos os objetos inseridos neste formulrio.

    Icon Nesta propriedade escolhemos um arquivo de cone que ir representar o programa.

    KeyPreview Determina se os eventos do teclado no formulrio sero executados antes dos eventoscorrespondentes aos objetos inseridos no formulrio.

    MaxButton Habilita ou no o boto de maximizao.

    MDIChild Determina se a janela ser uma janela filha. Ou seja, ter uma outra janela mestraincorporando-a.

    MinButton Habilita ou no o boto de minimizao.

    MouseIconSempre que o mouse for movido em cima do formulrio, o cone associado a estapropriedade aparecer (desde que a propriedade MousePointer esteja customizada, ouseja, personalizada).

    MousePointer Nesta propriedade especificamos o tipo de ponteiro que o mouse ter quando se moversobre o formulrio. Os tipos de ponteiro de mouse esto abaixo da tabela.

    Name Nome definido para o objeto formulrio.

    Picture Insere uma figura em nosso formulrio.

    ShowInTaskbarHabilita ou no a possibilidade da janela aparecer na barra de tarefas do windows.Visible Determina se, ao executarmos o programa, essa janela ficar visvel ou invisvel.

    WindowState Determina se, ao executarmos o programa, a janela aparecer na tela do computadornormal, maximizada ou minimizada.

  • 8/8/2019 Apostila de PM

    33/83Controlando a porta paralela Prof Felipe Dias 33

    Ponteiros do mouse:

    0 - (Default) Ponteiro padro;1 - Ponteiro em forma de seta;2 - Ponteiro de seleo exata;3 - Seleo de escrita;4 - cone (variados);5 - Seleo de mover objetos;6 - Redimensionamento na diagonal;7 - Redimensionamento na vertical;8 - Redimensionamento na diagonal;9 - Redimensionamento na horizontal;10 - Seleo alternada;11- Sinal de ocupado;12 - No disponvel (ocupado);13 - Trabalhando em segundo plano;14 - Seleo de ajuda;15 - Todos os tamanhos;99 - Aparece o cone escolhido na propriedade MouseIcon.

    As Propriedades Principais do Frame

    Propriedades Aes

    Caption Coloca um texto no canto superior esquerdo da moldura.

    Enabled Determina se todos os objetos colocados no interior da moldura estaro disponveis ou nopara o usurio.

    Name Nome dado ao objeto. A inicial abreviada "frm". Cuidado para no colocar um name igualao de algum form.

  • 8/8/2019 Apostila de PM

    34/83Controlando a porta paralela Prof Felipe Dias 34

    As Propriedades Principais do HScrollBar

    Propriedades Aes

    Max Valor mximo a ser utilizado pela barra de rolagem,geralmente 100.

    Min Valor mnimo a ser utilizado pela barra de rolagem,geralmente 0.

    As Propriedades Principais do Image

    Propriedades Aes

    Picture Figura a ser exibida pelo objeto. Pode ser qualquerarquivo de imagem suportado pelo Visual Basic ouat mesmo um arquivo de cone.

    Strech Possibilita que a imagem seja esticada mantendo todaa visualizao possvel dentro da rea do objeto.

    As Propriedades Principais do Label

    Propriedades Aes

    AutoSize Com esta propriedade habilitada, indicamos ao controle para redimensionarautomaticamente seu tamanho do texto no label.

    BackColor Escolhe a cor de fundo que envolver o label.

    BackStyle Escolhe entre o fundo transparente ou opaco para o label.

    BorderStyle Escolhe entre colocar uma moldura envolvendo o label ou no.

    Caption A propriedade principal do label. Determina o texto que ser exibido dentro do objeto.

    Enabled Habilita ou desabilita o objeto. Quando est em False, a cor de seu contedo ficaacinzentada.

    Font Escolhe a fonte que ter o texto digitado na propriedade caption.

    ForeColor Escolhe a cor da fonte do label.

    Name Nomeia o objeto label. Como j foi dito, importante que todos os objetos sejamnomeados. A inicial do label "lbl".

    Visible Indica se o objeto ser visvel ou no para o usurio.

    WordWrap Quando o autosize est em True, no possvel expandir o texto digitado na propriedadecaption em outras linhas. Mas, se passarmos essa propriedade wordwrap para True, istopoder ser feito, bastando para isto, dimensionarmos o label.

  • 8/8/2019 Apostila de PM

    35/83Controlando a porta paralela Prof Felipe Dias 35

    As Propriedades Principais do ListBox

    Propriedades Aes

    Columns Determina a quantidade de colunas que a caixa de listagem ter.

    Enabled Habilita ou no o listbox para o usurio selecionar algum item no objeto.

    IntegralHeightDetermina a possibilidade dos itens dentro da caixa de listagem serem exibidos demaneira parcial.

    ItemData Nesta propriedade existe uma caixa onde colocamos nmeros relacionados com os itensexistentes dentro do listbox.

    List o local onde digitamos os itens que estaro dentro do listbox.

    MultiSelect Quando esta propriedade estiver habilitada, significa que a caixa de listagem aceitarmltiplas selees, ou seja, poder ser selecionado mais de um item: none, simple eextended.

    Name Nome que o objeto listbox ter. A abreviao para este objeto "lst".

    Sorted Classifica os itens existentes dentro do listbox em ordem alfabtica ou numricaascendente. Esta propriedade em tempo de execuo tem a finalidade de informar oestado que se encontra o sorted.

    As Propriedades Principais do OptionButton

    Propriedades Aes

    Alignment Determina se o texto ficar do lado direito ou esquerdo do boto de opo.

    Caption O texto que ser anexado ao objeto.

    Enabled Habilita ou no este objeto. Estando desabilitado, o usurio no poder selecionar a opo ea cor do texto ser acinzentada.

    Name Nomeia o objeto. A inicial abreviada para este tipo de controle "opt".

    Value True para opo selecionada e False quando no est selecionada.

    As Propriedades Principais do PictureBox

    Propriedades Aes

    Picture Figura a ser exibida pelo objeto. Pode ser qualquerarquivo de imagem suportado pelo Visual Basic ouat mesmo um arquivo de cone.

  • 8/8/2019 Apostila de PM

    36/83Controlando a porta paralela Prof Felipe Dias 36

    As Propriedades Principais do TextBox

    Propriedades Aes

    BackColor Escolhe a cor de fundo da caixa de texto. Geralmente branca.

    BorderStyle Tipo da borda: Fixa e simples ou sem borda.

    Enabled Estando em False, o objeto no estar habilitado para interagir com o usurio.

    Font Escolhe a fonte que ser mostrada dentro da caixa de texto.

    ForeColor Escolhe a cor da fonte.

    Locked Estando em False, trava qualquer digitao na caixa de texto.

    MaxLength Quantidade mxima de caracteres dentro da caixa de texto.

    MultiLine Habilita a possibilidade de se digitar mais de uma linha na caixa de texto.

    Name Nomeia o objeto textbox. A inicial do textbox "txt".

    PasswordCharSe durante a digitao de qualquer dado na caixa de texto, quisermos que o Visual Basicmostre outro caracter no lugar do caracter digitado, s especificarmos aqui qualqueremos que seja mostrado. Muito usado para digitao de senhas.

    ScrollBarsEstando a propriedade multiline habilitada, interessante colocarmos uma scrollbar nacaixa de texto, pois ela acrescentar uma barra de rolagem que poder ser: horizontal,vertical, ambas.

    Text A propriedade text a mais importante deste objeto. Todo texto digitado pelo usuriodentro da caixa de texto incorporado nesta propriedade.

    As Propriedades Principais do Timer

    Propriedades Aes

    Interval Associa o intervalo de tempo em que a programaocontida no objeto ocorrer.

    As Propriedades Principais do VScrollBar

    Propriedades Aes

    Max Valor mximo a ser utilizado pela barra de rolagem,geralmente 100.

    Min Valor mnimo a ser utilizado pela barra de rolagem,geralmente 0.

  • 8/8/2019 Apostila de PM

    37/83Controlando a porta paralela Prof Felipe Dias 37

    No vamos estudar todos os objetos de controle, apenas alguns como:

    CommandButton Label TextBox Frame CheckBox OptionButton Timer

    CommandButton

    Obs:Um boto de comando tipicamente usado para iniciar um evento que retorna uma ao com fechar umformulrio, movimentao para um registro diferente, imprimir u relatrio, etc. Use a propriedade Caption paraespecificar o texto que aparece no boto de comando. Use a propriedade Picture para especificar uma figura

    para um boto de comando, s no se esquea de habilitar a propriedade Style para Graphical, caso contrrio afigura no aparecer. Voc pode escolher um boto de comando para clic-lo e se a propriedade Default estselecionada para True (.T.), pelo pressionamento da tecla ENTER o boto de comando selecionado. Se apropriedade Cancel do boto de comando est selecionada para True (.T.), voc pode escolher o boto decomando pelo pressionamento da tecla ESC.

    Exerccio Proposto 1

    Siga os seguintes passos:

    No menu File escolha a opo New Project; Escolha ento o tipo de projeto Standard Exe.

    Feito isto, construa os seguintes botes no formulrio, utilizando-se das propriedades descritas na tabela abaixo:

    Name Caption

    CmdLimpar Limpar

    CmdOk Ok

    CmdCancelar CancelarCmdFechar Fechar

    Na propriedade Name do formulrio digite FrmCommand1 e na propriedade Caption digite "Exemplo doobjeto Command".

  • 8/8/2019 Apostila de PM

    38/83Controlando a porta paralela Prof Felipe Dias 38

    O resultado obtido dever ser o formulrio abaixo:

    Aps termos construdo a tela, deveremos passar para a parte da programao. Para gerar a programao,devemos clicar duas vezes no objeto desejado.

    Programao do boto Limpar:

    Programao do boto Ok:

    Programao do boto Cancelar:

  • 8/8/2019 Apostila de PM

    39/83Controlando a porta paralela Prof Felipe Dias 39

    Programao do boto Fechar:

    Programao para centralizar o Formulrio:

    O resultado deste exerccio ser a impresso das mensagens inseridas dentro dos botes atravs do comandoPrint diretamente no formulrio, como na figura abaixo:

    Para retirar as mensagens escritas no formulrio, s clicar no boto Limpar e para encerrar o programa sclicar no boto Fechar. No momento de salvar, o nome a ser dado ao projeto PrjCommand1.

    Exerccio Proposto 2

    Siga os seguintes passos:

    No menu File escolha a opo New Project; Escolha ento o tipo de projeto Standard Exe.

    Feito isto, reconstrua o exerccio anterior, mas desta vez, utilize as seguintes propriedades a mais no objetoCommandButton:

  • 8/8/2019 Apostila de PM

    40/83Controlando a porta paralela Prof Felipe Dias 40

    Propriedades Opes

    Style Graphical

    Picture Qualquer arquivo de

    figura

    Modifique tambm a propriedade Caption dos objetos, acrescentando & antes do nome fsico. Voc estarcriando uma tecla de atalho para eles. Assim, quando voc precisar utilizar o CommandButton, s clicar neleou manter pressionada a tecla Alt, do lado esquerdo do teclado, seguida da letra escolhida para atalho.

    Na propriedade Name do formulrio digite FrmCommand2 e na propriedade Caption digite "Exemplo doobjeto Command".

    O resultado obtido dever ser o formulrio abaixo:

    No momento de salvar, o nome a ser dado ao projeto PrjCommand2.

    Obs: A letra escolhida para ser o atalho do objeto dever possuir & antes e no necessariamente dever ser aprimeira letra, poder ser uma letra do meio ou do final da palavra.

    Label

    Labels so usados para exibir texto e no podem ser editados pelo usurio. Eles so usados para identificarobjetos em um formulrio providenciando uma descrio do que um certo controle far se clicado, por exemploem tempo de execuo, Eles podem exibir informao em resposta a um evento ou processo em sua aplicao.

    Labels so usados em muitas instncias nas mais diferentes situaes. Muito comumente, eles so usados comcontroles que no tem a propriedade Caption. Por exemplo, voc pode usar o controle label para adicionardescries para TextBoxes, ListBoxes, ComboBoxes e outros. Eles tambm podem ser usados para descrevertextos em um formulrio, por exemplo, para auxiliar o usurio com informao de ajuda. Voc pode tambmescrever um cdigo que altere o texto exibido por um label em resposta eventos em tempo de execuo. Porexemplo, se sua aplicao leva alguns minutos para processar uma alterao, voc pode exibir uma barra destatus processando uma mensagem atravs de um label.

    Obs: Este controle no pode receber foco.

  • 8/8/2019 Apostila de PM

    41/83Controlando a porta paralela Prof Felipe Dias 41

    Selecionando a Propriedade Caption do Label

    Para alterar o texto exibido em um label, use a propriedade Caption. Em tempo de projeto, voc pode selecionaresta propriedade, selecionando-a na Janela de Propriedades. Voc pode utilizar o tamanho da propriedadeCaption at o mximo de 1024 bytes.

    Alinhando o Texto

    A propriedade Alignment permite que voc selecione o alinhamento do texto do label para Justificado Esquerda (0, o padro) , Centralizado (1), ou Justificado Direita (2).

    As Propriedades AutoSize e WordWrap

    Pelo padro, quando inserimos um texto dentro da propriedade Caption excedendo a largura do controle, o textodesce para a prxima linha e alterado se ele excede a altura do controle. Para que o controle ajusteautomaticamente seu contedo, selecione a propriedade AutoSize para True. O controle expandirhorizontalmente para receber o contedo da propriedade Caption. Para que o contedo desa uma linha eexpanda verticalmente, selecione a propriedade WordWrap para True.

    Usando Labels para Criar Chaves de Acesso

    Selecione a propriedade UseMnemonic para True se voc quiser definir um caracter na propriedade Caption dolabel como uma chave de acesso. Quando voc define uma chave de acesso em um label, o usurio podepressionar e utilizar ALT + o caracter que o programador designou para mover o foco para o prximo controlena ordem da tabulao.

    Voc pode tambm criar chaves de acesso para muitos outros controles que tiverem uma propriedade Captionadicionando o caracter (&) antes da letra que voc quiser usar como a tecla de acesso. Para um controle receberuma tecla de acesso sem que ele tenha a propriedade caption, use um label com o controle. Por que o controlelabel no pode receber foco, ento o foco se move automaticamente para o prximo controle na ordemfornecida na propriedade TabIndex. Use esta tcnica para fornecer teclas de acesso para TextBox, PictureBox,ComboBox, ListBox, DriveListBox, DirListBox, Grid e Image.

    Para Definir uma Chave de Acesso com um Label

    1.Selecione o label primeiro, e ento desenhe o controle.

    -ou-

    Desenhe o controle em qualquer ordem e selecione a propriedade TabIndex do label para numerar o usodo controle.

    2. Use o caracter & na propriedade Caption para fornecer uma tecla de acesso para o label.

    Obs: Voc pode querer exibir teclas de acesso em um controle label, se voc estiver usando eles para criarteclas de acesso. Isto permite que voc una um controle label a um campo de uma linha de registro onde osdados so includos atravs do &. Para exibir & em um controle label, selecione a propriedade UseMnemonicpara False.

  • 8/8/2019 Apostila de PM

    42/83Controlando a porta paralela Prof Felipe Dias 42

    Exerccio Proposto

    Siga os seguintes passos:

    No menu File escolha a opo New Project; Escolha ento o tipo de projeto Standard Exe.

    Feito isto, construa os seguintes labels no formulrio, utilizando-se das propriedades descritas na tabela abaixo:

    Name Caption

    LblNome Nome do Paciente

    LblSexo Sexo

    LblExame Exame

    Na propriedade Name do formulrio digite FrmLabel e na propriedade Caption digite "Exemplo do objetoLabel".

    O resultado obtido dever ser o formulrio abaixo:

    No momento de salvar, o nome a ser dado ao projeto PrjLabel.

    Com certeza, os objetos criados no ficaram com esta mesma aparncia apresentada acima. Para isso, algumaspropriedades dos labels devero ser alteradas. Siga as instrues abaixo e confira o resultado:

    Objeto Propriedades

    LblNome Font

    LblSexoAutoSize, BorderStyle,

    Font e ForeColor

    LblExame BackColor, Font,

    ForeColor e

    WordWrap

  • 8/8/2019 Apostila de PM

    43/83Controlando a porta paralela Prof Felipe Dias 43

    TextBox

    Obs: Para exibir mltiplas linhas de texto em um controle TextBox, altere a propriedade MultiLine para True.Se um TextBox com MultiLine no tem uma barra de rolagem horizontal, o texto automaticamente ajustadoquando o TextBox redimensionado. Para personalizar a barra de rolagem de um TextBox, selecione apropriedade ScrollBars.

    Barras de rolagem sempre aparecero em um TextBox quando a propriedade MultiLine dele alterada paraTrue, e a propriedade ScrollBars dele alterada para qualquer coisa exceto None (0). Se voc alterar apropriedade MultiLine para True, voc pode usar a propriedade Alignment para alterar o alinhamento do textodentro do TextBox. O texto padro justificado esquerda. Se a propriedade MultiLine False, alterar apropriedade Alignment no proporcionar efeito.

    Exerccio Proposto

    Siga os seguintes passos:

    No menu File escolha a opo New Project; Escolha ento o tipo de projeto Standard Exe.

    Feito isto, construa os seguintes objetos no formulrio, utilizando-se das propriedades descritas na tabelaabaixo:

    Name Caption Text

    LblNomePaciente Nome do Paciente

    TxtNomePaciente -

    LblSexo Sexo

    TxtSexo -

    LblExame Exame

    TxtExame -

    CmdOk Ok

    CmdCancelar Cancelar

    Na propriedade Name do formulrio digite FrmTextBox e na propriedade Caption digite "Exemplo doobjeto TextBox".

    Obs: a propriedade que define o contedo de texto no objeto TextBox, o Text.

  • 8/8/2019 Apostila de PM

    44/83Controlando a porta paralela Prof Felipe Dias 44

    O resultado obtido dever ser o formulrio abaixo:

    Aps termos construdo a tela, deveremos passar para a parte da programao. Para gerar a programao,devemos clicar duas vezes no objeto desejado.

    Programao da caixa de texto Nome do Paciente:

    Programao da caixa de texto Sexo:

  • 8/8/2019 Apostila de PM

    45/83Controlando a porta paralela Prof Felipe Dias 45

    Programao da caixa de texto Exame:

    Programao do boto Ok:

    Programao do boto Cancelar:

    Programao para centralizar o Formulrio:

    No momento de salvar, o nome a ser dado ao projeto PrjTextBox.

    Frame

    Frames so usados para criar grupos de controles com identidades. Por exemplo, voc pode usar um frame parasubdividir um formulrio funcionalmente, separando grupos de botes de opes (OptionButton).

  • 8/8/2019 Apostila de PM

    46/83Controlando a porta paralela Prof Felipe Dias 46

    Figura 1. O controle Frame

    Em muitos casos, voc usar o frame passivamente para agrupar outros controles e no ter a necessidade deresponder por ele nos eventos. Voc ir, com tudo, alterar o Name, Caption, ou a propriedade Font.

    Adicionando um Frame em um Formulrio

    Quando usamos um frame para agrupar outros controles, primeiro desenhamos um frame, e ento desenhamosos controles dentro dele. Isto habilita voc a movimentar o frame e os controles contidos nele junto.

    Desenhando controles dentro do Frame

    Para adicionar outros controles no frame, desenhem eles dentro do frame. Se Voc desenhar um controle dolado de fora do frame, ou usar o mtodo do duplo-clique para adicionar um controle em um formulrio, e entotentar movimentar ele para dentro do frame, o controle ser posto no topo do frame e voc ter que movimentaro frame e os controles separadamente.

    Figura 2. Controles dentro do Frame

    Obs: Se voc j tem os controles e quer agrup-los em um frame, voc pode selecionar todos os controles,recort-los, enviando-os para a rea de transferncia, selecionar o frame, e ento col-los dentro do frame.

    Selecionando mltiplos controles em um Frame

    Para selecionar mltiplos controles em um frame, pressione a tecla CTRL enquanto estiver usando o mousepara desenhar uma caixa em torno dos controles. Quando voc soltar o mouse, os controles dentro do framesero selecionados, como na Figura 3.

    Figura 3. Selecionando controles dentro de um Frame

  • 8/8/2019 Apostila de PM

    47/83Controlando a porta paralela Prof Felipe Dias 47

    Check Box

    O controle checkbox exibe uma marca de checagem quando ele selecionado. Ele comumente utilizado parapresenciar uma seleo Sim/No ou Verdadeiro/Falso para o usurio. Voc pode utilizar este controle emgrupos para exibir mltiplas escolhas das quais o usurio pode selecionar uma ou mais.

    Este controle similar ao controle optionbutton, mas neste cada opo usada para indicar uma seleo que feita pelo usurio. Eles diferem somente porque um optionbutton em um grupo pode ser selecionado por vez.Com o controle check box, porm, qualquer nmero de caixas de checagem pode ser selecionado.

    O Valor da Propriedade

    A propriedade Value do check box indica se o check box est checado, no-checado ou no acessvel. Quandoselecionado, o valor ser 1. Por exemplo:

    Tabela de valores e constantes do Visual Basic equivalentes que so usadas para selecionar a propriedadeValue.

    Opo Valor Constante

    No-Checado 0 VbUnchecked

    Checado 1 VbChecked

    No-Acessvel 2 VbGrayed

    O usurio clica no controle check box para indicar um estado checado ou no-checado. Voc pode ento testaro estado do controle e programar sua aplicao para desenvolver alguma ao baseada nesta informao.

    Por padro, o check box selecionado para vbUnchecked. Se voc quer preselecionar um check box de umasrie de check boxes, voc pode selecion-lo atravs da propriedade Value para vbChecked na rotinaForm_Load ou Form_Initialize.

    Voc pode tambm selecionar a propriedade Value para vbGrayed para desabilitar o check box. Por exemplo,pode querer desabilitar um check box at que uma certa condio seja acionada.

    O Evento Click

    Porm se o usurio clica no check box, o evento Click acionado. Voc pode ento programar sua aplicao

    para desenvolver alguma ao dependendo do estado do check box. Como no exemplo, a propriedade captiondo controle check muda cada vez que o controle clicado, indicando um estado checado ou no-checado.

    Private Sub Check1_Click()

  • 8/8/2019 Apostila de PM

    48/83Controlando a porta paralela Prof Felipe Dias 48

    If Check1.Value = vbChecked Then

    Check1.Caption = "Checked"

    ElseIf Check1.Value = vbUnchecked Then

    Check1.Caption = "Unchecked"

    End If

    End Sub

    Obs: Se o usurio clicar duas vezes no controle check box, cada clique ser processado separadamente, porqueo controle check box no suporta o evento double-click.

    Respondendo pelo Mouse e pelo teclado

    O evento click do check box tambm acionado quando o foco passado para o controle com o teclado usandoa tecla TAB e ento pressionando a tecla de espao.

    Voc pode selecionar o check box atravs do caracter que cria tecla de atalho (&). Por exemplo:

    Neste exemplo, pressionando a combinao de teclas ALT+C voc pode alternar entre os estados checado eno-checado.

    Exerccio Proposto

    Siga os seguintes passos:

    No menu File escolha a opo New Project; Escolha ento o tipo de projeto Standard Exe.

    Feito isto, construa os seguintes objetos no formulrio, utilizando-se das propriedades descritas na tabelaabaixo:

    Name Caption

    FrmOpcoes -

    ChkArroz Arroz

    ChkFeijao Feijo

    ChkFritas Fritas

    ChkOvo Ovo

    ChkBife Bife

    CmdFechar &Fechar

    Na propriedade Name do formulrio digite FrmFrameCheckBox e na propriedade Caption digite "Exemplodo objetos Frame e CheckBox".

  • 8/8/2019 Apostila de PM

    49/83Controlando a porta paralela Prof Felipe Dias 49

    O resultado obtido dever ser o formulrio abaixo:

    No momento de salvar, o nome a ser dado ao projeto PrjCheckBox.

    OptionButtonUsualmente, os controles OptionButton so usados em um grupo de opes para exibir opes das quais ousurio seleciona somente uma. Voc agrupa os controles OptionButton desenhando-os dentro de umacontrole que os contm como um Frame, um PictureBox, ou um formulrio. Para agrupar os controlesOptionButton em um Frame ou PictureBox, desenhe o Frame ou o PictureBox primeiro, e ento desenhe oscontroles OptionButton dentro. Todos os controles OptionButton com o mesmo recipiente, contidos nomesmo grupo.

    Enquanto o controle OptionButton e o controle CheckBox parecem funcionar similarmente, h umaimportante diferena: Quando um usurio seleciona um OptionButton, o outro controle OptionButton domesmo grupo est automaticamente no disponvel. Em contraste, qualquer nmero de controles CheckBoxpoder ser selecionado.

    Exerccio Proposto

    Siga os seguintes passos:

    No menu File escolha a opo New Project; Escolha ento o tipo de projeto Standard Exe.

  • 8/8/2019 Apostila de PM

    50/83Controlando a porta paralela Prof Felipe Dias 50

    Feito isto, construa os seguintes objetos no formulrio, utilizando-se das propriedades descritas na tabelaabaixo:

    Name Caption

    FrmSexo Sexo

    OptMasculino Masculino OptFeminino Feminino

    FrmEstado Estado Civil

    OptSolteiro Solteiro

    OptCasado Casado

    OptViuvo Vivo

    OptSeparado Separado

    OptDivorciado Divorciado

    CmdFechar &Fechar

    Na propriedade Name do formulrio digite FrmOptionButton e na propriedade Caption digite "Exemplo doobjeto OptionButton".

    O resultado obtido dever ser o formulrio abaixo:

    No momento de salvar, o nome a ser dado ao projeto PrjOption.

    TimerO controle Timer realiza aes atribudas a ele de acordo com a passagem do tempo. Eles so independentes dousurio, e voc pode program-los para ter aes em intervalos de tempo regulares. Uma tpica ao realizada

  • 8/8/2019 Apostila de PM

    51/83Controlando a porta paralela Prof Felipe Dias 51

    com ele a checagem do relgio do sistema para visualizar as horas em alguma barra de tarefas. Timerstambm so muito usados para outros tipos de processamento.

    Cada controle timer tem uma propriedade chamada Interval que especifica o nmero de milisegundos (ms) quepassam entre um evento de tempo para o prximo. Mesmo desabilitado, um timer continua a receber um evento

    (apropriadamente nomeado de evento Timer) em um estado inacabado igual ao intervalo de tempo.

    A propriedade Interval tem poucas limitaes para considerar quando voc est programando em um controletimer:

    Se sua aplicao ou outra aplicao feita exigindo uma demanda maior do sistema tal como longosretornos, clculos intensivos, ou leitura de drives, redes, ou portas de acesso sua aplicao no permiterodar no evento timer com frequncia como especificado na propriedade Interval.

    O intervalo poder ser entre 0 e 64.767, o que significa que um intervalo muito longo no poder sermais longo do que um minuto (cerca de 64.8 segundos).

    O intervalo no garantido exatamente com o decorrer do tempo. Para assegurar exatido, o timer exibe

    a checagem do relgio do sistema quando necessrio, melhor do que tentar incrementar valoresacumulados internamente como se fosse tempo.

    Todo controle timer dever ser associado com um form. Contudo, para criar uma aplicao com tempo, vocdever criar no mnimo um form.

    Inicializando um Controle Timer

    Um controle timer tem duas propriedades fundamentais:

    Propriedade Opo

    EnabledSe voc quiser que o controle timer inicie trabalhando, como o evento load do form,altere esta propriedade para True. Em todo caso, deixe esta propriedadeselecionada como False. Voc poder escolher ter um evento externo (como umclique de um boto de comando, por exemplo) para iniciar a operao do timer.

    Interval Nmero de milisegundos entre os eventos do timer.

    Note que a propriedade Enabled do controle timer diferente da propriedade Enabled dos outros objetos. Namaioria dos objetos, a propriedade Enabled determina qual objeto pode responder por um evento causado pelousurio. Com o controle Timer, alterando a propriedade Enabled para False suspendemos as operaes dotimer.

    Obs: Lembre-se que o evento Timer peridico. A propriedade Interval no determina "quanto tempo" e sim"qual a frequncia". O tamanho do intervalo depende de quanta preciso voc vai precisar, porque, existe achance em potencial de que algum erro ocorra fazendo um intervalo quebrado, mesmo assim voc ter maispreciso.

  • 8/8/2019 Apostila de PM

    52/83Controlando a porta paralela Prof Felipe Dias 52

    Agora vamos entrar na parte de variveis, elas so muito importantes em qualquer projeto, nosprojetos mais complexos indispensveis.

    Variveis

    O que so Variveis?

    Toda linguagem de programao precisa de algum lugar para armazenar o resultado de seus clculos ousimplesmente para controlar o fluxo do programa. Assim como acontece na lgebra cotidiana, as linguagens deprogramao se valem de variveis para armazenar dados na memria do computador. Uma varivel dememria nada mais do que uma posio da memria do computador reservada exclusivamente para que sejamguardadas informaes e dados. A essa posio de memria damos um nome para referncia dentro do nossoprograma, como por exemplo, NomeCliente. Quem controla qual posio de memria do computador serreservada a prpria linguagem e o sistema operacional, ou seja, devemos apenas nos preocupar em nomear edeclarar as variveis. E j que estamos falando de variveis, quando formos nome-las, deveremos seguiralgumas regras bsicas:

    O nome precisa iniciar com uma letra. Somente so permitidas letras, nmeros e o caractere de sublinhado. Qualquer sinal de pontuao e

    espao em branco ser invlido. No Visual Basic 6.0, os nomes podem ter at 255 caracteres de comprimento. Isso significa que

    podemos ter nomes de variveis bem descritivos, como por exemplo, PrimeiroNomeDoCliente. No podem coincidir com uma palavra reservada do Visual Basic, como nomes de funes ou

    procedimentos. Precisam ser nicos dentro do escopo atual, ou seja, no podemos ter duas variveis com o mesmo

    nome dentro de uma rotina, porm, entre rotinas diferentes, isso perfeitamente possvel.

    Escolha nomes sugestivos para as variveis, de tal forma que descrevam sua funo ou contedo que serarmazenado nelas. Por exemplo, para uma varivel onde seria armazenado o resultado do clculo do salrio deum funcionrio, poderamos escrever nSalarioFunc, em vez de X, Y ou Z.

    Acostume-se a iniciar o nome de uma varivel com uma combinao de at trs letras em minsculo queidentifica o seu tipo de dado. Por exemplo, para uma varivel do tipo string, utilize a combinao "str", parauma varivel numrica inteira utilize "int", e assim por diante. Veja os seguintes exemplos:

    strNomePrograma = "Controle de Despesas Domsticas"

    lngSaldoInicial = 125080

    Declarao de Variveis

    Embora voc possa ir criando variveis a medida que for precisando, aconselhvel que declare todas asvariveis que ir utilizar em seu programa. Isso torna o programa mais estruturado e menos propenso a erros,como por exemplo, ocorrncias de alteraes indevidas do valor de uma varivel entre chamadas de rotinas.Quando declaramos uma varivel, um escopo atribudo a ela, ou seja, determinada sua abrangncia(visibilidade) e tempo de vida (existncia). No Visual Basic 6.0, utilizamos o comando de declarao Dim paradeclararmos uma varivel, dando-lhe assim um nome e definindo o seu tipo de dado e escopo.

    A sintaxe completa :

    DimNomeVarivel[As TipoDado ]

  • 8/8/2019 Apostila de PM

    53/83Controlando a porta paralela Prof Felipe Dias 53

    NomeVarivelrepresenta um nome vlido para variveis. J a clusula opcional As permite que seja definido otipo de dado que a varivel armazenar. Os tipos de dados disponveis sero vistos mais frente. Voc podedeixar para o Visual Basic declarar implicitamente as variveis. Assim voc simplesmente cria as variveis medida que for precisando. Por exemplo, suponhamos que voc tenha a seguinte funo que calcula a mdiaentre dois nmeros:

    FunctionMedia (PrimeiroNumero , SegundoNumero )

    intSoma = PrimeiroNumero + SegundoNumero

    Media = intSoma / 2

    End Function

    Neste caso, a varivel Soma no fora declarada. Agora imagine que por questo de descuido, voc tenhadigitado o seguinte:

    FunctionMedia (PrimeiroNumero , SegundoNumero )

    intSomar = PrimeiroNumero + SegundoNumero

    Media = intSoma / 2

    End Function

    A funo no seria executada, uma vez que est tentando utilizar uma varivel, no caso intSoma, que nopossui qualquer valor, j que o mesmo fora atribudo varivel intSomar. Para evitar esse tipo de problema(apenas um entre vrios possveis), aconselhvel declarar-se todas as variveis que sero utilizadas pela rotina(procedimento ou funo). Portanto, o correto seria escrever a funo da seguinte forma:

    FunctionMedia (PrimeiroNumero , SegundoNumero )

    Dim intSoma

    intSoma = PrimeiroNumero + SegundoNumero

    Media = intSoma / 2

    End Function

    Voc pode forar o Visual Basic a verificar se todas as variveis foram declaradas previamente e, em casonegativo, apresentar uma mensagem de advertncia. Isso possvel atravs da incluso do comando OptionExplicit na seo Declarations da classe, formulrio ou mdulo. Podemos tambm selecionar a opoOptions, do menu Tools, e ativar a caixa de seleo Require Variable Declaration, na pgina Editor. Issofar com que em todo mdulo novo, porm no em mdulos existentes, seja includo o comando OptionExplicit.

    Abrangncia e Tempo de Vida de uma Varivel

    Dois termos muito utilizados na programao so abrangncia e tempo de vida das variveis. Esses termos

    definem o limite da visibilidade de uma varivel e o tempo em que ela poder reter seu valor. A isso chamamosde escopo. Abrangncia refere-se (s) parte(s) do cdigo do programa onde uma determinada varivel visvel,ou seja, onde ela pode ser acessada. Isso significa que podemos ter variveis cujos valores somente podero seracessados e/ou alterados pelo procedimento/funo que as declarou e em nenhuma outra parte do programa.Isso evita que outras rotinas do programa possam alterar inadvertidamente os valores dessas variveis. Essas

  • 8/8/2019 Apostila de PM

    54/83Controlando a porta paralela Prof Felipe Dias 54

    variveis so ditas locais rotina. Para declarar uma varivel local rotina, seja ela um procedimento (Sub) oufuno (Function), utilize o comando de declarao Dim ou Static dentro da mesma, como no fragmento decdigo a seguir:

    Function CalculaSaldo (dSaldoAntes , dSaldoDebito )

    Dim dblNovoSaldo as Double

    End Function

    Podemos ter tambm variveis que so visveis apenas pelas rotinas existentes num mdulo e no pelas rotinasde outros mdulos da aplicao. Essas variveis possuem escopo local ao mdulo inteiro. Voc declaravariveis locais a nvel de mdulo atravs dos comandos de declarao Dim ou Private, colocados na seoDeclarations do mdulo.

    Veja o seguinte exemplo:

    PrivatestrSenhaas String

    Para tornar uma varivel disponvel a todos os mdulos e a todas as rotinas, voc dever declar-la na seoDeclarations de qualquer um dos mdulos com o comando Public, como mostra o exemplo:

    PublicstrSenhaas String

    A esse tipo chamamos de varivel de escopo global, ou seja, qualquer rotina de qualquer mdulo tem acesso aela. O tempo de vida de uma varivel diz respeito ao tempo em que ela poder reter seu valor entre as diversaschamadas do procedimento/funo. Quando uma varivel declarada e a ela atribudo um valor, esse valor seperde quando a rotina encerra sua execuo. Em outras palavras, a varivel criada quando se entra na rotina edestruda quando se sai da mesma. H, porm, situaes onde devemos manter o valor da varivel entre as

    chamadas. Suponhamos por exemplo, que voc esteja programando um pequeno jogo e que tenha criado umarotina para controle dos pontos acumulados. Voc precisar de uma maneira de preservar os pontos j marcadosentre as chamadas da rotina. Desse modo, a varivel, embora no seja global, no perde seu valor aps oretorno da rotina ao cdigo que a invocou. A esse tipo, damos o nome de varivel esttica.

    Para declarar uma varivel esttica, utilize o comando de declarao Static, conforme mostrado no exemplo:

    FunctionPontos ( intMarcados )

    Static lngPontosAcumulados as Long

    lngPontosAcumulados = lngPontosAcumulados + intMarcados

    Pontos = lngPontosAcumulados

    End Function

    Se voc precisar, por um motivo ou outro, declarar todas as variveis de uma rotina como sendo estticas,coloque a palavra reservada Static frente do nome do procedimento/funo, da seguinte forma:

    Static FunctionPontos (intMarcados )

    Dim lngPontosAcumulados as Long