Collections. Objecto Collection. Propriedades e métodos



Documentos relacionados
Tratamento de erros I Ideia básica

Manipulando Strings no VBA (Replace, Mid e InStr)

10. Acessando o Banco de Dados através do Visual Basic

Visual Basic for Applications: # 1

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Manipulando Strings no VBA (Replace, Mid e InStr)

APOSTILA DE VBA PARA EXCEL MARCOS DE BARROS OUTUBRO DE RISK MANAGEMENT

VBA e Access Modo de interacção

Visual Basic for Applications

Encapsulamento de Dados

DESENVOLVIMENTO DE SOFTWARE

Informática II Ficha 5_resolução

Expressões Lógicas Comandos de Seleção

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

VETORES E MATRIZES. By Eduardo Vieira Machado (Good Guy)

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea

Adicionando Propriedades e Funcionalidades aos Componentes Parte II

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Descrição: Retorna uma lista com todos os publishers disponíveis no middleware.

Documentação do retorno XML referente projeto Busca Endereço por CEP

4 Criação de macros e introdução à linguagem VBA

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Tarefa Orientada 18 Procedimentos armazenados

JSP - JavaServer Pages

Capítulo 8. Introdução UML

Programação para web JavaScript

Sistemas de Apoio à Decisão

Plano de Aula - Access cód Horas/Aula

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

Folhas de Cálculo Excel Ficha Prática 6 Pág. 1 de 7

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

Noções básicas sobre macros no Access 97. Construção de algumas macros simples. Noções básicas sobre procedimentos VBA no Access 97

Comandos de Manipulação

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

Desenvolvimento de Aplicações para Internet Aula 7

Noções Várias em Visual Basic

ISCAP. Algoritmia. Pág. 1. Ana Paula Teixeira

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Softwise Consultoria e Informática Desenvolvendo soluções

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

NT_D1216.SYS DRIVER DA CDA12/16 PARA WINDOWS NT 4.0

7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS

Calculador de preços e prazos de encomendas

insfcanceof new public switch transient while byte continue extends for int null

Sistemas de Informação

VBA e Excel I. Macros

Construindo e Codificando o Projeto Conversor de Números

Rafael Santos. Instituto Nacional de Pesquisas Espaciais rafael.santos. Rafael Santos - rafael.

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Findo o processo de normalização, obtemos o conjunto de tabelas indicado na tabela 1.28.

Tarefa Orientada 19 Triggers

5. NOÇÕES DE PROGRAMAÇÃO

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Adicionando Caixas de Verificação no seu Programa Java

AULA 1: PARADIGMAS DE PROGRAMAÇÃO

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo;

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Algumas notas sobre PASCAL

INTRODUÇÃO À PROGRAMAÇÃO DO ACCESS BASIC

Trabalhando com Arquivos de Texto no VBA

Integração por Web Services

PROGRAMAÇÃO II 3. FILA DINÂMICA

EXCEL e VBA. Visual Basic for Applications. Tutoriais de VBA

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

Representação de Algoritmos - Linguagens de Programação

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

Macros e Programação VBA

Tuplas e Dicionários. Vanessa Braganholo vanessa@ic.uff.br

Algoritmos e Programação II. Sobrecarga

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Login. Criar um novo website File > New > WebSite Framework 4.5 Visual C# ASP.NET Empty Web Site Nome do projeto: WebLogin

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel

Código do formulário frmfacturascliente

Inicializando e Finalizando Aplicativos de Forma Rápida e Sem Problemas

Bases de Dados 2007/2008. Aula 8

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Hibernate Envers Easy Entity Auditing

Linguagem de Programação I. Orientação a Objetos em Java

INTRODUÇÃO OBJECT PASCAL/DELPHI

Técnicas de programação no desenvolvimento de um sistema em Delphi

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario. X = Seek(arq) Mostra a posição que está sendo lida no arquivo

Projeto em Grupo: Parte 2

Estrutura de Dados Pilha (Stack)

A1;A7 é o mesmo que A1 e A7 A1:A7 é o mesmo que A1 até A7 (abrange A1, A2, A3, A4, A5, A6, A7).

Programação Orientada a Objetos (DPADF 0063)

Programação Visual TIC - 3PA. Lista de Exercícios 02

Transcrição:

Collections Objecto Collection Conjunto ordenado de objectos não necessariamente do mesmo tipo Declarar um novo objecto: Dim col As New Collection Propriedades e métodos collection.count: número total de objectos na collection (só de leitura) collection.add Item, Key, Before, After: adiciona um novo objecto Item: objecto a adicionar Key: nome pelo qual o objecto será conhecido na collection Before/After: objecto antes/depois do qual o novo objecto deve ser adicionado collection(index): objecto de ordem Index (o primeiro tem ordem 1) collection(key): objecto cujo nome é Key collection.remove Index: remove o objecto de ordem Index collection.remove Key: remove o objecto cujo nome é Key Visual Basic for Applications: # 84

Módulos de classe I para trabalhar com facturas posso declarar um conjunto de variáveis que represente os dados que pretendo manipular Dim ID As Long : Dim datafactura As Date Dim datavencimento As Date : Dim datapagamento As Date Dim quantia As Currency : Dim ematraso As boolean para trabalhar com diferentes facturas em simultâneo posso criar um novo tipo de dados que represente a factura Type Factura Dim ID As Long :... : Dim ematraso As boolean End Type Dim factura01 As Factura : Dim factura02 As Factura como a manipulação de facturas envolve quase sempre as mesmas operações, posso criar um módulo de classe que especifique um novo objecto do tipo factura com propriedades e métodos que manipulem as facturas de igual modo Dim factura01 As New CFactura : Dim factura02 As New CFactura Visual Basic for Applications: # 85

Módulos de classe II Variáveis de classe (data members) Private m_datamember As Type Propriedades de classe (Property Get / Property Let) Public Property Get PropertyName([args]) As PropertyDataType [... : PropertyName = expr] [Exit Property] [... : PropertyName = expr] Public Property Let PropertyName([args,] NewVal As PropertyDataType) [... : m_datamember = expr] [Exit Property] [... : m_datamember = expr] Visual Basic for Applications: # 86

Módulos de classe III data members do módulo de classe CFactura Private m_id As Long :... : Private m_ematraso As boolean factura01.id Public Property Get ID() As Long ID = m_id factura01.ematraso Public Property Get EmAtraso() As Boolean EmAtraso = m_ematraso factura01.quantia = newquantia Public Property Let Quantia(newQuantia As Currency) If newquantia < 0 Then newquantia = 0 MsgBox Quantia inválida! Será usado zero. End If m_quantia = newquantia Visual Basic for Applications: # 87

Módulos de classe IV 'factura01.datafactura = newdata Public Property Let DataFactura(newData As Date) If newdata > Date Then newdata = Date MsgBox Data inválida! Será usada a data de hoje. End If m_datafactura = newdata m_datavencimento = m_datafactura + 30 'factura01.datapagamento = newdata Public Property Let DataPagamento(newData As Date) m_datapagamento = newdata m_ematraso = False Visual Basic for Applications: # 88

Módulos de classe V Propriedades de classe (Property Set) Public Property Set PropertyName([args,] NewObj As PropertyDataType) [... : Set m_datamember = expr] [Exit Property] [... : Set m_datamember = expr] Métodos de classe Public [Sub Function] MethodName([args]) [As MethodDataType] [...] End [Sub Function] Public Sub Update() factura01.update If m_datapagamento = 0 And m_datavencimento < Date Then m_ematraso = True End If End Sub Visual Basic for Applications: # 89

Módulos de classe VI Eventos de classe Private Sub Class_Initialize( ): ocorre quando um objecto da classe é instanciado pela primeira vez Private Sub Class_Terminate( ): ocorre quando todos os objectos da classe são removidos Private Sub Class_Initialize() Randomize m_id = Int(Rnd * 999999) m_datafactura = Date m_datavencimento = m_datafactura + 30 m_ematraso = True End Sub Private Sub Class_Terminate()... End Sub Visual Basic for Applications: # 90

Módulos de classe VII Classes de collections Private m_datamember As New Collection para manipular múltiplas facturas pode ser útil criar um novo módulo de classe que especifique um objecto facturas Dim facts As New CFacturas data member do módulo de classe CFacturas Private m_facturas As New Collection facts.add quantia Public Function Add(quantia As Currency) As CFactura Dim new_fact As New CFactura With new_fact.quantia = quantia Property Let de CFactura m_facturas.add Item:=new_fact, Key:=CStr(.ID) End With Set Add = new_fact End Function Visual Basic for Applications: # 91

Módulos de classe VIII facts.remove index Public Sub Remove(index As Variant) index é do tipo Variant m_facturas.remove index porque pode ser um End Sub número ou uma string facts.count Public Function Count() As Long Count = m_facturas.count End Function facts.item index Public Function Item(index As Variant) As CFactura Set Item = m_facturas(index) End Function exemplo de utilização Dim facts As New CFacturas facts.add 1000 facts.add 2000 MsgBox facts.count apresenta 2 facts.remove 1 MsgBox facts.item(1).quantia apresenta 2000 Visual Basic for Applications: # 92

Módulos de classe IX Propriedades de classe como objectos Muitas das propriedades de um objecto são por si só também objectos. Como é então possível definir uma propriedade como objecto? suponhamos que queremos criar um módulo de classe CCliente que especifique um novo objecto cliente Private m_nome As String Private m_facturas As CFacturas cliente01.nome Public Property Get Nome() As String Nome = m_nome cliente01.facturas Public Property Get Facturas() As CFacturas Set Facturas = m_facturas Visual Basic for Applications: # 93

Módulos de classe X cliente01.nome = newnome Public Property Let Nome(newNome As String) m_nome = newnome cliente01.facturas = newfacturas Public Property Set Facturas(newFacturas As CFacturas) Set m_facturas = newfacturas exemplo de utilização Dim cliente01 As New CCliente With cliente01.nome = António Set.Facturas = New CFacturas a declaração New cria uma With.Facturas nova instância do objecto.add 1000.Add 2000 End With End With MsgBox cliente01.facturas.item(1).quantia apresenta 1000 Visual Basic for Applications: # 94