Ir para conteúdo
Faça parte da equipe! (2024) ×

[Delphi]Conhecendo o Delphi[Delphi]


vinci327
 Compartilhar

Posts Recomendados

Conhecendo o Delphi

 

 

Se você teve algumas dúvidas no capítulo anterior sobre a área de trabalho do Delphi não se preocupe, neste capítulo você poderá saná-las completamente, também será mostrado o método de estrutura de aplicações Client/Server.

 Caso você seja usuário do Delphi 1.0 na barra de menu selecione a opção Help e Interactive Tutors, você receberá uma aula On-Line sobre a nova área de trabalho.

Os elementos da interface Delphi foram divididos do seguinte modo:

Elementos Visíveis

O ambiente de trabalho do Delphi é formado por objetos que estão visíveis tão logo que o aplicativo seja iniciado formando a área de trabalho.

 

Visão Geral dos objetos visíveis do Ambiente Delphi

Form

Os formulários (objeto Form) são os pontos centrais para o desenvolvimento Delphi. Você se utilizará deles para desenhar sua comunicação com o usuário, colocando e organizando outros objetos. Estes objetos são arrastados da Component Palette, mostrada na janela localizada acima.

Você pode imaginar que o formulário é um objeto que contém outros objetos. Sua aplicação ficará localizada em um formulário principal e este interagirá com outros formulários criados. É possível aumentar, mover ou ocupar completamente a tela do monitor, ou até mesmo ultrapassá-la. Um formulário básico inclui os seguintes componentes:

 Controles de menu;

 Botões de maximização e minimização;

 Barra de título; e

 Bordas redimensionáveis.

O código gerado, na área conhecida como Code Editor, fica exatamente atrás do objeto formulário, clique na barra de notas, em Unit1, se alguma coisa for desconhecida para você, leia maiores explicações no Capítulo I.

 É possível enviar um formulário para a impressora, para isto existem duas maneiras:

1. Tipo um PrintScreen de Tela, coloque o seguinte comando “[Nome do formulário].Print;” no evento onShow do formulário; ou

2. Para imprimir um formulário no tamanho de um papel A4, através do uso de comandos da biblioteca Printer, veja o Apêndice D para maiores detalhes.

Code Editor

O editor de códigos providência total acesso ao código gerado pelo projeto, incluindo alguns dos mais poderosos recursos para a edição. Pode ser selecionado tipos de cores para os elementos do programa (como por exemplo comentários, palavras reservadas, códigos assembler, ...) para tanto a partir do menu principal entre em Tools | Options..., localize a página Colors.

 Para outras informações adicionais sobre o modo de usar este editor, procure referências no Help OnLine no tópico Code Editor.

Ao ser aberto um novo projeto, o Delphi gera automaticamente na página do Code Editor uma Unit com o arquivo código (.PAS). Para ver o código de uma Unit em particular, simplesmente Click na tabulação de página. O Code Editor mostrará sempre o nome do arquivo corrente ativo na tabulação de página.

 É possível alternar entre o objeto Form e a Code Editor através do pressionamento da tecla F12, do botão botão (Toggle Form/Unit) da SpeedBar, ou ainda através das opções do menu View | Toggle Form/Unit. (curiosidade: o acesso rápido através da tecla Alt + Letra sublinhada para esta opção está marcado sobre a letra G)

Component Palette

Componentes (ou objetos) são os elementos que você usará para trabalhar com a aplicação. Foram incluídos objetos em várias páginas, tais como caixas de diálogos e botões, a palheta inclui também alguns espaços em branco para ser permitida a adição de novos objetos. Alguns objetos não serão visíveis enquanto a aplicação estiver executando, eles fazem parte do serviço da DDE (Dynamic Data Exchange).

Os objetos da palheta foram divididos em grupos de funcionalidade em diferentes páginas. Por exemplo, os objetos que representam as janelas tradicionais do Windows© (tais como fontes, palheta de cores, ...) foram colocados na página Dialogs da palheta.

Você poderá criar seus próprios objetos como também instalar outros já prontos, para isso foi colocado os espaços vazios. Por exemplo poderá ser instalado novos controles e objetos do Visual Basic© 4.0 (Objetos OCX - ou para os portadores do Delphi 1.0 o do Visual Basic© 3.0 os objetos VBX). Uma das principais vantagens da POO é que muito em breve deverá ser colocado no mercado pacotes de objetos prontos para serem integrados aos sistemas o que facilitará ainda mais o desenvolvimento e a manutenção dos mesmos.

Object Inspector

Providência a conexão entre a interface visual e o código. É Composto por duas páginas Properties (propriedades) e Events (Eventos) que mostrará as propriedades e eventos do objeto selecionado.

Disponibiliza um fácil caminho para a personalização dos objetos. Você usará a página de Propriedades para personalizar os objetos colocados no formulário (inclusive o próprio formulário), e a página de Eventos para gerenciar a navegação entre certas partes do código do programa.

O seletor de objetos (Object Selector - localizado em um objeto do tipo ComboBox no topo do Object Inspector) mostra o nome e o tipo de todos os componentes do formulário corrente (inclusive o próprio). Você pode usar o seletor de objetos para localizar facilmente qualquer objeto no formulário.

SpeedBar

Contém os botões mais freqüentemente utilizados. Fornecendo deste modo um atalho de navegação ao menu principal do Delphi.

É possível a personalização da SpeedBar colocando nela os caminhos do menu principal que você mais utiliza, bastando para isso:

1. Redimensione a SpeedBar. Para tanto posicione o cursor do mouse sobre o ponto de encontro da SpeedBar com a Component Palette conforme o desenho abaixo:

 

2. Quando o cursor do mouse mudar de formato, clique o botão esquerdo do mouse e arraste abrindo a área da SpeedBar.

3. Clique com o botão direito do mouse na área aberta, apareça um menu PullDown contendo entre outras opções a opção Properties, selecione-a.

4. As categorias e os comando são divididos de acordo com o menu, clique em cima dos comandos disponíveis e arraste-os para a área aberta de acordo com a sua necessidade, para retirar os botões da SpeedBar faça o processo inverso.

Elementos não Visíveis

Alguns elementos não estão prontamente visíveis quando o Delphi é iniciado mas você poderá ter acesso a eles bastando para isso selecionar a opção na barra de menu.

Project Manager

O Gerenciador de Projetos contém uma lista de formulários ou unidades utilizados pela aplicação, e serve para controlar estes formulários ou unidades, adicionando-os ou removendo-os do projeto, organizando as opções do projeto, entre outros.

 Você também poderá colocar um botão para iniciar o Gerenciador de Projetos através da SpeedBar ,

 

Menu Designer

O Menu Designer permite a criação de menus para os seus formulários. Você pode criar menus ou menus do tipo pulldown através dos objetos MainMenu ou PopupMenu (localizado na página Standard na Component palette). A criação completa de Menus será colocada de forma mais abrangente no Capítulo IV.

 

Fields Editor

Para o Delphi é possível editar e modificar as propriedades de quaisquer campos dos objetos de tabelas associadas ao banco de dados, a Fields Editor em conjunto com a Object Inspector controlam o modo de mostrar determinados campos de arquivos, é importante lembrar que esta modificação não afetará os campos da tabela, apenas para o formulário ativo em questão. Sua utilização efetiva será mostrada a partir do Capítulo V.

 

Add fields... é responsável pela adição de definições de campos da tabela, é possível inserir um ou mais campos, dependendo de sua utilização para o formulário.

New field... permite a criação de um novo campo, este pode ser a derivação de um ou mais campos da tabela.

Cut envia para área de transferência e elimina todas as definições do campo selecionado.

Copy copia para a área de transferência todas as definições do campo selecionado.

Paste recebe da área de transferência todas as definições do campo selecionado criando-o.

Delete exclui quaisquer definição para os campos.

Select all seleciona todas as definições dos campos.

Retrieve Attributes atualiza os atributos do campo selecionado com os campos do dicionário de dados.

Save attributes salva os atributos do campo selecionado para o dicionário de dados.

Save attributes as... salva os atributos do campo selecionado para o dicionário de dados permitindo a renomeação do campo.

Associate attributes... faz a associação dos atributos do campo selecionado com determinado campo do dicionário de dados.

Unassociate attributes remove a associação dos atributos do campo selecionado com determinado campo do dicionário de dados.

Repositório de Objetos

O Repositório de Objetos do Delphi 2.0 armazena e gerencia os objetos da aplicação: Formulários, Data Modules, geradores experts, e DLL (Dinamic Linked Library - Bibliotecas de acesso dinâmico). Na essência, ele centraliza as localizações dos objetos envolvidos agrupado-os. A proliferação dos objetos no repositório incrementa as seguintes vantagens:

• Suporte a equipe de desenvolvimento para referência aos objetos da rede.

• Uma customização de todo o desenvolvimento em grupos lógicos de objetos, facilitando o re-uso dos mesmos.

O Delphi possui diversas características quanto a sua utilização. Tem os Tutors e Experts que são as ferramentas responsáveis para guiar-nos através de técnicas, tais como, manipulação de componentes e criação de simples aplicações. Além disso o Delphi oferece uma coleção de modelos para formulários, janelas de diálogo e até mesmo aplicações completas na ferramenta New Items. A janela do New Items é sempre chamada automaticamente quando a opção File | New... do menu principal é executada.

 

 É possível para você criar novas janelas, ou projetos, automáticos no Delphi. Para a nossa sorte a Borland não esconde o jogo e mostra como se cria uma template visite o diretório \BORLAND\DELPHI 2.0\OBJREPOS, o equivalente no Delphi 1.0 é encontrado no diretório \DELPHI\GALLERY, todos os exemplos são auto-explicativos.

 Para definir o projeto padrão que o New Items executará no início de cada projeto, clique com o botão direito acima da janela e escolha a opção Properties aparecerá as listas Pages e Objects, defina quaisquer dos objetos como New Form ou Main Form.

 Observe que a segunda folha da janela New Items (terá o nome do seu arquivo com a extensão .DPR) é o seu projeto corrente, ou seja, uma nova janela poderá ser derivada, por característica de herança, de uma outra janela já existente.

Estrutura de Aplicações com o Delphi 2.0

Um dos objetivos de desenhar aplicações do tipo Client / Server para o desenvolvimento é a reutilização dos objetos, das regras de negócio e das telas do projeto. O Delphi Client / Server Suite 2.0 é o único que implementa uma arquitetura incorporando a tecnologia RAD (Rapid Application Development - Desenvolvimento Rápido de Aplicações) com o desenvolvimento totalmente OO (Object Orientation - Orientado a Objetos) para a redução do tempo de desenvolvimento e manutenções improváveis. Adicionando, uma arquitetura aonde é possível a separação da GUI (Grafic Unit Interface - Unidade de Interface Gráfica), das regras de negócio lógicas e do desenho do banco de dados de acordo com o modelo representado abaixo:

 

Benefícios:

1. A separação do desenho da GUI (através dos objetos Forms) com a área de ligação lógica de dados (através dos objetos Data Modules) permite que se cause um menor impacto sobre ambas as áreas. As mudanças podem ser executadas nas telas de entrada ou nas ligações, independentemente, de acordo com os requerimentos do usuário.

2. A separação do desenho da GUI com a área de ligação lógica de dados realizada com uma certa habilidade aos eventos envolvidos, poderá não necessariamente deverá ser controlada por um habilidoso DBA (Database Administrator - Administrador de Banco de Dados), com suas fantásticas regras de negócio, podendo inclusive ser mantida por um “analista de informações”.

3. O desenho do banco de dados, a construção das metodologias de negócio e o desenho e a criação das janelas de entrada são efetivados dentro da aplicação. O desenvolvimento, então paralelamente, resultará em uma maior rapidez.

4. Herdando as janelas de entrada, em níveis de utilização, reduz-se drasticamente o processo de codificação, e em conseqüência, o processo futuro de manutenção. As mudanças lógicas das regras de negócio ou a incorporação de novos padrões, são feitas automaticamente para todos os objetos herdados.

5. O repositório de objetos, os formulários reusáveis e a utilização dos objetos Data Modules, envolve em eliminação da duplicação de códigos e de trabalhos com desenhos de janelas, e em conseqüência na redução da equipe de desenvolvimento.

Implementação efetiva

Objetos Data Module

A partir do Delphi 2.0 foi incorporado o uso de objetos conhecidos por Data Module, que servem para que suas aplicações providenciem um desenho centralizado da definição de acesso aos dados e das regras de negócio. Os objetos Data Modules, também podem ser separados por negócios lógicos (como exemplo por áreas: compras, vendas, estoque, etc.) formando caminhos de conexões simples.

 

• Os objetos Data Modules podem ser aplicados a objetos tais como Tables, Stored Procedures, ou Queries permitindo a centralização dos eventos envolvidos em antes e depois da gravação, exclusão, inserção ou edição dos dados. E até mesmo na colocação de novos objetos de controle para maior facilidade.

• As relações de dados Master / Detail são definidas em menor quantidade. Possibilita então ao desenvolvedor criar aplicações do tipo Client / Server de forma mais fácil, rápida, e segura se utilizando das propriedades dos objetos Datasources ou utilizando o Database Form Expert.

• Os formulários das aplicações, podem ser ligados diretamente a um ou mais objetos Data Module para a propagação das regras de negócio sem a necessidade de execução de um código extra.

• Os objetos Data Modules são classes de objetos que pertencem a interação dos dados do database server. Isolando totalmente o acesso ao banco de dados com a aplicação Client, simplificando deste modo toda a manutenção realizada.

• O Acesso ao Delphi aos bancos de dados se processa da seguinte maneira:

 

Distribuição Lógica da Aplicação:

Os objetos Data Module foram desenvolvidos para criar uma centralização lógica de todas as regras de negócio, separando a área de visão do usuário com a área do desenho do Banco de Dados. Este sólido fundamento de suporte são distribuídos em um n-número de aplicações e arquiteturas servidoras disponíveis, tais como CICS da IBM, TopEnd da ATT, Tuxedo da Novell, Object Broker da Digital, IONA da Orbix e muitas outras.

Dicionário de Dados Escalável

O dicionário de dados é utilizado para armazenar informações sobre o uso dos dados contidos nas suas tabelas. O dicionário deve ser como uma árvore genealógica trabalhando como um inspetor de modificações que permitem um armazenamento facilitado. O dicionário deve conter informações dos atributos dos campos tais como: valores mínimo, máximo e comuns (valores default), máscaras utilizadas, etc. A utilização do dicionário de dados traz as seguintes vantagens:

1. Consistência: Campos idênticos são armazenados centralmente no dicionário isto reduz o tempo de definição das duplicidades. Um desenvolvedor poderá criar os campos complementares com domínios e aplicações apropriadas.

2. Redução do Tráfico da Rede: O Delphi permite que a validação dos dados seja feita nas máquinas client ou no servidor. O Dicionário de dados permite que a manutenção dos atributos dos campos do lado client seja validado de forma eficiente reduzindo a necessidade do tráfego da rede.

 

Herdando os Formulários

O desenvolvimento de aplicações corporativas de uma forma padronizada é um fato de suma importância para as empresas envolvidas. Mas conseguir e manter este padrão é uma tarefa considerada praticamente impossível, já que as aplicações devem se modernizar na velocidade que o mercado de informática exige. Os formulários herdados do Delphi são simples extensões da programação orientada a objetos, conseguindo manter, de forma automática, os padrões e as modificações realizadas nos projetos. E em conjunto com o Repositório de Objetos, padroniza, organiza e centraliza os formulários resultando em modificações de curtíssimo tempo.

 

Ferramentas Auxiliares de SQL

Para o trabalho com bases de dados padrão SQL (Structure Query Language - Linguagem estruturada de Consultas), o Delphi conta com as seguintes ferramentas RAD que auxiliam ao desenvolvimento.

Monitor SQL

Um monitor SQL é um ferramenta para testes, depuração e execução de consultas SQL em aplicações Client / Server. Isto resulta em um aumento da produtividade de desenvolvimento e melhor performance da aplicação.

O monitor SQL, intercepta as chamadas entre as máquinas client e o servidor. Esta informação auxilia ao desenvolvedor em problemas relacionados as declarações SQL e otimiza este tipo de transação. Uma série de caminhos de interceptações podem ser traçados, dependendo da necessidade do desenvolvedor, para que as informações a serem colocadas em um relatório on-line sejam as mais imprescindíveis o possível. É possível inclusive salvar e imprimir o relatório gerado para consultas ou testes posteriores.

 

SQL Explorer

A ferramenta SQL Explorer providencia uma informação centralizada do gerenciamento das demandas da base de dados; tais como, suporte a modificação e criação de tabelas, sinônimos, procedimentos de gravação, triggers (gatilhos disparados pelo banco) e execução das regras de negócio interativas do SQL. Uma ferramenta gráfica que proporciona um esquema de integridade da base da dados e contém as ferramentas essenciais para os administradores de bancos de dados.

O SQL Explorer, unicamente para o Delphi, administra de forma intuitiva e fácil o banco de dados. A simplicidade de uso da interface gráfica é um perfeito caminho para representar o complexo relacionamento que existe no banco de dados do servidor. Apresenta um esquema para informações em bancos como Oracle©, Sybase©, InterBase, Informix©, DB2© e outros. O desenvolvedor poderá trilhar campos, tabelas e procedimentos do banco dentro da construção da aplicação Delphi rapidamente, podendo ser direcionado para múltiplos servidores e múltiplos bancos.

 

O SQL Explorer, também administra o Dicionário de Dados. Sua interface de uso simplicado permite facilmente definir novos domínios para os atributos dos campos e associação entre tabelas.

InterBase NT - Banco de Dados Relacional

O Delphi Client / Server Suite 2.0 inclui uma licença para dois usuários do uso do banco de dados InterBase NT. Desenvolvedores podem criar em máquinas standalone aplicações usando este poderoso banco de dados (concorrente de bancos como Oracle©, Sybase©, Informix©, DB2© e outros). Com o crescimento do volume de dados e do tamanho da aplicação, ambos, o InterBase e o Delphi conseguem interagir de forma harmoniosa.

O InterBase é um banco de dados de alta performance produzido pela Borland, como plataforma para SQL Server. Está disponível em mais de 15 sistemas operacionais incluindo: DOS e Windows© 3.1, Windows© 95, Windows© NT, NetWare©, SCO©, Sun OS©, Sun Solaris©, HP-UX©, IBM AIX©, SGI IRIX©, etc.

O InterBase é um banco a nível ANSI SQL 92, suportando eventos programados e exceções ocorridas no modelo por acesso de múltiplos usuários. Oferece chaves de controle a nível de registros para arquiteturas Multi-Gerenciais causando um performance muito superior a uma leitura das operações de banco, em contrário das leituras de blocagem de operações escritas realizadas por outros bancos.

A versão local do InterBase, disponível apenas com a cópia Client / Server Suite 2.0, providencia aos desenvolvedores um caminho rápido para o desenvolvimento de protótipos e de sistemas com um banco de padrão ANSI 92 SQL. Esta versão propicia as mesmas funcionalidades da versão multi-usuário para NT e Unix, incluindo controles de transações, procedimentos de gravação (stored procedures), uso de triggers (gatilhos disparados do banco), ou eventos de alerta. Imagine o desenvolvimento de um grande sistema sendo realizado em um Laptop dentro de um trem, avião ou até mesmo na frente do cliente, apenas o acesso ao banco de dados final é que será modificado.

Utilizando o Delphi Client/Server Suite 2.0, desenvolvedores poderão conceber e desenhar protótipos e testar a aplicação final em uma única máquina. O InterBase oferece um excepcional acesso a interface gráfica do Windows©, incluindo a configuração das propriedades, um perfeito gerenciador de bancos nativo 32 bits, total interatividade com ferramentas SQL, e uma completa documentação em formato de Help do Windows© (arquivos .HLP).

 

Capítulo III

Projeto Piloto

É óbvio que fica mais simples o aprendizado de uma nova ferramenta quando se faz algum tipo de aplicativo, principalmente um que seja útil, então ao longo deste estudo, iremos desenvolver um aplicativo destinado ao Cadastro de Compact Disc (CD’s). Todas as pessoas hoje em dia tem montes de CD’s, virou uma espécie de febre, então, porque não fazer um sistema para cadastrá-los e controlá-los, quanto tempo você já perdeu pensando em qual deles está aquela música que você quer ouvir? Ou uma capa que seu filho rasgou, que tal imprimi-la novamente? E no capítulo multimídia aprenderemos um método para tocar o CD.

Para darmos partida ao nosso primeiro aplicativo (Projeto Piloto), definiremos inicialmente as nossas necessidades:

1. Permitir o cadastro completo e a consulta aos CD’s;

2. Ser possível separar os CD’s em categorias, facilitando deste modo a busca e o armazenamento;

3. Quanto as músicas deve ser permitido o cadastro do autor e o tempo de duração;

4. Permitir a inclusão da foto da capa do CD; e

5. Comportar relatórios de conferência e reimpressão da capa.

O acesso Delphi a arquivos pode ser feito através de duas maneiras local ou remoto, sendo a segunda apenas possível pela cópia CLIENT-SERVER é voltadas a bases de dados mais complexas como ORACLE© ou SYBASE©, inicialmente, restringiremos o nosso estudo a base de dados locais conseguida através da versão Desktop. Lembre-se que à versão Desktop contém acesso a criação e a definição de bases dBase e Paradox, além de outras conseguidas através de ODBC.

Com base no que foi sugerido acima, vamos definir as tabelas:

CATEGORIA

Objetivo: Dados das categorias do CD.

Campos: SIGLA DA CATEGORIA - Abreviação da descrição da categoria.

DESCRIÇÃO DA CATEGORIA - Descrição da Categoria.

 

BÁSICO

Objetivo: Dados iniciais do CD.

Campos: CÓDIGO DO DISCO - Código do CD, encontrado na própia capa.

NOME DO DISCO - Nome do CD.

TIPO DO DISCO - Tipo de Gravação do CD: AAA, AAD, ADD ou DDD.

FOTO DA CAPA - Armazenará a foto da capa do CD.

SIGLA DA CATEGORIA - Ligação para o código da Categoria.

 

MÚSICAS

Objetivo: Dados das músicas do CD.

Campos:

CÓDIGO DO DISCO - Ligação com o CD.

NUMERO DA FAIXA - Número da faixa.

NOME DA MÚSICA - Título da música.

NOME DO AUTOR - Nome do autor da música.

TEMPO DA MÚSICA - Tempo de duração da música MMSS.

Criando o Modelo Relacional

Para criar um modelo relacional simples e trabalhar com bases locais você pode optar por dois modos do tipo dBase ou Paradox, particularmente eu prefiro trabalhar com Paradox, mas você rapidamente notará que tanto faz, trabalhe com aquela que você se sinta mais a vontade.

 Escolha a base de acordo com o porte do sistema: Para sistemas pequenos e simples e com poucos dados use o dBase, para sistemas médio, multi-usuário, com uma boa quantidade de dados escolha a base Paradox e para sistemas complexos em várias plataformas e acessos multi-usuário opte por InterBase.

Vamos agora visualizar um modelo que demonstrará como as tabelas deverão se relacionar no sistema, este modelo também facilitará as relações e a integração dos formulários do sistema quando construiremos nossas consultas e relatórios.

 

No modelo de entidade e relacionamento acima lê-se:

• 1 registro da entidade Básico se relaciona com 1 registro da entidade Categoria enquanto que 1 registro da entidade Categoria se relaciona com n registros da entidade Básico,

• 1 registro da entidade Músicas se relaciona com 1 registro da entidade Básico enquanto que 1 registro da entidade Básico se relaciona com n registros da entidade Música.

Com o MER nas mãos já se tem a idéia de como deve ficar as estruturas das tabelas, então, vamos queimar um pouco de neurônios.

Trabalhando com DataBase Engine Configuration

Criando o Alias

O ALIAS é simplesmente um apelido (sinônimo) a ser dado para o banco de dados, este apelido permitirá que no lugar de falarmos para ao Delphi que a nossa base se encontra em C:\SISTEMA\... ou D:\DESENV\SISTEMA\..., simplesmente digamos se encontra em AliasX ou AliasY, isto facilitará o seu trabalho quando você por exemplo quiser modificar o diretório do sistema, basta mudar o endereço do ALIAS e não sair modificando vários formulários.

 Outra vantagem em se criar um Alias está na mudança da base, basta reapontarmos o Alias para outra base que o sistema automaticamente verá estas novas informações. Lembre-se que para isto ser possível é necessário que o nome das tabelas e dos campos sejam necessariamente os mesmos, incluindo o tamanho e o tipo (no apêndice B é encontrado uma tabela para a conversão das diversas bases de dados).

Para trabalhar com ALIAS o caminho mais interessante e com o Database Engine Configuration, no arquivo de programas do Delphi dê um duplo clique sobre o ícone , a configuração do banco de dados se divide em várias páginas:

 Drivers - Controla os arquivos de acesso locais e ODBC dos bancos de dados utilizados;

 Aliases - Controle dos sinônimos dos sistemas;

 System - Define os recursos do Windows que serão alocados pela aplicação;

 Date - Especifica os fo rmatos utilizados para campos tipo data;

 Time - Especifica os formatos utilizados para campos tipo hora; e

 Number - Especifica os formatos utilizados para campos tipo numérico.

Se atualmente você estiver utilizando a versão de desenvolvimento, os drivers que aparecerão serão: dBase, InterBase e Paradox, na versão Client/Server além desses serão colocados: Oracle, Informix, SyBase entre outros.

Mude para a página Aliases e click no botão New Alias, informe:

New alias name: AliasDisco

Alias type: STANDARD

Botão OK

 

Path: C:\SISTEMA\CADDISCO

Default Driver: Paradox

Neste momento o seu ALIAS AliasDisco foi criado para a banco de dados Paradox, no formato Padrão localizado no diretório C:\SISTEMA\CADDISCO, no menu principal escolha a opção File e Save, o BDE salvou o seu arquivo de configuração chamado IDAPI.CFG.

 Crie com o Gerenciador de Arquivos o diretório C:\SISTEMA\CADDISCO, aonde será localizado o sistema.

 Para a base dBase a única diferença seria o comando Default Driver: DBASE.

Encerre o Database Engine Configuration.

Trabalhando com DataBase DeskTop

 

Criando o Banco de Dados via Estrutura

Para criar suas tabelas, dispõe-se de duas maneiras: o modo declarações em SQL ou pela janela de estrutura, inicialmente, utilizaremos a janela de estrutura, pois além de mais simples é mais prático, a menos que você trabalhe com bases de acesso remoto, evite o modo declarações em SQL para manusear a estrutura de tabelas, principalmente tabelas simples como é o caso do Paradox ou o dBase, apesar que existem muitos fanáticos por CREATE TABLE, ALTER TABLE e DROP’s. Em seguida mostrarei como criar as mesmas tabelas utilizando o método SQL.

 Lembre-se de apagar as tabelas antes de criá-las novamente. Senão não será possível executar uma única declaração SQL.

Retorne ao Delphi, no menu principal escolha a opção TOOLS|DataBase DeskTop, maximize a tela para permitir uma melhor visualização.

Com o nosso sinônimo (ALIAS) criado iremos agora definir as nossas tabelas. Inicialmente vamos definir como nossa área de trabalho: No menu principal, opção File|Working Directory..., na opção Aliases: selecione AliasDisco, note que a opção Working Directory será automaticamente modificada para :AliasDisco:, finalmente confirme clicando no botão OK. O diretório apontado pelo Alias, agora será o default, ou seja, tudo o que fizermos será apontado para o diretório.

 

No menu principal, opção File, opção New, e opção Table..., será mostrada uma janela com os tipos de possíveis repositórios de tabelas no Table Type escolha a opção Paradox 7 e clique no botão OK. Insira os seguintes campos:

Field Name Type Size Key

COD_DISCO N *

NOM_DISCO A 60

TIP_DISCO A 3

FOT_CAPA B 3

SIG_CATEG A 2

 Dos campos, o único que merece uma explicação e FOT_CAPA ele foi escolhido neste formato (Binary) pois guardará uma imagem BitMap (extensão .BMP) da Capa do CD, todos os outros campos são caracteres alfanuméricos, com a exceção do COD_DISCO que é um campo Numérico e chave.

Para esta tabela precisamos ainda criar um índice secundário, para tanto na opção Table properties: chame a opção Secondary Indexes e clique no botão Define..., marque no campo Nom_Disco (na lista Fields) e clique no botão o campo passou para a lista Indexed Fields, clique no botão OK e digite SI_NomDisco para o nome do indice e clique no botão OK.

Para salvar sua tabela clique no botão Save as... na opção Nome do Arquivo: insira o nome da tabela - Basico.

Crie agora as seguintes tabelas:

1. Categor

Field Name Type Size Key

SIG_CATEG A 2 *

DES_CATEG A 40

2. Musica

Field Name Type Size Key

COD_DISCO N *

NUM_FAIXA N *

NOM_MUSICA A 60

NOM_AUTOR A 40

TMP_MUSICA A 4

Criando os Relacionamentos via Estrutura

Os relacionamentos entre as tabelas poderia ter sido criado no momento da construção das mesmas, mas acredito que deste modo seja mais simples, a partir do menu principal, opção File, opção Open, e opção Table..., será aberto uma janela com todas as tabelas, clique na tabela BASICO e sua estrutura será mostrada, clique no botão Restructure, ou a partir do menu principal, opção Table, opção Restructure..., na opção Table properties: alterne para a opção Referential Integrity e clique no botão Define..., no lado esquerdo (Lista Fields) dê um duplo clique no campo SIG_CATEG e no lado direito (Lista Tables) dê um duplo clique na tabela CATEGOR.DB, clique no botão de OK para confirmar e será solicitado o nome para o índice.

Para o nome do índice crie um padrão de FK_ + {nome do campo} + {nome tabela pai}, uma padronização dos nomes dos índices facilita a procura futuramente, então para o nosso índice crie FK_SigCateg_Basico.

Crie agora o outro relacionamento entre a tabela MUSICA e BASICO conforme a figura abaixo:

 

 Também é possível acessar o Database Desktop através do ícone localizado no grupo de trabalho DELPHI.

Encerre o Database Desktop e retorne ao Delphi, ou apague as tabelas e...

Criando o Banco de Dados via SQL

Para os fanáticos por declarações SQL, vamos criar a mesma base de dados via SQL, se você ainda não o fez, observe no tópico anterior como colocar o ALIAS na área de trabalho. Isto será de muita utilidade quando formos salvar o nosso trabalho.

No menu principal, opção File, opção New, e opção SQL File, será mostrada uma janela para ser digitada a declaração SQL, observe na barra de comandos o botão Select Alias, ou a partir do menu principal opção SQL/Select Alias..., apenas observe que a área de trabalho Work já está selecionada, clique em OK ou Cancel sem fazer nenhuma modificação, observe que o título da janela é SQL Editor :WORK:<Untitled>.

Digite o seguinte na janela:

Create Table Basico

(

COD_DISCO Numeric(4,0),

NOM_DISCO VarChar(60),

TIP_DISCO Char(3),

FOT_CAPA Blob(3,2),

SIG_CATEG Char(2),

Primary Key(COD_DISCO)

);

Clique no botão Run SQL, ou no menu SQL/Run SQL, ou ainda pressione F8, após executado o comando a tabela será criada. Salve o SQL com a opção File/Save (digite BASICO .SQL)

Abra novas janelas e crie o resto das tabelas:

Create Index SI_NomDisco on Basico (NOM_DISCO);  Criando o indice secundário da BASICO

 

Create Table CATEGOR  Criando a Tabela CATEGOR

(

SIG_CATEG Char(2),

DES_CATEG VarChar(40),

Primary Key(SIG_CATEG)

);

 

Create Table MUSICA  Criando a tabela MUSICA

(

COD_DISCO Numeric(4,0),

NUM_FAIXA Numeric(2,0),

NOM_MUSICA VarChar(60),

NOM_AUTOR VarChar(40),

TMP_MUSICA Char(4),

Primary Key(COD_DISCO, NUM_FAIXA)

);

 

O SQL para o Paradox não consegue executar a criação de indices referenciais (ou “Constraints”) então para criar este tipo de índice crie-o através da janela de estrutura conforme mostrado anteriormente.

Observações da utilização do SQL com o dBase

Infelizmente o dBase não suporta a cláusula Primary Key que permite a criação dos índices muito menos a criação de chaves estrangeiras. Quanto as chaves estrangeiras não se preocupe pois o Delphi consegue manipular relacionamentos entre as tabelas mesmo que elas não estejem vinculadas.

Caso você esteja utilizando este tipo de base os passos para as criações das tabelas são os mesmos mas corte as cláusulas Primary Key é necessário criar os índices separadamente. Abra uma nova declaração SQL, idêntica a anterior, e digite o seguinte na janela:

Create Index PK_Unica on Basico (COD_DISCO);

 O comando correto para este índice deveria ser “Create Unique Index PK_Unica on Basico (COD_DISCO);” mas isto provoca um erro colocando que não é possível esta declaração, então coloque a cláusula UNIQUE através da janela de estrutura.

 Se você esqueceu de ativar o Select Alias coloque “Create Index Cod_Disco on “Basico.dbf” (COD_DISCO);”

As outras declarações são:

Create Index SI_NomDisco on Basico (NOM_DISCO);  Criando o indice secundário

Create Index FK_SigCateg_Basico on Basico (SIG_CATEG);  Criando a chave estrangeira

Create Index PK_Unica on Categor (SIG_CATEG);  Criando a chave primária

Create Index FK_CodDisco_Musica on Musica (COD_DISCO);  Criando a chave estrangeira

 O comando correto para a criação da chave dupla da tabela MUSICA seria “Create Index Chv_Unica on Musica (COD_DISCO, NUM_FAIXA);” mas novamente é provocado um erro mostrando a impossibilidade de execução do comando, então crie este índice através da janela de estrutura.

 É facilmente percebido que o DataBase DeskTop até que tenta colocar todas as bases de dados compatíveis com a linguagem SQL, mas infelizmente ainda não foi nesta versão.

 Para as tabelas do tipo ORACLE, INTERBASE, SYBASE e MS SQL Server a criação das tabelas podem ser feitas tanto pelo modo de estrutura quanto pelas declarações SQL mas lembre-se que a alteração das mesmas só poderá realizar-se através do modo de declarações SQL. Aqui vão alguns exemplos destas declarações:

Create Table MUSICA  Criando a tabela MUSICA

(

COD_DISCO Numeric(4,0),

NUM_FAIXA Numeric(2,0),

NOM_MUSICA VarChar(60),

TMP_MUSICA Char(4),

Constraint PK_Unica Primary Key(COD_DISCO, NUM_FAIXA),

Constraint FK_CodDisco_Musica Foreign Key (Cod_Disco)

References USUARIO_AGENDA (Cod_ Disco)

);

 

ALTER TABLE MUSICA ADD NOM_AUTOR VarChar(40)  Adiciona o campo Nom_Autor

 

DROP TABLE MUSICA;  Elimina a tabela MUSICA

Encerre o Database Desktop e retorne ao Delphi.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.