Você está na página 1de 150

1

MANUAL DO USUÁRIO

1 MANUAL DO USUÁRIO Modular Software Uberaba – M.G. http://www.xmaker.com.br
1 MANUAL DO USUÁRIO Modular Software Uberaba – M.G. http://www.xmaker.com.br

Modular Software Uberaba – M.G.

2

COPYRIGHT

Todos os direitos reservados. Nenhuma parte deste material poderá ser reproduzida, transmitida, transcrita, armazenada em meio recuperável ou traduzida para outras línguas, no todo ou em parte, em qualquer forma ou por quaisquer meios, seja eletrônico, mecânico, magnético, ótico ou manual, sem o consentimento prévio e por escrito da Modular software. A Modular Software reserva-se, outrossim, o direito de revisar e fazer mudanças periódicas no conteúdo deste manual, sem a obrigação de notificar a quaisquer pessoas ou instituições. Alguns nomes de produtos que aparecem neste manual são marcas registradas de seus respectivos proprietários.

3

1. O QUE É O X-MAKER?

O X-Maker é um gerador de aplicativos para o ambiente Windows, voltado para desenvolvedores de software. Utilizando todo potencial da linguagem orientada a objetos, acelera o processo de desenvolvimento de forma extremamente eficiente, prática e padronizada. Sua principal função é a manipulação de banco de dados para armazenamento de informações de qualquer natureza, agregando todos os recursos possíveis e atuais do ambiente visual e com acesso nativo as bases de dados, cria projetos altamente profissionais e confiáveis. Os arquivos fontes são gerados na linguagem Delphi 5, 6 ou 7, sendo, portanto necessário que o usuário tenha instalado em seu equipamento a versão Professional ou Enterprise do Delphi. Somente essas versões possuem os recursos disponíveis para acesso as bases de dados utilizadas pelo X-Maker, são elas:

InterBase 5.x/6.x, FireBird 1.x, SyBase, MS-SQL Server, MySql 3.20/3.23/4.00, PostGreSql 6.5/7.2 e ADO (Access, Paradox, dBase, Oracle, etc.),. Outras bases de dados poderão ser utilizadas em futuras versões desse produto, temos como meta a compatibilidade com os diversos gerenciadores de banco de dados disponíveis no mercado.

As versões disponíveis do X-Maker são:

X-Maker – Free Edition: Destinada aos novos usuários que desejam conhecer essa ferramenta, essa versão trás os mesmos recursos da versão Professional, porém, é limitada para pequenos projetos. Existe um limite de definições, que são: Um Banco de Dados, doze Tabelas, doze Formulários, doze Relatórios, doze Etiquetas e doze Gráficos. Não há limitações de criação de projetos.

4

X-Maker – Professional - Individual: Destinada aos profissionais que irão utilizar o X-Maker como ferramenta oficial de desenvolvimento.

X-Maker – Professional - Corporativo: Destinada ao trabalho em grupo, compartilha os projetos em uma rede local, permitindo que vários profissionais trabalhem em um mesmo projeto ao mesmo tempo.

Agilidade, praticidade e confiabilidade são os pontos principais na construção de aplicações através dessa ferramenta, seja ela de pequena ou de grande complexidade. É possível criar um projeto sem nenhum esforço de programação. As Empresas desenvolvedoras e organizações encontrarão nessa ferramenta um ganho significativo de produção e padronização, a redução de custos de desenvolvimento e manipulação de projetos será uma meta alcançada, outro ponto importante é a independência de um desenvolvedor específico, o trabalho em grupo será valorizado. Os profissionais liberais encontrarão todos os recursos necessários para uma produção mais ativa e dinâmica na criação de softwares. Para aqueles que não se consolidaram no desenvolvimento de aplicações em ambiente Windows, poderão iniciar a migração sem traumas ou incertezas. Pensando no crescimento e aperfeiçoamento dos estudantes, instrutores e professores da linguagem de programação Delphi, a versão Free Edition irá proporcionar um novo universo de conhecimento e experiências na criação de projetos.

1.1. Pré-requisitos

As exigências mínimas de software e hardware para que seu sistema execute corretamente o X-Maker são:

5

Microsoft Windows (98 ou versão posterior).

Delphi 5, 6 ou 7 na versão Professional ou Enterprise instalado na máquina.

Microcomputador com processador Pentium (ou superior), 64 megabytes de memória, 120 megabytes de espaço livre em disco.

Um adaptador de vídeo, mouse suportado pelo Windows.

1.2. Instalando o X-Maker

A instalação do X-Maker em seu computador é feita pelo programa Instalar, gravado no Cd-Rom de "Instalação" ou através do arquivo disponível em nosso site para download.

1.2.1

Para instalar o X-Maker através do Cd-Rom:

 

1.

Insira o Cd-Rom de “Instalação” do X-Maker.

 

2.

O programa Instalar será inicializado automaticamente. Caso a inicialização não seja inicializada automaticamente, dê um duplo clique no ícone “Meu Computador” no Desktop e um duplo clique na unidade de Cd-Rom, execute o programa Instalar.

3.

Siga as instruções mostradas na tela.

 

1.2.2

Para instalar o X-Maker através do arquivo de download:

 

1.

Faça o

download

do

arquivo

em

nosso

site

http://www.xmaker.com.br na seção de Downloads.

2.

Execute o arquivo em seu computador.

 

3.

Siga as instruções mostradas na tela.

6

1.2.3 Pasta de Instalação:

A pasta de Instalação do X-Maker padrão é – C:\XMAKER3 - sugerimos que esta pasta seja mantida. Esta recomendação está relacionada a uma limitação do sistema operacional relativa ao comprimento máximo de linhas de comando executado via MS-DOS, pois a compilação do projeto pelo X-Maker se faz através de linhas de comandos do MS- DOS. Recomenda-se que a nova pasta esteja localizada imediatamente abaixo da pasta raiz escolhida, Exemplos:

C:\XMaker3 - D:\XMaker3 – F:\Xmaker3 - …

1.2.4 FireBird:

O FireBird é o gerenciador de banco dados utilizado pelo X-Maker. Sua instalação é necessária para o funcionamento correto do X-Maker. Caso o InterBase 6.x ( ou superior ) esteja instalado em seu computador a instalação do FireBird não será necessária, por ser compatível com o FireBird. Qualquer versão do Interbase inferior a 6.x deverá ser desinstalada antes da instalação do FireBird.

7

2. INTERFACE DO X-MAKER

Através de uma interface prática e amigável é possível construir um aplicativo através de 06 passos intuitivamente coordenados. A seguir iremos dar um enfoque geral das opções disponíveis no menu principal, barra de ferramentas e barra de assistente.

Visão geral:

um enfoque geral das opções disponíveis no menu principal, ba rra de ferramentas e barra de

8

2.1. Menu Principal do X-Maker

Arquivo: Contêm as opções para criação e abertura de projetos e edição de arquivos fontes.

Editar: Comandos básicos de manipulação dos arquivos fontes abertos (área de transferências, pesquisas, substituições e posicionamentos).

Exibir: Configuração do ambiente de trabalho e utilitários para o projeto (diário de anotações, calendário e calculadora).

Projeto: Opções de definições do projeto (Propriedades, Tabelas, Formulários, Relatórios e Menu Principal).

Fontes: Restauração de módulos, compilação e execução do projeto.

Configuração: Configuração dos parâmetros de compilação, propriedades do editor e definição de campos predefinidos.

Ajuda:

Acesso

à

ajuda

do

X-Maker,

informações complementares.

Delphi

e

2.2. Barra de Ferramentas

informações complementares. Delphi e 2.2. Barra de Ferramentas Novo Projeto: Permite a criação de um novo

Novo Projeto: Permite a criação de um novo projeto.

9

Abrir Projeto: Faz a abertura de projetos já existentes.

Fechar Projeto: Fecha o projeto que esteja aberto.

Novo Arquivo: Cria um novo arquivo fonte para edição.

Abrir Arquivo: Faz a abertura de um arquivo fonte já existente.

Salvar Arquivo (F2): Salva as modificações realizadas em um arquivo fonte em edição.

Salvar Todos: Salvam as modificações realizadas em todos os arquivos fontes em edição.

Fechar Arquivo: Fecha um arquivo fonte em edição.

Propriedades: (1º Passo) Define as propriedades do projeto, tais como: Título, Empresa Projetista, Programadores, Analistas, versão, data de início, ícone e configurações adicionais.

Tabelas: (2º Passo) Definição dos bancos de dados, tabelas, campos, índices, integridades, relacionamentos, processos diretos/inversos e lançamentos.

Formulários: (3º Passo) A manipulação dos registros é realizada através de formulários de Entrada de Dados, a montagem do Layout não será mais problema, com recursos exclusivos o X-Maker irá facilitar todo o processo de criação através da Auto Formatação e drag and drop (arrasta e solta) dos componentes inseridos no formulário.

Relatórios: (4º Passo) A extração de informações é realizada através de relatórios, etiquetas e gráficos. Com um

10

poderoso editor de relatórios esses processos serão obtidos de forma simples e eficiente.

Menu: (5º Passo) Consiste na definição das chamadas dos formulários e relatórios criados.

Compilar: (6º Passo) É parte final de criação do projeto, todos os módulos criados e personalizados serão compilados para a geração do executável final.

Executar: Executa o projeto previamente compilado.

Delphi: Executa o Delphi, conforme a versão definida na propriedade do projeto e abre o projeto para livre manipulação.

Diário: Possibilita ao projetista a realizar anotações e lembretes que serão vinculados ao projeto.

2.3. Barra de Assistente

Propriedades: (1º Passo) Define as propriedades do projeto, tais como: Título, Empresa Projetista, Programadores, Analistas, versão, data de início, ícone e configurações adicionais.

Tabelas: (2º Passo) Definição dos bancos de dados, tabelas, campos, índices, integridades, relacionamentos, processos diretos/inversos e lançamentos.

Formulários: (3º Passo) A manipulação dos registros é realizada através de formulários de Entrada de Dados, a montagem do Layout não será mais problema, com

11

recursos exclusivos o X-Maker irá facilitar todo o processo de criação através da Auto Formatação e drag and drop (arrasta e solta) dos componentes inseridos no formulário.

Relatórios: (4º Passo) A extração de informações é realizada através de relatórios, etiquetas e gráficos. Com um poderoso editor de relatórios esses processos serão obtidos de forma simples e poderosa em recursos.

Menu: (5º Passo) Consiste na definição das chamadas dos formulários e relatórios criados.

Compilar: (6º Passo) É parte final de criação do projeto, todos os módulos criados e personalizados serão compilados para a geração do executável final.

12

3. CONCEITOS BÁSICOS

O X-Maker utiliza alguns conceitos básicos na definição de projetos, algum desses conceitos já dever ser de seu conhecimento, com pequenas variações de nomes ou definições, a compreensão dos mesmos facilita a utilização da ferramenta.

3.1. Banco de Dados

É a estrutura que irá armazenar uma coleção de Tabelas, a sua definição é necessária antes da definição de qualquer Tabela, em Propriedades do Projeto é possível escolher o gerenciador de Banco de Dados que será utilizado, a definição do Banco de Dados estará subordinada a essa informação.

Login e senha de acesso, parâmetros de conexão, nome do Banco de Dados e localização são definidos conforme informações contidas na Propriedade do Projeto, toda tabela tem que ter um Banco de Dados associado, e um Banco de Dados pode conter uma ou todas as tabelas do projeto.

3.2. Tabelas

Através de um ou mais campos nós formamos a definição de um Tabela, essas Tabelas irão conter uma estrutura predefinida de informações para que o projeto final possa criar as Tabelas em disco para armazenar todos os registros de um sistema.

As Tabelas são constituídas de campos, chave primária e chaves secundárias (índices). Uma chave primária é definida por um ou mais campos, sendo que seus valores não poderão ser

13

duplicados na inclusão de registros. Como exemplo podemos citar uma tabela de cadastro de clientes, ao cadastrar o código 0001 esse código não poderá ser mais utilizado por outro cliente enquanto o mesmo existir.

3.3. Campos

São utilizados na definição da estrutura das tabelas. Os campos são definidos através de um conjunto de atributos, tais como: nome, tipo, tamanho, tipo de edição, máscara, título, etc.

As informações contidas na definição dos campos são de extrema importância, pois os componentes que serão utilizados na formatação da tela de “Entrada de Dados” estão subordinados aos atributos dos campos, principalmente o atributo de “Tipo de Edição”.

3.4. Campo Calculado

É um tipo de campo especial, por tratar-se de um campo

virtual, esse campo não é gravado fisicamente na Tabela. A utilização desse tipo de campo é aconselhável para demonstração de cálculos que dependem de outros campos e que são variáveis. Como exemplo podemos citar um campo de valor total de produtos, esse campo conterá um cálculo de multiplicação entre os campos de quantidade e preço unitário.

3.5. Integridades & Relacionamentos

A integridade de uma base de dados está vinculada a um

relacionamento correto e coerente entre as tabelas, existem registros que dependem de outros registros para serem criados e

14

existem registros que não podem ser excluídos se estiverem sendo referenciados em outras tabelas. O X-Maker proporciona os seguintes relacionamentos:

Relacionamento: Trata-se de um relacionamento simples, ou seja, não será utilizado para criação de integridade referencial. Esse tipo de relacionamento permite a utilização de campos “Extras”, campos de tabelas relacionadas poderão ser visualizados como se pertencessem a uma mesma tabela. Exemplo: A Tabela de Vendas possui um relacionamento com a Tabela de Clientes, e os campos da Tabela Clientes poderão ser agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos escolhidos da Tabela de Clientes não serão gravados fisicamente na Tabela de Vendas.

Restrita: Somente os registros que não estivem sendo referenciados em outras Tabelas poderão ser excluídos. Exemplo: A Tabela de Clientes possui uma referência da Tabela de Atividades Comerciais, ao excluir uma Atividade Comercial o sistema irá checar se a mesma não está sendo referenciada em algum ou alguns dos registros da Tabela de Clientes.

Cascata: Indica que ao excluir um determinado registro todos os registros relacionados em uma outra tabela serão excluídos também. Exemplo: A Tabela de Notas Fiscais possui uma Tabela relacionada de Itens da Nota Fiscal, o campo de relacionamento é o número da Nota Fiscal, ao excluir uma Nota Fiscal todos os registros da Tabela de Itens da Nota Fiscal que possuírem o mesmo número da Nota Fiscal serão excluídos.

15

3.6. Processos Diretos/Inversos

Os processos diretos/inversos permitem a atualização das tabelas relacionadas, o processo direto está vinculado à inclusão

e modificação dos registros e o processo inverso está vinculado

à exclusão e modificação. Como exemplo podemos citar uma Tabela de Vendas que deverá atualizar a Tabela de Estoque, ao vender um produto a quantidade do estoque é baixada (processo

direto), ao excluir um produto vendido à quantidade do estoque

é estornada (processo inverso).

3.7. Dicionário de Dados

O dicionário de dados é um poderoso recurso, pois possibilita ao projetista compartilhar de uma mesma definição de Banco de Dados, Tabelas, Campos, Índices e Relacionamentos. O projetista poderá dividir o programa em vários projetos, ao definir cada novo projeto o “Dicionário de Dados” poderá ser habilitado, o primeiro projeto criado será o principal, todas as definições de dados serão armazenados e compartilhados a partir do mesmo.

16

4. CONTEÚDO DAS PASTAS

A partir da pasta de instalação do X-Maker, esta pasta é indicada pelo usuário na instalação (a pasta padrão é C:\XMaker3), outras pastas são criadas para diversas finalidades.

C:\XMaker3\Comp : Contém os pacotes de componentes utilizados nos projetos, os pacotes são separados por pastas, para a linguagem Delphi você encontrará a pasta Delphi, a medida que outras linguagem forem sendo suportadas outras pastas serão adicionadas.

C:\XMaker3\Delphi : Contém os arquivos fontes utilizados na criação de um novo projeto, todos os arquivos são copiados para pasta do novo projeto, esses arquivos podem ser personalizados pelo projetista.

C:\XMaker3\Ajuda: Contém os arquivos de ajuda interna do X-Maker.

C:\XMaker3\Exemplos : Contém os projetos de exemplos para estudo e exemplificação da utilização do X-Maker, os projetos são separados por pastas.

C:\XMaker3\Imagem : Contém uma coletânea de mais de 700 bitmaps (bmp) e ícones (ico), para utilização nos projetos.

C:\XMaker3\Projetos : Esta pasta é criada para armazenamento de novos projetos, inicialmente não possui nenhum arquivo, serve apenas como uma

17

sugestão de pasta de localização dos projetos, sua utilização é opcional.

C:\XMaker3\Firebird : Contém o instalador do Firebird 1.5 e o utilitário IBConsole, esse utilitário é utilizado para manipular tabelas criadas pelo Firebird.

18

5. CONFIGURANDO O X-MAKER

Uma configuração padrão acompanha o X-Maker na sua instalação, essa configuração pode ser alterada a qualquer momento pelo projetista. Através do X-Maker é possível compilar e gerar o executável do projeto, para isso é necessário informar a localização do compilador do Delphi e os parâmetros adicionais, em Configurações do Menu Principal existe uma opção para cada versão do Delphi.

Principal existe uma opção para cada versão do Delphi. A compilação e criação do executável do
Principal existe uma opção para cada versão do Delphi. A compilação e criação do executável do

A compilação e criação do executável do projeto estão totalmente vinculadas à configuração correta do compilador e parâmetros adicionais.

19

Compilador:

Informe

a

localização

(path)

e

o

executável

responsável

pela

compilação,

utilize

o

compilador DCC32.EXE.

Parâmetros: Os parâmetros adicionais são utilizados pelo compilador (DCC32.EXE) é possível realizar várias configurações extras de compilação, a opção /U é utilizada para informar a localização de componentes extras.

Ajuda: Informe a localização (path) e o arquivo de ajuda do Delphi, isso torna possível à visualização da ajuda do próprio Delphi dentro do X-Maker.

5.1. Compilando e Executando pelo Delphi

É possível compilar e executar o projeto diretamente no Delphi, para isso é necessário instalar os componentes utilizados nos projetos.

Para instalar os componentes do X-Maker no Delphi (5, 6 ou 7) deve-se executar o Delphi e seguir os seguintes passos:

Menu File: Clique na opção Open e localize a pasta de instalação do X-Maker, acesse a pasta Comp\Delphi – “Exemplo: C:\XMaker3\Comp\Delphi “.

Componente do FreeReport: Abra o arquivo correspondente a versão do Delphi.

o

FREEREP5.DPK: Free Report para Delphi 5.

o

FREEREP6.DPK: Free Report para Delphi 6.

20

Instalando: Clique no botão Install. Ao fechar a janela de instalação confirme qualquer mensagem de confirmação de atualização.

Componente do X-Maker: Abra o arquivo correspondente a versão do Delphi.

o

XMaker5.DPK: X-Maker para Delphi 5.

o

XMaker6.DPK: X-Maker para Delphi 6.

o

XMaker7.DPK: X-Maker para Delphi 7.

Instalando: Clique no botão Install. Ao fechar a janela de instalação confirme qualquer mensagem de confirmação de atualização.

Finalizando: Acesse o menu do Delphi Tools\Environment Options selecione a aba “Library” no campo “Library Path”, verifique se existe o seguinte path “C:\XMaker3\Comp\Delphi” (C:\XMaker3 – Corresponde a pasta de instalação do X-Maker) se não existir faça a inclusão do mesmo.

5.2. Propriedades do Editor

Essa opção fica disponível quando algum arquivo fonte fica aberto. É possível personalizar algumas propriedades do editor.

21

21 • Auto Identificação: Permite que o próprio Editor identifique o tipo de arquivo está sendo

Auto Identificação: Permite que o próprio Editor identifique o tipo de arquivo está sendo aberto para o tratamento visual adequado.

Arrastar Selecionado: Áreas selecionadas no texto poderão ser arrastadas para outros pontos no próprio texto.

Converte Tabs para Espaços: Ao pressionamento da tecla TAB a quantidade de espaços será convertida para o caractere de espaço.

Scroll em Final de Linha: Ao posicionar o cursor na última linha um rolamento é realizado automaticamente para uma melhor visualização do texto.

22

Tamanho de um TAB: Informe a quantidade de espaços que será dado ao pressionamento da tecla TAB.

Barra Visível: Visualização da barra lateral no Editor, nesta barra é mostrado o número de cada linha no texto.

Mostra Nº de Linhas: Mostra o número de linhas na barra lateral do editor.

5.3. Campos Predefinidos

O X-Maker traz alguns campos predefinidos em sua instalação, esses campos são utilizados na definição de Tabelas. Os campos predefinidos auxiliam e agilizam o processo de definição.

campos são utilizados na definição de Tabelas. Os campos predefinidos auxiliam e agilizam o processo de

23

6. CONHECENDO AS ETAPAS DE DEFINIÇÃO DE UM PROJETO

Para o uso correto da ferramenta é necessário conhecer todas as etapas de definição, o domínio das funcionalidades de cada objeto disponível permite uma segurança muito grande para o projetista. A barra de Assistente do X-Maker contém as 06 etapas (passos) de criação de um projeto, sua utilização torna-se totalmente intuitiva e prática, a Barra de Ferramentas e o Menu Principal possui os mesmos atalhos da barra de Assistente.

24

Barra de Ferramentas Menu Principal
Barra de Ferramentas Menu Principal

Barra de Ferramentas

Barra de Ferramentas Menu Principal

Menu Principal

25

6.1. 1º Passo – Propriedades do Projeto

25 6.1. 1º Passo – Propriedades do Projeto Este é o primeiro passo para criação de

Este é o primeiro passo para criação de um projeto, é destinado à personalização do projeto.

Data no Formato Século: A visualização dos campos tipo Data em Entrada de Dados e Relatórios poderão ser vistos no formato “dd/mm/aa” ou “dd/mm/aaaa” (formato século), vale lembrar que essa visualização está

26

subordinada a configuração do Windows em Painel de Controle “Opções Regionais e de Idioma”.

Confirma Saída: Uma mensagem de confirmação de saída será executada ao finalizar o projeto final, a mesma poderá ser desabilitada pelo projetista. O usuário do projeto final também poderá alterar essa opção no menu Exibir em “Ambiente”.

Múltiplas Instâncias: Permite que o executável seja executado mais de uma vez em um mesmo microcomputador ao mesmo tempo.

Hint Estilo Balão: Exibe as mensagens na forma de balão. O usuário final poderá alterar essa opção no menu Exibir em “Ambiente”.

Menu Estilo XP: Exibe o menu no padrão do Windows XP, cores e formato. O usuário final poderá alterar essa opção no menu Exibir em “Ambiente”.

Controle de Acesso: Habilita o controle de acesso ao projeto.

Selecionar Empresa: Permite ao usuário final selecionar a Empresa Usuária na abertura do programa. O usuário final poderá alterar essa opção no menu Exibir em “Ambiente”.

Desativar Menu Lateral: O X-Maker gera menu lateral e superior, somente o lateral poderá ser desativado.

Desativar Barra de Ferramentas: Desativa a barra de ferramentas.

27

Banner Vertical: Exibe um banner lateral em degrade com o título do projeto.

Senha Inicial: Para projetos que irão utilizar o Controle de Acesso é possível definir uma senha para acesso inicial, o usuário padrão é MASTER.

Linguagem: Define a linguagem e versão a ser utilizada para compilação.

Banco de Dados: Define o banco de dados a ser utilizado pelo projeto.

Conexão: Componente de conexão com o banco de dados.

Compartilhamento – Dicionário de Dados: Habilita a pasta de localização do dicionário do projeto.

Compartilhamento – Pasta do Dicionário: Informe a pasta de localização do dicionário do projeto. Como padrão o X-Maker utiliza a mesma pasta do projeto.

Compartilhamento – Servidor do Dicionário: Informe o servidor utilizado para armazenamento do dicionário do projeto, essa opção é somente para a versão corporativa. Exemplo: Servidor, 195.195.1.1, etc.

Compartilhamento – Pasta do Projeto no Servidor:

Informe a pasta de localização das definições do projeto, é a pasta física do servidor.

Compartilhamento – Servidor do Projeto: Informe o servidor utilizado para armazenamento das definições do

28

projeto, essa opção é somente para a versão corporativa. Exemplo: Servidor, 195.195.1.1, etc.

Apresentação (2): Define uma imagem de apresentação durante a inicialização e abertura do projeto final.

Imagem de Fundo (3): Define uma imagem de fundo para o projeto final, o usuário poderá alterar a imagem no projeto final através do Menu Principal Exibir em “Ambiente”.

6.2. 2º Passo – Tabelas

Exibir em “Ambiente”. 6.2. 2º Passo – Tabelas Este é o segundo passo para a criação

Este é o segundo passo para a criação de um projeto, as Tabelas são estruturas formadas por campos, chave primária e,

29

opcionalmente, por chaves secundárias. Outros recursos de definição são os relacionamentos de integridade referencial, exclusões em cascatas e restritas, processos diretos/inversos e lançamentos.

Definição dos botões e teclas de atalho:

Salva a definição em edição, uso genérico.e lançamentos. Definição dos botões e teclas de atalho: Cancela a definição em edição, uso genérico.

Cancela a definição em edição, uso genérico.de atalho: Salva a definição em edição, uso genérico. Insere uma nova definição, t ecla de

Insere uma nova definição, tecla de atalho: “Insert”, uso genérico.

Exclui uma definição, tecla de atalho: “Delete”, uso genérico. a de atalho: “Delete”, uso genérico.

Importa estruturas já definidas (tabelas, campos, índices, integridades, relacionamentos, processos e lançamentos) em outras bases de dados ou outros projetos. índices, integridades, relacionamentos, processos e lançamentos) em outras bases de dados ou outros projetos.

Importa definições de campos do projeto em edição. Possibilita um maior ganho de produtividade, campos já definidos poderão ser reaproveitados.

Edição de campo “Calculado”, todo campo “Calculado” possui uma codificação definida pelo próprio projetista. possui uma codificação definida pelo próprio projetista.

Define a chave estrangeira dos campos com o tipo de edição: “Lista Externa (Estrangeira)”. Personaliza o estilo de pesquisa e campos a serem visualizados.

Insere campos das tabelas relacionadas, campos de tabelas relacionadas poderão ser visualizados como se pertencessem a uma mesma tabela. Exemplo: A Tabela de Vendas possui um relacionamento com a Tabela de Clientes, e os campos da Tabela Clientes poderão ser agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos escolhidos da Tabela de

agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos
agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos
agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos
agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos

30

Clientes

não

serão

gravados

fisicamente

na

Tabela

de

Vendas.

gravados fisicamente na Tabela de Vendas. Define a ordem de apresentação dos campos dentro das

Define a ordem de apresentação dos campos dentro das opções de “Consulta” dos formulários de “Entrada de Dados”.

De um duplo clique ou tecle F2 para editar qualquer definição já existente.

Dica:

Para forçar uma geração dos arquivos fonte das Tabelas, selecione qualquer Tabela e clique F2 para entra no modo de edição. Ao fechar a janela de “Tabelas & Campos” os arquivos fonte serão regerados.

6.2.1 Definindo Atributos da Tabela

Ao fechar a janela de “Tabelas & Campos” os arquivos fonte serão regerados. 6.2.1 Definindo Atributos

31

Através dessa janela é possível definir todos os atributos de uma Tabela.

Nome: Informe o nome da Tabela, esse nome será usado para criação do arquivo fonte (unit) e para criação da Tabela dentro do Banco de Dados.

Nome Físico da Tabela: É possível criar várias instâncias de uma mesma tabela, se o projetista define uma tabela cujo nome é “Clientes” e depois cria uma outra tabela com o nome de “Clientes_2” e essa tabela possui o Nome Físico: “Clientes”, isso indica que não será criada fisicamente uma tabela no banco de dados de nome “Clientes_2”, pois ele é uma outra instância da tabela “Clientes”. Em resumo “Clientes” e “Clientes_2” são uma mesma tabela.

Título: Informe o título da Tabela, esse título é utilizado para o uso interno do projeto.

Banco de Dados: Essa informação é obrigatória, toda Tabela tem que estar vinculada a um Banco de Dados,

toda Tabela tem que estar vinculada a um Banco de Dados, para definir um Banco de

para definir um Banco de Dados clique no botão .

Filtragem de Inicialização: Utilize essa opção para definir uma seleção de registros a serem abertos na inicialização do projeto, o X-Maker trabalha no conceito Client/Server, e a abertura de todos os registros não é aconselhável devido ao tráfego de informações em rede. Em uma tabela de “Vendas” o projetista poderá definir uma filtragem dos registros cuja data da venda seja igual à data atual do sistema, o usuário final poderá redefinir ou mesmo limpar esse filtro após a inicialização e o sistema ficará mais dinâmico.

32

Filtragem Fixa: Possui as mesmas características da “Filtragem de Inicialização” porém o usuário final não poderá altera-la ou mesmo limpa-la. Um exemplo prático é a utilização de um sistema “Multiempresa” em que cada tabela irá conter um campo de identificação da “Empresa Usuária”, a tabela será filtrada pelo número da “Empresa Usuária” selecionada no momento da inicialização.

Ordenação Inicial: Informe o(s) campo(s) de ordem inicial da tabela, como padrão toda tabela é ordenada pela chave primária definida, o projetista poderá alterar este padrão.

6.2.2

Definição do Banco de Dados

pela chave primária definida, o projetista poderá alterar este padrão. 6.2.2 Definição do Banco de Dados

33

O Banco de Dados irá gerenciar as Tabelas do projeto, sua utilização é obrigatória.

Salva o banco de dados em edição.as Tabelas do projeto, sua utilização é obrigatória. Cancela a edição do banco de dados. atalho:

Cancela a edição do banco de dados.é obrigatória. Salva o banco de dados em edição. atalho: “Insert”. Exclui o banco de dados

atalho:

“Insert”.

Exclui o banco de dados selecionado, tecla de atalho: selecionado, tecla de atalho:

“Delete”.

Inserebanco de dados selecionado, tecla de atalho: “Delete”. um novo banco de dados, tecla de •

um

novo

banco

de

dados,

tecla

de

Conexão Padrão: Indica se o Banco de Dados irá utilizar o banco de dados padrão definido em propriedades do projeto. É possível ter acessos diferentes em um mesmo projeto, exemplo: Firebird e MySql, MySql e SyBase, etc.

Bco. Dados: Tipo de Banco de Dados a ser utilizado, essa opção é utilizada quando a “Conexão Padrão” não está habilitada.

Alias: Esse nome é para uso interno da codificação dos arquivos fontes.

Servidor: É o nome físico do Banco de Dados. O usuário final do projeto poderá alterar o Servidor.

Login de Conexão: Habilita o uso de Login de Conexão para conectar-se a Base de Dados na abertura do projeto final. Sugerimos que deixe essa opção desmarcada o tratamento interno de Controle de Acesso do projeto é bem completo e prático.

34

Usuário: Informe o usuário (Login) para conexão com a Base de Dados, cada gerenciador de Banco de Dados possui um tratamento específico de acesso.

Senha: Informe a senha (Password) para conexão com a Base de Dados.

HostName: Informe o nome ou número do I.P do servidor de localização do Banco de Dados. O usuário final do projeto poderá alterar o HostName.

Parâmetros: É possível informar os parâmetros adicionais para conexão, os mesmos dependem do gerenciador utilizado.

Dica:

É possível definir vários Bancos de Dados, um Banco de Dados pode conter um conjunto de Tabelas, a utilização de mais de um Banco de Dados pode ser utilizado quando o projeto final realizar o tratamento de multiempresas. Como exemplo podemos citar um projeto para gerenciamento de uma Loja de Confecções, essa loja possui Matriz e Filiais, algumas Tabelas serão utilizadas de forma compartilhada (Clientes, Fornecedores e Contas a Pagar / Receber), para obter essa operação será necessário criar um Banco de Dados para armazenar as Tabelas que serão Compartilhadas e um outro Banco de Dados para as Tabelas não compartilhadas. Em configurações da Empresa Usuária no projeto final é possível definir uma localização diferente para cada Banco de Dados criado.

35

6.2.3 Importando Estruturas Externas

É possível importar uma estrutura já existente em outras

Bases de Dados ou projetos, clique no botão

.
.
em outras Bases de Dados ou projetos, clique no botão . Escolha a estrutura a ser

Escolha a estrutura a ser importada, para as estruturas X- Maker, dBase e Paradox basta informar a pasta de localização das tabelas, para as demais estruturas outras informações adicionais serão necessárias, tais como usuário (login) e senha

adicionais serão necessárias, tais como usuário (login) e senha (password). Clique no botão para ativar a

(password). Clique no botão para ativar a pesquisa.

36

6.2.4 Campos da Tabela

A definição dos campos é precedida de vários atributos, cada campo pode armazenar um tipo de dado diferente, uma definição lógica e coerente respeitando todos os atributos torna a aplicação final mais apresentável e com maior entendimento. As informações contidas serão utilizadas na criação do Layout dos Formulários e Relatórios.

na criação do Layout dos Formulários e Relatórios. 6.2.5 Botões Associados: Importa definições de campos do

6.2.5 Botões Associados:

Importa definições de campos do projeto em edição. Possibilita um maior ganho de produtividade, campos já definidos poderão ser reaproveitados. Possibilita um maior ganho de produtividade, campos já definidos poderão ser reaproveitados.

Edição de campo “Calculado”, todo campo “Calculado” possui uma codificação definida pelo próprio projetista. possui uma codificação definida pelo próprio projetista.

37

37 Define a chave estrangeir a dos campos com o tipo de edição: “Lista Externa (Estrangeira)”.

Define a chave estrangeira dos campos com o tipo de edição: “Lista Externa (Estrangeira)”. Personaliza o estilo de pesquisa e campos a serem visualizados.

Insere campos das tabelas relacionadas, campos de tabelas relacionadas poderão ser visualizados como se pertencessem a uma mesma tabela. Exemplo: A Tabela de Vendas possui um relacionamento com a Tabela de Clientes, e os campos da Tabela Clientes poderão ser agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos escolhidos da Tabela de Clientes não serão gravados fisicamente na Tabela de Vendas.

Define a ordem de apresentação dos campos dentro das opções de “Consulta” dos formulários de “Entrada de Dados”.

“Consulta” dos formulários de “Entrada de Dados”. 6.2.5.1 Nome Informe o nome que será utilizado para
“Consulta” dos formulários de “Entrada de Dados”. 6.2.5.1 Nome Informe o nome que será utilizado para

6.2.5.1 Nome

Informe o nome que será utilizado para tratamento interno dos arquivos fontes e para criação em disco da Tabela. Utilize o

botão

fontes e para criação em disco da Tabela. Utilize o botão para importar uma estrutura predefinida.

para importar uma estrutura predefinida.

6.2.5.2 Tipo

Informe o tipo de dado para armazenamento na Tabela.

As opções disponíveis são:

Alfanumérico: Permite o armazenamento de valores alfanuméricos (letras, algarismos e caracteres especiais) o seu tamanho máximo é fixo. Exemplos: Nome, Endereço, Cidade, etc.

38

Número Inteiro: Permite o armazenamento de valores do conjunto dos números inteiros (positivos e negativos). Exemplos: Códigos, Quantidade, Número de Dependentes, etc.

Número Fracionário: Permite o armazenamento de valores do conjunto dos números reais (inteiros ou fracionários, positivos ou negativos). O número de casas decimais de um campo fracionário é determinado pela máscara. Exemplos: Salário, Total das Vendas, Saldo em Caixa, etc.

Data: Permite o armazenamento de valores que representam datas válidas. O formato da data é determinado em “Propriedades do Projeto”.

Memo:

armazenamento de valores tamanho variável. Exemplos:

Observações, Referências Comerciais, Dados Adicionais, etc.

Imagem: Permite o armazenamento de imagens. Exemplos: Foto, Logotipo, etc.

Permite

de

o

alfanuméricos

6.2.5.3 Chave

Indica se o campo faz parte da chave primária, uma chave primária é composta por um ou mais campos da Tabela.

6.2.5.4 Tamanho

Informe o tamanho máximo para armazenamento no campo, não considerar o sinal de negativo (-), o separador de decimais (,) e outros caracteres separadores utilizados na máscara.

39

Exemplo: CNPJ é alfanumérico de tamanho 14 a máscara é 99.999.999/9999-99 os pontos (.) e barra (/) não são considerados para calcular o tamanho do campo.

6.2.5.5 Autoincremento

Indica que o campo será incrementado automaticamente (seqüencialmente), somente campos do tipo: Número inteiro, Fracionário e data poderão utilizar essa opção. A seqüência é subordinada a posição do campo na Tabela.

6.2.5.6 Edição

Informe o tipo de edição de controle, o formulário de entrada de dados irá utilizar o tipo de edição para inserir os componentes na tela. Os tipos disponíveis são:

Edit

(Edição

Padrão):

Caixa

de

edição

de

livre

digitação,

respeitando

as

restrições

impostas

pela

máscara.

Exemplo:

restrições impostas pela máscara. Exemplo: • Combo Drop (Lista Interna): Caixa de lista de opções

Combo Drop (Lista Interna): Caixa de lista de opções predefinidas, permite ao usuário a escolha do item através de uma lista. Os valores válidos são informados no atributo “Valores Válidos”. Exemplo:

informados no atributo “Valores Válidos”. Exemplo: • Rádio Button (Optativo): Caixa de opções onde todos

Rádio Button (Optativo): Caixa de opções onde todos os itens disponíveis ficam visíveis para escolha. Os valores válidos são informados no atributo “Valores

Válidos”. Exemplo:

são informados no atributo “Valores Válidos”. Exemplo: • Check Box (Conferência): Caixa optativa de marca e

Check Box (Conferência): Caixa optativa de marca e desmarca. Os valores válidos são informados no atributo

40

“Valores Válidos”, apenas dois valores são informados, um para marcado e outro para desmarcado. Exemplo:

um para marcado e outro para desmarcado. Exemplo: • Lista Externa (Estrangeira): Campo vinculada a uma

Lista Externa (Estrangeira): Campo vinculada a uma tabela relacionada, o estilo de pesquisa poderá ser personalizado (Combo Box ou Formulário de Pesquisa).

6.2.5.7 Calculado

Indica que o campo é do tipo Calculado, o X-Maker permite que o campo seja virtual (não é gravado fisicamente na Tabela) ou não virtual (é gravado fisicamente na Tabela). Sua utilização é válida quando se deseja mostrar um cálculo ou fórmula específica.

Exemplo: Ao definir uma Tabela de Itens da Venda, os campos Quantidade e Preço Unitário serão utilizados para formar o campo de Total Geral, ao definir a Tabela o projetista não sabe quais serão os valores informados pelo usuário no momento da venda, para isso utiliza-se uma codificação de multiplicação entre os campos de Quantidade e Preço Unitário criando assim o campo de Total Geral.

6.2.5.8 Máscara

Informe a máscara de apresentação do campo para formulários e relatórios. Os caracteres usados como máscara não são armazenados na Tabela e não ocupam espaço adicional.

As máscaras são utilizadas apenas para os campos cujo tipo de edição seja: Edit (Edição Padrão).

41

O X-Maker cria uma lista de opções de máscaras disponíveis conforme o tipo e tamanho do campo. Clique no botão vinculado ao atributo.

tamanho do campo. Clique no botão vinculado ao atributo. 6.2.5.8.1 Campos Numéricos e Fracionários: 9 •

6.2.5.8.1 Campos Numéricos e Fracionários:

9

Se nesta posição o valor for “0” (zero), será mostrado

o

“0” (zero) mesmo que seja zero à esquerda.

Z Se nesta posição o valor for “0” (zero), será mostrado

o “0” (zero) exceto se este for um zero à esquerda. Neste

caso, o “0” (zero) é substituído por um espaço em branco.

- O caractere “-“ (negativo) será mostrado sempre que o campo for negativo e para valores positivos será mostrado um espaço em branco.

6.2.5.8.2 Campos Alfanuméricos:

9 Indica que nesta posição somente algarismos serão aceitos entre “0” (zero) e “9” (nove).

A Indica que nesta posição somente letras e espaços serão aceitos. Os caracteres serão convertidos para maiúsculo.

a Indica que nesta posição somente letras e espaços serão aceitos. Os caracteres serão convertidos para minúsculo.

X Indica que nesta posição qualquer caractere será aceito. Os caracteres serão convertidos para maiúsculo.

x Indica que nesta posição qualquer caractere será aceito. Os caracteres serão convertidos para minúsculo.

42

* Indica que os próximos caracteres da máscara seguirão o caractere anterior ao “*”. É usado para simplificar e agilizar a digitação, como exemplo pode citar um campo de Nome do Cliente com tamanho de 50, a máscara utilizada será o X invés de digitar o X cinqüenta vezes, basta digitar o X*, o X-Maker irá gerar o X cinqüenta vezes no arquivo fonte.

6.2.5.9 Título

Informe o título do campo, esse título é utilizado no formulário de entrada de dados e relatórios.

6.2.5.10 Índice

Informe o número da ordem de apresentação do campo durante a consulta no formulário de “Entrada de Dados”.

6.2.5.11 Invisível

Informe se o campo não será visível durante a consulta no formulário de “Entrada de Dados”.

6.2.5.12 Ajuda

Informe a mensagem de ajuda do campo, essa mensagem é utilizada no formulário de entrada dados (Hint).

6.2.5.13 Valor Padrão

Informe o valor de inicialização do campo, este valor será utilizada na inclusão de um registro em formulário de dados. Um exemplo prático é a definição de Data de Cadastro na

43

Tabela de Clientes, ao incluir um novo Cliente a data de Cadastro irá trazer como padrão à data do sistema operacional.

Para campos de Data sugerimos a utilização do valor padrão DataAtual, e para campos que irão armazenar a hora, sugerimos a utilização do valor padrão HoraAtual. Não existe um tipo de campo do tipo Hora disponível no X-Maker, para isso defina o campo como Alfanumérico de Tamanho 06 e Máscara 99:99:99.

6.2.5.14 S. Atribui “Sempre Atribui”

Informe se o campo que possui “autoincremento” será sempre atualizado a cada mudança de campo durante a digitação e não irá permitir que o usuário altere a seqüência definida.

6.2.5.15 Pré-Validação

Informe uma condição lógica para edição do campo no formulário de “Entrada de Dados”. O campo somente será editável se a condição retornar “verdadeiro” ou se não existir nenhuma condição definida. Exemplo: TabGlobal.DClientes.TIPO_PESSOA.Conteudo = 'F' Neste exemplo o campo “CPF” somente será editável se o tipo de pessoa for “Física”. Para deixar o campo sem edição insira o valor lógico “Falso”, exemplo: False

6.2.5.16 Ação

Informe a “Ação” a ser executada após a “Pré-Validação”, esta “ação” é executada quando a “Pré-Validação” retorna “Falso”. Seguindo o exemplo acima do campo “CPF” o projetista poderá definir se o campo será “Não Editável” ou “Invísivel” quando o usuário escolher o tipo de pessoa “Jurídica”.

44

6.2.5.17 Limpar Campo

Informe se o campo será limpo quando a “Pré-Validação” retornar “Falso”. Seguindo o exemplo acima do campo “CPF” o projetista poderá definir se o conteúdo do campo será eliminado quando o usuário escolher o tipo de pessoa “Jurídica”.

6.2.5.18 Validação

Informe uma função de validação para o campo. Essa função será vinculada ao evento OnExit (Ao Sair) do campo no formulário de entrada de dados, ou seja, quando o cursor mudar de campo ou o usuário clicar em Salvar. Para utilizar mais de uma validação em um mesmo campo utilize o ponto-e-vírgula, exemplo: DATAVALIDA;VALORNULO

As funções de validação são módulos codificados, que são

armazenados no arquivo fonte “Validar.Pas” presente na pasta

do projeto.

O projetista poderá inserir e modificar as funções de

validações fornecidas pelo X-Maker. Basta editar o arquivo fonte “Validar.Pas” e realizar as modificações necessárias. As modificações realizadas na pasta do projeto pertencem única e exclusivamente ao projeto em questão, caso você queira realizar

uma modificação no “Validar.Pas” para que todos os projetos que forem criados a partir dessa personalização façam uso desse arquivo fonte, altere na pasta de origem dos arquivos fontes, “C:\XMaker3\Delphi\Validar.Pas”. Lembrando que “C:\XMaker3” é a pasta básica de instalação, se o X-Maker estiver instalado em outra pasta considere a pasta correta.

A lista interna das funções disponíveis para validação

estão no arquivo “C:\XMaker3\Validacao.Lst” trata-se de um

45

arquivo texto comum que poderá ser editado por qualquer editor de texto. Personalizações nesse arquivo são reconhecidas. A edição desse arquivo é justificável quando o projetista cria novas funções de validação no arquivo fonte “Validar.Pas”.

Funções de validação disponíveis no “Validar.Pas”:

function DATAVALIDA(Dado: string): Boolean; // Valida data no formato ddmmaa ou no formato ddmmaaaa

function VUF(Dado: string): Boolean; // Valida as siglas dos estados

function VCNPJ(Dado: string): Boolean; CNPJ

function VCPF(Dado: string): Boolean; CPF

// Valida o

//

Valida o

function VPIS(Dado: String): Boolean; // Valida o PIS

function VHORA(Dado: string): Boolean; Hora

// Valida a

function VHORAMIN(Dado: string): Boolean; // Valida a Hora e Minutos

function VHORAMINSEG(Dado: string): Boolean; // Valida a Hora, Minutos e Segundos

function ANOATUAL(Dado: string): Boolean; // Valida o Ano Atual

46

function MESATUAL(Dado: string): Boolean; // Valida o Mês Atual

function MESANOATUAL(Dado: string): Boolean; // Valida o Mês a Ano Atual

function MESANOVALIDO(Dado: string): Boolean; // Valida o Mês e Ano

6.2.5.19 Procurar em

Informe se o campo será pesquisado e validado em outra Tabela, a mesma deverá ser definida em “Relacionamentos”, somente tabelas relacionadas poderão ser pesquisadas. Campos com o tipo de edição: “Lista Externa (Estrangeira)” poderão utilizar esta opção para garantir a consistência dos dados.

6.2.5.20 Msg. de Erro “Mensagem de Erro”

Informe uma mensagem de erro a ser apresentada para o usuário quando os atributos de “Validação” ou “Procurar em” retornarem “Falso”, o X-Maker gera uma mensagem padrão quando este atributo estiver vazio.

6.2.5.21 Valores Válidos

É uma lista de valores com suas respectivas descrições. Esta lista é utilizada para campos cuja Edição seja: Lista Interna (Combo Drop), Optativo (Rádio Button) ou Conferência (Check Box).

47

47 Os valores contidos em “Valor” serão gravados na Tabela, as descrições “Descrição” serão mostradas no

Os valores contidos em “Valor” serão gravados na Tabela, as descrições “Descrição” serão mostradas no formulário de entrada de dados e na consulta.

Ao fechar a caixa de “Tabela de Valores Válidos” o

forma

, todos os valores válidos são separados

atributo

será

preenchido

da

seguinte

são separados atributo será preenchido da seguinte por (ponto-e-vírgula). O tipo de Edição: “Conferênci a

por (ponto-e-vírgula).

O tipo de Edição: “Conferência (Check Box)” só poderá conter dois valores válidos. O primeiro valor indica que o componente estará marcado, o segundo valor indica que o componente estará desmarcado.

6.2.6 Definição da Chave Estrangeira

Os campos definidos como “Lista Externa (Estrangeira)” deverão ser associados corretamente,

48

6.2.7 Edição de Campo Calculado

Os

campos

definidos

como

“Campo

Calculado”

são

codificados conforme a linguagem utilizada no projeto.

são codificados conforme a linguagem utilizada no projeto. A codificação é dividida em duas janelas de

A codificação é dividida em duas janelas de texto, a 1ª janela de texto é destinada para as declarações de variáveis locais, a 2ª janela de texto é destinada para a codificação que irá gerar um retorno através da variável “Result”.

A utilização da variável “Result” é obrigatória, e o tipo de informação a ser atribuída depende do tipo do campo (alfanumérico, inteiro, fracionário ou data). A atribuição de um campo número ou data em um campo alfanumérico ou vice-e- versa, sem as devidas conversões, causa um erro de compilação.

49

Codificar um “Campo Calculado” exige um conhecimento básico de programação.

6.2.8 Índices (Chaves Secundárias)

Os índices são utilizados para agilizar o processo de localização, filtragem e ordenação em formulários de entrada de dados e relatórios. Sua utilização não é obrigatória e uma falta de coerência torna o acesso à base de dados mais lenta, a quantidade de índices definidos em uma Tabela interfere na velocidade de atualização da mesma.

Para os campos que serão mais utilizados em processos de localização, filtragem e ordenação é aconselhável a utilização de índices.

Um índice é composto por um ou mais campos, de forma crescente (padrão) ou decrescente, campos número resultam em índices mais velozes.

Uma Tabela pode conter vários índices, os campos Memo e Imagem não poderão ser utilizados na criação de um índice.

Uma Tabela pode conter vários índices, os campos Memo e Imagem não poderão ser utilizados na

50

6.2.9 Integridades & Relacionamentos

A integridade de uma base de dados está vinculada a um relacionamento correto e coerente entre as tabelas, existem registros que dependem de outros registros para serem criados e existem registros que não podem ser excluídos se estiverem sendo referenciados em outras tabelas. O X-Maker proporciona os seguintes relacionamentos:

Relacionamento: Trata-se de um relacionamento simples, ou seja, não será utilizado para criação de integridade referencial. Esse tipo de relacionamento permite a utilização de campos “Extras”, campos de tabelas relacionadas poderão ser visualizados como se pertencessem a uma mesma tabela. Exemplo: A Tabela de Vendas possui um relacionamento com a Tabela de Clientes, e os campos da Tabela Clientes poderão ser agregados a Tabela de Vendas. Isso não é uma duplicidade de informação ou campos, os campos escolhidos da Tabela de Clientes não serão gravados fisicamente na Tabela de Vendas.

Restrita: Somente os registros que não estivem sendo referenciados em outras Tabelas poderão ser excluídos. Exemplo: A Tabela de Clientes possui uma referência da Tabela de Atividades Comerciais, ao excluir uma Atividade Comercial o sistema irá checar se a mesma não está sendo referenciada em algum ou alguns dos registros da Tabela de Clientes.

Cascata: Indica que ao excluir um determinado registro todos os registros relacionados em uma outra tabela serão excluídos também. Exemplo: A Tabela de Notas Fiscais possui uma Tabela relacionada de Itens da Nota Fiscal, o campo de relacionamento é o número da Nota

51

Fiscal, ao excluir uma Nota Fiscal todos os registros da Tabela de Itens da Nota Fiscal que possuírem o mesmo número da Nota Fiscal serão excluídos.

o mesmo número da Nota Fiscal serão excluídos. • Relacionado com: relacionamento. Informe a Tabela para

Relacionado

com:

relacionamento.

Informe

a

Tabela

para

Campos: Lista dos campos disponíveis para relacionamento das Tabelas.

Campo(s) de associação: Para relacionar os campos é necessário selecionar um campo de cada lista em “Campos”, depois clicar no botão “Inserir Relacionamento”. Os campos devem possuir a mesma estrutura (tipo e tamanho), não há necessidade de possuírem o mesmo nome. Um relacionamento é composto por um ou mais conjunto de campos.

52

6.2.10 Processos Diretos/Inversos

Os processos diretos/inversos permitem a atualização das

tabelas relacionadas, o processo direto está vinculado à inclusão

e modificação dos registros e o processo inverso está vinculado

à exclusão e modificação. Como exemplo podemos citar uma

Tabela de Vendas que deverá atualizar a Tabela de Estoque, ao

vender um produto a quantidade do estoque é baixada (processo

direto), ao excluir um produto vendido à quantidade do estoque

é estornada (processo inverso).

é baixada (processo direto), ao excluir um produto vendido à quantidade do estoque é estornada (processo

53

Processo “Direto”.

53 Processo “Direto”. Processo “Inverso”.

Processo “Inverso”.

53 Processo “Direto”. Processo “Inverso”.

54

6.2.11 Lançamentos

Os lançamentos poderão ser utilizados para gerar um novo registro em outra tabela após a inclusão.

gerar um novo registro em outra tabela após a inclusão. Neste exemplo um novo registro na

Neste exemplo um novo registro na tabela de “Clientes” é inserido após a inclusão de um novo “Fornecedor”. O “Cliente” irá conter o mesmo “Código” e “Nome”.

55

6.3. 3º Passo – Formulários

55 6.3. 3º Passo – Formulários Este é o terceiro passo para criação de um projeto,

Este é o terceiro passo para criação de um projeto, através desta opção o projetista irá definir todos os formulários a serem utilizados pelo projeto.

Após a definição das Tabelas é necessário criar uma interface para que o usuário do seu projeto final passa entrar

56

com informações. O X-Maker possui um Editor de Layout muito prático e eficiente, a criação de janelas de entrada de dados nunca foi tão fácil e amigável.

O

X-Maker

possibilita

formulários, são eles:

a

criação

de

04

tipos

de

Entrada de Dados: É o tipo mais usado para definição, esse tipo de formulário trabalha no padrão MDI ou Interface de Múltiplos Documentos. É um modelo mais sofisticado, pois possibilita o acesso às outras áreas do programa e a abertura de outros formulários ao mesmo tempo. Todas as janelas poderão ser minimizadas e maximizadas.

Entrada de Dados Filho: Esse tipo de formulário trabalha no padrão Modal, ou seja, outras áreas do programa não poderão ser acessadas enquanto o mesmo estiver aberto. As definições de formulários (Entrada de Dados) que irão utilizar um Grid de Relacionamento irão utilizar uma Entrada de Dados Filho para vincular a manipulação dos dados da Tabela relacionada. Como exemplo podemos citar a definição de uma Nota Fiscal (Entrada de Dados) que irá conter um Grid de Relacionamento para a chamada dos Itens da Nota Fiscal (Entrada de Dados Filho).

Avulso MDI: A definição de formulário avulso é destinada para a manipulação direta no Delphi, ou seja, o X-Maker irá criar um formulário vazio para que o projetista possa manipulá-lo através do próprio Delphi. Esse tipo de formulário trabalha no padrão MDI ou Interface de Múltiplos Documentos.

57

Avulso Normal: Possui os mesmos propósitos do Avulso MDI, porém o padrão utilizado é o Modal, ou

seja, outras áreas do programa não poderão ser acessadas

enquanto o mesmo estiver aberto.

Finalidade de cada botão:

Inclui um novo formulário.enquanto o mesmo estiver aberto. Finalidade de cada botão: Exclui um formulário selecionado. Edita as propriedades

Exclui um formulário selecionado.Finalidade de cada botão: Inclui um novo formulário. Edita as propriedades do formulário. Layout do formulário.

Edita as propriedades do formulário.um novo formulário. Exclui um formulário selecionado. Layout do formulário. Confirma a inclusão ou modificação

Layout do formulário. selecionado. Edita as propriedades do formulário. Confirma a inclusão ou modificação de um formulário.
Layout do formulário.

Confirma a inclusão ou modificação de um formulário.Edita as propriedades do formulário. Layout do formulário. Cancela a inclusão ou modificação de um formulário.

Cancela a inclusão ou modificação de um formulário.Confirma a inclusão ou modificação de um formulário. Importa formulário definido em outro projeto. 6.3.1

Importa formulário definido em outro projeto.

6.3.1 Finalidade de cada atributo:

Nome: Informe o nome do formulário, este nome será utilizado para criação do arquivo fonte.

Tipo: Informe o tipo de formulário, os tipos disponíveis são: Entrada de Dados, Entrada de Dados Filho, Avulso

MDI e Avulso Normal.

Título: Informe o título do formulário, o título será atribuído no “Caption” do formulário.

Tabela: Informe a Tabela a ser manipulada pelo formulário. Os formulários de Entrada de Dados e Entrada de Dados Filho são utilizados para a criação de uma interface de manipulação das Tabelas.

58

Os formulários são ordenados por nome, utilize a opção “Localizar” para um posicionamento mais rápido no formulário desejado, esta opção é válida quando o projeto conter um número muito grande de formulários.

6.3.2 Definindo o Layout do formulário

O X-Maker possui um poderoso e prático editor de layout de formulários. Com o recurso exclusivo de auto formatação o projetista terá um ganho de produtividade muito grande, outro ponto importante é a manipulação do arquivo fonte gerado em uma mesma tela. Toda codificação é gerada automaticamente a cada manipulação dos componentes disponíveis.

a cada manipulação dos componentes disponíveis. Um protótipo do formulário é criado para facilitar a

Um protótipo do formulário é criado para facilitar a referência visual dos componentes, a janela “Object Inspector” permite a manipulação direta dos componentes, criação de

59

páginas e/ou acesso aos eventos disponíveis. O arquivo fonte poderá ser editado através do botão “Editar arquivo fonte”, para que o projetista possa interagir diretamente na codificação.

O X-Maker trabalha diretamente no arquivo fonte, os arquivos “.Pas” e “.Dfm” do Delphi, ou seja, toda leitura e gravação do layout do formulário e realizado diretamente nesses arquivos. Esse recurso avançado permitiu uma grande interação como o Delphi, pois qualquer manipulação do formulário através do Delphi é preservada no X-Maker. Algumas áreas são restritas, essas áreas serão comentadas no tópico de “Estrutura do Arquivo Fonte”, e a descaracterização do layout não poderá ser feita pelo projetista. Para formulários totalmente personalizados sugerimos a utilização de formulários do tipo:

“Avulso MDI” ou “Avulso Normal”.

60

6.3.2.1 Janela “Object Inspector”

Coletânea de componentes extras disponíveis para inserção nas páginas. Estes componentes não são utilizados para
Coletânea de componentes extras
disponíveis para inserção nas páginas.
Estes componentes não são utilizados
para manipulação dos campos da
Tabela.
Coletânea de componentes para
manipulação dos campos da Tabela.
Salva o layout em definição.
Define o estilo de abertura do
formulário.
Grid de relacionamento, tabelas de
relacionamento “exclusão em cascata”
poderão ser manipuladas em um
mesmo formulário.
Insere
campo(s)
da
tabela
no
formulário.
Recurso de “Auto formatação” das
páginas, todos os campos selecionados
serão posicionados corretamente nas
páginas.
Edita
o
arquivo
fonte do
formulário, o projetista poderá interagir
com o fonte gerado.

61

Define o “TabOrder” seqüência de digitação dos campos pelo usuário final.

Define o “TabOrder” seqüência de digitação dos campos pelo usuário final.

Configuração das páginas do

Configuração

das

páginas

do

formulário.

 
Área de manipulação dos objetos.

Área de manipulação dos objetos.

O X-Maker permite a criação de até 11 páginas por formulário, ao utilizar o recurso
O X-Maker permite a
criação de até 11 páginas
por formulário, ao
utilizar o recurso de
auto formatação novas
páginas poderão ser
criadas automaticamente
dependendo da
quantidade de campos
da Tabela.

Dica:

Para alternar entre a janelas (Propriedades e Protótipo) utilize a tecla F11.

62

6.3.2.2 Inclusão de Grid de Relacionamento

Em formulários de entrada de dados é possível a utilização de um Grid de Relacionamento, para operações do tipo “Mestre- Detalhe”. Exemplo: Notas Fiscais e Itens da Notas, Vendas e Itens da Venda, Orçamentos e Itens do Orçamento, etc.

e Itens da Venda, Orçamentos e Itens do Orçamento, etc. Neste exemplo de definição de um

Neste exemplo de definição de um formulário de vendas é possível identificar sua real utilização. O Grid fará o acesso a Tabela de Itens da Venda, o campo de ligação será o Nº da Venda que é um campo em comum entre as Tabelas.

63

Para inserir um Grid de Relacionamento clique no botão

na janela “Object Inspector”, depois clique em qual área da tela o componente será inserido.

clique em qual área da tela o componente será inserido. Somente tabelas definidas com o relacionamento

Somente tabelas definidas com o relacionamento “Exclusão em Cascata” poderão ser utilizadas. Faça a definição em “Assistente -> Tabelas”.

Faça a definição em “Assistente -> Tabelas”. • Edição direta: Informe se o Grid terá uma

Edição direta: Informe se o Grid terá uma edição direta, ou seja, não será necessário utilizar um formulário “filho” para manipulação dos dados.

Formulário: A manipulação dos registros poderá ser realizada através de um formulário “filho”. Antes de inserir um Grid de Relacionamento em um formulário de Entrada de Dados faça a definição de um formulário de Entrada de Dados Filho da Tabela relacionada.

64

6.3.2.3 Movimentar e Redimensionar Componentes da Tela

Os componentes inseridos em “Páginas” da janela de protótipo poderão movimentados, arrastados, copiados, recortados, colados, excluídos e redimensionados. É possível mover um ou vários componentes de uma página para outra, utilize o recurso de recortar (Ctrl+X).

Mouse: Utilize o mouse para arrastar, redimensionar e selecionar os componentes.

Teclado: Selecione os componentes pelo mouse e use o teclado para movimentar ou redimensionar os componentes.

o

Ctrl + Setas: Movimenta os componentes selecionados em uma posição.

o

Ctrl + Shift + Setas: Movimentam os componentes selecionados em oito posições.

o

Shift + Setas: Redimensiona os componentes selecionados.

o

Del: Exclui os componentes selecionados.

o

Ctrl + C: Copia os componentes selecionados.

o

Ctrl + V: Cola os componentes selecionados.

o

Ctrl + X: Recorta os componentes selecionados.

65

65 Propriedades dos Objetos Clique com o botão da direita do mouse para obter uma lista

Propriedades dos Objetos

Clique com o botão da direita do mouse para obter uma lista de propriedades “extra” de configuração.

6.3.2.4 Finalidade do botão “Tabelas” no formulário

6.3.2.4 Finalidade do botão “Tabelas” no formulário Este botão é utilizado para criação de um menu

Este botão é utilizado para criação de um menu de atalhos para acesso a outros formulários do projeto, normalmente são formulários que possuem algum tipo de vinculo com o formulário em questão. Como exemplo podemos citar um formulário de Cadastro de Produtos do Estoque, ao cadastrar um produto são exigidas algumas informações do tipo: Grupo, Família, Fornecedor e Unidade, e existe uma Tabela e formulário para cada uma dessas informações. Para criar um acesso mais rápido e esses formulários o projetista poderá utilizar o botão “Tabelas”.

66

Inicialmente este botão possui a propriedade “Visible”

Inicialmente este botão possui a propriedade “Visible” desabilitada, para habilitar clique no botão e escolha a

desabilitada, para habilitar clique no botão e escolha a opção “Rodapé – Manutenção” ou “Rodapé – Consulta”.

– Manutenção” ou “Rodapé – Consulta”. Clique no botão “Tabelas” e habilite a propriedade

Clique no botão “Tabelas” e habilite a propriedade “Visible” na janela “Object Inspector”.

propriedade “Visible” na janela “Object Inspector”. Faça a edição do evento “BtnRelac_1Click”, clique em

Faça a edição do evento “BtnRelac_1Click”, clique em “OnClick” na janela “Object Inspector”.

67

67 Insira a codificação entre os blocos {09} e {99} , utilize o método “AddMenuItem” para
67 Insira a codificação entre os blocos {09} e {99} , utilize o método “AddMenuItem” para

Insira a codificação entre os blocos {09} e {99}, utilize o método “AddMenuItem” para atribuir um novo item ao menu da tabelas relacionadas.

68

Exemplo:

AddMenuItem(PopRelacionados, 'Atividades', 'mnuAtividades', True , 0, 6001);

Parâmetros do Método “AddMenuItem”:

PopRelacionados = Objeto “PopMenu” a ser utilizado. ‘Atividades’ = Título a ser apresentado no menu. ‘mnuAtividades’ = Nome interno do componente, não poderá ser utilizado nome de outro componente utilizado no formulário. Como padrão o projetista poderá utilizar a sigla “mnu” + o nome do formulário. True = Habilitado e False = Desabilitado. 0 = Número do ícone de imagem de apresentação. 6001 = Número de seqüência de identificação utilize a seqüência 6001, 6002, 6003, etc. para os demais formulários.

Salve a codificação do evento e faça a edição do arquivo fonte,

clique no botão: “Editar arquivo fonte”.

arquivo fonte, clique no botão: “Editar arquivo fonte”. Vá “PopRelacionadosClick” . para o bloco de

“PopRelacionadosClick”.

para

o

bloco

de

codificação

do

evento

69

69 Insira a codificação entre os blocos {10} e {99} , utilize o botão “form” na

Insira a codificação entre os blocos {10} e {99}, utilize o botão “form” na barra de ferramentas do “Mini Editor” para inserir a codificação de chamada do formulário desejado.

Exemplo:

{10-Início do Bloco Modular. Modificações não serão preservadas} if MenuItem.Tag = 6001 then begin FormAtividades := TFormAtividades.Create(Application); Try FormAtividades.ShowModal; Finally FormAtividades.Free; end; end {99-Final do Bloco Modular. Modificações não serão preservadas}

70

É necessário referenciar as units dos formulários utilizados na cláusula “uses”.

units dos formulários utilizados na cláusula “uses”. O projetista poderá utilizar o botão “Tabelas” para

O projetista poderá utilizar o botão “Tabelas” para outras finalidades ou até mesmo remove-lo, fica a critério do projetista.

6.3.3 Janela do Mini Editor

O projetista tem a sua disposição o arquivo fonte do formulário que está sendo definido, o arquivo é atualizado a cada mudança no layout.

71

71 Vejamos as funções da barra de ferramentas do editor: Modo interativo de criação de expressões
71 Vejamos as funções da barra de ferramentas do editor: Modo interativo de criação de expressões

Vejamos as funções da barra de ferramentas do editor:

Modo interativo de criação de expressões a serem inseridas no arquivo fonte. no arquivo fonte.

Insere campo de qualquer tabela definida no projeto. de expressões a serem inseridas no arquivo fonte. Codificação correta de chamada de formulários. Permite

Codificação correta de chamada de formulários. Permite recortar uma área selecionada (Ctrl+X). Permite copiar uma área selecionada (Ctrl+C).
Codificação correta de chamada de formulários. Permite recortar uma área selecionada (Ctrl+X). Permite copiar uma Permite recortar uma área selecionada (Ctrl+X).
chamada de formulários. Permite recortar uma área selecionada (Ctrl+X). Permite copiar uma área selecionada (Ctrl+C). Permite copiar uma área selecionada (Ctrl+C).

(Ctrl+X). Permite copiar uma área selecionada (Ctrl+C). Sintaxe das principais estruturas de codificação do Delphi.

Sintaxe das principais estruturas de codificação do Delphi.

72

Permite colar uma área copiada ou recortada (Ctrl+V). Localiza uma expressão no arquivo (Ctrl+F).
Permite colar uma área copiada ou recortada (Ctrl+V). Localiza uma expressão no arquivo (Ctrl+F). Localiza uma expressão no arquivo (Ctrl+F).
Permite colar uma área copiada ou recortada (Ctrl+V). Localiza uma expressão no arquivo (Ctrl+F).

Procura uma próxima expressão encontrada (Ctrl+L). Procura e substitui uma expressão no arquivo (Ctrl+R).(Ctrl+V). Localiza uma expressão no arquivo (Ctrl+F). Posicione o cursor em uma linha desejada (Alt+G). Confirma

Posicione o cursor em uma linha desejada (Alt+G). Procura e substitui uma expressão no arquivo (Ctrl+R). Confirma as alterações. Cancela a edição. 6.3.3.1
Posicione o cursor em uma linha desejada (Alt+G).

Confirma as alterações.(Ctrl+R). Posicione o cursor em uma linha desejada (Alt+G). Cancela a edição. 6.3.3.1 Estrutura do Arquivo

Cancela a edição.

6.3.3.1 Estrutura do Arquivo Fonte

Para uma melhor utilização e aproveitamento dos arquivos fontes gerados é necessário que o projetista conheça melhor a estrutura utilizada.

A estrutura segue os padrões estabelecidos pelo Delphi, vários eventos foram criados para atender as exigências de tratamento das Tabelas.

Os arquivos fontes possuem vários blocos de utilização interna do X-Maker, esses blocos não serão preservados em eventuais personalizações através do Delphi ou algum outro meio.

Os blocos são identificados como linhas de comentários, iniciados em “{XX-Início do Bloco Modular. Modificações não serão preservadas}” e finalizados em “{99-Final do Bloco Modular. Modificações não serão preservadas}”. “XX” representa o número do bloco, um arquivo fonte pode ter vários blocos (01, 02, 03, etc).

73

73 Os blocos são utilizados de forma estratégica a fim de não comprometer a liberdade de

Os blocos são utilizados de forma estratégica a fim de não comprometer a liberdade de codificação do projetista.

Grande parte das funções e procedimentos utilizados em um formulário de entrada de dados e entrada dados filhos estão codificados na unit “RotinaEd.Pas”.

6.3.4 Principais eventos

6.3.4.1 Inicialização (FormShow)

Este evento é utilizado para fazer a ligação entre os componentes e os campos da Tabela, algumas configurações visuais são tratadas também neste evento. O evento é chamando quando o formulário é executado pela primeira vez, quando o formulário é fechado e executado novamente conta-se como

74

sendo a primeira vez. O projetista deverá respeitar os blocos 05 e 06.

6.3.4.2 Abertura de Tabelas (AbreTabelas)

Todas as Tabelas do projeto são abertas na inicialização do projeto final, o projetista não irá encontrar neste evento as codificações de abertura da Tabela manipulada pelo formulário. Este evento foi mantido visando uma possível necessidade do usuário em realizar uma abertura de Tabela de forma Local no formulário.

6.3.4.3 Confirma Inclusão (ConfirmaInclusao)

Cada vez que o usuário do projeto final pedir uma inclusão de registro, o evento “ConfirmaInclusao” será chamado, este evento retorna uma expressão lógica permitindo ou não a inclusão. Como padrão o evento retorna sempre verdadeiro, o projetista poderá criar uma condição para manipular o retorno.

6.3.4.4 Confirma Modificação (ConfirmaModificacao)

Cada vez que o usuário do projeto final pedir uma modificação do registro, o evento “ConfirmaModificacao” será chamado, este evento retorna uma expressão lógica permitindo ou não a modificação. Como padrão o evento retorna sempre verdadeiro, o projetista poderá criar uma condição para manipular o retorno.

6.3.4.5 Confirma Exclusão (ConfirmaExclusao)

Cada vez que o usuário do projeto final pedir uma exclusão de registro, o evento “ConfirmaExclusao” será chamado, este evento retorna uma expressão lógica permitindo

75

ou não a exclusão. Como padrão o evento retorna sempre verdadeiro, o projetista poderá criar uma condição para manipular o retorno.

6.3.4.6 Confirma Gravação (ConfirmaGravacao)

Cada vez que o usuário do projeto final pedir para salvar um registro, o evento “ConfirmaGravacao” será chamado, este evento retorna uma expressão lógica permitindo ou não que o registro seja salvo. Como padrão o evento retorna sempre verdadeiro, o projetista poderá criar uma condição para manipular o retorno.

6.3.4.7 Ao Entrar Manutenção (TelaManutencao)

Toda vez que a tela de manutenção do formulário for ativada o evento “TelaManutencao” será chamado, ao navegar entre os registros com a tela de manutenção ativa o evento será chamado também. Esse evento é muito útil para realizar alterações de propriedades visuais em tempo de execução. Exemplo: um Cadastro de Clientes, aonde o tipo de pessoa (Física ou Jurídica) determina o preenchimento de certos campos, o projetista terá que codificar essas particularidades exigidas. Os campos a serem habilitados ou desabilitados serão codificados nesse evento.

6.3.4.8 Ao Entrar Consulta (TelaConsulta)

Toda vez que a tela de consulta do formulário for ativada o evento “TelaConsulta” será chamado.

76

6.3.4.9 Atribui Valores (AtribuiValoresPadrao)

Quando o usuário do projeto final pedir uma inclusão de registro o evento “AtribuiValoresPadrao” será chamado, o X- Maker utilize este evento para atribuir a função de auto- incremento de um campo. O projetista poderá utilizar este evento para atribuir valores aos campos da Tabela.

6.3.4.10 Antes de Salvar (AntesdeSalvar)

Este evento será chamado antes de salvar um registro através do botão “Salvar” do formulário. O projetista poderá realizar codificações de atribuição de campos ou para quaisquer outros fins.

6.3.4.11 Antes de Incluir (AntesdeIncluir)

Este evento será chamado antes de entrar no modo de inclusão de registro, através do botão “Incluir” da barra de ferramentas.

6.3.4.12 Antes de Modificar (AntesdeModificar)

Este evento será chamado antes de entrar no modo de modificação de registro, através do botão “Modificar” da barra de ferramentas.

6.3.4.13 Antes de Excluir (AntesdeExcluir)

Este evento será chamado antes de entrar no modo de exclusão de registro, através do botão “Excluir” da barra de ferramentas.

77

6.3.4.14 Depois de Incluir (DepoisdeIncluir)

Este evento será chamado depois da inclusão de um registro, através do botão “Incluir” da barra de ferramentas.

6.3.4.15 Depois de Modificar (DepoisdeModificar)

Este evento será chamado depois da modificação de um registro, através do botão “Modificar” da barra de ferramentas.

6.3.4.16 Depois de Excluir (DepoisdeExcluir)

Este evento será chamado depois da exclusão de um registro, através do botão “Excluir” da barra de ferramentas.

6.3.4.17 Finalização (FormClose)

Este evento será chamado quando o usuário do projeto final fechar o formulário.

78

6.4. 4º Passo – Relatórios, Etiquetas e Gráficos.

78 6.4. 4º Passo – Relatórios, Etiquetas e Gráficos. Este é o quarto passo para cr

Este é o quarto passo para criação de um projeto, através desta opção o projetista irá definir todos os relatórios, etiquetas e gráficos a serem utilizados pelo projeto.

79

Em um projeto a extração de resultados é realizada através dessa opção, é possível criar vários tipos de relatórios, o projetista terá toda liberdade de criação através do Editor de Layout.

Relatórios: O projetista poderá definir vários tipos de relatórios para diversas finalidades, com exemplo podemos citar a criação de relatórios de Tabela de Preços, Lista de Clientes, Contas a Receber, Contas a Pagar, Fluxo de Caixa, etc.

Etiquetas: Esse tipo de definição é muito utilizado na criação de Mala Direta ou etiquetas para os produtos do estoque com a utilização do código de barras.

Gráficos: São utilizados para uma visualização mais sintética dos dados, existe uma variedade de modelos disponíveis.

No projeto final o usuário sempre irá visualizar os relatórios antes de imprimir, isso garante ou usuário optar entre apenas visualizar na tela ou enviar para impressora. Outro recurso muito útil e a exportação dos relatórios para PDF, BMP, JPG, EMF, WMF, TXT, HTM, CSV e RTF.

A seguir iremos usar apenas o termo “Relatório”, pois na realidade uma Etiqueta ou Gráfico é gerado como Relatório pelo X-Maker.

6.4.1 Finalidade de cada botão:

Etiqueta ou Gráfico é gerado como Relatório pelo X-Maker. 6.4.1 Finalidade de cada botão: Inclui um

Inclui um novo relatório.

80

Exclui um relatório selecionado.80 Edita as propriedades do relatório. Layout do relatório. Confirma a inclusão ou modificação de um

Edita as propriedades do relatório.80 Exclui um relatório selecionado. Layout do relatório. Confirma a inclusão ou modificação de um relatório.

Layout do relatório. relatório selecionado. Edita as propriedades do relatório. Confirma a inclusão ou modificação de um relatório.
Layout do relatório.

Confirma a inclusão ou modificação de um relatório.Edita as propriedades do relatório. Layout do relatório. Cancela a inclusão ou modificação de um relatório.

Cancela a inclusão ou modificação de um relatório.Confirma a inclusão ou modificação de um relatório. Importa relatório definido em outro projeto. 6.4.2

Importa relatório definido em outro projeto.

6.4.2 Finalidade de cada atributo:

Nome: Informe o nome do relatório, esse nome será utilizado para criação do arquivo fonte.

Tipo: Informe o tipo de relatório, os tipos disponíveis são: Relatório, Etiqueta e Gráfico.

Título: Informe o título do relatório, o título será atribuído no “Caption” do formulário.

Informe

Tabela:

a

Tabela

a

ser

manipulada

pelo

relatório.

Os relatórios são ordenados por nome, utilize a opção “Localizar” para um posicionamento mais rápido no relatório desejado, essa opção é válida quando o projeto conter um número muito grande de relatórios.

Dica:

O X-Maker não predetermina os nomes a serem utilizados em formulários e relatórios, o projetista tem a liberdade de escolha, porém sugerimos a utilização de nomes tais como:

Rel_001, Rel_002, Rel_003, etc. Eti_001, Eti_002, Eti_003, etc.

81

Gra_001, Gra_002, Gra_003, etc., como em todo projeto os relatórios são maioria isso torná-se uma boa escolha.

6.4.3 Definindo o Relatório

A definição do relatório é composta pelos campos a serem

listados, Relacionamentos, Filtragem, Ordenação e Layout.

listados, Relacionamentos, Filtragem, Ordenação e Layout. É possível definir uma filtragem (seleção) de registros,

É possível definir uma filtragem (seleção) de registros,

quando um relatório não possui nenhuma filtragem todos os

82

registros são listados de forma incondicional. A filtragem pode ser fixa, predeterminada pelo projetista, ou informada pelo usuário do projeto final. A escolha da filtragem depende do tipo de resultado a ser extraído.

da filtragem depende do tipo de resultado a ser extraído. Na opção “Operação” está contida os

Na opção “Operação” está contida os operadores lógicos disponíveis, sua utilização tem que ser coerente, pois os resultados extraídos dependem da sua boa utilização.

= Igual: Indica que apenas os registros cujo campo selecionado, forem iguais ao valor fixo ou variável serão listados. Exemplo: Nome = ‘Maria’ somente os registros que iniciarem com o nome ‘Maria’ serão listados.

<> Diferente: Indica que apenas os registros cujo campo selecionado, forem diferentes do valor fixo ou variável

83

serão listados. Exemplo: Nome <> ‘Maria’ somente os registros que forem diferentes de ‘Maria’ serão listados.

< Menor que: Indica que apenas os registros cujo campo selecionado, forem menores que o valor fixo ou variável serão listados. Exemplo: Nome < ‘Maria’ somente os registros que forem menores que ‘Maria’ serão listados. Para campos Alfanuméricos, conforme exemplo, a comparação é alfabética. Os campos numéricos e datas são comparados por valores.

<= Menor ou Igual: Indica que apenas os registros cujo campo selecionado, forem menores ou iguais ao valor fixo ou variável serão listados. Exemplo: Nome <= ‘Maria’ somente os registros que forem menores ou iguais a ‘Maria’ serão listados.

> Maior que: Indica que apenas os registros cujo campo selecionado, forem maiores que o valor fixo ou variável serão listados. Exemplo: Nome > ‘Maria’ somente os registros que forem maiores que ‘Maria’ serão listados.

>= Maior ou Igual: Indica que apenas os registros cujo campo selecionado, forem maiores ou iguais ao valor fixo ou variável serão listados. Exemplo: Nome >= ‘Maria’ somente os registros que forem maiores ou iguais a ‘Maria’ serão listados.

% Contém: Indica que apenas os registros cujo campo selecionado, conterem o valor fixo ou variável serão listados. Exemplo: Nome LIKE ‘%SOUSA%’ somente os registros que conterem a expressão ‘SOUSA’ serão listados. A procura independe da posição da expressão no campo, esse recurso é muito utilizado para localização de sobrenomes em uma Tabela de Clientes.

84

? Vazio: Indica que apenas os registros cujo campo selecionado, forem vazios serão listados. Exemplo:

Nome IS NULL somente os registros que não possuírem Nomes cadastrados serão listados.

A opção “Composição Lógica” é utilizada quando mais de uma

expressão de filtro for utilizado.

E: Atribui o operador “AND” entre as expressões de filtro. Exemplo: Nome = ‘Maria’ AND Cidade = ‘UBERABA’ somente os registros que iniciarem com o nome ‘Maria’ e forem da Cidade de ‘UBERABA’ serão listados.

OU: Atribui o operador “OR” entre as expressões de filtro. Exemplo Nome = ‘Maria’ OU Nome = ‘Jose’ somente os registros que iniciarem com o nome ‘Maria’ou o nome ‘Jose’ serão listados.

Todos os componentes de edição utilizados em “Diálogo” poderão ser utilizados na expressão de filtragem, possibilitando assim que o próprio usuário defina os valores de seleção.

Dica:

É muito comum a confusão do uso das “Composições Lógicas”, um exemplo clássico seria a criação de um relatório

para listar os salários iguais a R$ 1.000,00 e R$ 1.200,00. Se projetista definir o filtro como: SALARIO = 1000 E SALARIO

= 1200 nenhum registro seria listado, pois o campo SALARIO

não poderia valer R$ 1.000,00 e R$ 1.200,00 ao mesmo tempo,

em um mesmo registro, o certo seria: SALARIO = 1000 OU SALARIO = 1200.

85

A ordenação dos registros a serem listados é definida pelo

projetista, a chave de ordenação poderá ser composta ou não.

Chaves compostas indicam que mais de um campo serão utilizados na formação do índice.

de um campo serão utilizados na formação do índice. 6.4.4 Layout do Relatório A definição do

6.4.4 Layout do Relatório

A definição do layout do relatório é realizada através de

uma interface visual, o componente utilizado é o FreeReport (http://www.fast-report.com/en/) trata-se de um poderoso e prático componente de geração de relatórios. Outros componentes serão implementados em próximas versões do X- Maker, proporcionar o máximo de opções e versatilidades para o projetista é o nosso maior objetivo.

86

86 O editor possui uma estrutura predefinida comporta por: Cabeçalho de Página, Cabeçalho de Coluna, Dados

O editor possui uma estrutura predefinida comporta por:

Cabeçalho de Página, Cabeçalho de Coluna, Dados Mestre, Sumário do Relatório e Rodapé de Página.

Na barra de ferramentas o botão atribuição dos campos no relatório.

e Rodapé de Página. Na barra de ferramentas o botão atribuição dos campos no relatório. é

é responsável pela

87

87 Selecione os campos a serem atribuídos e determine o seu posicionamento em “Ordem”. A opção

Selecione os campos a serem atribuídos e determine o seu posicionamento em “Ordem”. A opção “Inclua cabeçalhos” traz os títulos definidos em “Tabelas” para a coluna de cabeçalho, a opção “Incluir banda” não é necessária, pois como padrão o Layout utilizará uma faixa predefinida, a seguir iremos explicar a utilização das “bandas”.

6.4.4.1 Bandas

As “Bandas” são áreas específicas que poderão conter campos ou objetos a serem impressos. Cada banda é responsável por um recurso diferente no relatório, temos como exemplo as áreas de cabeçalho (topo do relatório), rodapé, cabeçalho de colunas, registros da tabela, grupo de quebra, etc.

Utilize o botão “Banda”.

colunas, registros da tabela, grupo de quebra, etc. Utilize o botão “Banda”. na barra lateral para

na barra lateral para inserir uma nova

88

88 Exemplo de “Bandas”. Barra de Ferramentas Lateral Insere um campo/texto em uma “Banda”, o campo/texto

Exemplo de “Bandas”.

Barra de Ferramentas Lateral

Insere um campo/texto em uma “Banda”, o campo/texto poderá conter um campo da Tabela, texto

Insere um campo/texto em uma “Banda”, o campo/texto poderá conter um campo da Tabela, texto ou fórmula de cálculo. Este botão é utilizado para inserir uma nova banda no relatório Insere uma imagem (bmp, ico, wmf ou emf) em uma “Banda”, normalmente é utilizado para mostrar um Logotipo no relatório.

uma imagem (bmp, ico, wmf ou emf) em uma “Banda”, normalmente é utilizado para mostrar um
uma imagem (bmp, ico, wmf ou emf) em uma “Banda”, normalmente é utilizado para mostrar um
uma imagem (bmp, ico, wmf ou emf) em uma “Banda”, normalmente é utilizado para mostrar um

Insere uma nova página de relatório, sua utilização é justificável para relatórios mais complexos com muitos objetos de definição. Insere um desenho de uma linha, possibilita a criação de linhas. Insere uma caixa de texto com sombras, cria um efeito de fundo no relatório. Insere um gráfico, seis modelos de gráficos estão

de texto com sombras, cria um efeito de fundo no relatório. Insere um g ráfico, seis
de texto com sombras, cria um efeito de fundo no relatório. Insere um g ráfico, seis
de texto com sombras, cria um efeito de fundo no relatório. Insere um g ráfico, seis

89

disponíveis. Insere um código de barras, muito utilizado para impressão de etiquetas de produtos. Insere um objeto “Check Box”. Insere um objeto de desenho com vários formatos. Insere uma caixa de texto. Insere um objeto de compartilhamento com outros aplicativos, tais como o Word, Excel, Corel Draw e outros.

de texto. Insere um objeto de compartilhamento com outros aplicativos, tais como o Word, Excel, Corel
de texto. Insere um objeto de compartilhamento com outros aplicativos, tais como o Word, Excel, Corel

Cálculos em Relatórios

É possível a criação de cálculos entre campos em relatórios, ao inserir um campo/texto uma janela de edição será apresentada, na caixa de texto é possível realizar codificações.

inserir um campo/texto uma janela de edição será apresentada, na caixa de texto é possível realizar

90

90 Todo campo da Tabela é referenciado como [DVendas."PRO_CODIGO"] o “DVendas” representa o nome da

Todo campo da Tabela é referenciado como [DVendas."PRO_CODIGO"] o “DVendas” representa o nome da tabela. O nome “PRO_CODIGO” corresponde ao campo da Tabela, sendo utilizado assim o nome definido em “Tabelas”.

Os operadores matemáticos poderão ser utilizados para cálculos entre campos ou valores fixos. Exemplo 1: [[DProdutos."PRO_VENDA"] * [DProdutos."PRO_QUANTIDADE"]] Exemplo 2: [[DProdutos."PRO_VENDA"] * 0.5] A utilização de colchetes ‘[ ]’ é obrigatório, pois indica que o seu conteúdo representa um campo da Tabela ou variável. Os cálculos terão que utilizar os colchetes ‘[ ]’ também,

91

conforme exemplo. A não utilização dos colchetes ‘[ ]’ indica que o seu conteúdo será impresso como texto.

Alguns comandos do Delphi poderão ser utilizados, tais como: if…then…else, while…do, repeat…until. A utilização

de blocos begin

também são aceitos.

end;

Algumas funções internas poderão ser utilizadas, são elas:

Sum:

Totaliza

campos

numéricos,

sintaxe:

Sum(<field>),

 

exemplo:

[SUM([DProdutos."PRO_CUSTO"] )]

Count: Quantifica a quantidade de registros listados, sintaxe: Count(<dataset>), exemplo: [Count(DProdutos)]

Str: Converte número em string, sintaxe: Str(<value>)

Copy: Retorna uma parte de uma string, sintaxe:

Copy(<string>, <from>, <count>)

If: Retorna uma string conforme condição, uma condição lógica irá determinar o retorno de uma String1 ou String2, sintaxe: If(<expression>, <string1>,

<string2>)

FormatFloat: Converte um número em uma string formatada, sintaxe FormatFloat(<formatstr>, <value>), o <formatstr> segue os padrões do Delphi de formatação.

FormatDateTime: Converte uma data/hora em uma string formatada, sintaxe: FormatDateTime(<formatstr>, <value>)

StrToDate:

Converte

uma

string

em

data,

sintaxe:

StrToDate(<value>)

 

StrToTime:

Converte

uma

string

em

hora,

sintaxe:

StrToTime(<value>)

UpperCase: Converte os caracteres de uma string em caracteres maiúsculos, sintaxe: UpperCase(<value>)

92

LowerCase: Converte os caracteres de uma string em caracteres minúsculos, sintaxe: LowerCase(<value>)

Int: Retorna a parte inteira de um número, sintaxe:

Int(<value>)

Frac: Retorna a parte fracionária de um número, sintaxe:

Frac(<value>)

Round:

Arredonda

Round(<value>)

um

número,

sintaxe:

Mod: Retorna o resto da divisão entre dois números, sintaxe: value1 Mod value2

Input: Mostra uma caixa de texto, onde o usuário poderá digitar qualquer informação extra, sintaxe:

Input(<caption> [,<default>])

MascValor: Formata um número inteiro ou fracionário e

retorna

em

“String”,

sintaxe:

MascValor(<valor>,<máscara>), [MascValor([DProdutos."PRO_CUSTO"],’

exemplo:

ZZZ.ZZ9,99’)]

ConstStr: Retorna uma “String” replicada N vezes, sintaxe: ConstStr(<string>,<qtde>), exemplo:

[ConstStr(‘-‘,80)]

RetiraBrancos: Retira os espaços em branco de uma “String”, sintaxe: RetiraBrancos(<string>), exemplo:

[RetiraBrancos([Dprodutos.”PRO_DESCRICAO”])]

PadR: Alinha uma “String” à esquerda, dentro de um

tamanho

determinado,

sintaxe:

PadR(<string>,<tamanho>), [PadR([Dprodutos.”PRO_DESCRICAO”], 80)]

exemplo:

PadL: Alinha uma “String” à direita, dentro de um

tamanho

determinado,

sintaxe:

PadL(<string>,<tamanho>),

exemplo:

[PadL([Dprodutos.”PRO_DESCRICAO”], 80)]

Center: Centraliza uma “String”, dentro de um tamanho determinado, sintaxe: Center(<string>,<tamanho>),

93

exemplo:

[Center([Dprodutos.”PRO_DESCRICAO”],

80)]

Space: Cria uma “String” em branco de tamanho determinado, sintaxe: Space(<tamanho>), exemplo:

[Space(80)]

PorExtenso: Retorna um número por extenso, em português, sintaxe: PorExtenso(<valor>), exemplo:

[PorExtenso([Dproduto.”PRO_PRECO”])]

StrZero: Converte um número inteiro em “String” com

zeros

à

esquerda,

sintaxe:

StrZero(<número>,<tamanho>), [StrZero([Dproduto.”PRO_CODIGO”], 05)]

exemplo:

FormatMaskText: Formata uma “String” conforme a

máscara

informada,

sintaxe:

FormatMaskText(<máscara>,

<string>),

exemplo:

[FormatMaskText(‘XXXX’, [Dprodutos.”PRO_UNIDADE”])]

MascTexto: Formata uma “String” conforme a máscara informada, sintaxe: MascTexto(<string>, <máscara>), exemplo: [MascTexto([DClientes."CEP"], '99999-999')]

MascData: Formata uma data conforme a máscara informada, sintaxe: MascData(<data>, <máscara>), exemplo: [MascData([DVendas."VEN_DATA"], 'dd/mm/yy')]

CalcC_0: Arredonda uma expressão de cálculo e retorna sem casas decimais, sintaxe: CalcC_0(<valor 1>, <valor 2>, <operador>), exemplo: [CalcC_0(99.56, 85.56, ‘+’)]

CalcC_1: Arredonda uma expressão de cálculo e retorna com uma casa decimal, sintaxe: CalcC_1(<valor 1>, <valor 2>, <operador>, exemplo: [CalcC_1(99.56, 85.56, ‘-‘)]

CalcC_2: Arredonda uma expressão de cálculo e retorna com duas casas decimais, sintaxe: CalcC_2(<valor 1>,

94

<valor

85.56, ‘*‘)]

2>,

<operador>,

exemplo:

[CalcC_2(99.56,

CalcC_3: Arredonda uma expressão de cálculo e retorna com três casas decimais, sintaxe: CalcC_3(<valor 1>, <valor 2>, <operador>, exemplo: [CalcC_3(99.56, 85.56, ‘/‘)]

CalcC_4: Arredonda uma expressão de cálculo e retorna com quatro casas decimais, sintaxe: CalcC_4(<valor 1>, <valor 2>, <operador>, exemplo: [CalcC_4(99.56, 85.56, ‘+‘)]

CalcC_5: Arredonda uma expressão de cálculo e retorna com cinco casas decimais, sintaxe: CalcC_5(<valor 1>, <valor 2>, <operador>, exemplo: [CalcC_5(99.56, 85.56, ‘-‘)]

Dica:

A pasta “C:\XMaker3\Comp\Delphi”, contem o arquivo de ajuda do FreeReport, o nome do arquivo é “FRUSER.HLP”.

6.4.5 Configurando Etiquetas

A configuração da quantidade de colunas por etiqueta é realizada através do Menu Arquivo em “Opções da Página”.

95

95 Defina o número de colunas da etiqueta em “Colunas”. 6.4.6 Configurando o Gráfico De um

Defina o número de colunas da etiqueta em “Colunas”.

6.4.6 Configurando o Gráfico

De um duplo clique no objeto de gráfico do relatório.

da etiqueta em “Colunas”. 6.4.6 Configurando o Gráfico De um duplo clique no objeto de gráfico

96

96 Todas configurações estão disponíveis nesta janela, em “Dados” na opção “Nome do objeto” informe os

Todas configurações estão disponíveis nesta janela, em “Dados” na opção “Nome do objeto” informe os objetos a serem totalizados e visualizados no gráfico.

os objetos a serem totalizados e visualizados no gráfico. • Memo7: Neste exemplo representa o código

Memo7: Neste exemplo representa o código do produto.

Memo11: Representa o total das vendas.

Para obter no nome do objeto clique no objeto desejado e veja na opção “Name” do Object Inspector.

97

6.5. 5º Passo – Menu

97 6.5. 5º Passo – Menu Este é o quinto passo para cr iação de um

Este é o quinto passo para criação de um projeto, através desta opção o projetista irá definir o menu lateral, superior e barra de ferramentas para acesso aos formulários e relatórios do projeto.

98

As opções disponíveis para definição são:

Sub-Menu: Insere um grupo de separação das opções, sua utilização torna o projeto mais organizado e apresentável.

Formulários e Relatórios: Insere um formulário ou relatório definido no projeto.

Rotina Avulsa: Insere um bloco de codificação livre, ou seja, o projetista poderá utilizar uma codificação específica.

Programa Externo (EXE): Insere a chamada de um programa externo, exemplo: Word, Excel, etc.

Barra de Ferramentas

Caixa de opções (Sub-Menu,
Caixa

Caixa

de

opções

(Sub-Menu,

Formulários, Relatórios, etc.).

Apaga uma opção selecionada, ao apagar um Sub-Menu todas opções subordinadas serão apagadas também.
Apaga uma opção selecionada, ao apagar um Sub-Menu todas opções subordinadas serão apagadas também.

Apaga uma opção selecionada, ao apagar um Sub-Menu todas opções subordinadas serão apagadas também.

Edita uma opção selecionada.

Edita uma opção selecionada.

 
Redefine o Menu Superior & Barra de Ferramentas, o projetista poderá inserir novas opções ou

Redefine o Menu Superior & Barra de Ferramentas, o projetista poderá inserir novas opções ou mover as opções de acesso através do próprio Delphi, sendo necessário uma atualização de leitura para atualização do próprio X-Maker.

99

Rotina Avulsa

Ao inserir uma rotina avulsa o botão o projetista.

Avulsa Ao inserir uma rotina avulsa o botão o projetista. ficará disponível para O projetista poderá

ficará disponível para

avulsa o botão o projetista. ficará disponível para O projetista poderá realizar uma codificação especifica

O projetista poderá realizar uma codificação especifica dentro do bloco predeterminado, a codificação segue os padrões estabelecidos pela linguagem Delphi.

100

6.6. 6º Passo – Compilação

100 6.6. 6º Passo – Compilação Este é o sexto e último passo para criação de

Este é o sexto e último passo para criação de um projeto, todos os arquivos fontes estarão gerados e configurados para criação do arquivo executável.

A compilação do projeto é realizada via comandos do MS- DOS, durante a compilação o X-Maker estará verificando qualquer tipo de erro nos arquivos fontes gerados que empeçam a criação do executável.

Em caso de erro em algum arquivo fonte, o Editor de texto será executado e o arquivo que gerou o erro será aberto, o cursor estará posicionado na linha indicada pelo compilador com uma tarja vermelha.

101

101 A opção todos os módulos do projeto força a recompilação de Para executar o projeto
101 A opção todos os módulos do projeto força a recompilação de Para executar o projeto

A opção

101 A opção todos os módulos do projeto força a recompilação de Para executar o projeto

todos os módulos do projeto

força a recompilação de

Para executar o projeto automaticamente após a compilação, marque a opção

. Outros fatores poderão atrapalhar o processo de compilação, uma delas é a configuração errada do compilador e parâmetros utilizados. Veja o tópico “Configurando o X-Maker” para certificar-se se o compilador está configurado da forma correta. Por tratar-se de uma compilação via comandos do MS- DOS, deve-se considerar as restrições de uso do MS-DOS, configurações do “Autoexec.bat” e “Config.sys” poderão interferir na execução.

A compilação poderá ser realizada diretamente no Delphi,

veja o tópico “Configurando o X-Maker” em “Compilando e Executando pelo Delphi”. Não há diferenças entre os meios de

compilação, o resultado será o mesmo.

e Executando pelo Delphi”. Não há diferenças entre os meios de compilação, o resultado será o

102

7. FONTES GERADOS PELO X-MAKER

O X-Maker possui vários módulos predefinidos para controle geral do aplicativo gerado. Alguns módulos são constantemente alterados, são os módulos de definições de Banco de Dados, Tabelas e Campos.

Segue abaixo uma tabela com todos os módulos gerados e manipulados pelo X-Maker.

Função do Módulo

Módulo Fonte

Formulário Principal

Princ.Pas; Princ.Dfm; Princ.Res

Definição da Base de Dados

BaseD.Pas; BaseD.Dfm; BaseD.Dti

Abertura de Tabelas

Abertura.Pas; Abertura.Dfm

Atributos de Campos das Tabelas

Atributo.Pas

Estrutura de Campos das Tabelas

Estrutur.Pas

Classe de Definição das Tabelas

Tabela.Pas

Lista de Tabelas

LTab.Pas; LTab.Inc

Formulário de Pesquisa

GridPesquisa.Pas; GridPesquisa.Dfm

Formulário Adapter

Princ_Adapter.Pas;

Princ_Adapter.Dfm

Seleciona Empresa - Adapter

Emp_Adapter.Pas;

Emp_Adapter.Dfm

Campo Adapter

Campo_Adapter.Pas;

Campo_Adapter.Dfm

Tela de Apresentação

Splash.Pas; Splash.Dfm

Rotinas Internas

Rotinas.Pás

Rotinas de Edição

RotinaEd.Pás

Rotinas de Validação de

Validar.Pas

103

Campos

 

Declaração de Variáveis Públicas

Publicas.Pas

Componentes Extras

Extras.Pas

Chamada de Formulários Internos

Interno.Pas

Calendário

Calend.Pas; Calend.Dfm

Calculadora

Calculad.Pas; Calculad.Dfm

Agenda de Telefones

Agenda.Pas; Agenda.Dfm

Edição da Agenda

AgEdit.Pas; AgEdit.Dfm

Acesso de Usuários

Acesso.Pas; Acesso.Dfm

Configuração de Senhas

Senhas.Pas; Senhas.Dfm

Edição de Usuários

EdUsr.Pas; EdUsr.Dfm

Edição de Grupos de Usuários

EdGrp.Pas; EdGrp.Dfm

Configuração de Empresas Usuárias

CfgEmp.Pas; CfgEmp.Dfm; CfgEmp.Res

Seleção de Empresas Usuárias

SelEmp.Pas; SelEmp.Dfm

Configuração do Ambiente de Trabalho

Ambiente.Pas; Ambiente.Dfm

Configuração da Filtragem em Tabelas

Filtro.Pas; Filtro.Dfm

Bate Papo em Rede

BatePapo.Pas; BatePapo.Dfm

Cópia de Segurança

Backup.Pas; Backup.Dfm

Restauração de Cópia de Segurança

Restaura.Pas; Restaura.Dfm

Utilitário de Compactação de Dados

CabIntF.Pas; CabStComps.Pas; CabStConsts.Pas; CabiNet.Dll

Formulário de Mensagem de Processo

Aguarde.Pas; Aguarde.Dfm

Visualizador de

Fr_View.Pas;Fr_View.Dfm;Fr.Inc

Relatórios

104

Configuração de Impressão

OpcRel.Pas;OpcRel.Dfm

Sobre

Sobre.Pas; Sobre.Dfm

Tabelas do Projeto

DXXXX.Pas (XXXX = Nome da Tabela)

Campos e Atributos

ATRL9999.Pas (9999 = Nº Seq. Tabela)

Modelo “Entrada de Dados”

Modelo1.Pas;Modelo1.Dfm

Modelo “Entrada de Dados Filho”

Modelo2.Pas;Modelo2.Dfm

Modelo “Avulso MDI”

Modelo3.Pas;Modelo3.Dfm

Modelo “Avulso Normal”

Modelo4.Pas;Modelo4.Dfm

Modelo “Relatórios”

Modelo5.Pas;Modelo5.Dfm

Modelo “Gráficos”

Modelo6.Pas;Modelo6.Dfm

Modelo “Etiquetas”

Modelo7.Pas;Modelo7.Dfm

Todos os módulos poderão ser personalizados pelo projetista. O X-Maker possui um sistema de segurança que possibilita a recuperação de módulos, essa opção está no Menu Principal

Fontes na opção “Regerar

”.

105

105 Selecione os módulos a serem regerados (recuperados) e clique no botão “Gerar”. Faça a compilação

Selecione os módulos a serem regerados (recuperados) e clique no botão “Gerar”. Faça a compilação do projeto, marque a opção “Compilar Todos os Módulos”.

Ao redefinir um formulário ou relatório o X-Maker cria automaticamente uma cópia do arquivo fonte. Uma pasta chamada “Copia” é criado dentro da pasta do projeto, exemplo:

“C:\Xmaker3\Projetos\Vendas\Copia”, o arquivo fonte copiado possui o mesmo nome de origem.

106

7.1. Estrutura do componente “Tabela”

O componente “Tabela” é utilizado para manipular as tabelas do projeto, o módulo fonte é o “Tabela.Pas”. Todo acesso às tabelas deverá ser realizado através deste componente, sua utilização padroniza e facilita o uso dentro do projeto.

Segue abaixo as principais propriedades do componente “Tabela”.

Propriedade

Definição / Utilização

NomeTabela: String

Retorna o nome da tabela. Exemplo: DCLIENTES.NomeTabela; Retorno: ‘CLIENTES’ = Conforme exemplo.

Titulo: String

Retorna o título da tabela. Exemplo: DCLIENTES.Titulo; Retorno: ‘Ficha Cadastral de Clientes’ = Conforme exemplo.

Name: String

Retorna o nome interno (componente) da tabela. Exemplo: DCLIENTES.Name; Retorno: ‘DCLIENTES’ = Conforme exemplo.

<Campos>.Conteúdo:

Todos os campos da tabela são acessados através do componente. Exemplo: DCLIENTES.Nome.Conteúdo := ‘Modular Software’; Neste exemplo o campo ‘Nome’ está recebendo o valor ‘Modular Software’, cada campo receberá o dado conforme sua origem, que são: Alfanumérico, Numérico, Data, Memo ou Imagem.

<valor do campo>

Inclui(Campos:

Inclui um novo registro em branco na

107

TListaCampos):

tabela, o parâmetro “Campos”, é utilizado no formulário de entrada de dados, é uma lista contendo os campos utilizados na tela para atribuição dos valores padrões. Em um formulário avulso ou outro tipo de finalidade utilize e opção “NIL” como parâmetro. Exemplo: DCLIENTES.Inclui(Nil); Retorno: True = Inclusão autorizada, False = Inclusão não autorizada.

Boolean

Modifica: Boolean

Habilita o registro para edição. Exemplo: DCLIENTES.Modifica; Retorno: True = Edição autorizada, False = Edição não autorizada.

Exclui: Boolean

Exclui o registro atual. Exemplo: DCLIENTES.Exclui; Retorno: True = Exclusão efetivada com sucesso, False = Não foi possível excluir.

Salva: Boolean

Salva o registro que está em modo de inclusão ou edição. Essa propriedade utiliza o recurso de “Commit”, ou seja, ela assegura que informação seja gravada em disco e não somente no “buffer” de memória. Exemplo: DCLIENTES.Salva; Retorno: True = Registro salvo com sucesso, False = Erro ao salvar o registro.

Cancela: Boolean

Cancela uma operação de inclusão ou edição do registro. Exemplo: DCLIENTES.Cancela; Retorno: True = Cancelamento efetivado, False = Cancelamento abortado.

LimparTabela:

Exclui todos os registros da tabela, sua

108

Boolean

utilização dever ser ponderada, pois ao realizar esta operação a tabela ficará vazia, sem nenhum registro. Exemplo: DCLIENTES.LimparTabela; Retorno: True = Registros apagados com sucesso, False = Erro ao excluir os registros.

DeletaTabela

Exclui a tabela fisicamente do banco de dados. Exemplo: DCLIENTES.DeletaTabela;

A

tabela não pode estar em uso, utilize a

propriedade “Close” antes de excluir a

tabela.

CriaTabela

Cria a tabela fisicamente no banco de dados, somente se a tabela não existir. Exemplo: DCLIENTES.CriaTabela;

Existe: Boolean

Verifica se a tabela existe fisicamente no banco de dados. Exemplo: DCLIENTES.Existe; Retorno: True = A tabela existe, False =

A

Tabela não existe.

Abrir: Boolean

Abre a tabela para uso, a manipulação dos registros é somente possível após a abertura da mesma.

Exemplo: DCLIENTES.Abrir; Retorno: True = Tabela aberta com sucesso, False = Não foi possível abrir a tabela.

O

projeto abre todas as tabelas em sua

inicialização.

AtualizaSql;

Atualiza a visualização dos registros no “buffer” de memória, os registros poderão ser filtrados e ordenados. Exemplo: DCLIENTES.AtualizaSql;

109

 

Sempre que uma tabela receber uma expressão de filtro ou de ordenação essa propriedade terá que ser utilizada.

Filtro: TStringList

Recebe uma lista de expressões para filtro. Exemplo:

DCLIENTES.Filtro.Add(‘CODIGO =

 

100’);

A sintaxe utilizada para filtragem é definida pelo SQL. Para atualizar os registros com o novo filtro, utilize a propriedade “AtualizaSql”.

FiltroRelac:

Recebe uma lista de expressões para filtro. Exemplo:

DCLIENTES.FiltroRelac.Add(‘CODIGO = 100’);

TStringList

Segue os mesmos padrões da propriedade “Filtro”.

O

X-Maker utiliza este filtro extra para

os “Grids de Relacionamentos” em formulários de entrada de dados. É utilizado para não gerar conflito na opção

de

filtragem do formulário de entrada de

dados filho.

ChaveIndice: String