Manual Usuario x Maker

Embed Size (px)

Citation preview

MANUAL DO USURIO

www.xmaker.com.br

Todos os direitos reservados. Nenhuma parte deste material poder ser reproduzida, transmitida, transcrita, armazenada em meio recupervel ou traduzida para outras lnguas, no todo ou em parte, em qualquer forma ou por quaisquer meios, seja eletrnico, mecnico, magntico, tico ou manual, sem o consentimento prvio e por escrito da Domnio Tecnologia Ltda. A Domnio Tecnologia Ltda. reserva-se, outrossim, o direito de revisar e fazer mudanas peridicas no contedo deste manual, sem a obrigao de notificar a quaisquer pessoas ou instituies. Alguns nomes de produtos que aparecem neste manual so marcas registradas de seus respectivos proprietrios.

1. O QUE O X-MAKER? ................................................................................................... 6 2. INTERFACE DO X-MAKER ........................................................................................... 82.1. Menu Principal do X-Maker ............................................................................................. 8 2.2. Barra de Ferramentas ....................................................................................................... 9 2.3. Barra de Assistente .......................................................................................................... 10

3. CONCEITOS BSICOS ................................................................................................. 113.1. Banco de Dados ................................................................................................................ 11 3.2. Tabelas ............................................................................................................................. 11 3.3. Campos ............................................................................................................................ 11 3.4. Campo Calculado ............................................................................................................ 12 3.5. Integridades & Relacionamentos .................................................................................... 12 3.6. Processos Diretos/Inversos .............................................................................................. 12 3.6. Dicionrio de Dados ......................................................................................................... 13

4.CONTEDO DAS PASTAS ............................................................................................ 14 5. CONFIGURANDO O X-MAKER................................................................................... 155.1. Compilando e Executando pelo Delphi ........................................................................... 16 5.2. Modelos ............................................................................................................................ 17 5.3. Propriedades do Editor ................................................................................................... 18 5.4. Campos Predefinidos ....................................................................................................... 19

6.CONHECENDO AS ETAPAS DE DEFINIO DE UM PROJETO .......................... 206.1. 1 Passo Propriedades do Projeto ................................................................................. 21 6.2. 2 Passo Tabelas ............................................................................................................ 236.2.1 Definindo Atributos da Tabela ........................................................................................................ 24 6.2.2 Definio do Banco de Dados ......................................................................................................... 26 6.2.4 Campos da Tabela ........................................................................................................................... 28 6.2.5 Nome ............................................................................................................................................... 29 6.2.5.1 Tipo .............................................................................................................................................. 29 6.2.5.2 Chave ............................................................................................................................................ 30 6.2.5.3 Tamanho ....................................................................................................................................... 30 6.2.5.4 Autoincremento ............................................................................................................................ 30 6.2.5.5 Edio ........................................................................................................................................... 30 6.2.5.6 Calculado ...................................................................................................................................... 31 6.2.5.7 Mscara ........................................................................................................................................ 31 6.2.5.8 Campos Numricos e Fracionrios: .............................................................................................. 31 6.2.5.9 Campos Alfanumricos: ............................................................................................................... 32 6.2.5.10 Ttulo .......................................................................................................................................... 32 6.2.5.11 ndice .......................................................................................................................................... 32 6.2.5.12 Invisvel ...................................................................................................................................... 32 6.2.5.13 Ajuda .......................................................................................................................................... 32 6.2.5.14 Valor Padro ............................................................................................................................... 33 6.2.5.15 S. Atribui Sempre Atribui ....................................................................................................... 33 6.2.5.16 Pr-Validao ............................................................................................................................. 33 6.2.5.17 Ao............................................................................................................................................ 33

6.2.5.18 Limpar Campo ............................................................................................................................ 33 6.2.5.19 Validao .................................................................................................................................... 33 6.2.5.20 Procurar em ................................................................................................................................ 35 6.2.5.21 Msg. de Erro Mensagem de Erro ............................................................................................ 35 6.2.5.22 Valores Vlidos .......................................................................................................................... 35 6.2.6 Definio da Chave Estrangeira ...................................................................................................... 36 6.2.7 Edio de Campo Calculado............................................................................................................ 38 6.2.8 ndices (Chaves Secundrias) .......................................................................................................... 39 6.2.9 Integridades & Relacionamentos ..................................................................................................... 40 6.2.10 Processos Diretos/Inversos ............................................................................................................ 42 6.2.11 Lanamentos .................................................................................................................................. 46

6.3. 3 Passo Formulrios .................................................................................................... 496.3.1 Definindo o Layout do formulrio................................................................................................... 50 6.3.2. Propriedades (Object Inspector) ..................................................................................................... 52 6.3.2.2 Grid de Relacionamento ............................................................................................................... 53 6.3.2.3 Movimentao e Redimensionamento .......................................................................................... 55 6.3.3 Mini Editor ...................................................................................................................................... 57 6.3.3.1 Estrutura do Arquivo Fonte .......................................................................................................... 58 6.3.4 Principais eventos ............................................................................................................................ 59 6.3.4.1 Inicializao (FormShow) ............................................................................................................ 59 6.3.4.2 Abertura de Tabelas (AbreTabelas) .............................................................................................. 59 6.3.4.3 Confirma Incluso (ConfirmaInclusao) ........................................................................................ 60 6.3.4.4 Confirma Modificao (ConfirmaModificacao) ........................................................................... 60 6.3.4.5 Confirma Excluso (ConfirmaExclusao) ...................................................................................... 60 6.3.4.6 Confirma Gravao (ConfirmaGravacao) .................................................................................... 60 6.3.4.7 Ao Entrar Manuteno (TelaManutencao) ................................................................................... 60 6.3.4.8 Ao Entrar Consulta (TelaConsulta) .............................................................................................. 60 6.3.4.9 Atribui Valores (AtribuiValoresPadrao) ....................................................................................... 61 6.3.4.10 Antes de Salvar (AntesdeSalvar) ................................................................................................ 61 6.3.4.11 Antes de Incluir (AntesdeIncluir) ............................................................................................... 61 6.3.4.12 Antes de Modificar (AntesdeModificar)..................................................................................... 61 6.3.4.13 Antes de Excluir (AntesdeExcluir) ............................................................................................. 61 6.3.4.14 Depois de Incluir (DepoisdeIncluir) ........................................................................................... 61 6.3.4.15 Depois de Modificar (DepoisdeModificar)................................................................................. 61 6.3.4.16 Depois de Excluir (DepoisdeExcluir) ......................................................................................... 61 6.3.4.17 Finalizao (FormClose) ............................................................................................................ 62

6.4. 4 Passo Relatrios, Etiquetas e Grficos. .................................................................... 626.4.1 Definindo o Relatrio ...................................................................................................................... 63 6.4.2 Filtragem ......................................................................................................................................... 64 6.4.3 Ordenao ........................................................................................................................................ 67 6.4.4 Layout do Relatrio ......................................................................................................................... 67 6.4.5 Configurando Etiquetas ................................................................................................................... 74 6.4.6 Configurando o Grfico ................................................................................................................... 74

6.5. 5 Passo Menu ............................................................................................................... 76

Barra de Ferramentas ................................................................................................................................ 77 Rotina Avulsa ........................................................................................................................................... 77

6.5. 6 Passo Compilao ..................................................................................................... 78

7. FONTES GERADOS PELO X-MAKER ........................................................................ 807.1. Estrutura do componente Tabela ................................................................................ 82 7.2. Mtodos Pr-definidos ..................................................................................................... 89 7.3. Mtodos de Edio ..........................................................................................................101

8. FAQ (Perguntas Freqentes) ........................................................................................ 102 9.DICAS DE PROGRAMAO ....................................................................................... 115

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, prtica e padronizada. Sua principal funo a manipulao de banco de dados para armazenamento de informaes de qualquer natureza, agregando todos os recursos possveis e atuais do ambiente visual e com acesso nativo as bases de dados, cria projetos altamente profissionais e confiveis. Os arquivos fontes so gerados na linguagem Delphi 5, 6, 7, 2005, 2006 e Turbo Delphi 2006, sendo, portanto necessrio que o usurio tenha instalado em seu equipamento a verso Professional ou Enterprise do Delphi. Somente essas verses possuem os recursos disponveis para acesso as bases de dados utilizadas pelo X-Maker, so elas: InterBase 5.x/6.x, FireBird 1.x/2.x, SQLBase, Oracle, SQLServer, SyBase, DB2, Informix, ODBC, MySql, PostgreSQL e OLEDB. Agilidade, praticidade e confiabilidade so os pontos principais na construo de aplicaes atravs dessa ferramenta, seja ela de pequena ou de grande complexidade. possvel criar um projeto sem nenhum esforo de programao. As Empresas desenvolvedoras e organizaes encontraro nessa ferramenta um ganho significativo de produo e padronizao, a reduo de custos de desenvolvimento e manipulao de projetos ser uma meta alcanada, outro ponto importante a independncia de um desenvolvedor especfico, o trabalho em grupo ser valorizado. Os profissionais liberais encontraro todos os recursos necessrios para uma produo mais ativa e dinmica na criao de softwares. Para aqueles que no se consolidaram no desenvolvimento de aplicaes em ambiente Windows, podero iniciar a migrao sem traumas ou incertezas. Pensando no crescimento e aperfeioamento dos estudantes, instrutores e professores da linguagem de programao Delphi, a verso Free Edition ir proporcionar um novo universo de conhecimento e experincias na criao de projetos.

1.1. Pr-requisitosAs exigncias mnimas de software e hardware para que seu sistema execute corretamente o X-Maker so: Microsoft Windows (98 ou verso posterior). Delphi 5, 6, 7, 2005, 2006 ou Turbo Delphi 2006 na verso Professional ou Enterprise instalado na mquina. Microcomputador com processador Pentium (ou superior), 64 megabytes de memria, 120 megabytes de espao livre em disco.

1.2. Instalando o X-MakerA instalao do X-Maker em seu computador feita pelo programa Instalar.

1.2.1 Para instalar o X-Maker atravs do arquivo Instalar:* Execute o arquivo em seu computador. * Siga as instrues mostradas na tela.

1.2.2 Pasta de Instalao:A pasta de Instalao do X-Maker padro C:\XMaker6 - sugerimos que esta pasta seja mantida. Esta recomendao est relacionada a uma limitao do sistema operacional relativa ao comprimento mximo de linhas de comando executado via MS-DOS, pois a compilao do projeto pelo X-Maker se faz atravs de linhas de comandos do MS-DOS. Recomenda-se que a nova pasta esteja localizada imediatamente abaixo da pasta raiz escolhida, Exemplos: C:\XMaker6 D:\XMaker6 F:\XMaker6 -

1.2.3 FireBird:O FireBird o gerenciador de banco dados utilizado pelo X-Maker. Sua instalao necessria para o funcionamento correto do X-Maker. Caso o InterBase 6.x ( ou superior ) esteja instalado em seu computador a instalao do FireBird no ser necessria, por ser compatvel com o FireBird. Qualquer verso do Interbase inferior a 6.x dever ser desinstalada antes da instalao do FireBird.

2. INTERFACE DO X-MAKERAtravs de uma interface prtica e amigvel possvel construir um aplicativo atravs de 06 passos intuitivamente coordenados. A seguir iremos dar um enfoque geral das opes disponveis no menu principal, barra de ferramentas e barra de assistente. Viso geral:

2.1. Menu Principal do X-Maker Arquivo: Contm as opes para criao e abertura de projetos e edio de arquivos fontes. Editar: Comandos bsicos de manipulao dos arquivos fontes abertos (rea de transferncias, pesquisas, substituies e posicionamentos). Exibir: Configurao do ambiente de trabalho e utilitrios para o projeto (dirio de anotaes, calendrio e calculadora).

Projeto: Opes de definies do projeto (Propriedades, Tabelas, Formulrios, Relatrios e Menu Principal). Fontes: Restaurao de mdulos, compilao e execuo do projeto. Configurao: Configurao dos parmetros de compilao, propriedades do editor e definio de campos predefinidos. Ajuda: Acesso ajuda do X-Maker, Delphi e informaes complementares.

2.2. Barra de Ferramentas

Novo Projeto: Permite a criao de um novo projeto. Abrir Projeto: Faz a abertura de projetos j existentes. Fechar Projeto: Fecha o projeto em aberto. Salvar Arquivo (Ctrl+S): Salva as modificaes realizadas em um arquivo fonte em edio. Fontes do Projeto: Lista os arquivos fontes da pasta do projeto. Formulrios do Projeto: Lista os formulrios da pasta do projeto. Propriedades: (1 Passo) Define as propriedades do projeto, tais como: Ttulo, Empresa Projetista, Programadores, Analistas, verso, data de incio, cone e configuraes adicionais. Tabelas: (2 Passo) Definio dos bancos de dados, tabelas, campos, ndices, integridades, relacionamentos, processos diretos/inversos e lanamentos. Formulrios: (3 Passo) A manipulao dos registros realizada atravs de formulrios de Entrada de Dados, a montagem do Layout no ser mais problema, com recursos exclusivos o X-Maker ir facilitar todo o processo de criao atravs da Auto Formatao e drag and drop (arrasta e solta) dos componentes inseridos no formulrio.

Relatrios: (4 Passo) A extrao de informaes realizada atravs de relatrios, etiquetas e grficos. Com um poderoso editor de relatrios esses processos sero obtidos de forma simples e eficiente. Menu: (5 Passo) Consiste na definio das chamadas dos formulrios e relatrios criados. Compilar: (6 Passo) parte final de criao do projeto, todos os mdulos criados e personalizados sero compilados para a gerao do executvel final. Executar: Executa o projeto ou o utilitrio Adapter previamente compilados. Delphi: Executa o Delphi, conforme a verso definida na propriedade do projeto e abre o projeto para livre manipulao. Dirio: Possibilita ao projetista a realizar anotaes e lembretes que sero vinculados ao projeto.

2.3. Barra de Assistente Propriedades: (1 Passo) Define as propriedades do projeto, tais como: Ttulo, Empresa Projetista, Programadores, Analistas, verso, data de incio, cone e configuraes adicionais. Tabelas: (2 Passo) Definio dos bancos de dados, tabelas, campos, ndices, integridades, relacionamentos, processos diretos/inversos e lanamentos. Formulrios: (3 Passo) A manipulao dos registros realizada atravs de formulrios de Entrada de Dados, a montagem do Layout no ser mais problema, com recursos exclusivos o X-Maker ir facilitar todo o processo de criao atravs da Auto Formatao e drag and drop (arrasta e solta) dos componentes inseridos no formulrio. Relatrios: (4 Passo) A extrao de informaes realizada atravs de relatrios, etiquetas e grficos. Com um poderoso editor de relatrios esses processos sero obtidos de forma simples e poderosa em recursos. Menu: (5 Passo) Consiste na definio das chamadas dos formulrios e relatrios criados. Compilar: (6 Passo) parte final de criao do projeto, todos os mdulos criados e personalizados sero compilados para a gerao do executvel final.

3. CONCEITOS BSICOSO X-Maker utiliza alguns conceitos bsicos na definio de projetos, algum desses conceitos j dever ser de seu conhecimento, com pequenas variaes de nomes ou definies, a compreenso dos mesmos facilita a utilizao da ferramenta.

3.1. Banco de Dados a estrutura que ir armazenar uma coleo de Tabelas, a sua definio necessria antes da definio de qualquer Tabela, em Propriedades do Projeto possvel escolher o gerenciador de Banco de Dados que ser utilizado, a definio do Banco de Dados estar subordinada a essa informao. Login e senha de acesso, parmetros de conexo, nome do Banco de Dados e localizao so definidos conforme informaes 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. TabelasAtravs de um ou mais campos ns formamos a definio de um Tabela, essas Tabelas iro conter uma estrutura predefinida de informaes para que o projeto final possa criar as Tabelas em disco para armazenar todos os registros de um sistema. As Tabelas so constitudas de campos, chave primria e chaves secundrias (ndices). Uma chave primria definida por um ou mais campos, sendo que seus valores no podero ser duplicados na incluso de registros. Como exemplo podemos citar uma tabela de cadastro de clientes, ao cadastrar o cdigo 0001 esse cdigo no poder ser mais utilizado por outro cliente enquanto o mesmo existir.

3.3. CamposSo utilizados na definio da estrutura das tabelas. Os campos so definidos atravs de um conjunto de atributos, tais como: nome, tipo, tamanho, tipo de edio, mscara, ttulo, etc. As informaes contidas na definio dos campos so de extrema importncia, pois os componentes que sero utilizados na formatao da tela de Entrada de Dados esto subordinados aos atributos dos campos, principalmente o atributo de Tipo de Edio.

3.4. Campo Calculado um tipo de campo especial, por tratar-se de um campo virtual, esse campo no gravado fisicamente na Tabela. A utilizao desse tipo de campo aconselhvel para demonstrao de clculos que dependem de outros campos e que so variveis. Como exemplo podemos citar um campo de valor total de produtos, esse campo conter um clculo de multiplicao entre os campos de quantidade e preo unitrio.

3.5. Integridades & RelacionamentosA 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 no podem ser excludos se estiverem sendo referenciados em outras tabelas. O X-Maker proporciona os seguintes relacionamentos: Relacionamento: Trata-se de um relacionamento simples, ou seja, no ser utilizado para criao de integridade referencial. Esse tipo de relacionamento permite a utilizao de campos Extras, campos de tabelas relacionadas podero 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 podero ser agregados a Tabela de Vendas. Isso no uma duplicidade de informao ou campos, os campos escolhidos da Tabela de Clientes no sero gravados fisicamente na Tabela de Vendas. Restrita: Somente os registros que no estivem sendo referenciados em outras Tabelas podero ser excludos. Exemplo: A Tabela de Clientes possui uma referncia da Tabela de Atividades Comerciais, ao excluir uma Atividade Comercial o sistema ir checar se a mesma no 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 sero excludos tambm. Exemplo: A Tabela de Notas Fiscais possui uma Tabela relacionada de Itens da Nota Fiscal, o campo de relacionamento o nmero da Nota Fiscal, ao excluir uma Nota Fiscal todos os registros da Tabela de Itens da Nota Fiscal que possurem o mesmo nmero da Nota Fiscal sero excludos.

3.6. Processos Diretos/InversosOs processos diretos/inversos permitem a atualizao das tabelas relacionadas, o processo direto est vinculado incluso e modificao dos

registros e o processo inverso est vinculado excluso e modificao. 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.6. Dicionrio de DadosO dicionrio de dados um poderoso recurso, pois possibilita ao projetista compartilhar de uma mesma definio de Banco de Dados, Tabelas, Campos, ndices e Relacionamentos. O projetista poder dividir o programa em vrios projetos, ao definir cada novo projeto o Dicionrio de Dados poder ser habilitado, o primeiro projeto criado ser o principal, todas as definies de dados sero armazenados e compartilhados a partir do mesmo.

4.CONTEDO DAS PASTASA partir da pasta de instalao do X-Maker, esta pasta indicada pelo usurio na instalao (a pasta padro C:\XMaker6), outras pastas so criadas para diversas finalidades. C:\XMaker6\Comp : Contm os pacotes de componentes utilizados nos projetos, os pacotes so separados por pastas, para a linguagem Delphi voc encontrar a pasta Delphi, a medida que outras linguagem forem sendo suportadas outras pastas sero adicionadas. C:\XMaker6\Delphi : Contm os arquivos fontes utilizados na criao de um novo projeto, todos os arquivos so copiados para pasta do novo projeto, esses arquivos podem ser personalizados pelo projetista. C:\XMaker6\Doc: Contm os arquivos de ajuda interna do X-Maker. C:\XMaker6\Exemplos : Contm os projetos de exemplos para estudo e exemplificao da utilizao do X-Maker, os projetos so separados por pastas. C:\XMaker6\Imagem : Contm uma coletnea de mais de 700 bitmaps (bmp) e cones (ico), para utilizao nos projetos. C:\XMaker6\Projetos : Esta pasta criada para armazenamento de novos projetos, inicialmente no possui nenhum arquivo, serve apenas como uma sugesto de pasta de localizao dos projetos, sua utilizao opcional. C:\XMaker6\Firebird : Contm o instalador do Firebird 2.x e o utilitrio IBConsole, esse utilitrio utilizado para manipular tabelas criadas pelo Firebird.

5. CONFIGURANDO O X-MAKERUma configurao padro acompanha o X-Maker em sua instalao, essa configurao pode ser alterada a qualquer momento pelo projetista. Atravs do XMaker possvel compilar e gerar o executvel do projeto, para isso necessrio informar a localizao do compilador do Delphi e os parmetros adicionais, em Configuraes do Menu Principal existe uma opo para cada verso do Delphi.

A compilao e criao do executvel do projeto esto totalmente vinculadas configurao correta do compilador e parmetros adicionais. Compilador: Informe a localizao (path) e o executvel responsvel pela compilao, utilize o compilador DCC32.EXE. Parmetros: Os parmetros adicionais so utilizados pelo compilador (DCC32.EXE) possvel realizar vrias configuraes extras de compilao, a opo /U utilizada para informar a localizao de componentes extras. Ajuda: Informe a localizao (path) e o arquivo de ajuda do Delphi, isso torna possvel visualizao da ajuda do prprio Delphi dentro do X-Maker.

5.1. Compilando e Executando pelo Delphi possvel compilar e executar o projeto diretamente no Delphi, para isso necessrio instalar os componentes utilizados nos projetos. Para instalar os componentes do X-Maker no Delphi (5, 6, 7, 2005, 2006 ou Turbo Delphi 2006) deve-se executar o Delphi e seguir os seguintes passos: Menu File: Clique na opo Open e localize a pasta de instalao do XMaker, acesse a pasta Comp\Delphi\Fr234 e Comp\Delphi Exemplo: C:\XMaker6\Comp\Delphi . Componente do FreeReport: Abra o arquivo correspondente a verso do Delphi. FREEREP5.DPK: Free Report para Delphi 5. FREEREP6.DPK: Free Report para Delphi 6. FREEREP7.DPK: Free Report para Delphi 7. FREEREP9.DPK: Free Report para Delphi 2005. FREEREP10.DPK: Free Report para Delphi 2006. FREEREP10.DPK: Free Report para Turbo Delphi 2006. Para instalar o Free Report no Delphi utilize a pasta Fr234\Source dentro da pasta Comp\Delphi\Fr234, exemplo: C:\XMaker6\Comp\Delphi\Fr234\Source Instalando: Clique no boto Install. Ao fechar a janela de instalao confirme qualquer mensagem de confirmao de atualizao. Componentes do X-Maker: Abra o arquivo correspondente a verso do Delphi. XMaker5.DPK: X-Maker para Delphi 5. XMaker6.DPK: X-Maker para Delphi 6. Xmaker7a2007.DPK: X-Maker para Delphi 7, 2005, 2006 e Turbo Delphi 2006 e Delphi2007. Instalando: Clique no boto Install. Ao fechar a janela de instalao confirme qualquer mensagem de confirmao de atualizao. Finalizando: Acesse o menu do Delphi Tools\Environment Options selecione a aba Library no campo Library Path, verifique se existe o seguinte path C:\XMaker6\Comp\Delphi (C:\XMaker6 Corresponde a pasta de instalao do X-Maker) se no existir faa a incluso do mesmo.

5.2. ModelosO X-Maker utiliza a pasta Delphi (C:\XMaker6\Delphi) para armazenar os modelos de mdulos dos projetos, o projetista poder alterar os modelos e armazenar em pastas diferentes, dessa forma o modelo padro preservado.

O modelo padro do X-Maker utiliza a pasta: C:\XMaker6\Delphi, se estiver utilizando uma pasta diferente de C:\XMaker6 faa a alterao atravs do boto Editar. Ao criar um novo modelo informe o ttulo de identificao e a pasta de localizao. Copie os arquivos da pasta padro (C:\XMaker6\Delphi) para a pasta do novo modelo. Em Propriedades do Projeto possvel escolher o modelo a ser utilizado.

5.3. Propriedades do EditorEssa opo fica disponvel quando algum arquivo fonte fica aberto. possvel personalizar algumas propriedades do editor.

Auto Identificao: Permite que o prprio Editor identifique o tipo de arquivo est sendo aberto para o tratamento visual adequado. Arrastar Selecionado: reas selecionadas no texto podero ser arrastadas para outros pontos no prprio texto. Converte Tabs para Espaos: Ao pressionamento da tecla TAB a quantidade de espaos ser convertida para o caractere de espao. Scroll em Final de Linha: Ao posicionar o cursor na ltima linha um rolamento realizado automaticamente para uma melhor visualizao do texto. Tamanho de um TAB: Informe a quantidade de espaos que ser dado ao pressionamento da tecla TAB. Barra Visvel: Visualizao da barra lateral no Editor, nesta barra mostrado o nmero de cada linha no texto.

Mostra N de Linhas: Mostra o nmero de linhas na barra lateral do editor.

5.4. Campos PredefinidosO X-Maker traz alguns campos predefinidos em sua instalao, esses campos so utilizados na definio de Tabelas. Os campos predefinidos auxiliam e agilizam o processo de definio.

6.CONHECENDO AS ETAPAS DE DEFINIO DE UM PROJETOPara o uso correto da ferramenta necessrio conhecer todas as etapas de definio, o domnio das funcionalidades de cada objeto disponvel permite uma maior segurana para o projetista. A barra de Assistente do X-Maker contm as 6 (seis) etapas (passos) de criao de um projeto, sua utilizao torna-se totalmente intuitiva e prtica, a Barra de Ferramentas e o Menu Principal possui os mesmos atalhos da barra de Assistente.

6.1. 1 Passo Propriedades do Projeto

Este o primeiro passo para criao de um projeto, destinado personalizao do projeto. Data no Formato Sculo: A visualizao dos campos tipo Data em Entrada de Dados e Relatrios podero ser vistos no formato dd/mm/aa ou dd/mm/aaaa (formato sculo), vale lembrar que essa visualizao est subordinada a configurao do Windows em Painel de Controle Opes Regionais e de Idioma. Confirma Sada: Uma mensagem de confirmao de sada ser executada ao finalizar o projeto final, a mesma poder ser desabilitada pelo projetista. O usurio do projeto final tambm poder alterar essa opo no menu Exibir em Ambiente. Mltiplas Instncias: Permite que o executvel seja executado mais de uma vez em um mesmo microcomputador ao mesmo tempo.

Hint Estilo Balo: Exibe as mensagens na forma de balo. O usurio final poder alterar essa opo no menu Exibir em Ambiente. Menu Estilo XP: Exibe o menu no padro do Windows XP, cores e formato. O usurio final poder alterar essa opo no menu Exibir em Ambiente. Controle de Acesso: Habilita o controle de acesso ao projeto. Controle de Acesso Interno: Habilita a criao das tabelas do controle de acesso dentro do prprio banco de dados do projeto, essa opo desabilitada cria as tabelas de controle de acesso em arquivos externos com extenso .dat. Selecionar Empresa: Permite ao usurio final selecionar a Empresa Usuria na abertura do programa. O usurio final poder alterar essa opo 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. Banner Vertical: Exibe um banner lateral em degrade com o ttulo do projeto. Senha Inicial: Para projetos que iro utilizar o Controle de Acesso possvel definir uma senha para acesso inicial, o usurio padro MASTER. Linguagem: Define a linguagem e verso a ser utilizada para compilao. Banco de Dados: Define o banco de dados a ser utilizado pelo projeto. Conexo: Componente de conexo com o banco de dados. Modelo: Informe o modelo a ser utilizado no projeto. Compartilhamento Dicionrio de Dados: Habilita a pasta de localizao do dicionrio do projeto. Compartilhamento Pasta do Dicionrio: Informe a pasta de localizao do dicionrio do projeto. Como padro o X-Maker utiliza a mesma pasta do projeto.

Compartilhamento Servidor do Dicionrio: Informe o servidor utilizado para armazenamento do dicionrio do projeto, essa opo somente para a verso corporativa. Exemplo: Servidor, 195.195.1.1, etc. Compartilhamento Pasta do Projeto no Servidor: Informe a pasta de localizao das definies do projeto, a pasta fsica do servidor. Compartilhamento Servidor do Projeto: Informe o servidor utilizado para armazenamento das definies do projeto, essa opo somente para a verso corporativa. Exemplo: Servidor, 195.195.1.1, etc. Apresentao (2): Define uma imagem de apresentao durante a inicializao e abertura do projeto final. Imagem de Fundo (3): Define uma imagem de fundo para o projeto final, o usurio poder alterar a imagem no projeto final atravs do Menu Principal Exibir em Ambiente.

6.2. 2 Passo Tabelas

Este o segundo passo para a criao de um projeto, as Tabelas so estruturas formadas por campos, chave primria e, opcionalmente, por chaves secundrias. Outros recursos de definio so os relacionamentos de integridade referencial, excluses em cascatas e restritas, processos diretos/inversos e lanamentos. Para forar uma gerao dos arquivos fonte das Tabelas, marque a opo Regerar Fontes. Ao fechar a janela de Tabelas os arquivos fonte sero regerados. 6.2.1 Definindo Atributos da Tabela Dica:

Atravs dessa janela possvel definir todos os atributos de uma Tabela. Nome: Informe o nome da Tabela, esse nome ser usado para criao do arquivo fonte (unit) e para criao da Tabela dentro do Banco de Dados.

Ativa: Informe se a Tabela est ativa no projeto, ou seja, opcionalmente o projetista poder desativar o uso da Tabela no projeto sem remover as definies. Nome Fsico da Tabela: possvel criar vrias instncias 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 Fsico: Clientes, isso indica que no ser criada fisicamente uma tabela no banco de dados de nome Clientes_2, pois ele uma outra instncia da tabela Clientes. Em resumo Clientes e Clientes_2 so uma mesma tabela. Abrir Tabela: Informe se a Tabela ser aberta na inicializao do sistema, o projetista poder otimizar os processos de abertura de registros atravs dessa propriedade. Ttulo: Informe o ttulo da Tabela, esse ttulo utilizado para o uso interno do projeto. Banco de Dados: Essa informao obrigatria, toda Tabela tem que estar vinculada a um Banco de Dados, para definir um Banco de Dados clique na aba Banco de Dados. Filtragem de Inicializao: Utilize essa opo para definir uma seleo de registros a serem abertos na inicializao do projeto, o X-Maker trabalha no conceito Client/Server, e a abertura de todos os registros no aconselhvel devido ao trfego de informaes 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 usurio final poder redefinir ou mesmo limpar esse filtro aps a inicializao e o sistema ficar mais dinmico. Filtragem Fixa: Possui as mesmas caractersticas da Filtragem de Inicializao porm o usurio final no poder altera-la ou mesmo limpa-la. Um exemplo prtico a utilizao de um sistema Multiempresa em que cada tabela ir conter um campo de identificao da Empresa Usuria, a tabela ser filtrada pelo nmero da Empresa Usuria selecionada no momento da inicializao. Ordenao Inicial: Informe o(s) campo(s) de ordem inicial da tabela, como padro toda tabela ordenada pela chave primria definida, o projetista poder alterar este padro.

6.2.2 Definio do Banco de Dados

O Banco de Dados ir gerenciar as Tabelas do projeto, sua utilizao obrigatria. Conexo Padro: Indica se o Banco de Dados ir utilizar o banco de dados padro definido em propriedades do projeto. possvel 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 opo utilizada quando a Conexo Padro no est habilitada. Alias: Esse nome para uso interno da codificao dos arquivos fontes. Servidor: o nome fsico do Banco de Dados. O usurio final do projeto poder alterar o Servidor.

Login de Conexo: Habilita o uso de Login de Conexo para conectar-se a Base de Dados na abertura do projeto final. Sugerimos que deixe essa opo desmarcada o tratamento interno de Controle de Acesso do projeto bem completo e prtico. Usurio: Informe o usurio (Login) para conexo com a Base de Dados, cada gerenciador de Banco de Dados possui um tratamento especfico de acesso. Senha: Informe a senha (Password) para conexo com a Base de Dados. HostName: Informe o nome ou nmero do I.P do servidor de localizao do Banco de Dados. O usurio final do projeto poder alterar o HostName. Parmetros: possvel informar os parmetros adicionais para conexo, os mesmos dependem do gerenciador utilizado.

Dica:

possvel definir vrios Bancos de Dados, um Banco de Dados pode conter um conjunto de Tabelas, a utilizao 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 Confeces, essa loja possui Matriz e Filiais, algumas Tabelas sero utilizadas de forma compartilhada (Clientes, Fornecedores e Contas a Pagar / Receber), para obter essa operao ser necessrio criar um Banco de Dados para armazenar as Tabelas que sero Compartilhadas e um outro Banco de Dados para as Tabelas no compartilhadas. Em configuraes da Empresa Usuria no projeto final possvel definir uma localizao diferente para cada Banco de Dados criado.

6.2.3 Importando Estruturas Externas possvel importar uma estrutura j existente em outras Bases de Dados ou projetos, clique no boto .

Escolha a estrutura a ser importada, para as estruturas X-Maker, dBase e Paradox basta informar a pasta de localizao das tabelas, para as demais estruturas outras informaes adicionais sero necessrias, tais como usurio (login) e senha (password). Clique no boto 6.2.4 Campos da Tabela A definio dos campos precedida de vrios atributos, cada campo pode armazenar um tipo de dado diferente, uma definio lgica e coerente respeitando todos os atributos torna a aplicao final mais apresentvel e com maior entendimento. As informaes contidas sero utilizadas na criao do Layout dos Formulrios e Relatrios. para ativar a pesquisa.

6.2.5 Nome Informe o nome que ser utilizado para tratamento interno dos arquivos fontes e para criao em disco da Tabela. Utilize o boto para importar uma estrutura predefinida. 6.2.5.1 Tipo Informe o tipo de dado para armazenamento na Tabela. As opes disponveis so: Alfanumrico: Permite o armazenamento de valores alfanumricos (letras, algarismos e caracteres especiais) o seu tamanho mximo fixo. Exemplos: Nome, Endereo, Cidade, etc. Nmero Inteiro: Permite o armazenamento de valores do conjunto dos nmeros inteiros (positivos e negativos). Exemplos: Cdigos, Quantidade, Nmero de Dependentes, etc.

Nmero Fracionrio: Permite o armazenamento de valores do conjunto dos nmeros reais (inteiros ou fracionrios, positivos ou negativos). O nmero de casas decimais de um campo fracionrio determinado pela mscara. Exemplos: Salrio, Total das Vendas, Saldo em Caixa, etc. Data: Permite o armazenamento de valores que representam datas vlidas. O formato da data determinado em Propriedades do Projeto. Memo: Permite o armazenamento de valores alfanumricos de tamanho varivel. Exemplos: Observaes, Referncias Comerciais, Dados Adicionais, etc. Imagem: Permite o armazenamento de imagens. Exemplos: Foto, Logotipo, etc.

6.2.5.2 Chave Indica se o campo faz parte da chave primria, uma chave primria composta por um ou mais campos da Tabela. 6.2.5.3 Tamanho Informe o tamanho mximo para armazenamento no campo, no considerar o sinal de negativo (-), o separador de decimais (,) e outros caracteres separadores utilizados na mscara. Exemplo: CNPJ alfanumrico de tamanho 14 a mscara 99.999.999/9999-99 os pontos (.) e barra (/) no so considerados para calcular o tamanho do campo. 6.2.5.4 Autoincremento Indica que o campo ser incrementado automaticamente (seqencialmente), somente campos do tipo: Nmero inteiro, Fracionrio e data podero utilizar essa opo. A seqncia subordinada a posio do campo na Tabela. 6.2.5.5 Edio Informe o tipo de edio de controle, o formulrio de entrada de dados ir utilizar o tipo de edio para inserir os componentes na tela. Os tipos disponveis so:

Edit (Edio Padro): Caixa de edio de livre digitao, respeitando as restries impostas pela mscara. Exemplo: Combo Drop (Lista Interna): Caixa de lista de opes predefinidas, permite ao usurio a escolha do item atravs de uma lista. Os valores vlidos so informados no atributo Valores Vlidos. Exemplo:

Rdio Button (Optativo): Caixa de opes onde todos os itens disponveis ficam visveis para escolha. Os valores vlidos so informados no atributo Valores Vlidos. Exemplo:

Check Box (Conferncia): Caixa optativa de marca e desmarca. Os valores vlidos so informados no atributo Valores Vlidos, apenas dois valores so informados, um para marcado e outro para desmarcado. Exemplo: Lista Externa (Estrangeira): Campo vinculada a uma tabela relacionada, o estilo de pesquisa poder ser personalizado (Combo Box ou Formulrio de Pesquisa).

6.2.5.6 Calculado Indica que o campo do tipo Calculado, o X-Maker permite que o campo seja virtual (no gravado fisicamente na Tabela) ou no virtual ( gravado fisicamente na Tabela). Sua utilizao vlida quando se deseja mostrar um clculo ou frmula especfica. Exemplo: Ao definir uma Tabela de Itens da Venda, os campos Quantidade e Preo Unitrio sero utilizados para formar o campo de Total Geral, ao definir a Tabela o projetista no sabe quais sero os valores informados pelo usurio no momento da venda, para isso utiliza-se uma codificao de multiplicao entre os campos de Quantidade e Preo Unitrio criando assim o campo de Total Geral. 6.2.5.7 Mscara Informe a mscara de apresentao do campo para formulrios e relatrios. Os caracteres usados como mscara no so armazenados na Tabela e no ocupam espao adicional. As mscaras so utilizadas apenas para os campos cujo tipo de edio seja: Edit (Edio Padro). O X-Maker cria uma lista de opes de mscaras disponveis conforme o tipo e tamanho do campo. Clique no boto vinculado ao atributo. 6.2.5.8 Campos Numricos e Fracionrios: 9 Se nesta posio o valor for 0 (zero), ser mostrado o 0 (zero) mesmo que seja zero esquerda. Z Se nesta posio o valor for 0 (zero), ser mostrado o 0 (zero) exceto se este for um zero esquerda. Neste caso, o 0 (zero) substitudo por um espao em branco.

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

6.2.5.9 Campos Alfanumricos: 9 Indica que nesta posio somente algarismos sero aceitos entre 0 (zero) e 9 (nove). A Indica que nesta posio somente letras e espaos sero aceitos. Os caracteres sero convertidos para maisculo. a Indica que nesta posio somente letras e espaos sero aceitos. Os caracteres sero convertidos para minsculo. X Indica que nesta posio qualquer caractere ser aceito. Os caracteres sero convertidos para maisculo. x Indica que nesta posio qualquer caractere ser aceito. Os caracteres sero convertidos para minsculo. * Indica que os prximos caracteres da mscara seguiro o caractere anterior ao *. usado para simplificar e agilizar a digitao, como exemplo pode citar um campo de Nome do Cliente com tamanho de 50, a mscara utilizada ser o X invs de digitar o X cinqenta vezes, basta digitar o X*, o X-Maker ir gerar o X cinqenta vezes no arquivo fonte.

6.2.5.10 Ttulo Informe o ttulo do campo, esse ttulo utilizado no formulrio de entrada de dados e relatrios. 6.2.5.11 ndice Informe o nmero da ordem de apresentao do campo durante a consulta no formulrio de Entrada de Dados. 6.2.5.12 Invisvel Informe se o campo no ser visvel durante a consulta no formulrio de Entrada de Dados. 6.2.5.13 Ajuda Informe a mensagem de ajuda do campo, essa mensagem utilizada no formulrio de entrada dados (Hint).

6.2.5.14 Valor Padro Informe o valor de inicializao do campo, este valor ser utilizada na incluso de um registro em formulrio de dados. Um exemplo prtico a definio de Data de Cadastro na Tabela de Clientes, ao incluir um novo Cliente a data de Cadastro ir trazer como padro data do sistema operacional. Para campos de Data sugerimos a utilizao do valor padro DataAtual, e para campos que iro armazenar a hora, sugerimos a utilizao do valor padro HoraAtual. No existe um tipo de campo do tipo Hora disponvel no X-Maker, para isso defina o campo como Alfanumrico de Tamanho 06 e Mscara 99:99:99. 6.2.5.15 S. Atribui Sempre Atribui Informe se o campo que possui autoincremento ser sempre atualizado a cada mudana de campo durante a digitao e no ir permitir que o usurio altere a seqncia definida. 6.2.5.16 Pr-Validao Informe uma condio lgica para edio do campo no formulrio de Entrada de Dados. O campo somente ser editvel se a condio retornar verdadeiro ou se no existir nenhuma condio definida. Exemplo: TabGlobal.DClientes.TIPO_PESSOA.Conteudo = 'F' Neste exemplo o campo CPF somente ser editvel se o tipo de pessoa for Fsica. Para deixar o campo sem edio insira o valor lgico Falso, exemplo: False 6.2.5.17 Ao Informe a Ao a ser executada aps a Pr-Validao, esta ao executada quando a Pr-Validao retorna Falso. Seguindo o exemplo acima do campo CPF o projetista poder definir se o campo ser No Editvel ou Invsivel quando o usurio escolher o tipo de pessoa Jurdica. 6.2.5.18 Limpar Campo Informe se o campo ser limpo quando a Pr-Validao retornar Falso. Seguindo o exemplo acima do campo CPF o projetista poder definir se o contedo do campo ser eliminado quando o usurio escolher o tipo de pessoa Jurdica. 6.2.5.19 Validao Informe uma funo de validao para o campo. Essa funo ser vinculada ao evento OnExit (Ao Sair) do campo no formulrio de entrada de dados, ou seja, quando o cursor mudar de campo ou o usurio clicar em Salvar. Para utilizar mais

de uma validao em um mesmo campo utilize o ponto-e-vrgula, exemplo: DATAVALIDA;VALORNULO As funes de validao so mdulos codificados, que so armazenados no arquivo fonte Validar.Pas presente na pasta do projeto. O projetista poder inserir e modificar as funes de validaes fornecidas pelo XMaker. Basta editar o arquivo fonte Validar.Pas e realizar as modificaes necessrias. As modificaes realizadas na pasta do projeto pertencem nica e exclusivamente ao projeto em questo, caso voc queira realizar uma modificao no Validar.Pas para que todos os projetos que forem criados a partir dessa personalizao faam uso desse arquivo fonte, altere na pasta de origem dos arquivos fontes, C:\XMaker3\Delphi\Validar.Pas. Lembrando que C:\XMaker3 a pasta bsica de instalao, se o X-Maker estiver instalado em outra pasta considere a pasta correta. A lista interna das funes disponveis para validao esto no arquivo C:\XMaker3\Validacao.Lst trata-se de um arquivo texto comum que poder ser editado por qualquer editor de texto. Personalizaes nesse arquivo so reconhecidas. A edio desse arquivo justificvel quando o projetista cria novas funes de validao no arquivo fonte Validar.Pas. Funes de validao disponveis 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; // Valida o CNPJ function VCPF(Dado: string): Boolean; // Valida o CPF function VPIS(Dado: String): Boolean; // Valida o PIS function VHORA(Dado: string): Boolean; // Valida a Hora 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 function MESATUAL(Dado: string): Boolean; // Valida o Ms Atual function MESANOATUAL(Dado: string): Boolean; // Valida o Ms a Ano Atual function MESANOVALIDO(Dado: string): Boolean; // Valida o Ms e Ano

6.2.5.20 Procurar em Informe se o campo ser pesquisado e validado em outra Tabela, a mesma dever ser definida em Relacionamentos, somente tabelas relacionadas podero ser pesquisadas. Campos com o tipo de edio: Lista Externa (Estrangeira) podero utilizar esta opo para garantir a consistncia dos dados. 6.2.5.21 Msg. de Erro Mensagem de Erro Informe uma mensagem de erro a ser apresentada para o usurio quando os atributos de Validao ou Procurar em retornarem Falso, o X-Maker gera uma mensagem padro quando este atributo estiver vazio. 6.2.5.22 Valores Vlidos uma lista de valores com suas respectivas descries. Esta lista utilizada para campos cuja Edio seja: Lista Interna (Combo Drop), Optativo (Rdio Button) ou Conferncia (Check Box).

Os valores contidos em Valor sero gravados na Tabela, as descries Descrio sero mostradas no formulrio de entrada de dados e na consulta. Ao fechar a caixa de Tabela de Valores Vlidos o atributo ser preenchido todos os valores vlidos so separados da seguinte forma por (ponto-e-vrgula). O tipo de Edio: Conferncia (Check Box) s poder conter dois valores vlidos. O primeiro valor indica que o componente estar marcado, o segundo valor indica que o componente estar desmarcado.

6.2.6 Definio da Chave Estrangeira Os campos definidos como Lista Externa (Estrangeira) iro permitir que o usurio final pesquise um registro em uma Tabela relacionada, como exemplo podemos citar a Tabela de Clientes e Atividades Comerciais em um Projeto, veja a figura abaixo para uma maior compreenso.

O campo de "Atividade" possui um boto associado, ao clicar neste boto um formulrio de pesquisa aberto, veja a imagem abaixo.

Atravs deste formulrio o usurio poder pesquisar e selecionar o registro desejado.

Em "Relacionada com" voc dever escolher a Tabela de relacionamento, o campo da "Tabela" em definio dever ser associado com o campo correspondente da Tabela "Relacionada com", no obrigatrio a utilizao de um mesmo nome para os campos a serem associados, mas o mesmos devero possuir uma mesma estrutura (tipo e tamanho).

Todos os campos "fsicos" da Tabela relacionada podero ser mostrados, escolha os campos e a ordem de apresentao em "Campos a serem mostrados", o primeiro campo da lista indica a ordenao da consulta. O "Estilo de Pesquisa" pode ser "Formulrio" ou "Combo Drop", o "Formulrio" possui recursos de "Filtragem Fixa" e "Pesquisar aps", o "Combo Drop" mais simples e objetivo, indicado para Tabelas com poucos registros e campos. A "Filtragem Fixa" cria uma seleo de registros a serem visualizados e "Pesquisar aps" pode ser "Cada caractere" ou "Enter", isso indica se a pesquisa ser automtica a cada caractere digitado ou somente aps o pressionamento da tecla "Enter". Criar Relacionamento em "Integridades & Relacionamentos" Aps a confirmao da definio o X-Maker poder criar automaticamente um "Relacionamento" em "Integridades & Relacionamentos", este tipo de "Relacionamento" independente da definio da "Lista Externa", para que os campos das Tabelas relacionadas possam ser visualizados junto com a Tabela em Definio necessrio criar o "Relacionamento" em "Integridades & Relacionamentos", o simples fato de criar uma "Lista Externa" no habilita a utilizao de campos "Extras", ou seja, campos de outras Tabelas. Os "Processos Diretos/Inversos" tambm utilizam os "Relacionamentos". Nem toda Tabela necessita da criao dos "Relacionamentos" aps a definio da "Lista Externa". O atributo "Procurar em:" do campo em definio preenchido automaticamente quando este tipo de "Relacionamento" criado atravs da "Lista Externa", este atributo ir realizar uma validao do campo quando o mesmo estiver em edio em formulrios de "Entrada de Dados" e "Entrada de Dados Filho", ou seja, obrigatrio informar um contedo que satisfaa a condio de registro vlido na Tabela relacionada. Exemplo: Ao digitar o nmero da Atividade Comercial na Ficha Cadastral de Clientes o mesmo dever ser vlido, no ser permitido informar um nmero de Atividade Comercial que no esteja cadastrado. Voc poder desabilitar esta validao, faa a edio do Campo em deixe o atributo "Procurar em" vazio. 6.2.7 Edio de Campo Calculado Os campos definidos como Campo Calculado so codificados conforme a linguagem utilizada no projeto.

A codificao dividida em duas janelas de texto, a 1 janela de texto destinada para as declaraes de variveis locais, a 2 janela de texto destinada para a codificao que ir gerar um retorno atravs da varivel Result. A utilizao da varivel Result obrigatria, e o tipo de informao a ser atribuda depende do tipo do campo (alfanumrico, inteiro, fracionrio ou data). A atribuio de um campo nmero ou data em um campo alfanumrico ou vice-eversa, sem as devidas converses, causa um erro de compilao. Codificar um Campo Calculado exige um conhecimento bsico de programao. A opo "Campo no virtual" habilitado indica que o campo ser criado fisicamente na tabela, porm a frmula de clculo ser executada a cada incluso ou modificao na tabela. Campos calculados virtuais no podem ser editados, filtrados e ordenados. 6.2.8 ndices (Chaves Secundrias) Os ndices so utilizados para agilizar o processo de localizao, filtragem e ordenao em formulrios de entrada de dados e relatrios. Sua utilizao no obrigatria e uma falta de coerncia torna o acesso base de dados mais lenta, a quantidade de ndices definidos em uma Tabela interfere na velocidade de atualizao da mesma. Para os campos que sero mais utilizados em processos de localizao, filtragem e ordenao aconselhvel a utilizao de ndices.

Um ndice composto por um ou mais campos, de forma crescente (padro) ou decrescente, campos nmero resultam em ndices mais velozes. Uma Tabela pode conter vrios ndices, os campos Memo e Imagem no podero ser utilizados na criao de um ndice.

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 no podem ser excludos se estiverem sendo referenciados em outras tabelas. O X-Maker proporciona os seguintes relacionamentos: Relacionamento: Trata-se de um relacionamento simples, ou seja, no ser utilizado para criao de integridade referencial. Esse tipo de relacionamento permite a utilizao de campos Extras, campos de tabelas relacionadas podero 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 podero ser agregados a Tabela de Vendas. Isso no uma duplicidade de informao

ou campos, os campos escolhidos da Tabela de Clientes no sero gravados fisicamente na Tabela de Vendas. Restrita: Somente os registros que no estivem sendo referenciados em outras Tabelas podero ser excludos. Exemplo: A Tabela de Clientes possui uma referncia da Tabela de Atividades Comerciais, ao excluir uma Atividade Comercial o sistema ir checar se a mesma no 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 sero excludos tambm. Exemplo: A Tabela de Notas Fiscais possui uma Tabela relacionada de Itens da Nota Fiscal, o campo de relacionamento o nmero da Nota Fiscal, ao excluir uma Nota Fiscal todos os registros da Tabela de Itens da Nota Fiscal que possurem o mesmo nmero da Nota Fiscal sero excludos.

Relacionado com: Informe a Tabela para relacionamento. Campos: Lista dos campos disponveis para relacionamento das Tabelas. Campo(s) de associao: Para relacionar os campos necessrio selecionar um campo de cada lista em Campos, depois clicar no boto Inserir Relacionamento. Os campos devem possuir a mesma estrutura (tipo e tamanho), no h necessidade de possurem o mesmo nome. Um relacionamento composto por um ou mais conjunto de campos.

6.2.10 Processos Diretos/Inversos Os processos diretos/inversos permitem a atualizao das tabelas relacionadas, o processo direto est vinculado incluso e modificao dos registros e o processo inverso est vinculado excluso e modificao. 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). O projetista poder definir Processos e Lanamentos avulso, neste caso no necessrio nenhum tipo de relacionamento e a codificao livre, ou seja, o projetista poder codificar qualquer tipo de instrues.

Tabela alvo: Somente Tabelas relacionadas podero ser escolhidas. Campo alvo: Campo da Tabela alvo que ir sofrer o processo. Condio: Expresso lgica de condio para execuo do processo, quando no houver expresso o processo sempre ser executado. Processo direto: Expresso de atualizao aps a incluso ou modificao. Processo inverso: Expresso de atualizao antes de excluso ou modificao.

Condio, Processo direto e inverso so blocos de codificaes, a "Condio" dever ser definida com a sintaxe da linguagem Delphi, os "Processos" utiliza a sintaxe "SQL" que a linguagem nativa do Banco de Dados. Opcionalmente voc poder utilizar a caixa de definio de expresso, conforme imagem acima. A "Condio" ser utilizada na criao de uma condio para execuo dos "Processos", tanto para o direto quanto para o inverso, na imagem abaixo possvel visualizar a expresso de "Condio" transformada em linha de cdigo com a utilizao do condicional "if ... then".

As expresses de "Processos" so vinculadas ao "Campo alvo" da "Tabela alvo", utilize o boto "Campo" na janela de definio da Expresso para obter a sintaxe correta do campo a ser utilizado, na figura abaixo o processo realizado no campo "CON_BAIXA" da Tabela "Contas", a sintaxe final em SQL ser: set update Contas CON_BAIXA = :BX_CONTAS_CON_BAIXA, CON_PAGO = CON_PAGO + :BXCONTAS_CON_PAGO where CLI_CODIGO = 1 and CON_DOCUMENTO = '1' and CON_PARCELA = 1 Os valores de atribuio na clausula "where" apenas ilustrativo, pois o relacionamento que ir fornec-los. O "Campo alvo" ser atualizado somente com a expresso ":BX_CONTAS_CON_BAIXA", o contedo restante aps a vrgula um complemento, pois podemos inserir mais atualizaes em um mesmo processo separados por vrgula.

Processo Direto.

Processo Inverso.

Processo Avulso - Direto/Inverso

6.2.11 Lanamentos Os lanamentos podero ser utilizados para gerar um novo registro em outra tabela aps a incluso. O projetista poder definir lanamento avulso de livre codificao.

Tabela alvo: Tabela que ir receber o novo registro. Condio p/ incluso: Expresso lgica de condio para criao do novo registro. Campos da Tabela alvo: Campos que podero ser preenchidos, os campos chaves so obrigatrios. Preencher com: Valores a serem atribudos. Condio e Preencher com so blocos de codificaes, a "Condio" dever ser definida com a sintaxe da linguagem Delphi, os campos "Preencher com" utilizam a sintaxe "SQL" que a linguagem nativa do Banco de Dados. Opcionalmente voc poder utilizar a caixa de definio de expresso, conforme imagem acima. Para realizar concatenao de expresso necessrio utilizar as aspas('), como exemplo podemos citar o campo "CAI_TIPO" da Tabela "LcCxBco", este campo recebe o valor "E" = Entrada ou "S" = Sada, a expresso "Preencher com" do campo alvo ir gravar a letra correspondente ao tipo de baixa ou estorno e no poder ser utilizado "E" ou "S" diretamente sem a devida concatenao, a expresso final : '+#39+'E'+#39+' ou '+#39+'S'+#39+' veja logo abaixo a imagem com o cdigo gerado.

Toda linha de "Preencher com" transformada em linha de cdigo, o atributo "SQL" recebe as linhas de codificao atravs do mtodo "add", este mtodo aceita somente expresses do tipo "String", as aspas (') so utilizadas para determinar o nicio e fim de uma "String", isso vlido tanto para linguagem Delphi (Object Pascal) como para "SQL", a expresso final em "SQL" dever ser: 'E' ou 'S', para no gerar conflito entre as linguagens na hora da compilao as aspas da expresso representada pelo caractere "#39", "#39" o cdigo ASCII das aspas, vamos analisar a linha para uma maior compreenso: Sql.Add(','+#39+'E'+#39+''); O sinal de "+" faz a concatenao de "Strings", ento ser: , (vrgula) + ' (aspas) + E (Letra) + ' (aspas) = , 'E' O mtodo "RetornaAutoIncremento" pode ser utilizado para buscar o prximo nmero de campo, exemplo: Campo alvo: "CAI_SEQUENCIA", a seqncia deste campo subordinada aos campos "CONTA" e "CAI_DATA". Como o mtodo retorna um nmero o mtodo "IntToStr" utilizado para converter em "String", o "#39" no utilizado porque o campo numrico. Declarao do Mtodo "RetornaAutoIncremento": function RetornaAutoIncremento(TabelaPrincipal: Condicao: String; Qtd: Integer = 1): Variant; TTabela; Campo: String;

Retorna o prximo nmero a ser utilizado em uma Tabela. O projetista poder informar uma expresso de filtro em Condicao, como default o prximo registro ser acrescido de 1 (um). Lanamento Avulso

O projetista poder codificar as instrues a serem executadas aps a incluso do registro.

6.3. 3 Passo Formulrios

Este o terceiro passo para criao de um projeto, atravs desta opo o projetista ir definir todos os formulrios a serem utilizados pelo projeto. Aps a definio das Tabelas necessrio criar uma interface para que o usurio do projeto final possa entrar com as informaes. O X-Maker possui um Editor de Layout muito prtico e eficiente, a criao de janelas de entrada de dados nunca foi to fcil e amigvel. O X-Maker possibilita a criao de 04 tipos de formulrios, so eles: Entrada de Dados: o tipo mais usado para definio, esse tipo de formulrio trabalha no padro MDI ou Interface de Mltiplos Documentos. um modelo mais sofisticado, pois possibilita o acesso s outras reas do programa e a abertura de outros formulrios ao mesmo tempo. Todas as janelas podero ser minimizadas e maximizadas. Entrada de Dados Filho: Esse tipo de formulrio trabalha no padro Modal, ou seja, outras reas do programa no podero ser acessadas enquanto o mesmo estiver aberto. As definies de formulrios (Entrada de Dados) que iro utilizar um Grid de Relacionamento iro utilizar uma Entrada de Dados

Filho para vincular a manipulao dos dados da Tabela relacionada. Como exemplo podemos citar a definio 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 definio de formulrio avulso destinada para a manipulao direta no Delphi, ou seja, o X-Maker ir criar um formulrio vazio para que o projetista possa manipul-lo atravs do prprio Delphi. Esse tipo de formulrio trabalha no padro MDI ou Interface de Mltiplos Documentos. Avulso Normal: Possui os mesmos propsitos do Avulso MDI, porm o padro utilizado o Modal, ou seja, outras reas do programa no podero ser acessadas enquanto o mesmo estiver aberto.

6.3.1 Definindo o Layout do formulrio O X-Maker possui um poderoso e prtico editor de layout de formulrios. Com o recurso exclusivo de auto formatao o projetista ter um ganho de produtividade, outro ponto importante a manipulao do arquivo fonte gerado em uma mesma tela. Toda codificao gerada automaticamente a cada manipulao dos componentes disponveis.

Um prottipo do formulrio criado para facilitar a referncia visual dos componentes, a janela Propriedades (Object Inspector) permite a manipulao direta dos componentes, criao de pginas e/ou acesso aos eventos disponveis. O arquivo fonte poder ser editado atravs da aba Cdigo, para que o projetista possa interagir diretamente na codificao. O X-Maker trabalha diretamente no arquivo fonte, os arquivos .Pas e .Dfm do Delphi, ou seja, toda leitura e gravao do layout do formulrio e realizado diretamente nesses arquivos. Esse recurso avanado permitiu uma grande interao como o Delphi, pois qualquer manipulao do formulrio atravs do Delphi preservada no X-Maker. Algumas reas so restritas, essas reas sero comentadas no tpico de Estrutura do Arquivo Fonte, e a descaracterizao do layout no poder ser feita pelo projetista. Para formulrios totalmente personalizados sugerimos a utilizao de formulrios do tipo: Avulso MDI ou Avulso Normal.

6.3.2. Propriedades (Object Inspector)

O X-Maker permite a criao de at 11 pginas por formulrio, ao utilizar o recurso de auto formatao novas pginas podero ser criadas automaticamente dependendo da quantidade de campos da Tabela. 6.3.2.2 Grid de Relacionamento Em formulrios de entrada de dados possvel a utilizao de um Grid de Relacionamento, para operaes do tipo Mestre-Detalhe. Exemplo: Notas Fiscais e Itens da Notas, Vendas e Itens da Venda, Oramentos e Itens do Oramento, etc.

Neste exemplo de definio de um formulrio de vendas possvel identificar sua real utilizao. O Grid far o acesso a Tabela de Itens da Venda, o campo de ligao ser o N da Venda que um campo em comum entre as Tabelas. Para inserir um Grid de Relacionamento clique no boto na janela Propriedades Object Inspector, depois clique em qual rea da tela o componente ser inserido. Somente tabelas definidas com o relacionamento Excluso em Cascata podero ser utilizadas. Faa a definio em Assistente -> Tabelas.

Edio direta: Informe se o Grid ter uma edio direta, ou seja, no ser necessrio utilizar um formulrio filho para manipulao dos dados. Formulrio: A manipulao dos registros poder ser realizada atravs de um formulrio filho. Antes de inserir um Grid de Relacionamento em um formulrio de Entrada de Dados faa a definio de um formulrio de Entrada de Dados Filho da Tabela relacionada.

6.3.2.3 Movimentao e Redimensionamento Os componentes inseridos em Pginas da janela de prottipo podero movimentados, arrastados, copiados, recortados, colados, excludos e redimensionados. possvel mover um ou vrios componentes de uma pgina 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. Ctrl + Setas: Movimenta os componentes selecionados em uma posio. Ctrl + Shift + Setas: Movimentam os componentes selecionados em oito posies. Shift + Setas: Redimensiona os componentes selecionados. Del: Exclui os componentes selecionados. Ctrl + C: Copia os componentes selecionados. Ctrl + V: Cola os componentes selecionados. Ctrl + X: Recorta os componentes selecionados.

Clique com o boto da direita do mouse para obter uma lista de propriedades extra de configurao.

6.3.3 Mini Editor O projetista tem a sua disposio o arquivo fonte do formulrio que est sendo definido, o arquivo atualizado a cada mudana no layout.

Vejamos as funes da barra de ferramentas do editor:

6.3.3.1 Estrutura do Arquivo Fonte Para uma melhor utilizao e aproveitamento dos arquivos fontes gerados necessrio que o projetista conhea melhor a estrutura utilizada. A estrutura segue os padres estabelecidos pelo Delphi, vrios eventos foram criados para atender as exigncias de tratamento das Tabelas. Os arquivos fontes possuem vrios blocos de utilizao interna do X-Maker, esses blocos no sero preservados em eventuais personalizaes atravs do Delphi ou algum outro meio. Os blocos so identificados como linhas de comentrios, iniciados em {XXIncio do Bloco X-Maker. Modificaes no sero preservadas} e finalizados em {99-Final do Bloco X-Maker. Modificaes no sero preservadas}. XX representa o nmero do bloco, um arquivo fonte pode ter vrios blocos (01, 02, 03, etc).

Os blocos so utilizados de forma estratgica a fim de no comprometer a liberdade de codificao do projetista. Grande parte das funes e procedimentos utilizados em um formulrio de entrada de dados e entrada dados filhos esto codificados na unit RotinaEd.Pas. 6.3.4 Principais eventos 6.3.4.1 Inicializao (FormShow) Este evento utilizado para fazer a ligao entre os componentes e os campos da Tabela, algumas configuraes visuais so tratadas tambm neste evento. O evento chamando quando o formulrio executado pela primeira vez, quando o formulrio fechado e executado novamente conta-se como sendo a primeira vez. O projetista dever respeitar os blocos 05 e 05. 6.3.4.2 Abertura de Tabelas (AbreTabelas) Todas as Tabelas do projeto so abertas na inicializao do projeto final, o projetista no ir encontrar neste evento as codificaes de abertura da Tabela manipulada pelo formulrio. Este evento foi mantido visando uma possvel necessidade do usurio em realizar uma abertura de Tabela de forma Local no formulrio.

6.3.4.3 Confirma Incluso (ConfirmaInclusao) Cada vez que o usurio do projeto final pedir uma incluso de registro, o evento ConfirmaInclusao ser chamado, este evento retorna uma expresso lgica permitindo ou no a incluso. Como padro o evento retorna sempre verdadeiro, o projetista poder criar uma condio para manipular o retorno. 6.3.4.4 Confirma Modificao (ConfirmaModificacao) Cada vez que o usurio do projeto final pedir uma modificao do registro, o evento ConfirmaModificacao ser chamado, este evento retorna uma expresso lgica permitindo ou no a modificao. Como padro o evento retorna sempre verdadeiro, o projetista poder criar uma condio para manipular o retorno. 6.3.4.5 Confirma Excluso (ConfirmaExclusao) Cada vez que o usurio do projeto final pedir uma excluso de registro, o evento ConfirmaExclusao ser chamado, este evento retorna uma expresso lgica permitindo ou no a excluso. Como padro o evento retorna sempre verdadeiro, o projetista poder criar uma condio para manipular o retorno. 6.3.4.6 Confirma Gravao (ConfirmaGravacao) Cada vez que o usurio do projeto final pedir para salvar um registro, o evento ConfirmaGravacao ser chamado, este evento retorna uma expresso lgica permitindo ou no que o registro seja salvo. Como padro o evento retorna sempre verdadeiro, o projetista poder criar uma condio para manipular o retorno. 6.3.4.7 Ao Entrar Manuteno (TelaManutencao) Toda vez que a tela de manuteno do formulrio for ativada o evento TelaManutencao ser chamado, ao navegar entre os registros com a tela de manuteno ativa o evento ser chamado tambm. Esse evento muito til para realizar alteraes de propriedades visuais em tempo de execuo. Exemplo: um Cadastro de Clientes, aonde o tipo de pessoa (Fsica ou Jurdica) determina o preenchimento de certos campos, o projetista ter que codificar essas particularidades exigidas. Os campos a serem habilitados ou desabilitados sero codificados nesse evento. 6.3.4.8 Ao Entrar Consulta (TelaConsulta) Toda vez que a tela de consulta do formulrio for ativada o evento TelaConsulta ser chamado.

6.3.4.9 Atribui Valores (AtribuiValoresPadrao) Quando o usurio do projeto final pedir uma incluso de registro o evento AtribuiValoresPadrao ser chamado, o X-Maker utilize este evento para atribuir a funo 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 atravs do boto Salvar do formulrio. O projetista poder realizar codificaes de atribuio 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 incluso de registro, atravs do boto Incluir da barra de ferramentas. 6.3.4.12 Antes de Modificar (AntesdeModificar) Este evento ser chamado antes de entrar no modo de modificao de registro, atravs do boto Modificar da barra de ferramentas. 6.3.4.13 Antes de Excluir (AntesdeExcluir) Este evento ser chamado antes de entrar no modo de excluso de registro, atravs do boto Excluir da barra de ferramentas. 6.3.4.14 Depois de Incluir (DepoisdeIncluir) Este evento ser chamado depois da incluso de um registro, atravs do boto Incluir da barra de ferramentas. 6.3.4.15 Depois de Modificar (DepoisdeModificar) Este evento ser chamado depois da modificao de um registro, atravs do boto Modificar da barra de ferramentas. 6.3.4.16 Depois de Excluir (DepoisdeExcluir) Este evento ser chamado depois da excluso de um registro, atravs do boto Excluir da barra de ferramentas.

6.3.4.17 Finalizao (FormClose) Este evento ser chamado quando o usurio do projeto final fechar o formulrio.

6.4. 4 Passo Relatrios, Etiquetas e Grficos.

Este o quarto passo para criao de um projeto, atravs desta opo o projetista ir definir todos os relatrios, etiquetas e grficos a serem utilizados pelo projeto. Em um projeto a extrao de resultados realizada atravs dessa opo, possvel criar vrios tipos de relatrios, o projetista ter toda liberdade de criao atravs do Editor de Layout. Relatrios: O projetista poder definir vrios tipos de relatrios para diversas finalidades, com exemplo podemos citar a criao de relatrios de Tabela de Preos, Lista de Clientes, Contas a Receber, Contas a Pagar, Fluxo de Caixa, etc.

Etiquetas: Esse tipo de definio muito utilizado na criao de Mala Direta ou etiquetas para os produtos do estoque com a utilizao do cdigo de barras. Grficos: So utilizados para uma visualizao mais sinttica dos dados, existe uma variedade de modelos disponveis.

No projeto final o usurio sempre ir visualizar os relatrios antes de imprimir, isso garante ou usurio optar entre apenas visualizar na tela ou enviar para impressora. Outro recurso muito til e a exportao dos relatrios para PDF, BMP, JPG, EMF, WMF, TXT, HTM, CSV e RTF. A seguir iremos usar apenas o termo Relatrio, pois na realidade uma Etiqueta ou Grfico gerado como Relatrio pelo X-Maker. Dica: O X-Maker no predetermina os nomes a serem utilizados em formulrios e relatrios, o projetista tem a liberdade de escolha, porm sugerimos a utilizao de nomes tais como: Rel_001, Rel_002, Rel_003, etc. Eti_001, Eti_002, Eti_003, etc. Gra_001, Gra_002, Gra_003, etc., como em todo projeto os relatrios so maioria isso torn-se uma boa escolha. 6.4.1 Definindo o Relatrio A definio do relatrio composta pelos campos a serem listados, Relacionamentos, Filtragem, Ordenao e Layout.

possvel definir uma filtragem (seleo) de registros, quando um relatrio no possui nenhuma filtragem todos os registros so listados de forma incondicional. A filtragem pode ser fixa, predeterminada pelo projetista, ou informada pelo usurio do projeto final. A escolha da filtragem depende do tipo de resultado a ser extrado. 6.4.2 Filtragem

Na opo Operao est contida os operadores lgicos disponveis, sua utilizao tem que ser coerente, pois os resultados extrados dependem da sua boa utilizao. = Igual: Indica que apenas os registros cujo campo selecionado, forem iguais ao valor fixo ou varivel sero listados. Exemplo: Nome = Maria somente os registros que iniciarem com o nome Maria sero listados. Diferente: Indica que apenas os registros cujo campo selecionado, forem diferentes do valor fixo ou varivel sero listados. Exemplo: Nome Maria somente os registros que forem diferentes de Maria sero listados. < Menor que: Indica que apenas os registros cujo campo selecionado, forem menores que o valor fixo ou varivel sero listados. Exemplo: Nome < Maria somente os registros que forem menores que Maria sero listados. Para campos Alfanumricos, conforme exemplo, a comparao alfabtica. Os campos numricos e datas so comparados por valores. Maria somente os registros que forem maiores que Maria sero listados. >= Maior ou Igual: Indica que apenas os registros cujo campo selecionado, forem maiores ou iguais ao valor fixo ou varivel sero listados. Exemplo: Nome >= Maria somente os registros que forem maiores ou iguais a Maria sero listados. % Contm: Indica que apenas os registros cujo campo selecionado, conterem o valor fixo ou varivel sero listados. Exemplo: Nome LIKE %SOUSA% somente os registros que conterem a expresso SOUSA sero listados. A procura independe da posio da expresso no campo, esse recurso muito utilizado para localizao de sobrenomes em uma Tabela de Clientes. ? Vazio: Indica que apenas os registros cujo campo selecionado, forem vazios sero listados. Exemplo: Nome IS NULL somente os registros que no possurem Nomes cadastrados sero listados.

A opo Composio Lgica utilizada quando mais de uma expresso de filtro for utilizado. E: Atribui o operador AND entre as expresses de filtro. Exemplo: Nome = Maria AND Cidade = UBERABA somente os registros que iniciarem com o nome Maria e forem da Cidade de UBERABA sero listados. OU: Atribui o operador OR entre as expresses de filtro. Exemplo Nome = Maria OU Nome = Jose somente os registros que iniciarem com o nome Mariaou o nome Jose sero listados.

Todos os componentes de edio utilizados em Dilogo podero ser utilizados na expresso de filtragem, possibilitando assim que o prprio usurio defina os valores de seleo. Dica: muito comum a confuso do uso das Composies Lgicas, um exemplo clssico seria a criao de um relatrio para listar os salrios 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 no 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.

6.4.3 Ordenao A ordenao dos registros a serem listados definida pelo projetista, a chave de ordenao poder ser composta ou no. Chaves compostas indicam que mais de um campo sero utilizados na formao do ndice.

6.4.4 Layout do Relatrio A definio do layout do relatrio realizada atravs de uma interface visual, o componente utilizado o FreeReport (http://www.fast-report.com/en/) trata-se de um poderoso e prtico componente de gerao de relatrios. Outros componentes sero implementados em prximas verses do X-Maker, proporcionar o mximo de opes e versatilidades para o projetista o nosso maior objetivo.

O editor possui uma estrutura predefinida comporta por: Cabealho de Pgina, Cabealho de Coluna, Dados Mestre, Sumrio do Relatrio e Rodap de Pgina. Na barra de ferramentas o boto campos no relatrio. responsvel pela atribuio dos

Selecione os campos a serem atribudos e determine o seu posicionamento em Ordem. A opo Inclua cabealhos traz os ttulos definidos em Tabelas para a coluna de cabealho, a opo Incluir banda no necessria, pois como padro o Layout utilizar uma faixa predefinida, a seguir iremos explicar a utilizao das bandas. Bandas As Bandas so reas especficas que podero conter campos ou objetos a serem impressos. Cada banda responsvel por um recurso diferente no relatrio, temos como exemplo as reas de cabealho (topo do relatrio), rodap, cabealho de colunas, registros da tabela, grupo de quebra, etc.

Exemplo de Bandas.

Barra de Ferramentas Lateral

Clculos em Relatrios possvel a criao de clculos entre campos em relatrios, ao inserir um campo/texto uma janela de edio ser apresentada, na caixa de texto possvel realizar codificaes.

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 matemticos podero ser utilizados para clculos entre campos ou valores fixos. Exemplo 1: [[DProdutos."PRO_VENDA"] * [DProdutos."PRO_QUANTIDADE"]] Exemplo 2: [[DProdutos."PRO_VENDA"] * 0.5] A utilizao de colchetes [ ] obrigatrio, pois indica que o seu contedo representa um campo da Tabela ou varivel. Os clculos tero que utilizar os colchetes [ ] tambm, conforme exemplo. A no utilizao dos colchetes [ ] indica que o seu contedo ser impresso como texto. Alguns comandos do Delphi podero ser utilizados, tais como: ifthenelse, whiledo, repeatuntil. A utilizao de blocos begin..end; tambm so aceitos. Algumas funes internas podero ser utilizadas, so elas: Sum: Totaliza campos numricos, sintaxe: Sum(), exemplo: [SUM([DProdutos."PRO_CUSTO"] )] Count: Quantifica a quantidade de registros Count(), exemplo: [Count(DProdutos)] listados, sintaxe:

Str: Converte nmero em string, sintaxe: Str() Copy: Retorna uma parte de uma string, sintaxe: Copy(, , ) If: Retorna uma string conforme condio, uma condio lgica ir determinar o retorno de uma String1 ou String2, sintaxe: If(, , ) FormatFloat: Converte um nmero em uma string formatada, sintaxe FormatFloat(, ), o segue os padres do Delphi de formatao. FormatDateTime: Converte uma data/hora em uma string formatada, sintaxe: FormatDateTime(, ) StrToDate: Converte uma string em data, sintaxe: StrToDate() StrToTime: Converte uma string em hora, sintaxe: StrToTime() UpperCase: Converte os caracteres de uma string em caracteres maisculos, sintaxe: UpperCase() LowerCase: Converte os caracteres de uma string em caracteres minsculos, sintaxe: LowerCase() Int: Retorna a parte inteira de um nmero, sintaxe: Int() Frac: Retorna a parte fracionria de um nmero, sintaxe: Frac() Round: Arredonda um nmero, sintaxe: Round() Mod: Retorna o resto da diviso entre dois nmeros, sintaxe: value1 Mod value2 Input: Mostra uma caixa de texto, onde o usurio poder digitar qualquer informao extra, sintaxe: Input( [,]) MascValor: Formata um nmero inteiro ou fracionrio e retorna em String, sintaxe: MascValor(,), exemplo:[MascValor([DProdutos."PRO_CUSTO"], ZZZ.ZZ9,99)] ConstStr: Retorna uma String replicada N vezes, sintaxe: ConstStr(,), exemplo: [ConstStr(-,80)]

RetiraBrancos: Retira os espaos em branco de uma String, sintaxe: RetiraBrancos(), exemplo: [RetiraBrancos([Dprodutos.PRO_DESCRICAO])] PadR: Alinha uma String esquerda, dentro de um tamanho determinado, sintaxe: PadR(,), exemplo: [PadR([Dprodutos.PRO_DESCRICAO], 80)] PadL: Alinha uma String direita, dentro de um tamanho determinado, sintaxe: PadL(,), exemplo: [PadL([Dprodutos.PRO_DESCRICAO], 80)] Center: Centraliza uma String, dentro de um tamanho determinado, sintaxe: Center(,), exemplo: [Center([Dprodutos.PRO_DESCRICAO], 80)] Space: Cria uma String em branco de tamanho determinado, sintaxe: Space(), exemplo: [Space(80)] PorExtenso: Retorna um nmero por extenso, em portugus, sintaxe: PorExtenso(), exemplo: [PorExtenso([Dproduto.PRO_PRECO])] StrZero: Converte um nmero inteiro em String com zeros esquerda, sintaxe: StrZero(,), exemplo: [StrZero([Dproduto.PRO_CODIGO], 05)] FormatMaskText: Formata uma String conforme a mscara informada, sintaxe: FormatMaskText(, ), exemplo: [FormatMaskText(XXXX, [Dprodutos.PRO_UNIDADE])] MascTexto: Formata uma String conforme a mscara informada, sintaxe: MascTexto(, ), exemplo: [MascTexto([DClientes."CEP"], '99999-999')] MascData: Formata uma data conforme a mscara informada, sintaxe: MascData(, ), exemplo: [MascData([DVendas."VEN_DATA"], 'dd/mm/yy')] CalcC_0: Arredonda uma expresso de clculo e retorna sem casas decimais, sintaxe: CalcC_0(, , ), exemplo: [CalcC_0(99.56, 85.56, +)] CalcC_1: Arredonda uma expresso de clculo e retorna com uma casa decimal, sintaxe: CalcC_1(, , , exemplo: [CalcC_1(99.56, 85.56, -)]

CalcC_2: Arredonda uma expresso de clculo e retorna com duas casas decimais, sintaxe: CalcC_2(, , , exemplo: [CalcC_2(99.56, 85.56, *)] CalcC_3: Arredonda uma expresso de clculo e retorna com trs casas decimais, sintaxe: CalcC_3(, , , exemplo: [CalcC_3(99.56, 85.56, /)] CalcC_4: Arredonda uma expresso de clculo e retorna com quatro casas decimais, sintaxe: CalcC_4(, , , exemplo: [CalcC_4(99.56, 85.56, +)] CalcC_5: Arredonda uma expresso de clculo e retorna com cinco casas decimais, sintaxe: CalcC_5(, , , exemplo: [CalcC_5(99.56, 85.56, -)]

Dica: A pasta C:\XMaker6\Comp\Delphi, contem o arquivo de ajuda do FreeReport, o nome do arquivo FRUSER.HLP. 6.4.5 Configurando Etiquetas A configurao da quantidade de colunas por etiqueta realizada atravs do Menu Arquivo em Opes da Pgina.

Defina o nmero de colunas da etiqueta em Colunas. 6.4.6 Configurando o Grfico De um duplo clique no objeto de grfico do relatrio.

Todas configuraes esto disponveis nesta janela, em Dados na opo Nome do objeto informe os objetos a serem totalizados e visualizados no grfico.

Memo7: Neste exemplo representa o cdigo do produto. Memo11: Representa o total das vendas.

Para obter no nome do objeto clique no objeto desejado e veja na opo Name do Object Inspector.

6.5. 5 Passo Menu

Este o quinto passo para criao de um projeto, atravs desta opo o projetista ir definir o menu lateral, superior e barra de ferramentas para acesso aos formulrios e relatrios do projeto. As opes disponveis para definio so: Sub-Menu: Insere um grupo de separao das opes, sua utilizao torna o projeto mais organizado e apresentvel. Formulrios e Relatrios: Insere um formulrio ou relatrio definido no projeto. Rotina Avulsa: Insere um bloco de codificao livre, ou seja, o projetista poder utilizar uma codificao especfica. Programa Externo (EXE): Insere a chamada de um programa externo, exemplo: Word, Excel, etc.

Barra de Ferramentas

Rotina Avulsa Ao inserir uma rotina avulsa o boto ficar disponvel para o projetista.

O projetista poder realizar uma codificao especifica dentro do bloco predeterminado, a codificao segue os padres estabelecidos pela linguagem Delphi.

6.5. 6 Passo Compilao

Este o sexto e ltimo passo para criao de um projeto, todos os arquivos fontes estaro gerados e configurados para criao do arquivo executvel. A compilao do projeto realizada via comandos do MS-DOS, durante a compilao o X-Maker ir verificar qualquer tipo de erro nos arquivos fontes gerados que empeam a criao do executvel. 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.

A opo fora a recompilao de todos os mdulos do projeto Para executar o projeto automaticamente aps a compilao, marque a . opo Outros fatores podero atrapalhar o processo de compilao, uma delas a configurao errada do compilador e parmetros utilizados. Veja o tpico Configurando o X-Maker para certificar-se se o compilador est configurado da

forma correta. Por tratar-se de uma compilao via comandos do MS-DOS, devese considerar as restries de uso do MS-DOS, configuraes do Autoexec.bat e Config.sys podero interferir na execuo. A compilao poder ser realizada diretamente no Delphi, veja o tpico Configurando o X-Maker em Compilando e Executando pelo Delphi. No h diferenas entre os meios de compilao, o resultado ser o mesmo.

7. FONTES GERADOS PELO X-MAKERO X-Maker possui vrios mdulos predefinidos para controle geral do aplicativo gerado. Alguns mdulos so constantemente alterados, so os mdulos de definies de Banco de Dados, Tabelas e Campos. Segue abaixo uma tabela com todos os mdulos gerados e manipulados pelo X-Maker.

Todos os mdulos podero ser personalizados pelo projetista. O X-Maker possui um sistema de segurana que possibilita a recuperao de mdulos, essa opo est no Menu Principa