Baixe o app para aproveitar ainda mais
Prévia do material em texto
SUMÁRIO Introdução O que é uma Linguagem de Programação Visual Características das Linguagens de Programação Visual Tipos de Linguagens Visuais O Ambiente DELPHI 7.0 Janela FORM Janela OBJECT INSPECTOR Janela CODE EDITOR Janela MAIN Menu Principal Projeto Tipos de Dados Tipos de Dados NUMÉRICOS INTEIROS Tipos de dados NUMÉRICOS REAIS e MOEDA Tipos de dados BOOLEANOS Tipos de dados ALFANUMÉRICOS Biblioteca de Classes Paleta de Componentes TApplication TScreen TPrinter Componentes Paleta STANDARD Paleta ADDITIONAL Paleta WIN32 Paleta System Paleta Data Access Paleta Data Controls Paleta DBE Paleta ADO A Paleta DIALOGS Propriedades Métodos Eventos Exceções Try ... Except On ... Do Tipos de Exceção Try ... Finally INTRODUÇÃO Este curso tem por objetivo apresentar uma linguagem de programação visual que tenha como base a programação orientada a objetos e a programação orientada a eventos. Para cumprir este objetivo foi selecionada uma ferramenta que tenha estas características. A ferramenta selecionada foi o DELPHI. O DELPHI é uma linguagem de programação visual desenvolvida pela empresa Borland, baseada na linguagem de implementação denominada Object Pascal. Neste curso será estudada a versão 7.0 da linguagem, por se tratar de uma versão totalmente compatível com o Windows2000, 2003 e XP. Esperamos que ao final deste curso você tenha condições de desenvolver aplicativos utilizando tal linguagem, de modo a aproveitar os seus principais recursos. Bom Curso! O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO VISUAL As linguagens de programação visual, ou ferramentas visuais, são linguagens desenvolvidas para ambientes gráficos. Estas linguagens possuem a chamada sintaxe visual, pois incorporam figuras, formulários, animações, diagramas ou ícones para facilitar e agilizar o desenvolvimento dos programas. As linguagens de programação visual possuem um ambiente visual baseado em um conjunto de ferramentas e uma interface para acessar a estas ferramentas CARACTERÍSTICAS DAS LINGUAGENS DE PROGRAMAÇÃO VISUAL As principais características de uma Linguagem Visual são permitir que um sistema seja desenvolvido mais rapidamente do que numa linguagem tradicional e reduzir o tempo de manutenção. Isto ocorre em função dos seguintes aspectos: a interface é montada através de componentes já disponíveis; torna-se desnecessário escrever uma boa parte do código de um programa em função do mesmo ser gerado automaticamente; possuem geradores ou editores de telas, relatórios, etiquetas, consultas, entre outros; combinam recursos de análise orientada a objetos e a eventos com gerenciadores de banco de dados. TIPOS DE LINGUAGENS VISUAIS Algumas das principais linguagens de Programação Visual disponíveis no mercado são: Linguagem Visual Linguagem de Implementação Borland Delphi Object Pascal Microsoft Acces Acces Basic Java Java Visual Basic Visual Basic Visual C++ C++ O AMBIENTE DELPHI 7.0 Neste ítem será estudado o IDE (Integrated Developer Environment – Ambiente Integrado de Desenvolvimento) do DELPHI. O DELPHI possui um conjunto de ferramentas que permítem facilitar e agilizar a construção de programas, permitindo uma melhor interação entre o programador e o computador. Suas principais janelas são: Janela FORM Janela OBJECT INSPECTOR Janela CODE EDITOR Janela MAIN JANELA FORM O FORM é a tela onde o desenvolvedor constrói sua aplicação. A partir de um FORM é que se estabelece a interação USUÁRIO-COMPUTADOR, através de botões, rótulos e outros componentes, estabelecendo-se funções, métodos ou eventos que serão ativados. Os componentes são dispostos dentro da área útil do FORM. A Janela FORM: interface. Os quatro tipos de FORM são: Normal: é o FORM padrão; MDIForm: os FORMS do tipo MDI (Multiple Document Interface), podem conter outros FORMS do tipo MDIChild; MDIChild: são FORMS que sempre estão subordinados a um FORM MDIForm; StayOnTop: são FORMS que sempre ficam visíveis na tela. Para se abrir um FORM utilizam-se os comandos: Show ou ShowModal. Os FORMS tem um ModalResult associado que são dados pelos botões colocados nos mesmos. Este ModalResult permite tratar se o FORM foi fechado com OK, Cancel, Close, ... JANELA OBJECT INSPECTOR A janela OBJECT INSPECTOR contém propriedades e eventos dos componentes inseridos em um FORM, e do próprio FORM. É na janela Properties (Propriedades), por exemplo, que se estabelecem as características de cada componente, como nome, fonte, altura, largura, etc. Já na janela Events (Eventos) estabelecem-se ações a serem tomadas pelo componente a partir de um evento associado ao mouse, teclado, sistema operacional, etc. A Janela OBJECT INSPECTOR: propriedades e eventos JANELA CODE EDITOR A janela CODE EDITOR, ou editor de código, é onde se desenvolve o programa fonte. É neste editor que se encontra a estrutura sintática propriamente dita da Linguagem DELPHI. Cabe ressaltar, no entanto, que boa parte do código escrito é gerado pela própria linguagem. A Janela CODE EDITOR: código fonte da aplicação JANELA MAIN A janela MAIN, ou janela principal, controla o funcionamento do DELPHI. Esta janela pode ser dividida em três partes: Menu Principal: contém as opções de utilização do DELPHI; Botões Speed Bar: contém botões que agilizam determinadas funções do DELPHI; Paleta de Componentes: contém os componentes que podem ser utilizados na construção do projeto. A Janela MAIN: dividida em três partes. Os Botões SpeedBar e a Paleta de Componentes serão detalhados à medida de sua utilização. MENU PRINCIPAL O menu principal contém as opções de utilização do DELPHI. O detalhamento destas opções será feito à medida de sua utilização: File: permite a manipulação de arquivos do desenvolvedor (PAS, DPR, ...); Edit: apresenta opções de edição; Search: apresenta opções de pesquisa e localização; View: permite verificar detalhes do projeto; Project: permite adicionar ou remover partes em um projeto, bem como compilá-lo; Run: apresenta opções de execução e depuração do projeto; Component: permite a criação ou instalação de novos componentes no DELPHI; Database: apresenta opções de uso de banco de dados; Tools: permite configurar o ambiente de trabalho, bem com acessar ferramentas externas ao DELPHI; Windows:permite navegar entre a janela Code Editor, Object Inspetor, TreeView e Form Help: ajuda do DELPHI. Menu Principal Paleta de Componentes Botões Speed Bar PROJETO No DELPHI o “programa principal” tem extensão DPR. Um DPR é o código de programa, também denominado de projeto, a partir do qual o desenvolvedor construirá sua aplicação. É a partir deste projeto que será gerado o código executável (EXE). Grande parte do código, no entanto, fica armazenado em UNITs com extensão PAS, onde são desenvolvidos os formulários. O projeto pode ser visualizado através da opção do menu View | Units e em seguida escolher o arquivo project e clicar em OK. Sua estrutura aparece na janela Code Editor e pode-se verificar que é muito semelhante ao programa principal do antigo Turbo Pascal©. A implementação mínima de um projeto prevê, na grande maioria das situações, a inicialização da aplicação (comando Application.Initialize),o uso (cláusula Uses) e criação dos formulários (comando Application.CreateForm) utilizados na mesma e a execução do projeto (Application.Run). Ao projeto podem ser adicionadas ou retiradas bibliotecas (Units) através da opção Project do menu. Estrutura de um Projeto em DELPHI. program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. TIPOS DE DADOS No DELPHI a definição de tipos de dados corretos para as variáveis é muito importante, pois além de permitirem a economia de memória, eles têm, em muitos casos, de ter compatibilidade com os seus respectivos tipos de dados do Windows©. Os principais tipos de dados do DELPHI são: Numéricos Inteiros Reais Moeda Alfanuméricos Caracter String Lógicos Booleanos TIPOS DE DADOS NUMÉRICOS INTEIROS Os principais tipos de dados numéricos inteiros do DELPHI estão definidos na tabela abaixo: Tipo Tamanho (em bytes) Domínio Byte 1 0..255 ShortInt 1 -127..128 Word 2 0..65535 SmallInt 2 -32768..32768 Cardinal 4 0..2147483647 Integer 4 -2147483648..2147483647 Longint 4 -2147483648..2147483647 Tipos de Dados NUMÉRICOS INTEIROS TIPOS DE DADOS NUMÉRICOS REAIS E MOEDA Os principais tipos de dados numéricos reais e moeda do DELPHI estão definidos na tabela abaixo: Tipo Tamanho (em bytes) Domínio Single 4 1.5 * 10-45 .. 3.4 * 1038 Real 6 2.9 * 10-39 .. 1.7 * 1039 Double 8 5.0 * 10-324 .. 1.7 * 10308 Extended 10 3.4 * 10-4932 .. 1.1 * 104392 Comp# 8 -263 .. 262 Currency Tipos de Dados NUMÉRICOS REAIS e MOEDA O tipo Currency é o tipo MOEDA. Ele tem precisão de quatro casas decimais e é compatível com os bancos de dados que representam dinheiro. TIPOS DE DADOS BOOLEANOS Os principais tipos de dados lógicos do DELPHI estão definidos na tabela abaixo: Tipo Tamanho (em bytes) Armazenamento Boolean 1 tamanho de um byte ByteBool 1 tamanho de um byte Bool 2 tamanho de uma palavra WordBool 2 tamanho de uma palavra LongBool 4 tamanho de uma palavra dupla # O tipo COMP é na verdade um inteiro de 64 bits, mas é implementado como um real Tipos de Dados BOOLEANOS A existência de diversos tipos lógicos no DELPHI que armazenam a mesma coisa (TRUE ou FALSE) dá-se pela necessidade de compatibilização com os tipos do Windows©. TIPOS DE DADOS ALFANUMÉRICOS Os principais tipos de dados alfanuméricos do tipo caracter do DELPHI estão definidos na tabela abaixo: Tipo Tamanho (em bytes) Armazenamento Char 1 1 caracter ANSI AnsiChar 1 1 caracter ANSI WideChar 2 1 caracter Unicode Tipos de Dados CARACTER Os principais tipos de dados alfanuméricos do tipo string do DELPHI estão definidos na tabela abaixo: Tipo Tamanho (em bytes) Armazenamento ShortString 255 ANSIChar AnsiString até 3 Gb ANSIChar String 255 ou até 3 Gb ANSIChar WideString até 1,5 Gb WideChar Tipos de Dados STRING No DELPHI 7.0 o tipo de dados String tem funcionamento idêntico ao AnsiString, que é baseado em ponteiros BIBLIOTECA DE CLASSES Por ser uma linguagem de programação orientada a objetos o DELPHI possui uma biblioteca de classes denominada de VCL (Visual Component Library), para auxiliar na construção de programas. A biblioteca de classes do DELPHI pode ser visualizada no Browser (no menu principal acesse View - Browser). No DELPHI existem as classes visíveis e as não visíveis. CLASSES VISÍVEIS As classes visíveis são aquelas que podem ser manipuladas através da paleta de componentes, ou seja, são os próprios componentes CLASSES NÃO-VISÍVEIS As classes de componentes não visíveis oferecem controles especializados que não são possíveis ou necessários através da interface visual. As classes não visíveis mais comuns são a TApplication, a TScreen e a TPrinter. PALETA DE COMPONENTES A paleta de componentes é a biblioteca de classes que fornece recursos para o desenvolvimento visual em DELPHI. As classes da VCL representadas na paleta de componentes estão separadas por tipos: ActiveX Additional ADO components BDE components COM+ components Common Controls components (CLX somente) Data Access Data Controls DataSnap dbExpress Decision Cube Samples Servers Standard System WebServices WebSnap Win 3.1 Win32 Os componentes disponíveis na VCL podem ser divididas entre os visuais e os não-visuais. TAPPLICATION Quando se inicia um projeto em DELPHI, automaticamente é criada uma variável Application que é do tipo TApplication. Esta classe permite a interação de sua aplicação com o Windows. A atribuição de valores às propriedades do TApplication pode ser feita apenas em tempo de execução, ou durante o desenvolvimento do projeto na opção do menu Project - Options. Os principais métodos da classe TApplication são: Nome Descrição Run() faz com que a aplicação seja executada. Este comando é colocado automaticamente no código fonte do projeto (veja em View - Project Source). Terminate() encerra a aplicação. HelpCommand () carrega o arquivo de help da aplicação. Algumas das principais propriedades da classe TApplication são: Nome Descrição MainForm contém o form principal da aplicação; Title contém o título da aplicação quando a mesma está minimizada; HelpFile armazena o nome do arquivo de Help da aplicação; Icon contém o ícone que representa a aplicação. TSCREEN Quando se inicia um projeto em DELPHI, automaticamente é criada uma variável Screen que é do tipo TScreen. Esta classe contém as características da tela na qual a aplicação está rodando. Algumas das principais propriedades da classe TScreen são: Nome Descrição Cursor contém o cursor que está em uso; Cursors contém a lista dos cursores disponíveis para a aplicação; Fonts contém a lista de fontes disponíveis para a aplicação; Forms contém a lista de forms da aplicação; Height contém a altura da tela (em pixels); Width contém a largura da tela (em pixels). TPRINTER Quando se inicia um projeto em DELPHI, automaticamente é criada uma variável Printer que é do tipo TPrinter. Esta classe contém as características da impressora padrão que está sendo utilizada pelo Windows, além de permitir a impressão. Os principais métodos da classe TPrinter são: Nome Descrição BeginDoc() inicia um processo de impressão. EndDoc() finaliza um processo de impressão. Abort() aborta o processo de impressão. NewPage() inicia a impressão em uma nova página. Algumas das principais propriedades da classe TPrinter são: Nome Descrição Printers contém a lista de impressoras instaladas no Windows. PrinterIndex contém o índice da impressora ativada. Orientation contém a orientação do papel. PageHeight contém a altura da página de impressão. PageWidth contém a largura da página de impressão. PageNumber contém o número da página que está sendo impressa. Title contém o título da página impressa. Para a impressão de dados utilizando o TPrinter é necessário utilizar a classe TCanvas. COMPONENTES COMPONENTES VISUAIS Os componentes visuais podem tersua forma e tamanho alteradas no formulário (Form), além das propriedades e eventos no Object Inspector. Eles aparecem durante a execução do aplicativo exatamente como foram definidos durante o projeto. COMPONENTES NÃO-VISUAIS Os componentes não visuais ficam apenas como a representação de um ícone no formulário (Form), mas suas propriedades e eventos podem ser alterados no Object Inspector. Eles não aparecem no formulário durante a execução do aplicativo, podendo ser ativados por comandos específicos (por exemplo, podemos citar a caixa de diálogo abrir arquivo). PALETA STANDARD A paleta Standard contém 14 componentes mais comuns para a construção de aplicações. Paleta Standard: componentes mais comuns Os componentes desta paleta são: Abre uma caixa de diálogo que mostra uma lista dos Frames incluídos no projeto corrente Cria uma barra de Menu no seu Form. Para acessar os eventos deste item em um Menu principal. Adicione um componente MainMenu no Form e de um duplo clique para abrir o Menu Designer Cria menus flutuantes que aparecerá quando o usuário clicar com o botão direito. Para acessar os eventos deste item, adicione o componente PopupMenu no Form e de duplo clique nele para abrir o Menu Designer. . Exibe o texto que o usuário não poderá selecionar ou manipular, tais como pequenos textos ou rótulos controlados. Exibe uma área de edição onde o usuário pode entrar ou modificar uma simples linha de texto Exibe uma área de edição onde o usuário poderá entrar ou modificar múltiplas linhas de texto Cria um botão onde o usuário escolhe as ações iniciais Apresenta umas opções que o usuário poderá escolher entre sim ou não, verdadeiro ou falso. Use o Check Box para exibir um grupo de escolher que não são mutuamente exclusivos. O usuário pode selecionar mais do que um Check Box no grupo Apresenta umas opções que o usuário poderá escolher entre sim/não ou verdadeiro/falso. Use o RadioButton para exibir um grupo de escolhas que são mutuamente exclusivos. Usuários podem selecionar somente um radio button no grupo Exibe uma lista rolante de escolhas. Exibe uma lista de escolhas em uma caixa de lista combinada e caixa de edição. Os usuários podem entrar com os dados no EditBox ou selecionar um item no List Box. Fornece um caminho para mudar a área da visão de um List ou Form. Você pode também usar a barra de rolagem para mover através dos valores por incrementos Fornece um recipiente para agrupar os componentes em um Form Cria painéis que pode conter outros componentes em um Form. Você pode usar painéis para criar barra de ferramentas e linhas de status Cria uma caixa de grupo que contém botões radio em um form Os componentes são manipulados através de suas propriedades, métodos e eventos. PALETA ADDITIONAL A paleta Additional tem 25 componentes, também de uso comum, mas com algumas funções mais especializadas. Paleta Additional: mais componentes de uso comum Os componentes desta paleta são: Um botão que pode exibir um bitmap Fornece um botão que exibe uma figura, mas sem um Caption. Speed Butoons pode ser agrupado com um Panel para criar uma ferramenta paleta Permite o usuário entrar e editar dados similares a um componente edit, mas fornece um meio de formato específico, assim como um código postal ou número de telefone. MaskEdit compartilha propriedades de outro controle Text Cria um grid que você pode usar para exibir dados strings em colunas e linhas. StringGrid é um grupo de características de um componente DrawGrid Cria uma Grid que você pode usar para exibir dados nas colunas e linhas. Exibe um Bitmap, ícone ou Metarquivo Cria coleções de ações que centraliza suas respostas de aplicações para usar ações Desenha figuras geométricas incluindo uma elipse, um círculo, um retângulo, um triângulo arredondado ou triângulo arredondado. Cria linhas ou caixas com três dimensões, aparência esculpida Cria um recipiente que automaticamente exibe barra de rolagens quando necessário Exibe uma lista de rolagem similar ao ListBox, exceto que cada item tem uma caixa de checagem próxima a ele. Adiciona um divisor no Form entre 2 controles alinhados para permitir redimensionar o controle em tempo de execução através de um clique arrastando a linha divisória Um componente texto não editável como Label, exceto que ele tenha sua própria janela a qual é útil quando o acelerador da chave do componente quase empresta um controle de janela. Use o Static teste para fornecer ao usuário um Feedback em estado corrente da aplicação Um gerenciador de layout para o componente ToolBar. Use a barra de controle como uma âncora conveniente para o TollBar Um componente que captura eventos da aplicação em níveis. Use como um caminho para apontar a um evento da aplicação usando o VÁ ou associar um evento com cada Form na aplicação E Uma simples controle de coluna dupla para representar o nome/valor unindo em um objeto TString Um componete Edit com um Label integrado Um Combo Box que deixa o usuário selecionar a cor Um controlador de dados gráficos Uma caixa de dialogo que gerência e exibe todas as configurações e ações padrões contidas na aplicação. Com o Action Manager você pode editar menus de configurações e TollBars Uma barra de menu principal contém menus visíveis e itens Submenus Um toolbar que exibe ações como botões ToolBar Uma caixa de diálogo que permite usuários configurarem seus menus e barras de ferramentas a qual estão usando o editor Action Manager Use XPColorMap para aplicar uma visão única e experimentar uma ação individual dos componentes Bands Use o StandarColorMap para aplicar uma visão única e experimentar uma ação individual dos componentes Bands Uma caixa de texto na qual você pode entrar com números ou letras que aparecem com um dígito ou exibe LCD Use o TwilightColorMap para aplicar uma única visão e experimentar uma ação individual dos componentes Bands Os componentes são manipulados através de suas propriedades, métodos e eventos. PALETA WIN32 A paleta Win32 contém 20 componentes para criar aplicações que tenham a aparência do Windows. Paleta Win32: aplicativos com a aparência do Windows © . Os componentes desta paleta são: Divide um conjunto de arquivos, este componente fornece um grupo de exclusividade mútua de estilos. Um componente não visual que repete um ou mais vezes um evento depois de um intervalo de tempo. Você escreve o código que você quer que ocorra em um tempo específico dentro do evento OnTimer do componente Especifica uma área retangular em um Form que forneceum limite para aplicação de uma pintura Uma página usada para fazer multi-páginas de caixa de diálogos. Use este componente para definir múltiplas páginas lógicas ou seções de informações dentro de algumas janelas Um ImageList é uma coleção de algumas pequenas imagens, cada qual pode ser referenciada por um índice. ImageList são usados para gerenciar eficazmente longas seções de ícones ou Bitmaps. Todas as imagens na lista de imagem são conteúdos simples, longo Bitmap na janela de dispositivo de formato. Um List Image pode listar também Bitmap monocromático que contém máscaras usadas para desenhar imagens transparentes Por padrão, RichText editor suporta propriedades de fonts, tão como formato, tamanho, cores, negrito, itálico. Ele também suporta outros formatos, tão como alinhamento, numeração e arrasto automático e apaga o texto selecionado. Uma barra que define a extensão, o ajustamento e um indicador que ambos aparecerão em um valor corrente que controle e fornece um significado para mudança de valores. Você pode apostar uma barra de orientação como vertical ou horizontal, define o incremento da barra, Uma barra retangular que preenche da esquerda para direita fornecendo Feedback visual para o usuário sobre o progresso de uma longa operação ou processo background. Levantar e abaixar a seta para incrementar e decrementar valores . Liga uma tecla de atalho em algum componente . Uma janela animada que controla uma janela que exibe clipe AVI, uma série de Frames Bitmaps como filme. Exibe uma caixa de lista que entra data ou tempo. O usuário pode selecionar a data do calendário ou selecionar datas ou tempos na barra de rolagem para cima ou para baixo. Exibe uma caixa de lista que entra data ou tempo. O usuário pode selecionar a data do calendário ou selecionar datas ou tempos na barra de rolagem para cima ou para baixo. Permite você controlar e exibir um conjunto de objetos baseado em seu relacionamento de lógica hierárquica. O controle inclui botões que permite o esboço ser expandido. Use o componente TreeView para exibir um relacionamento entre o conjunto de container e outros elementos hierárquicos. Exibe uma lista de itens ou dados em uma variedade de caminhos Exibe uma coluna abaixo do texto ou números. Você pode dividir o controle também em duas ou mais partes para fornecer cabeçalhos para múltiplas colunas. Você pode alinhar os elementos para esquerda, direita ou centralizada. Você pode configurar cada parte para comportar-se como um Command Button para especificar funções quando clicadas. Exibe uma área para mostrar os estados dos botões da tela Gerência os ToolButtons e outros controles, alinhando eles em linhas e ajustando automaticamente seus tamanhos e posições. Exibe uma coleção de controladores de janelas (objeto Coolband) que se movem dentro, bandas ajustáveis. O usuário posiciona os controles por movimentos da esquerda de cada faixa. Contém outros objetos em uma área de cliente que pode rolar tanto verticalmente ou horizontalmente. Usuário rola o conteúdo de um PageScroller usando as setas em um dos dois mas de preferência usar um ScrollBar Os componentes são manipulados através de suas propriedades, métodos e eventos. A PALETA SYSTEM A paleta Dialogs contém 8 componentes não visuais para a criação de caixas de diálogo padrão no Windows. Paleta Dialogs: caixas de diálogo prontas. Exibe um conjunto de caracteres associados a imagens em uma lista Drop-Down ligado a um controle Edit Timer é um componente não visual que dispara em um tempo ou repete o evento até um intervalo especificado. Você escreve um código que você quer que ocorra em um tempo especificado dentro do componente Timer no evento onTimer. Expecifica uma área retangular sobre um form que fornece um limite para aplicação paint Exibe um painel de controle VCR para iniciar e gravar vídeo multimídia e arquivos de sons. Cria uma área de cliente OLE em um Form Estabelece uma conexão cliente para aplicações servidoras DDE Especifica os dados do cliente DDE para transferência durante a conversão DDE A PALETA DATA ACCESS A paleta Dialogs contém 6 componentes não visuais Atua como uma ligação entre um componente DataSet e um componente data-aware tal como TDBgrid Executa um armazenamento cachê na memória de um DataSet. Cliente DataSets pode ser usado como arquivo local baseado em dados (Mybase) ou com dados vindos de outro DataSet usando um provedor DataSet. Escreve códigos em pacotes, pode ser enviados para clients e aplicados atualizações que serão recebidas do cliente. Converte um documento XML em um pacote de dados ou em um pacote de dados XML ou um dado empacotado XML em um documento XML com outra estrutura. Fornece um dado de um documento XML para um cliente DataSet ou corretor XML e resolve atualizações de que o client DataSet ou corretor atrás do documento de origem XML . Converte o dado de um provedor em um documento XML e aplica atualizações em um formulário de documento XML para um componente provedor . Estabelece uma conexão servidora para aplicações cliente DDE Especifica o servidor de dados DDE para transferência durante a conversão DDE A PALETA DATA CONTROLS Use o data-aware grid para habilitar uma visualização e edição de dados em uma tabela similar a uma planilha eletrônica. Faça uso extensivo das propriedades TField (agrupa no editor Fields) para determinar visuabilidade de colunas, exibe formatos, ordenação, etc. Botões de navegação que move um ponteiro de registro para frente ou para trás na tabela. O navegador pode também inserir dados no DataSet, editar ou entrar em estado de navegação, inserir ou editar registros, e devolve um dado atualizado para exibição. Um label que exibe os valores dos campos em um registro corrente Caixa de texto que exibe ou edita um campo em um registro corrente Caixa de memorando que exibe ou edita textos longos em um registro corrente Exibe, corta, ou cola imagens Bitmap em um registro corrente ListBox exibe uma lista rolante de valores de uma coluna de uma tabela Combo box exibe ou edita uma lista de valores de uma coluna em uma tabela . Check box exibe ou edita campos de dados boleanos em um registro corrente v A PALETA BDE Devolve dados de uma tabela de banco de dados físico via o DBE e ele fornece um ou mais componentes data- aware através de um componente DataSource. Convencionalmente, ele também envia dados recebidos de um componente de um banco de dados físico via BDE Botões RadioGroup exibe ou aponta valoresde colunas BLookupListBox é uma caixa de lista que deriva sua lista de exibição em lista de itens de cada campo Lookup definido por um DataSet ou uma origem secundária de dado, DataField, e chave. Em cada caso, um usuário é apresentado com uma lista restritiva de escolhas de cada valor campo. Onde um usuário seleciona uma lista de itens, um valor de campo correspondente é escolhinho em um DataSet DBLookupComboBox é um combo box que devolve uma lista Drop-Down de exibição de itens de cada campo lookup defino por um DataSet ou uma origem de dado secundário, datafield, e chave. Em cada caso, um usuário é apresentado como uma lista restrita de escolhas da qual um valor de campo valido. Onde um usuário seleciona uma lista de item, um campo valor de campo correspondente é alterado em um DataSet Um controle de edição de múltiplas linhas que pode exibir um Edit, um RichText, campo memo em um DataSet Um controle DBCtrlGrid exibe múltiplos campos em múltiplos registros em uma tabela de formato grid. Cada célula em um grid exibe múltiplos campos de dados Um construtor básico de blocos onde cria um TeeChart. Gráfico que usa o DBE Use a propriedade SQL para devolver dados de um database Table via DBE e armazenar um ou mais componentes data-aware através de um componente TDataSource. Convencionalmente, use a opção SQL para enviar dados de um componente para um banco de dados físico via DBE Habilita uma aplicação acessar um servidor StoredProcedures. Envie dados recebidos de um componente de banco de dados físico via DBE Cria uma conexão no banco de dados, especialmente um banco de dados remoto requisitando um nome do usuário e uma senha. Fornece um controle global sobre um grupo de componentes de banco de dados. Um padrão do componente TSession é automaticamente criado para cada aplicação de banco de dados. Você pode usar o componente TSession apenas se você criar uma aplicação de banco de dados multitarefa. Cada tarefa de um banco de dados requeira seu próprio componente Session Copia uma estrutura da tabela ou seus dados. Você pode usar para uma tabela inteira de um formato de banco de dados para um outro . Permite você atualizar a cached para somente de leitura em um DataSet. Por exemplo, você pode usar um componente TUpDateSQL como um “recipiente” de busca para mostrar um caminho de um atualização de base DataSets, essencialmente dando a você a habilidade para executar atualizações somente de leitura .Você associa um componente TUpdataSQL com um DataSet por agrupamento pela propriedade DataSets. O DataSet automaticamente usa o componente TUpdateSQL onde as atualizações são armazenadas. A PALETA ADO Devolve os dados em um campo DataSet aninhado e ele armazena em um controle data-aware através de um componente DataSource Cria uma conexão em um banco de dados ADO e fornece suporte para transações Lança um comando SQL diretamente contra um banco de ADO sem retornar um resultado Representa um dado de um ou mais tabelas em um banco de dados ADO, permitindo um componente data- aware manipular estes dados por conexões com um componente DataSource. Este é quase um genérico controle DataSet ADO, e pode ser usado no lugar do ADOTable, ADOQuery, ADOStoreProc. Representa um dado de uma simples tabela de banco de dados via ADO e permite um componente data-aware manipular estes dados por conexão com um componente DataSource Use uma instrução SQL para enviar dados de uma tabela de banco de dados físico via ADO e permite um componente data-aware manipular estes dados por conexão com um componente DataSource. Use uma instrução SQL para enviar dados de uma tabela de banco de dados físico via ADO e permite um componente data-aware manipular estes dados por conexão com um componente DataSource Gerência a organização de dados onde um objeto RecordSet é passado de um processo ou máquina para outra. Use o TRDSConection quando construir aplicações multi-tier usando objetos(aplicações servidoras) A PALETA DIALOGS Exibe uma janela padrão da caixa de diálogo abrir. O usuário pode especificar o nome do arquivo a ser aberto na caixa de diálogo Exibe uma janela padrão da caixa de diálogo salvar. O usuário pode especificar o nome do arquivo a ser salvo nesta caixa de diálogo Exibe uma caixa de diálogo para selecionar e abrir arquivos gráficos. Idêntico a caixa de dialogo Abrir Exibe uma caixa de diálogo para entrar com o nome do arquivo e salvar o arquivo de imagem. Idêntico a caixa de dialogo salvar Exibe uma caixa de janela padrão que permite o usuário especificar fonte, tamanho e estilo da informação; Exibe uma janela padrão de caixa de dialogo de cores. Exibe uma janela padrão de impressão que permite o usuário especificar a impressão, tal como configurar páginas e números de copias. Exibe uma janela padrão de configuração de impressora que permite o usuário mudar e configurar impressora. Exibe uma janela padrão de busca que permite o usuário especificar o caractere a ser procurado Exibe uma janela padrão de substituição que permite o usuário especificar cada caractere a ser procurado e substituição de caractere PROPRIEDADES As propriedades são os atributos da classe, ou seja, são as suas características. As propriedades mais comuns, presentes nos componentes do DELPHI são: Nome Descrição Align Determina o alinhamento de controle Caption Legenda do componente (com o &, indica atalho) Name Nome da instância do componente Left Posição esquerda Top Posição superior Height Altura do componente Width Largura do componente ComponentCo unt O número de componentes possuídos Components Uma matriz de componentes possuídos Color Indica a cor do componente Font Indica a fonte (letra) a ser usada no componente Ctl3D Define a aparência 2D ou 3D do componente Enabled Indica se o componente está ativado ou não Visible Indica se o componente está visível ou não Hint String utilizada para dicas instantâneas ShowHint Mostra ou não as dicas instantâneas PopupMenu Menu que será mostrado com o click do botão direito do mouse TabOrder Define a ordem de tabulação do componente (tecla TAB) TabStop Indica se o componente será ponto de parada para a tecla TAB HelpContext Número utilizado para chamar o help sensível ao contexto Tag Contém um número inteiro, que pode ser a identificação do componente MÉTODOS Os métodos são as ações realizadas pela classe, ou seja, são as funções às quais estão associados um comportamento da classe. Os métodos mais comuns das classes do DELPHI são: Nome Descrição Create Cria uma nova instância do objeto Destroy Destrói a instância do objeto Show Torna o componente visível Hide Torna o componente invisível SetFocus Coloca o foco no componente Focused Determina se o componente está com o foco BringToFront Coloca o componente na frente dos demais SendToBack Coloca o componente atrás dos demais ScaleBy Gradua o componente em determinada escala SetBounds Muda a posição e o tamanho do componente EVENTOS Os eventos são blocosde comandos que associam a ocorrência de alguma atividade a uma ação a ser tomada. Uma linguagem de programação orientada a eventos não tem necessariamente um início ou final lógico, isto é, de acordo com uma seqüência de comandos, pois as ações só são realizadas a partir do instante que ocorre um evento. Um evento pode estar associado a: Clique ou movimento do mouse; Acionamento do teclado; Operações sobre janelas (abrir, fechar, criar, redimensionar, mover,...); Erros de execução; Etc. O DELPHI possui mais de 130 eventos pré-definidos, que estão associados à ocorrência de ações, nas mais diversas classes. Alguns dos principais eventos do DELPHI são: Nome Descrição OnActivate Ocorre quando o programa ativa o objeto pela primeira vez, ou quando se retorna de um outro aplicativo. OnChange Ocorre quando muda o conteúdo de um objeto. OnClick Ocorre quando o usuário dá um clique no botão esquerdo do mouse. OnClose Ocorre quando o objeto é fechado. OnCreate Ocorre quando o objeto é criado. OnDblClick Ocorre quando é feito um duplo clique com o botão esquerdo do mouse. OnDeactivate Ocorre quando se sai do objeto. OnDestroy Ocorre quando se elimina um objeto. OnDragDrop Ocorre quando um objeto é arrastado para outro objeto e solto. OnDragOver Ocorre quando um objeto é arrastado para cima de outro objeto. OnDropDown Ocorre quando se abre um objeto ComboBox ou ListBox. OnEnter Ocorre quando o objeto recebe o foco. OnException Ocorre quando ocorre um erro de execução na aplicação. OnExit Ocorre quando o objeto perde o foco. OnHelp Ocorre quando é solicitado a abertura de um arquivo de ajuda. OnHide Ocorre quando o objeto passa a ser oculto. OnKeyDown Ocorre quando o usuário pressiona uma tecla, incluindo SHIFT, ALT e INSERT. OnKeyPress Ocorre quando o usuário pressiona uma tecla ASCII. OnKeyUp Ocorre quando o usuário solta uma tecla. OnMinimize Ocorre quando se minimiza uma janela. OnMouseDow n Ocorre quando o usuário clica em um botão do mouse e o cursor é posicionado sobre a área clicada. OnMouseMov e Ocorre quando o usuário move o cursor dentro da área selecionada. OnMouseUp Ocorre quando o usuário solta um botão do mouse. OnPopup Ocorre quando se ativa um menu popup com o botão direito do mouse. OnResize Ocorre quando se muda o tamanho do objeto. OnRestore Ocorre quando se restaura uma janela que foi minimizada. OnRun Ocorre quando uma aplicação inicia sua execução. OnShow Ocorre antes que o objeto se torne visível. OnTimer Ocorre em intervalos periódicos de tempo. EXCEÇÕES Exceções são erros que ocorrem durante a execução do programa. Existem diversos tipos de exceções, que podem ocorrer nas seguintes operações: Alocação de memória; Criação e utilização de objetos; Cálculo de expressões matemáticas; Manipulação de arquivos; Utilização de recursos do sistema operacional. Algumas das principais características das exceções no DELPHI são: A instância da exceção fornece informações sobre o tipo de problema ocorrido; O usuário pode definir suas próprias exceções, utilizando a classe Exception; Para forçar a execução de uma exceção utiliza-se a cláusula Raise; Os tipos de exceção normalmente devem iniciar com a letra E. Uma exceção gera um evento denominado OnException. As exceções podem ser tratadas através das instruções: Try ... Except Try ... Finally TRY ... EXCEPT O bloco try ... except é utilizado para definir um código de programa a ser executado no momento que ocorrer uma exceção. Sintaxe: try { Bloco de comandos} except {Bloco de comandos a ser executado quando ocorrer uma exceção} end; Exemplo: tratamento de uma divisão por zero. . Valor1 := StrToInt (Edit1.Text); Valor2 := StrToInt (Edit2.Text) try Resultado := Valor1 div Valor2; except ShowMessage (‘Divisão por Zero’); end; . No entanto, pode ocorrer mais de uma exceção dentro de um mesmo bloco. Neste caso é necessário utilizar o comando on ... do. ON ... DO O comando on ... do permite tratar mais de um tipo de exceção de um bloco try ... except. Sintaxe: On {Tipo de exceção} Do {Bloco de comandos da exceção} Exemplo: tratamento de uma divisão por zero e da digitação de um caractere em um campo que deveria ser numérico. . try Valor1 := StrToInt (Edit1.Text); Valor2 := StrToInt (Edit2.Text) Resultado := Valor1 div Valor2; except on EDivByZero do ShowMessage (‘Divisão por Zero’); on EInOutError do ShowMessage (‘Os valores devem ser numéricos’); end; TIPOS DE EXCEÇÃO Os principais tipos de exceção da RTL (RunTime Library) do DELPHI, a serem tratadas nos blocos on ... do são: Nome Descrição EaccessViolati on ocorre quando se tenta acessar uma região de memória inválida (ex: tentar atribuir valor a um ponteiro cujo conteúdo é nil). EconvertError ocorre quando se tenta converter um string em um valor numérico (ex: utilizar a função StrToInt em uma letra). EdivByZero ocorre na divisão de um número por zero. EinOutError ocorre numa operação incorreta de I/O (ex: abrir um arquivo que não existe). EintOverFlow ocorre quando o resultado de um cálculo excedeu a capacidade do registrador alocado para ele (para variáveis inteiras). EinvalidCast ocorre quando se tenta realizar uma operação inválida com o operador as (ex: tentar usar um Sender com uma classe que não corresponde a seu tipo). EinvalidOp ocorre quando se detecta uma operação incorreta de ponto flutuante. EinvalidPointe r ocorre quando se executa uma operação invalida com um ponteiro (ex: tentar liberar um ponteiro duas vezes). EoutOfMemor y ocorre quando se tenta alocar memória mas já não existe mais espaço suficiente. EoverFlow ocorre quando o resultado de um cálculo excedeu a capacidade do registrador alocado para ele (para variáveis de ponto flutuante). ErangeError ocorre quando uma expressão excede os limites para a qual foi definida (ex: tentar atribuir 11 ao índice de um vetor que pode ir no máximo até 10). EStackOverflo w ocorre quando o sistema não tem mais como alocar espaço de memória na Stack. EUnderflow ocorre quando o resultado de um cálculo é pequeno demais para ser representado como ponto flutuante. EZeroDivide ocorre quando se tenta dividir um valor de ponto flutuante por zero. TRY ... FINALLY O bloco try ... finally permite que um bloco de comandos seja executado, mesmo quando houver uma exceção. Sintaxe: try { Bloco de comandos} finally {Bloco de comandos a ser executado mesmo quando ocorrer uma exceção} end; Exemplo: garantir que um arquivo será fechado mesmo quando ocorrer uma exceção. assign (arq, ‘teste.txt’); try reset (arq) {outros comandos sobre o arquivo} finally close (arq) end;
Compartilhar