Linguagens de programação 12º M12

569 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
569
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
26
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Linguagens de programação 12º M12

  1. 1. MÓDULO 12 Fundamentos Avançados de Programação Orientada por Objectos Apresentação Pretende-se leccionar fundamentos de programação avançados tidos para que se possa desenvolver aplicações mais complexas.
  2. 2. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 1. Procedimentos e Funções Passagem de parâmetros por Referência e por Valor; Procedimentos e funções recursivas; 2. Sintaxe de Tabelas/Arrays Unidimensionais Multidimensionais Dinâmicas
  3. 3. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 3. Classes Conceitos Gerais Criação de classes Reutilização de Objectos 4. Módulos Noção de Módulo Utilização de Módulos
  4. 4. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 5. Ficheiros Leitura e Escrita de ficheiros sequenciais Ficheiros de Acesso Aleatório
  5. 5. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 2. Objectivos de Aprendizagem Definir e utilizar Procedimentos e Funções “Utilizar parâmetros globais e locais” Criar e utilizar tabelas em programação Definir o n.º de elementos de uma tabela em tempo de execução Criar e utilizar correctamente classes Saber como e porque se reutilizam objectos Utilizar módulos Aceder a ficheiros
  6. 6. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Introdução Variáveis Variáveis, são espaços que reservamos em memória para guardar determinados valores durante a execução de uma determinada tarefa ou programa.
  7. 7. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOSAMBITO DECLARAÇÃO Somente onde é declaradaProcedure Private, em procedure, Sub, ou Somente onde é Function declaradaModule Private, na secção de Em cada declarações de um Form, ou procedimento do modulo (.frm, ou .bas) Form ou ModuloGlobal Public, na secção de Em toda a aplicação declarações de um Modulo (.bas)
  8. 8. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 1. Procedimentos e Funções  1.1 Procedimentos - “O Conceito”  Os procedimentos constituem a base de toda e qualquer linguagem de programação, uma vez que, para além de permitirem uma conveniente separação e agrupamento do código-fonte segundo a sua finalidade, dão a possibilidade ao programador de escrever o código apenas uma vez, pois os procedimentos podem ser invocados a partir de outros procedimentos, módulos de programação e projectos diferentes, permitindo uma reutilização inteligente do código-fonte.
  9. 9. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Tipos de ProcedimentosTipo DescriçãoGerais São procedimentos definidos pelo programador, que consistem num conjunto de instruções executadas sequencialmente com o objectivo de desempenhar uma tarefa específica. Este tipo de procedimentos pode aceitar argumentos mas não retorna qualquer valor.De A declaração deste tipo de procedimentos está a cargoevento única e exclusivamente do editor de código. Escolher o objecto e estar “atento” à “operação” a executar.De São procedimentos definidos pelo programador que podemfunção executar tarefas e/ou retornar um valor para o procedimento que os invocaram.
  10. 10. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS  Procedimentos Gerais  Estes podem ser de dois tipos:  A- Não utiliza argumentos  B – Utiliza argumentos  Nota: Nenhum retorna valores Sintaxe Tipo A: Exemplo Tipo A: Sub procedimento() [Instrução 1] Sub Colocar_texto() [Instrução 2] Buttom1.text= “ola!” […] End Sub [Instrução n] End sub
  11. 11. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Sintaxe Tipo BSub Procedimento(argumento 1 [, argumento 2][,…][, argumento n]) [Instrução 1] [Instrução 2] […] [Instrução n]End sub ExemploSub inicio() Dim texto_a_enviar As String Texto_a_enviar = “Ola!” Colocar_texto(texto_a_enviar)End SubSub Colocar_texto(texto As String) Buttom1.Text= textoEnd Sub
  12. 12. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Procedimentos de evento: a escrita deste tipo de procedimentos é semelhante à dos procedimentos gerais, exceptuando a utilização do modificador Private – a chamada directa a procedimentos de evento é feita pelo próprio objecto quando reconhece a actividade para a qual foi programado. Sintaxe  Private Sub Objecto_evento(ByVal sender As System.Object, ByVal e As system.EventArgs) Handles Objecto.Evento  [Instrução 1]  [Instrução 2]  […]  [Instrução n]  End sub
  13. 13. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Procedimentos de Função  Embora o objectivo dos procedimentos de função possa não retornar um valor, são geralmente utilizados para esse efeito, pois, na prática, utilizam- se procedimentos gerais quando o objectivo é apenas realizar uma tarefa (baseada ou não em parâmetros). Tipo Utiliza Retorna um Argumentos? Valor? A NÃO SIM B SIM Sim  Esta categoria de Funções/Procedimentos é iniciada pela palavra Function e terminada por End Function
  14. 14. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOSSintaxeFunction Função (Lista de argumentos) As Tipo de Dados [Instrução 1] [Instrução 2] […] [Instrução n] Return ValorEnd FunctionFunção - corresponde ao nome atribuído pelo programador àfunção;<Lista de Argumentos> - contém os parâmetros que a funçãorecebe (se os houver), bem como os respectivos tipos dedados.Tipo de Dados – indica o tipo de informação que a função vairetornar;Valor – é o valor retornado pela função
  15. 15. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Exemplo (procedimento de função sem argumentos - Tipo A ) Function Contar() As Integer  Dim controlos As Integer  Controlos = Me.Controlos.Count  Return controlos End Function (chamada a um procedimento de função sem argumentos) Private Sub Buttom1_Click […]  Buttom1.Text = Contar() ‘chamada da função sem argumentos End Sub
  16. 16.  Exemplo (procedimento de função com argumentos - Tipo B) Function Completo(nome As String, apelido As String) As String  Dim nome_completo As String  nome_completo= apelido & “ , “ & nome  Return nome_completo End Function (chamada a um procedimento de função com argumentos) Private Sub Buttom1_Click […]  Buttom1.Text = Completo (“Henrique”, “Loureiro”) End Sub
  17. 17. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Objecto_Evento corresponde ao nome do procedimento de evento formado pelo par Objecto/Acção separados por um underscore ByVal indica que os valores dos argumentos não podem ser alterados Sender é uma palavra-chave que indica que o procedimento está relacionado com um objecto. e – Corresponde ao conjunto de argumentos específicos para o evento; Handles indica que o procedimento se trata de um procedimento de evento a ser reconhecido pelo objecto em particular.
  18. 18. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Parâmetros por Valor ou por Referência O padrão é o Visual Basic passar todos os parâmetros por referência ( ByRef ), ou seja, ao invés de passar o valor actual do argumento ele passa um endereço de 32 bits onde o valor esta armazenado. Desta forma se ocorrer qualquer alteração no valor do parâmetro isto será reflectido no valor original do mesmo. Para passar um parâmetro por valor usamos a palavra ByVal precedendo o parâmetro, com isto estamos passando uma cópia do valor do parâmetro e não o seu endereço de localização. Nota: Ao passar uma string por valor esta passa o endereço do primeiro byte de dados da string . Se passar uma string por referência estará a passar o endereço de memória onde outro endereço esta armazenado , neste caso o primeiro byte de dados da string. A ter em conta: As strings sempre são passadas por Valor ( ByVal ). Porém a função API poderá alterar o conteúdo da variável string. As estruturas definidas pelo usuário são sempre passadas por referência ( ByRef ) Os Vectores ( Arrays ) sempre são passados ByRef quando passados por inteiro para a função API. Os valores numéricos podem ser passados por Valor ou por Referência dependendo da função
  19. 19. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Procedimentos e Funções Recursivas Conceito Um procedimento ou função diz-se recursivo quando é definido em termos de si próprio, isto é, quando se invoca a si próprio, directa ou indirectamente (por intermédio de outros procedimentos/funções). Tipicamente a solução de um problema repetitivo pode ser resolvido de uma forma iterativa utilizando estruturas de controlo de ciclos (estruturas repetitivas), ou de forma recursiva utilizando a invocação sucessiva da solução.
  20. 20. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS VANTAGENS E DESVANTAGENS Existem algumas vantagens e desvantagens na utilização de métodos baseados na recursividade: Vantagens: A utilização de uma função recursiva pode simplificar a solução de alguns problemas;  Pode-se obter um código mais conciso e eficaz nessas situações;  Uma solução recursiva pode, por outro lado, eliminar a necessidade de manter o controlo manual sobre uma série de variáveis normalmente associadas aos métodos alternativos à recursividade.
  21. 21. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Desvantagens:  As funções recursivas são geralmente mais lentas e ocupam mais memória do que as funções iterativas equivalentes, uma vez que são feitas muitas chamadas consecutivas;  Um erro de implementação pode levar ao esgotamento dos recursos associados à pilha (stack overflow) que gere a chamada a funções. Isto é, caso não seja indicada nenhuma condição de paragem, ou essa condição foi definida de forma errada e nunca será satisfeita, então o processo recursivo não terá fim.
  22. 22. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOSA recursividade permite implementar algoritmos que decompõem o problema a resolver numa sucessão de problemas cada vez mais simples com a mesma estrutura do problema original. A recursividade permite decompor um problema em problemas mais pequenos que têm a particularidade de serem exactamente do mesmo tipo do problema original.
  23. 23. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Funções Recursivas  Uma função recursiva é uma função que se refere a si própria. A ideia consiste em utilizar a própria função que estamos a definir na sua definição.  Em todas as funções recursivas existe:  Um passo básico (ou mais) cujo resultado é imediatamente conhecido.  Um passo recursivo em que se tenta resolver um sub- problema do problema inicial.
  24. 24. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS “Aplicação Factorial” - Exemplo  Esta função pode ser definida recursivamente em função de um caso elementar e de uma forma geral:  0! = 1 (por definição, caso mais simples)  n! = n * (n - 1)! para n>0 (formula recursiva) Função FACTORIAL(num: inteiro): inteiro var temp: inteiro Se num = 0 Então temp  1 Senão temp  num * FACTORIAL(num – 1) factorial  temp
  25. 25. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Private Function Fact(num As Integer) If num = 0 Then     Fact = 1     Else         Fact = num * Fact(num - 1) End If End Function
  26. 26. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Tabelas/ Array As variáveis do tipo Array, ao contrário das escalares – que armazenam um valor de cada vez – representam matrizes ou conjuntos de dados alojados em posições ou índices bem definidos.  Todos os elementos de um array são do mesmo tipo de dados O comprimento de um array concebe o seu número de elementos em função de um limite inferior(considerado 0) e de um limite superior a definir. Quando ao seu tamanho, os arrays dividem-se em duas categorias – os de e os de comprimento variável.
  27. 27. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Arrays de comprimento FIXO Representam matrizes com um numero de elementos constante, pela atribuição de índices (limites). O limite inferior de um array é igual a zero; o limite superior é incluído entre parênteses curvos. SINTAXE  Dim array(limite superior) As Tipo de Dados Exemplos:  Dim alunos(7) As String ‘Matriz de 8 elementos  Alunos(3) =“Ana”  Alunos(0)=“Ronaldinho”
  28. 28. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Arrays de Comprimento Variáveis – (Tabelas Dinâmicas) São matrizes cujos limites não são especificados aquando da sua declaração. O programador pode, desta forma, alterar o tamanho do array enquanto o código está a ser executado. A palavra chave ReDim permite o redimensionamento do array em qualquer ponto do programa. SINTAXE  Dim array() As Tipo de Dados
  29. 29. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Exemplos: Dim dias() As Date Dias(0)= #1/1/1999# ReDim dias(3) Dias(2)= #1/1/1999# ReDim dias(1) ‘O conteúdo de índice 2 é eliminado
  30. 30. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Arrays Unidimensionais  Uma matrix unidimensional é composta apenas por um eixo, segundo um perfil linear. Todos os elementos apresentados ao longo deste tópico fizeram referência a arrays Unidimencionais. Arrays Multidimensionais  As matrizes mais utilizadas são as matrizes bidimensionais; a utilização de mais de duas dimensões está presente, na maior parte dos casos, em projectos muito específicos, como na concepção de aplicações de engenharia, design e multimédia.
  31. 31. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Nota: O número máximo de dimensões suportado por uma variável do tipo array é de 32. Sintaxe – Declaração de Arrays Multimensionais Dim array(dimensão1, dimensão2[,…][,dimensão n]) As Tipo de Dados Exemplos práticos Dim ficha(9,3) As String Ficha(3,2)=“10 de Janeiro” Ficha(0,1)=“Ana Lopes” Ficha(2,7)=“Luis Jardel” –ERRO no 2º limite Superior
  32. 32. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 4 – Módulos Noção de Módulo e Procedimentos  No contexto da programação, os Procedimentos (vulgarmente conhecidos por rotinas) consistem num agrupado de linhas de código(instruções) que seguem uma sequência lógica, com Principio, Meio e Fim, cujo objectivo é desempenhar uma tarefa específica. A um conjunto de procedimentos dá-se o nome de Módulo.  Um programa pode ter um nº distinto de módulos e procedimentos.  Ao nível do código, o início de um módulo de programação é marcada pela palavra chave Module e o seu fim pela instrução End Module
  33. 33. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Sintaxe (Criação de Módulos) Module Nome  [Procedimento 1]  [Procedimento 1]  […]  [Procedimento 1] End Module  Aqui, Nome é o identificador único do módulo no projecto em que se insere, e que é atribuído pelo programador.
  34. 34. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Criação de Módulos  Podemos aceder a um módulo acedendo ao respectivo ficheiro no Soluction Explorer e também podemos adicionar módulos ao projecto.  Para criar mais módulos:  Escolha a opção de Adicionar Modulo do Menu Projecto  Surge uma caixa de dialogo Adicionar Novo Item. Aqui poderá escolher o item Modulo, atribuir um nome e clicar em Adicionar para terminar o processo de inserção. Gravação de Módulos O módulo é gravado através do processo normal(fazendo clique no botão Guardar da barra de ferramentas Standard ou escolhendo a opção Guardar do menu ficheiro.
  35. 35. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Apagar Módulos A remoção de módulos é feita exactamente da mesma forma como a remoção de qualquer outro item presente no Solution Explorer. Assim, bastará seleccionar o módulo a eliminar e pressionar a tecla Apagar.
  36. 36. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS3. Classes Conceitos Gerais  Uma classe é simplesmente uma representação de um tipo de objecto; pense como uma estrutura que descreve o objecto.  O bloco de construção básico de software OO – a fabrica dos Objectos.  Uma classe define um “tipo de dados”. Em ciência da computação, um tipo consiste de um conjunto de estados possíveis (propriedades) e um conjunto de operações (métodos) que realizam a transição entre os estados do tipo.
  37. 37. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Criação de classes Ir ao gerênciador de Soluções- > adicionar -> Classe Exemplo Prático As classes têm propriedades (publicas ou privadas) e métodos.  "Property Get" para retornar um valor e o "Property Set" para atribuir um valor à propriedade
  38. 38. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Reutilização de Objectos A produtividade do desenvolvimento de sistemas orientados a objectos é visível e bastante perceptível principalmente quando fazemos uso da reutilização. Esta, na prática da OO, é muito mais do que simplesmente copiar funções, ou mesmo utilizar módulos.
  39. 39. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS A reutilização de objectos é, de facto, a utilização de objectos já utilizados em sistemas anteriores em novos projectos sem modificar as suas estruturas internas, ou mesmo sem a necessidade de fazer modificações no sistema para acomodar esses novos códigos.  A reutilização de objectos já encapsulados pode somar força quando vamos projectar um novo sistema de informações. Podemos durante um novo projecto identificar quais são os objectos necessários e incluir esses objectos já implementados noutros projectos.  Se já estiverem implementados, estes podem ser incluídos no novo sem a necessidade e custo de implementação.
  40. 40. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Outra opção também pode ser a transformação de objectos semelhantes, ou seja, objectos já implementados cujas características são bastante semelhantes aos objectos necessários, podem, com pequenas modificações, serem úteis ao novo sistema. Outra forma de reutilização pode surgir utilizando a propriedade da herança entre objectos, ou seja, caso surja a necessidade de criar um novo objecto cuja ideia esteja baseada num objecto já existente, podemos criar novos objectos com as características dos objectos já desenvolvidos. Isto diminui sensivelmente o custo de desenvolvimento de novos sistemas
  41. 41. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Exemplo Prático Aula
  42. 42. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS5.Ficheiros Leitura e Escrita de ficheiros sequenciais Ficheiros de Acesso Aleatório
  43. 43. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS O que é um Ficheiro? Uma colecção de dados ou informação representada por um nome, armazenados em dispositivos; Existem vários tipos de ficheiros. Basicamente dividem-se entre Ficheiros de Texto e os Ficheiros de dados ou ficheiros definidos pelos utilizadores;
  44. 44. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Ficheiros de Texto Aqui a informação é totalmente armazenada em formato de caracteres ASCII. Podem ser criados, consultados, modificados no Sistema Operativo ou no editor de texto fora do programa que os usa. O acesso aos dados é do tipo sequencial ou seja, a leitura dos dados não pode ser iniciado num ponto qualquer escolhido pelo utilizador, mas sempre o início e percorrer todos os elementos até chegar ao ponto pretendido.
  45. 45. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Ficheiros definidos pelo utilizador. Estes agrupam dados simples ou estruturados, no formato binário, não legíveis nem manipuláveis fora do programa em que foram criados. São ficheiros de tipos definidos pelo programador. Podemos ter ficheiros de números inteiros ou reais, matrizes, registos, etc.... Em particular, os ficheiros de registos permitem manipular dados num formato bem estruturado para trabalho com informação externa. O acesso aos dados pode ser feito de forma aleatória ou seja por escolha da posição pretendida (directa).
  46. 46. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Operações Principais no trabalho com ficheiros são: Declaração de tipos e variáveis de ficheiros; Associação de uma variável de ficheiro com o nome externo de ficheiro; Criação de novos ficheiros ou reescrita total de um ficheiro já existente; Escrita de informação num ficheiro; Abertura de um ficheiro para leitura; Procura de dados num ficheiro; Fecho de um ficheiro aberto.
  47. 47. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS  Tipo de Dados – Estruturas Além dos tipos de dados básicos disponíveis no Visual Basic, o programador também pode criar estruturas de dados particulares e especificas. Um exemplo típico é criar estruturas semelhantes a um registo de itens num arquivo, ou criar variáveis que servirão de padrão no programa.
  48. 48. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOSExemplo de uma estrutura:Structure fichaAluno <VBFixedString(30)> Dim nome As String <VBFixedString(30)> Dim local As String Dim ano As IntegerEnd Structure
  49. 49. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Declaração de uma variável (registo) de um tipo definido pelo utilizador: Dim nome-da-variável As tipo-definido-pelo- programador Utilizar uma variável de um tipo definido pelo utilizador (registo): nome-da-variável.campo (utilizar o . para aceder a um determinado campo do registo)
  50. 50. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Exemplo prático das operações básicas para acesso a ficheiros em modo Sequencial e Aleatório: 1) Escolher o nome do ficheiro;  Exemplo: “c:teste.txt”  Nota: Inclusão do caminho ou “path” do ficheiro. 2) Escolher um número de referência;  1, 2, 3,… para referenciar o ficheiro
  51. 51. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 3) Abrir o ficheiro com “FileOpen” para escrita:Membro DescriçãoAppend Abrir o ficheiro para acrescentar. Por defeito.Input Abrir ficheiro para acesso de leitura.Output Abrir ficheiro para acesso de gravação.Binary Abrir ficheiro em modo binário.Random Abrir ficheiro acesso aleatório.
  52. 52. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS 4) Escrever no ficheiro – “FilePut”:  Nota: Numero de referência do ficheiro, nome da estrutura e elementos membros da estrutura. 5) Ler do Ficheiro – “FileGet” 6) Fechar o ficheiro – “FileClose”  FileClose(1)  Número de referência da estrutura
  53. 53. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Notas a ter em conta O FileOpen é só valido com o OpenMode – Binary e Random. No Visual Basic 2008 o FileOpen em Binary tem alguns problemas na codificação em Binário Recomenda-se sempre o uso do OpenMode em Random (Ficheiros de Acesso Aleatório)
  54. 54. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOSFicheiros de Acesso Aleatório Ficheiros de acesso aleatório contém apenas dados de um mesmo tipo definido pelo programador, designados por registos (records). Os registos são numerados (1, 2, …) e podem ser referenciados pelo seu número. Sintaxe para abertura de um ficheiro de acesso aleatório:
  55. 55. FUNDAMENTOS AVANÇADOS DEPROGRAMAÇÃO ORIENTADA POROBJECTOS Exemplo prático Testes Exercício de Aplicação – Ficheiro Turma  Com base no exemplo prático apresentado, realiza um pequeno projecto em Visual Basic que grave num ficheiro “turma.txt” os dados: nome, numero e nota.  Utiliza o acesso aleatório.  Chama a esse projecto - FicheiroTurma

×