A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programas em Ambiente Delphi

Apresentações semelhantes


Apresentação em tema: "Programas em Ambiente Delphi"— Transcrição da apresentação:

1 Programas em Ambiente Delphi
Estruturas Matriciais Matrizes Unidimensionais <matriz> : array[<dimensao>] of <tipo>; Sendo: <matriz> - nome atribuido a matriz. <dimensao> - tamanho da matriz em numero de elementos. <tipo> - tipo dos elementos (inteiro, real, etc).

2 Programas em Ambiente Delphi Sem Matriz
procedure TForm1.Button1Click(Sender: TObject); var MD1, MD2, MD3, MD4, MD5, MD6, MD7, MD8: Real; SOMA, MEDIA: Real; FORMATO: String; begin MD1 := StrToFloat(Edit1.Text); MD2 := StrToFloat(Edit2.Text); MD3 := StrToFloat(Edit3.Text); MD4 := StrToFloat(Edit4.Text); MD5 := StrToFloat(Edit5.Text); MD6 := StrToFloat(Edit6.Text); MD7 := StrToFloat(Edit7.Text); MD8 := StrToFloat(Edit8.Text); SOMA := MD1+MD2+MD3+MD4+MD5+MD6+MD7+MD8; MEDIA := SOMA / 8; FORMATO := FormatFloat('#,##0.00',MEDIA); Label11.Caption := FORMATO; Edit1.SetFocus; end; end.

3 Programas em Ambiente Delphi Com Matriz
procedure TForm1.Button1Click(Sender: TObject); var MD: array[1..8] of Real; SOMA, MEDIA: Real; I : Integer; FORMATO: String; begin SOMA := 0; MD[1] := StrToFloat(Edit1.Text); MD[2] := StrToFloat(Edit2.Text); MD[3] := StrToFloat(Edit3.Text); MD[4] := StrToFloat(Edit4.Text); MD[5] := StrToFloat(Edit5.Text); MD[6] := StrToFloat(Edit6.Text); MD[7] := StrToFloat(Edit7.Text); MD[8] := StrToFloat(Edit8.Text); for I := 1 to 8 do SOMA := SOMA + MD[I]; MEDIA := SOMA / 8; FORMATO := FormatFloat('#,##0.00',MEDIA); Label11.Caption := FORMATO; Edit1.SetFocus; end; end.

4 Programas em Ambiente Delphi Outro Exemplo
Desenvolver um programa que efetue a leitura de 5 elementos de uma matriz A tipo vetor. Construir uma matriz B de mesmo tipo, acompanhando a seguinte lei de formatação: se o valor do índice for par, o valor do elemento deve ser multiplicado por 5, sendo ímpar, deve ser somando 5. No final, mostrar o conteúdo das duas matrizes.

5 Programas em Ambiente Delphi Outro Exemplo
var A, B: array[1..5] of Integer; I: Integer; begin ListBox1.Items.Clear; ListBox2.Items.Clear; A[1] := StrToInt(Edit1.Text); A[2] := StrToInt(Edit2.Text); A[3] := StrToInt(Edit3.Text); A[4] := StrToInt(Edit4.Text); A[5] := StrToInt(Edit5.Text); for I := 1 to 5 do if (I mod 2 = 0) then B[I] := A[I] * 5 else B[I] := A[I] + 5; ListBox1.Items.Add(IntToStr(A[I])); ListBox2.Items.Add(IntToStr(B[I])); end; Edit1.SetFocus;

6 Programas em Ambiente Delphi
Criando Componetes em Tempo de Execução Uso de componentes TButton, TLabel, TEdit, etc ... var Form1: Tform1; ENTRADA: array[1..18] of TEdit; Implementation

7 Programas em Ambiente Delphi
Criando Componetes em Tempo de Execução type TForm1 = class(TForm) Label1: TLabel; ListBox1: TListBox; Button1: TButton; procedure CriaEdit(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; ENTRADA: array[1..18] of TEdit; NOME: array[1..18] of String[20]; implementation {$R *.dfm} Componentes do FORM Global !!!

8 Programas em Ambiente Delphi
Criando Componetes em Tempo de Execução procedure TForm1.CriaEdit(Sender: TObject); var RETORNO: String; TOPO, I: Integer; begin TOPO := 32; for I := 1 to 18 do ENTRADA[I] := TEdit.Create(Self); ENTRADA[I].Parent := Self; ENTRADA[I].Left := 16; ENTRADA[I].Top := TOPO; Str(I, RETORNO); ENTRADA[I].Name := 'Edit' + RETORNO; ENTRADA[I].Text := ''; TOPO := TOPO + 24; end; ENTRADA[1].SetFocus;

9 Programas em Ambiente Delphi
Criando Componetes em Tempo de Execução procedure TForm1.Button1Click(Sender: TObject); var I, J: Integer; X: String[20]; begin ListBox1.Items.Clear; for I := 1 to 18 do NOME[I] := ENTRADA[I].Text; for I := 1 to 17 do for J := I + 1 to 18 do if (NOME[I] > NOME[J]) then X := NOME[I]; NOME[I] := NOME[J]; NOME[J] := X; end; ListBox1.Items.Add(NOME[I]);

10 Programas em Ambiente Delphi
Matrizes com mais de uma dimensão <matriz> :array[<linha>,<coluna>] of <tipo>; A :array[1..10, 1..5] of integer; Matriz Dinâmica: <matriz> :array of array of <tipo>;

11 Programas em Ambiente Delphi Estrutura de Registro
type <identificador> = record <lista de campos e tipos> end; Var <variavel> : <identificador>

12 Programas em Ambiente Delphi Estrutura de Registro
type CadAluno = record NOME: String[20]; NOTA1: Real; NOTA2: Real; NOTA3: Real; NOTA4: Real; MEDIA: Real; end; var ALUNO: CadAluno; Reg1

13 Programas em Ambiente Delphi Estrutura de Registro
procedure TForm1.Button1Click(Sender: TObject); begin ALUNO.NOME := Edit1.Text; ALUNO.NOTA1 := StrToFloat(Edit2.Text); ALUNO.NOTA2 := StrToFloat(Edit3.Text); ALUNO.NOTA3 := StrToFloat(Edit4.Text); ALUNO.NOTA4 := StrToFloat(Edit5.Text); ALUNO.MEDIA := (ALUNO.NOTA1+ALUNO.NOTA2+ALUNO.NOTA3+ALUNO.NOTA4)/4; Label7.Caption := FormatFloat('#0.00', ALUNO.MEDIA);; Button1.Enabled := False; end;

14 Programas em Ambiente Delphi Estrutura de Registro
procedure TForm1.Button2Click(Sender: TObject); begin Edit1.Text := ''; Edit2.Text := ''; Edit3.Text := ''; Edit4.Text := ''; Edit5.Text := ''; Label7.Caption := ''; Edit1.SetFocus; end;

15 Programas em Ambiente Delphi Estrutura de Registro
procedure TForm1.Button3Click(Sender: TObject); begin Edit1.Text := ALUNO.NOME; Edit2.Text := FormatFloat('#0.00', ALUNO.NOTA1); Edit3.Text := FormatFloat('#0.00', ALUNO.NOTA2); Edit4.Text := FormatFloat('#0.00', ALUNO.NOTA3); Edit5.Text := FormatFloat('#0.00', ALUNO.NOTA4); Label7.Caption := FormatFloat('#0.00', ALUNO.MEDIA); end;

16 Programas em Ambiente Delphi Arquivos
type <arquivo> = [TextFile] [File of <tipo>]; var <variavel> : <arquivo> ou <variavel> : [TextFile] [File of <tipo>];

17 Comando Sintaxe Descrição
Programas em Ambiente Delphi Arquivos Comando Sintaxe Descrição AssignFile AssignFile(<var>,<arq>) Associa o nome lógico ao arquivo físco. Rewrite Rewrite(<var>) Cria um arquivo novo. Reset Reset(<var>) Abre o arquivo para leitura ou gravação. Write Write(<var>,<dado>) Escreve no arquivo. Read Read(<var>,<dado>) Le o <dado> do arquivo. CloseFile CloseFile(<var>) Fecha o arquivo. Append Append(<var>) Abre o arquivo para inclusão. Seek Seek(<var>,<chave>) Posiciona no registro <chave>. FilePos FilePos(<var>) Retorna a posição do arquivo.

18 Programas em Ambiente Delphi Arquivos
Formas de Acesso: Seqüencial O processo de gravação e leitura é feito de forma contínua, um após o outro. Direta O acesso é feito através de uma chave. Indexada É o acesso direto em um arquivo sequencial.

19 Programas em Ambiente Delphi Arquivos
procedure TForm1.Button1Click(Sender: TObject); var ArquivoTexto: TextFile; begin AssignFile(ArquivoTexto, 'C:\ARQTXT.XXX'); Rewrite(ArquivoTexto); CloseFile(ArquivoTexto); end; procedure TForm1.Button2Click(Sender: TObject); Mensagem: String[20]; Mensagem := Edit1.Text; Append(ArquivoTexto); Writeln(ArquivoTexto, Mensagem); procedure TForm1.Button3Click(Sender: TObject); Reset(ArquivoTexto); Readln(ArquivoTexto, Mensagem); Edit2.Text := Mensagem;

20 Exercícios

21 Exercícios Ler duas matrizes A e B do tipo vetor com oito elementos numéricos cada uma. Construir uma matriz C, sendo esta a junção das duas outras matrizes. Desta forma, C deve ter o dobro de elementos de A e B. Apresentar os elementos da Matriz C. Elaborar um programa que efetue a leitura de dez valores numéricos inteiros para uma matriz A de uma dimensão. Construir uma matriz B de uma dimensão, sendo que cada elemento da Matriz B deve ser o quadrado correspondente de cada elemento da matriz A, e no final gravar a matriz B em um arquivo e mostrar na tela.

22 Exercícios Elaborar um programa que administre um cadastro de Alunos, considerando a matrícula como chave, trabalhando com arquivo em disco, permitindo funções de Cadastro, Alteração, Remoção e Pesquisa dos dados.


Carregar ppt "Programas em Ambiente Delphi"

Apresentações semelhantes


Anúncios Google