universidade do vale do paraíba colégio técnico antônio teixeira fernandes disciplina...

37
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um arquivo de dados. Abrindo e fechando um arquivo de dados. Processando um arquivo de dados. Processo de leitura, Escrita e Inserção em Arquivo, Menus e Dialogos site : http://www1.univap.br/~wagner Prof. Responsáveis 1

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira Fernandes

Disciplina Programação Orientada a Objetos I

Material IV-BimestreCriando um arquivo de dados.

Abrindo e fechando um arquivo de dados.

Processando um arquivo de dados.

Processo de leitura, Escrita e Inserção em Arquivo, Menus e Dialogos

site : http://www1.univap.br/~wagner

Prof. Responsáveis

Wagner Santos C. de Jesus1

Page 2: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Arquivo de Dados

Muitas informações precisam ler e escrever informações de um dispositivo de memória auxiliar. Essas informações são armazenadas no dispositivo na forma de um arquivo de dados. Os arquivos de dados nos permitem armazenar informações permanentemente e acessar e alterar essas informações sempre que necessário.

2

Page 3: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Usando Streams.

A manipulação de arquivo em C normalmente é feita por intermédio de um recurso do sistema operacional denominado Stream (que vem a ser cadeia de caracteres ou bytes).

Normalmente em C manipulamos arquivos de texto que são arquivo não formatados ou seja esse tipo de manipulação deve ser feita inteiramente por intermédio do programador que desenvolve a aplicação procedimento que da origem ao que chamamos de estrutura de banco de dados que são complexas e demando conhecimentos matemáticos de relacionamento intercessão.

3

Page 4: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Criando um arquivo de dados do tipo texto.

Para se trabalhar com um arquivo de dados

do tipo texto, o primeiro passo é estabelecer

um buffer, onde as informações são

armazenadas temporariamente durante a

transferencia entre memória e computador

(Dispositivo de gravação).

4

Page 5: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

5

Page 6: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Criando um Buffer. (FILE)

• Para se criar um buffer é necessário usar o comando FILE que é um tipo de estrutura especial que estabelece o buffer. Para dar nome ao buffer colocamos uma variável do tipo ponteiro.

6

Page 7: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Para usar FILE é necessário utilizar a biblioteca.

#include <stdio.h>

Sintaxe para criação de um Buffer.

FILE *<nome_Buffer>;

Exemplo :

FILE *pt;

7

Page 8: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Abrindo e criando um arquivo - fopen()

• fopen() : Para se manipular um arquivo é preciso cria-lo para poder usar o recurso de leitura, e gravação. A função fopen retorna um ponteiro para o início do buffer associado ao arquivo. Um valor NULL é retornado quando o arquivo de dados não puder ser encontrado.

8

Page 9: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Sintaxe : <buffer> = fopen(<nome-arquivo>, <tipo-abertura>);

9

Page 10: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Exemplo :

pt = fopen("c:/diretorio/teste.txt","r+");

Obs :

Este exemplo abre um arquivo já existente

para leitura e gravação.

10

Page 11: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Escrevendo dados em um Arquivo - fprintf()

Para gravar uma informação em um arquivo

usamos a função fprintf(), que permite escrever

um dado no buffer.

Sintaxe:

fprintf(<buffer>,<cadeia_Caracteres);

Obs : A cadeia de ser sempre do tipo char.

11

Page 12: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Exemplo :

fprintf(pt,"Gravando Arquivo");

12

Page 13: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Fechando um arquivo de dados - fclose()

Para se fechar um arquivo usamos a função fclose(), que permite remover todos os dados do buffer para o disco.

Sintaxe :

fclose(<nome_buffer>);

Exemplo :

fclose(pt);13

Page 14: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Exemplo de um programa para escrever um dado no arquivo.

FILE *fp;

fp = fopen("c:/ProjC++/teste.txt","r+");

fprintf(fp,"Corinthians do Rivelino..\n");

fclose(fp);

14

Page 15: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Leitura de um arquivo de dados - fgets(), feof().

Permite realizar a leitura de um ou mais registros em arquivo

cada vez que fgets() é acionado desloca o ponteiro para o

próximo registro até encontrar o final do arquivo. Que é

indicado pela função feof(), que retorna verdadeiro caso o

final do arquivo seja encontrado.

Sintaxe :

fgets(<varm_receptora>,<tamanho>,<Buffer>);

feof(<ponteiro>);15

Page 16: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Exemplo :

char v[30];

fp = fopen(arq,"r+");

while(!feof(fp)) {

fgets(v,30,fp);

ShowMessage(v);

}

fclose(fp);

16

Page 17: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Verificando se um arquivo existe ou não - FileExists().

FileExists() - Retorna um operador booleano

se o arquivo existir no diretório específicado.

Sintaxe :

<Varm-Boolean> = FileExists(<Caminho_nome_Arquivo>);

Exemplo :

boolean t = FileExists("c:/Projeto/lista.txt");

17

Page 18: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Uma estrutura vem a ser um tipo especial de dados que permite agrupar tipo de diferentes de dados em um só ambiente com se o conjunto fosse apenas um.

Criando uma Estrutura de registros

18

Page 19: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Implementado a criação de uma estrutura de registros - struct

struct - cria uma estrutura de registros para um determinado

grupo de dados.

Obs: A estrutura deve ser declarada no programa de forma

global.

Sintaxe :

struct <nome_logico> {

<definição das campos_Variáveis>;

} <nome_físico>;19

Page 20: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Exemplo :

struct dados {

int n;

AnsiString nome;

double salario;

}entrada;

20

Page 21: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Usando uma estrutura de registros.

void __fastcall TForm1::Button1Click(TObject *Sender)

{

entrada.nome = "Maria da Silva";

entrada.salario = 3000.90;

ShowMessage(entrada.salario);

}

21

Page 22: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Uma estrutura de registro pode ser associada a um arquivo formando assim um banco de dados.

Exemplo de arquivo com estrutura de registros.

struct dados {

char nome[30];

char salario[12];

}entrada;22

Page 23: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Exemplo Gravação de uma estrutura em um arquivo de texto.

void __fastcall TForm1::Button1Click(TObject *Sender)

{

FILE *fp;

fp = fopen("c:/ProjC++/teste.txt","w+");

StrCopy(entrada.nome,"Maria da Silva,");

StrCopy(entrada.salario,"3000.90\n");

fprintf(fp,entrada.nome);

fprintf(fp,entrada.salario);

fclose(fp);

}23

Page 24: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Mudando o nome do Arquivo.

RenameFile() : Troca o nome do arquivo determinado em um diretório.

Sintaxe :

RenameFile(<Arquivo_Antigo>,<Arquivo_Novo>);

Exemplo :

RenameFile("c:/Projeto/teste.txt","c:/Projeto/testando.txt");

24

Page 25: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

DeleteFile() : Apaga um arquivo de um determinado diretório.

Sintxe :

RenameFile(<Nome_Arquivo>);

Exemplo :

DeleteFile("c:/Projeto/logica.txt");

25

Page 26: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

system() : Executa um comando do sistema operacional.

Sintaxe :

system(<String do sistema>);

Exemplo :

system("sol.exe");

26

Page 27: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Permite a criação de uma região para digitação de texto.

Memo deve ser usado com a propriedade Lines.

Para adicionar um texto ao memo usamos método add().

Exemplo :

Memo1->Lines->Add("Teste");

27

Page 28: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Para contar o número de linhas de um texto usamos método count.

Exemplo :

int x = Memo1->Lines->Count;

Para obter o uma linha de um texto usa-se o método. Strings[].

Exemplo :

int i = 1;

AnsiString p = Memo1->Lines->Strings[i];28

Page 29: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Para Gravar os dados de um determinado texto. SaveToFile().

Exemplo :

Memo1->Lines->SaveToFile("teste.txt");

29

Page 30: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Para Carregar os dados de um determinado texto. LoadFormFile().

Sintaxe:

Memo1->Lines->LoadFromFile("teste.txt");

30

Page 31: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

SaveDialog e OpenDialog

Paleta Dialog, permite criar uma janela onde o usuário poderã escolher um arquivo para abertura ou gravação.

Propriedades Valores

Default *.txt (extensão)

Filename Caminho e nome do arquivo

Filter Texto|*.txt (nome e extensão do arquivo)

InitialDir C:\lixo (Diretório padrão da caixa)

31

Page 32: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Método Execute()

Executa a caixa de dialogo onde o arquivo escolhido será enviado para a propriedade FileName.

Exemplo :

SaveDialog1->Execute();

32

Page 33: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Saída da caixa SaveDialog

33

Page 34: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

FileName : Permite exibir o caminho e o nome do arquivo que foi escolhido.

AnsiString cam = SaveDialog1->FileName;

No exemplo acima o caminho armazenado na variável cam será c:\lixo\cripotografia.txt

34

Page 35: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

MainMenu : Determina um menu de opções. (Basta digitar duplo click no objeto)

Escrever opções na propriedade caption

Para criar um submenu basta clicar na linha de baixo e escrever na propriedade caption.

35

Page 36: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

Resultado na Execução do Menu

36

Page 37: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos I Material IV-Bimestre Criando um

O código deverá ser colocado no evento OnClick do objeto MainMenu1

void __fastcall TForm1::Novo1Click(TObject *Sender)

{

ShowMessage(“Click na opção Novo”);

}

37