TÉCNICO EM INFORMÁTICA PROGRAMAÇÃO DELPHI Felipe Pessoa Martins Analista de Sistemas Apresentação IDE (Integreted Development Environment) Delphi é um ambiente de programação visual e orientado à objetos. Composição Form Design Form é o termo utilizado para representar as janelas do windows que compõem uma aplicação. Composição Barra de Menu Principal Como todo programa windows, há uma parte onde estão situados os menus da aplicação, a barra que contém os menus também agrupa outras partes. Composição Paleta de Componentes Aplicativos orientados à objetos trabalham com elementos que denominados componentes. No Delphi, os componentes encontram-se em uma paleta com várias guias. Composição Tipos de Componentes Visíveis Quando um componente pode ser visto pelo usuário em tempo de execução. Não visíveis Alguns componentes aparecem no Form, durante o tempo de projeto na aparência de um ícone, mas não pode ser visto em tempo de execução. Composição A Speedbar A speedbar está posicionada ao lado esquerdo da paleta de componentes. Possui diversos botões (ícones) que representam comandos mais utilizados durante o desenvolvimento. Composição Object Inspector Possibilita personalizar as características dos componentes. Composição As propriedades são definidas através de tipos: Tipos Simples São tipos String ou valores numéricos definidos ao digitar um valor na frente da propriedade. Exemplos: Name, Caption, Height e Width entre outros. Tipos Enumerados São tipos definidos por uma quantidade limitada de opções que devem ser previamente selecionadas. Exemplos: Cursor, BorderStyle e WindowsState entre outros. Composição As propriedades são definidas através de tipos: Tipo Set São tipos que possuem múltiplos valores. Um exemplo é a propriedade BorderIcons com o sinal de + indicando subpropriedades. Tipo com editor de propriedades Estas propriedades são acompanhadas de um ícone de reticências(...), indicando há uma jánela de diálogo que irá auxiliar na escolha do seus valores. Composição Code Editor O editor de código é responsável por receber todas as declarações criadas pelo Delphi e criados pelo desenvolvedor. Composição 'Tudo o que o Delphi escrever, é problema dele'. Agora, 'Tudo o que você escrever é problema seu'. Composição Object TreeView Recurso para administrar a hierarquia dos componentes. Propriedades Propriedade Descrição Align Definir o alinhamento do componente. Caption Legenda do componente. Color Cor do componente. Enabled Definir se o componente pode ser usado ou não. Font Definir a fonte utilizada no componente. Width Largura do componente. Height Altura do componente. Hint Texto de ajuda, ao posicionar o cursor no componente. Name Nome do componente. TabOrder Ordem da tabulação utilizada quando o usuário aperta o TAB. Visible Definir se o componente estará visível ou não. Eventos Eventos Ação OnChange Gerada quando o conteúdo do componente é modificada. OnClick Gerada quando o botão esquerdo do mouse é acionado. OnDblClick Gerada quando é feito um duplo clique no botão esquerdo do mouse. OnEnter Gerada quando o componente recebe o foco. OnExit Gerada quando o componente perde o foco. OnKeyDown Gerada quando a tecla é pressionada. OnKeyPress Gerada quando o usuário pressiona e libera uma tecla no teclado. OnKeyUp Gerada quando a tecla é solta. OnShow Gerada ao abrir um componente. OnClose Gerada ao fechar um componente. Métodos Os métodos são sub-rotinas que são executadas por um objeto ao receber uma mensagem de um componente. Exemplos: Edit.clear; Form2.show; Form.close. Métodos Métodos Ação Create Instancia um novo objeto de uma classe. Free Destrói um objeto e libera o espaço de memória alocada. Show Torna o componente visível. Hide Torna o componente invisível. SetFocus Coloca o foco no componente. Close Fecha o Form. Clear Limpa o conteúdo de um componente. Teclas Importantes Tecla Função F12 Alterna entre o code editor e o form designer. F11 Alterna entre o code editor, form designer e o object inspector. F9 (RUN) Permite compilar e executar o projeto para testes. CTRL + F9 Permite compilar o projeto sem executar. SHIFT + F12 Permite alternar entre os formulários do projeto. CTRL + F2 Permite destravar o Delphi em caso de testes onde ocorram exceções. Projeto em Delphi Extensão Tipo e Descrição Criação .DPR Arquivo do projeto Desenvolvimento SIM .PAS Código fonte da Unit Desenvolvimento SIM .DFM Arquivo gráfico do formulário Desenvolvimento SIM .EXE Arquivo executável Compilação Necessário compilar ? NÃO Linguagem Object Pascal Convenção de Nomeação A propriedade mais importante de uma componente é a propriedade name. Portanto é ela que define o nome interno do componente, com relação ao código escrito em Object Pascal. Nome gerado pelo Delphi Objetivo Convenção Button1 Sair da Aplicação btnSair Edit1 Receber o nome do usuário edtNome Label1 Indicar a legenda do componente edit1 lblNome Recursos Comentários // comentário de linha { comentário de bloco } (* comentário de bloco *) Code Insight Ajudante de complemento junto ao código do desenvolvedor. Exemplo: Ao digitar o nome de um componente seguido pelo ponto edtnome., abre – se uma listagem de métodos e propriedades que podem ser utilizadas nesse objeto. CTRL + SPACE ( Acessa seus métodos e propriedades) CTRL + SHIFT + SPACE ( Parâmetros ) As Units São entidades independentes, ou seja, possibilita estruturar a aplicação em módulos funcionais. Portanto cada Unit possui um conjunto de funções e procedimentos. Cada formulário possui uma Unit, mas podemos criar Units independentes, não associadas a um Form. Exemplo Unit Cabeçalho Interface Implementação Declaração de Variáveis O que é uma variável ? As variáveis podem ser classificadas em : Globais Quando ela é inserida no escopo da interface, ou seja, fora dos procedimentos e funções. nome:string Locais Quando ela é inserida dentro de um procedimento ou função. var rua:string; idade:integer; dt_nascimento:date; Tipos de variáveis Inteiras (Integer,word) Reais (Float,double) Caracteres (string,char) Lógicas (boolean) Moeda(currency) Variáveis Inteiras Tipo Finalidade BYTE Tipo numérico inteiro, pode assumir valores numa faixa de 0 a 255, ocupa 1 byte. SHORTINT Tipo numérico inteiro, pode assumir valores numa faixa de -128 a +127, ocupa 1byte de memória. WORD Tipo numérico inteiro, pode assumir valores numa faixa de 0 a 65535, ocupa 2bytes de memória. INTEGER Tipo numérico inteiro, pode assumir valores numa faixa de 32768 a +32767, ocupa 2 byte de memória. LONGINT Tipo numérico inteiro, pode assumir valores numa faixa de 2147483648 a +2147483647, ocupa 4 bytes de memória. Variáveis Reais Tipo Finalidade SINGLE SINGLE : Valores numa faixa de -1,5.10-45 a 3,4.10+38, ocupa 4 bytes de memória e tem de 7 a 8 algarismos significativos. REAL REAL: Valores na faixa de -2,9.10-39 a +1,7.10+38, ocupa 6 bytes de memória e tem entre 11 e 12 algarismos significativos. EXTENDED EXTENDED : Valores na faixa de -3,4.10-4932 a +1,1.10+4932, ocupa 10 bytes de memória e tem entre 19 e 20 algarismos significativos. LONGINT LONGINT : Valores numa faixa de -2147483648 a +2147483647, ocupa 4 bytes de memória. DOUBLE DOUBLE: Valores na faixa de -9.2.10-18 a 9.2.10+18 , ocupa 8 bytes, com precisão de 15 digitos. Outras variáveis Tipo Finalidade BOOLEAN BOOLEAN : Tipo lógico que pode assumir somente os valores TRUE ou FALSE e ocupa 1 byte de memória. CHAR CHAR : Tipo alfa-numérico, pode armazenar um caractere ASCII, ocupa 1 byte. STRING STRING : Tipo alfanumérico, possuindo como conteúdo uma cadeia de caracteres. O número de bytes ocupados na memória varia de 2 a 256, dependendo da quantidade máxima de caracteres definidos para a string. O primeiro byte contém a quantidade rela de caracteres da cadeia. Expressões lógicas São expressões que retornam um valor booleano(verdadeiro ou falso). Operador Operação NOT Negação AND E lógico OR Ou lógica If (x > z) or (w>z) then begin end; Comando IF O comando if pode ser composto de uma ou mais condições de processamento. If (a > b) then b:= b+1; If (a > b) then b:= b+1 Else a:= a-1; If (a > b) then Begin b:= b + 1; x:= b + a; End Else Begin a:= a – 1; y := y + b; End; Funções de Conversões Todos os objetos de entrada e/ou exibição de dados utilizam propriedades do tipo String, Text e Caption. Função Objetivo StrToInt(string) Converter um dado String em tipo Inteiro. IntToStr(integer) Converter um dado Inteiro em tipo String. StrToFloat(string) Converter um dado String em tipo Flutuante. FloatToStr(float) Converter um dado Flutuante em tipo String. DateTimeToStr(TDateTime) Converter um dado em TDateTime em String. FormatFloat(String de formato, variável) Permite formatar um tipo ponto Flutuante, retornando uma String. Edit1.text := FormatFloat(‘ “R$ ”,.00’, variavel);