IFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos http://manoelcampos.com mcampos at ifto.edu.br Versão 22/06/11 Slide 1
Linguagem Delphi Evoluída da linguagem Pascal Até o Delphi 6 era denominada Object Pascal A partir do Delphi 7 mudou para Delphi Language Linguagem Orientada a Objetos Case Insensitive Versão 22/06/11 Slide 2
Ferramenta Embarcadero RAD Studio 2010 / Delphi 2010 Uma das melhores ferramentas para desenvolvimento de aplicações desktop para Windows Foco em Programação Orientada a Eventos Versão 22/06/11 Slide 3
Desenvolvimento RAD Permite desenvolvimento RAD (Rapid Application Development) Possui um IDE (Integrated Development Environment) que auxilia no desenvolvimento das aplicações Versão 22/06/11 Slide 4
Baseada em Componentes Componentes para inclusão de elementos gráficos e de funcionalidades Interface dos programas é desenvolvida visualmente utilizando-se componentes Novos componentes (gratuitos ou pagos) podem ser instalados Versão 22/06/11 Slide 5
Revistas/Fóruns Especializados Active Delphi: www.activedelphi.com.br ClubeDelphi: www.devmedia.com.br Versão 22/06/11 Slide 6
Página de Componentes Torry's Delphi Pages: http://www.torry.net Delphi Super Page: http://delphi.icm.edu.pl Delphi Pages: http://www.delphipages.com Versão 22/06/11 Slide 7
Tipos Básicos Char, String, ShortString (até 255 caracteres) Integer, Real Boolean (True = Verdadeiro, False = Falso) TTime, TDate, TDateTime Versão 22/06/11 Slide 8
Comandos de saída de dados*: write, writeln Comando de entrada*: Readln * Apenas para aplicações em modo texto Versão 22/06/11 Slide 9
Declaração de variáveis var variavel: tipo; var variavel1, variavel2: tipo; var variavel1, variavel2: tipo; variavel3, variavel4: tipo; Versão 22/06/11 Slide 10
Exemplo: programa para ler um nome e uma idade e mostrar os valores na tela Versão 22/06/11 Slide 11
Operadores Aritméticos: +, -, *, / (divisão real), div (divisão inteira), mod (resto de divisão inteira) Relacionais: =, <>, >, <, >=, <= Lógicos: not (não), and (e), or (ou) Atribuição: := Versão 22/06/11 Slide 12
If condicao then comando1; comandon; Obs.: Antes do else em um if não tem ponto-e-vírgula Estruturas de Seleção: If if condicao then beign end else comando1; comando2; comando3; comando4; if condicao1 then comandoyy; Versão 22/06/11 Slide 13 beign end comando1; comando2; else condicao2 then end comando3; comando4; else if condicaon then end else comandox; comandoy; comandoxx;
Exemplos: programa para verificar se um número digitado é positivo, negativo ou zero Versão 22/06/11 Slide 14
Estruturas de Seleção: Case var val: Integer = 2; //inicialização na declaração só em variáveis globais case val of //O case não tem mas tem end 1: comando2; comando3; 2..10: comando4; //caso val seja de 2 a 10, executa comando4 else comando5; comando6; Versão 22/06/11 Slide 15
Exemplo O desconto em cima de um produto em uma determinada loja é calculado com base no total de produtos adquiridos, obedecendo à seguinte regra: 1 a 2 produtos: 4% de desconto 3 a 10: 6% 11 a 20: 10% Acima de 20: 15% Faça um programa que solicite a quantidade de produtos e informe o valor do desconto Versão 22/06/11 Slide 16
Laço de Repetição com variável de Controle var i: Integer; for i:= 1 to 10 do comando; --------------------------------------------------------------------- var i: Integer; for i:= 1 to 10 do comando1; comandon; Versão 22/06/11 Slide 17
Laço de Repetição com variável de Controle (descrescente) var i: Integer; for i:= 10 downto 1 do comando; --------------------------------------------------------------------- var i: Integer; for i:= 10 downto 1 do comando1; comandon; Versão 22/06/11 Slide 18
Vetores var vetor: array [1..10] of tipo; Matrizes var matriz: array [1..4; 1..5] of tipo; Versão 22/06/11 Slide 19
Laço de Repetição com verificação no início var i: integer = 0; while i < 10 do i := i + 1; end --------------------------------------------------------------------- var i: integer = 0; while i < 10 do inc(i); //mesmo que i := i + 1; comando1; comandon; Versão 22/06/11 Slide 20
Laço de Repetição com verificação no final var i: integer = 10; repeat dec(i); //mesmo que i := i - 1; until i < 1; --------------------------------------------------------------------- var i: integer = 10; repeat dec(i); comando1; comandon; until i < 1; Versão 22/06/11 Slide 21
Funções: function nome(param1: tipo; param2: tipo): tipo; var varlocal1, varlocal2: tipo; end comando1; comandon; result:= valor_retorno; Versão 22/06/11 Slide 22
Procedimentos: procedure nome(param1: tipo; param2: tipo); var varlocal1, varlocal2: tipo; end comando1; comandon; Versão 22/06/11 Slide 23
Bibliotecas de Funções (Units): unit nome_arquivo; uses outra_biblioteca1, outra_biblioteca2; interface //cabeçalho das rotinas implementation //corpo das rotinas end. Versão 22/06/11 Slide 24