Vous êtes sur la page 1sur 13

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat 6.

3 Arquivos Binrios

Para ler arquivos binrios utilizado o seguinte comando. Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario Get #arq, 1, CabArquivo L o arquivo binrio Put #arq, 1, CabArquivo Escreve no arquivo em binrio X = Seek(arq) Mostra a posio que est sendo lida no arquivo A diferena na leitura e escrita no arquivo binrio comparado com o arquivo ASCII que o arquivo binrio l o tipo da varivel, ou seja, se voc escreve um byte ele l um byte, se escreve um inteiro ele l um inteiro (2 bytes). Geralmente o arquivo binrio utilizado para armazenar um banco de dados, ou seja, utilizado para guardar registros de um banco de dados. Como no exemplo abaixo. Exemplo Dentro do modulo 'Criando um tipo de varivel Public Type CadObs Nome As String Path As String Latitude As Single Longitude As Single Altitude As Single Hora_Local As Single Raio_Terra As Single Raio_Polo As Single End Type Dentro do form Dim CadOBS1(200) as CadObs Function Ler() Erase CadOBS1 PosT = 0 myfile = Dir(App.Path & "\Obs.dat", vbArchive) If myfile <> "" Then Arq = FreeFile Open App.Path & "\Obs.dat" For Binary As #Arq i = 0: J = 1 Do While EOF(Arq) = False j1 = J Get #Arq, J, CadOBS1(i) 10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat If CadOBS1(i).Nome = "" Then J = j1: Exit Do CMB_LOCAIS.AddItem CadOBS1(i).Nome Adicionar os registro no ComboBox J = Seek(Arq) Reposiciona ponteiro no arquivo i=i+1 Loop PosT = i - 1 Close (Arq) Else MsgBox "O arquivo no existe" End If End Function 6.4 Componentes para trabalhar com arquivos Os componentes que auxiliam na procura de arquivos so: DriveListBox relaciona os drivers existentes no micro; DirListBox relaciona os diretrios (pastas) existentes no drive; FileListBox relacionam os arquivos existentes no diretrio. O principal comando do DriveListBox : Drive1.Drive = "C:\" Posiciona para o drive C:\ O principal comando do DirListBox : Dir1.Path = "C:\ion" Os principais comandos do FileListBox so: File1.Path = "C:\ion\" Muda o caminho do componente File1 para o indicado. Nome_arq = File1.FileName Retorna o nome do arquivo Nome_arq = File1.List(posio) Retorna o nome do arquivo

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat

7. CommonDialog

O Visual Basic traz algumas caixas de dilogos prontas para Abrir arquivo, Salvar, Imprimir, escolher Cor, ou escolher fontes de letra. Sua utilizao simples e basta inserirmos o objeto CommonDialog no formulrio para ativarmos os dilogos. Na codificao do programa usamos a propriedade Action para o Visual Basic abrir o dilogo pretendido: * Action : Determina o tipo de dilogo que ser exibido: 0 Nenhum dilogo. 1 Mostra caixa de dilogo Abrir Arquivo 2 Mostra caixa de dilogo Salvar Arquivo 3 Mostra caixa de dilogo Escolher Cor 4 Mostra caixa de dilogo Escolher Fonte de Letra 5 Mostra caixa de dilogo de Impresso. 6 Executa o WINHELP.EXE. As principais propriedades deste objeto podem ser acessadas selecionando (Custom) ou clicando no boto direito do mouse e selecionando Propriedades no menu: Open/SaveAs: Aqui definimos as caractersticas do arquivo que ser aberto ou salvo.

DialogTitle: Determina o texto que ir aparecer na barra de ttulo. FileName: Nome e Caminho padro para um determinado arquivo. InitDir: Diretrio padro onde sempre ser iniciado o dilogo Filter: Especifica os tipos de arquivos que podero ser selecionados. Veja a regra de uso desta propriedade: Descrio | Tipo de arquivo | Primeiro usamos um texto descritivo para o arquivo que ser selecionado. Depois uma barra vertical (|), e a extenso que este arquivo usa e finaliza com outra barra. Textos (*.txt) | *.txt | Documentos (*.Doc) | Figuras (*.bmp,*.pcx) | *.bmp;*.ico | Colocando desta forma veja como ficar a caixa de dilogo: 10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat

Color: Definimos as caractersticas da janela para escolha de cores.

Color: Especifica a cor selecionada no dilogo. Essa propriedade serve no s para capturar a cor escolhida como para levar para a janela Color a cor em uso.

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat Font: Janela para definio de fontes de letra.

FontName: Nome da fonte corrente, usado no momento em que a janela de escolha de fonte foi chamada. Tambm informa qual o nome da nova fonte escolhida. FontSize: Determina o tamanho da fonte corrente e o novo tamanho escolhido. Min e Max: Tamanho mnimo e mximo que um usurio pode escolher para uma determinada fonte de letra. Flags: Determina algumas opes para a caixa de dlogo. Coloque 1. Style: Determina como ser o tipo da fonte de letra.

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat Print: Janela de configurao de impressora e impressora. Obrigatoriamente temos que usar quando enviamos algum relatrio para ser impresso.

Copies: Determina a quantidade de cpias padro para serem impressas. FromPage: Pgina inicial a ser impressa. ToPage: Pgina final a ser impressa. Min: Limite mnimo de um intervalo de impresso Max: Limite mximo de intervalo de impresso. PrinterDefault: Determina se o usurio poder alterar a impressora padro do Windows.

Mtodos Aplicveis ao Controle: Podemos usar mtodos para exibir as caixas de dilogo. NomeDoObjeto.ShowColor Exibe janela para escolha de cores. NomeDoObjeto.ShowFont Exibe janela para escolha de fonte de letra. NomeDoObjeto.ShowOpen Exibe janela com opes de abrir arquivo. NomeDoObjeto.ShowSave Exibe janela com opes para salvar arquivo. NomeDoObjeto.ShowPrinter Exibe janela com opes de impresso.

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat

8. Menu

A maioria das aplicaes possuem menus para facilitar o usurio na localizao de todas as janelas que compem um programa. Para criar menus, usamos o menu TOOLS opo Menu Editor. Sempre que criarmos menu temos que seguir algumas regras como colocar acesso Mnemnico em todos os itens e seguir um padro, como, pr exemplo, o menu Arquivo colocar o sublinhado na letra A, colocar ... quando este menu abre uma janela de dilogo, estabelecer uma Tecla de Atalho para as principais opes do menu e colocar um trao de separao para separar sees dentro de um mesmo menu, como pr exemplo, no menu ao lado, usou este recurso para separar algumas opes. 8.1 Criando Menus

Veja as principais propriedades do objeto menu: Caption: Nesta propriedade definimos o titulo do item que ir aparecer no menu. Nesta propriedade prefixamos uma letra com o smbolo & para que o Visual Basic destaque a letra com sublinhado. Se for um item da barra de menus, ao teclarmos ALT e a letra destacada, o menu desse item ser aberto automaticamente. Se for um item de um menu j aberto, basta acionarmos somente a letra destacada para executarmos a funo vinculada ao mesmo. 10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat Name : Usamos esta propriedade para definirmos o identificador para o item. Nomeamos cada item de um menu para podemos manipul-los atravs de codificao. Para menus usamos abreviao mnu Index : Permite criar uma matriz para identificar os itens do menu. Para que a matriz seja estabelecida o name deve ser igual para os que vo compor a matriz. ShortCut : Determinamos uma combinao de tecla para que o menu seja acessado de forma mais rpida. Quando definimos tecla de atalho para um item do menu, a rotina anexada chamada independente do local onde o foco esteja. WindowList : Quando esta propriedade esta habilitada, numa aplicao com vrias janelas, o Visual Basic cria uma lista das ultimas janelas que foram acessadas. Checked: Sempre que o usurio clica no item que possui esta propriedade habitada para True o Visual Basic coloca um sinal de marcado ao lado do nome. Se clicar novamente esta marca retirada. Usamos esta propriedade quando queremos mostrar para o usurio o estado Ligado ou Desligado de algum item do menu. Enabled: Habilita ou no um item do menu. Quando esta desabilitada o Visual Basic coloca o texto do Caption acinzentado. Visible: Quando necessitamos que um determinado item do menu exista, mas que fique invisvel para o usurio at que determinada condio seja estabelecida, usamos esta propriedade. Usamos os botes de setas para Baixo de para Cima para movermos um item de lugar depois de criado. O boto seta para Direita transforma o item selecionado em submenu item imediatamente acima. O boto seta para esquerda volta o item um nvel. O boto Next o default, ou seja, ele acionado sempre que digitamos ENTER. Ele passa para o prximo item de menu a ser digitado ou na seqncia. Insert usado para inserir um item de menu entre outros j criados e Delete apaga o item selecionado.

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat Num projeto novo vamos criar um menu para um programa de controle de estoque. Vamos primeiramente definir as opes mestre que vo ficar no topo do menu.

Para criarmos estes itens basta abrirmos a janela de criao de menu e fazer os lanamentos conforme estabelecido abaixo:

Pronto. Execute o programa e veja o menu j criado automaticamente. Mas logicamente precisamos agora criar subitens em cada uma dessas opes. Selecione &Lanamento e aperte a tecla Insert e depois o boto seta para a direita. Fazendo estaremos criando subitens para o item Cadastro. Vamos criar as opes Mercadoria e Fornecedor. Note que quando apertamos ENTER para o prximo ele no insere um novo item. Temos que repetir a operao Insert e Seta para Direita.

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat

Agora repita o processo para criar subitens para Lanamento de nomes Entrada e outro Sada e coloque uma tecla de atalho para cada um conforme modelo:

Criar um menu simples, e o nico evento que existe para os menus o Click que exatamente igual ao evento Click usado para CommandButton.

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

10

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat Se em tempo de projeto dermos um click num item de menu o Visual Basic abre a janela de codificao para digitarmos alguma rotina de programao para o menu. Afinal, um menu no somente enfeite. Cada item seu teve efetuar um determinado evento. Vamos criar um evento Click para as opo Entrada e Saida bastante simples:

Execute o programa e veja que clicando nas opes com o mouse ou apertando as teclas de atalho correspondentes o MsgBox acionado. Vamos agora voltar ao Editor de Menu e na opo Cadastro inclua no final o item Sair. Vamos colocar um item Separador para esteticamente ficar mais apresentvel. Este item colocando inserindo o caractere - no caption.

Crie um evento para o item Sair:

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

11

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat

O Comando END encerra a aplicao. 8.2 Menus Instantneos O Windows usa com muita freqncia este tipo de menu. So menus que se abrem sempre que apertamos o boto direito do mouse sobre algum objeto. Para esses menus surgirem na tela usamos o comando PopupMenu no evento MouseUp de qualquer objeto. Veja como usar essas rotinas. PopupMenu : Neste comando especificamos o nome dado ao Menu que contm submenus e que ir aparecer ao acionarmos este comando. Exemplo: PopUpMenu mnuLanamento Ir aparecer os subitens do menu Lanamento, ou seja, Entrada e Saida. MouseUp (Button as Integer, Shift As Integer, X as Single, Y as Single): Sempre que o usurio aperta um boto do mouse este evento chamado. Usamos os argumentos que o evento oferece para sabermos quais dos botes foram apertados, se foi em conjunto com alguma tecla e qual coordenada estava o ponteiro do mouse no momento que o evento foi chamado. Button : retorna um nmero inteiro que informa qual dos botes foram apertados: 1 Boto esquerdo pressionado. vbLeftButton 2 Boto direito pressionado. vbRightButton 4 Boto do centro pressionado. vbMiddleButton Shift : retorna um nmero inteiro que informa qual tecla estava pressionada no momento em que algum boto do mouse tambm foi pressionado. 1 SHIFT pressionado. vbShiftMask 2 CTRL pressionado. vbCtrlMask 4 ALT pressionado vbAltMask X : Coordenada para linha Y : Coordenada para Coluna

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

12

Programao III (U483003) Cincias da Computao Prof. Valdir Gil Pillat Na aplicao anterior coloque no formulrio um CommandButton e crie um evento MouseUp para ele com a seguinte codificao:

Como no especificamos as coordenadas, como padro o Visual Basic estabelece a posio atual do mouse. Note que pedimos para o menu mnuCadastro ser carregado sempre que apertamos o boto direito do mouse sobre o objeto Command1. Se chamarmos este evento sobre o formulrio ou qualquer outro objeto nada acontecer.

10/03/2006 http://www.fcc.univap.br/~valdir ou http://www1.univap.br/~valdirgp e-mail: valdirgp@univap.br

13

Vous aimerez peut-être aussi