Mudanças entre as edições de "Bibliotecas Gráficas"
(→Interfaces SEL) |
(→Propriedades da Interface) |
||
Linha 51: | Linha 51: | ||
===Propriedades da Interface === | ===Propriedades da Interface === | ||
− | O capítulo a seguir identifica possíveis problemas que o programador pode encontrar ao desenvolver suas primeiras interfaces. | + | O capítulo a seguir identifica possíveis problemas que o programador pode encontrar ao desenvolver suas primeiras interfaces. Relevando as propriedades principais: |
− | |||
− | [[Arquivo: | + | ====TUQuery==== |
+ | [[Arquivo:CompQ.png|frameless|left|Componente TUQuery]] | ||
− | + | *<font face="Courier" color=#990000>Nome Default:</font> Q; | |
− | |||
− | *<font face="Courier" color=#990000> | ||
**<font face="Courier" color=#990033>Generico:</font> Essa propriedade define a consulta a ser utilizada; | **<font face="Courier" color=#990033>Generico:</font> Essa propriedade define a consulta a ser utilizada; | ||
**<font face="Courier" color=#990033>SQL, SQLIB, SQLMS, SQLMySQL e SQLORACLE:</font> consulta destinada à um tipo de banco. SQL deve ser configurada caso seja determinado <font face="Courier" color=#990033>Generico = true</font>; | **<font face="Courier" color=#990033>SQL, SQLIB, SQLMS, SQLMySQL e SQLORACLE:</font> consulta destinada à um tipo de banco. SQL deve ser configurada caso seja determinado <font face="Courier" color=#990033>Generico = true</font>; | ||
Linha 66: | Linha 64: | ||
**<font face="Courier" color=#990033>UDataBase:</font> referencia <font face="Courier" color=#990033>FMain.UDB</font> que é a database do sistema. | **<font face="Courier" color=#990033>UDataBase:</font> referencia <font face="Courier" color=#990033>FMain.UDB</font> que é a database do sistema. | ||
− | *<font face="Courier" color=#990000> | + | ====TDataSource==== |
+ | [[Arquivo:CompDS.png|frameless|left|27px|]] | ||
+ | *<font face="Courier" color=#990000>Nome Default:</font> DS; | ||
**<font face="Courier" color=#990000>UQuery:</font> Esse campo deve estar referenciado para o componente anteriormente descrito, Q. | **<font face="Courier" color=#990000>UQuery:</font> Esse campo deve estar referenciado para o componente anteriormente descrito, Q. | ||
− | *<font face="Courier" color=#990000> | + | ====TUDataEntry==== |
+ | [[Arquivo:CompDE.png|frameless|left|Componente TUDataEntry]] | ||
+ | *<font face="Courier" color=#990000>Nome Default:</font> DE; | ||
**<font face="Courier" color=#990000>Limite:</font> Determina a quantidade máxima de cadastros de detalhes; | **<font face="Courier" color=#990000>Limite:</font> Determina a quantidade máxima de cadastros de detalhes; | ||
**<font face="Courier" color=#990000>LinhasVisiveis:</font> Define quantos campos aparecem abaixo do edit de detalhe (inclusive); | **<font face="Courier" color=#990000>LinhasVisiveis:</font> Define quantos campos aparecem abaixo do edit de detalhe (inclusive); | ||
Linha 76: | Linha 78: | ||
**<font face="Courier" color=#990000>UDataEntry:</font> Quando for utilizar relações mestre-detalhe na interface, o Data Entry responsável pelo detalhe referencia o Data Entry do mestre. | **<font face="Courier" color=#990000>UDataEntry:</font> Quando for utilizar relações mestre-detalhe na interface, o Data Entry responsável pelo detalhe referencia o Data Entry do mestre. | ||
**<font face="Courier" color=#990000>UsaScrollBar:</font> Necessário quando o numero de 'Limite' ultrapassa 'LinhasVisiveis'. | **<font face="Courier" color=#990000>UsaScrollBar:</font> Necessário quando o numero de 'Limite' ultrapassa 'LinhasVisiveis'. | ||
+ | |||
+ | ====TUDataEntry==== | ||
+ | [[Arquivo:CompCAD.png|frameless|left|27px]] | ||
+ | *<font face="Courier" color=#990000>Nome Default:</font> CAD; | ||
+ | **<font face="Courier" color=#990000>UDataEntry:</font> Esse campo deve estar referenciado para o componente anteriormente descrito, DE. | ||
+ | |||
+ | ====TUField==== | ||
+ | Para acessar os Campos do dataset, DClick o componente de Query.[[Arquivo:Qfields.png|frame|Exemplo de uma interface de QFields]] | ||
+ | |||
+ | *<font face="Courier" color=#990000>Nome Default:</font> Q concatenado do mesmo nome da coluna do banco; | ||
+ | **<font face="Courier" color=#990000>Campo:</font> Qual campo do banco ele representará; | ||
+ | **<font face="Courier" color=#990000>ChavePrimaria:</font> Identificar a PK da tabela; | ||
+ | **<font face="Courier" color=#990000>Edicao:</font> Indica o componente visual que '''edita''' esse valor; | ||
+ | **<font face="Courier" color=#990000>Filtra:</font> Habilita o campo a ser uma chave no botão Filtra; | ||
+ | **<font face="Courier" color=#990000>NaNavegacao:</font> Define se a coluna aparecerá na Grid; | ||
+ | **<font face="Courier" color=#990000>Ordena:</font> Permite o usuário Ordenar os resultados utilizando a coluna como parâmetro, é obrigatório no mínimo 1 dos campos ser True; | ||
+ | **<font face="Courier" color=#990000>PreencheChave:</font> Em uma situação mestre-detalhe, esse parâmetro permite que seja inserido no campo a chave primária do '''mestre'''; | ||
+ | **<font face="Courier" color=#990000>Procura:</font> Habilita a procura de valores na coluna pelo botão Procura; | ||
+ | **<font face="Courier" color=#990000>Tabela:</font> Indica a qual tabela o campo pertence; | ||
+ | **<font face="Courier" color=#990000>TabelaAlias:</font> Preenchido caso a tabela possua alias; | ||
+ | **<font face="Courier" color=#990000>Titulo:</font> valor a ser apresentado no cabeçalho da coluna; | ||
+ | |||
+ | ====TUFBase???R03Data==== | ||
+ | [[Arquivo:CompData.png|frameless|left|]]??? pode-se interpretar como 'Cad' ou 'Sel'. | ||
+ | *<font face="Courier" color=#990000>Nome Default:</font> ???Data; | ||
+ | **No '''Sel'''Data: | ||
+ | ***<font face="Courier" color=#990000>CallCadModal:</font> Não permite que seja aberta mais de uma tela de Cad; | ||
+ | ***<font face="Courier" color=#990000>CallCs:</font> Nome do CS que gerenciará essa interface (UFMain); | ||
+ | ***<font face="Courier" color=#990000>CallPs:</font> Identificar o processo da interface (UFMain); |
Edição das 18h18min de 11 de maio de 2011
Índice
Desenvolvendo interfaces com a Biblioteca Uniware
Esse guia tem por funcionalidade auxiliar o desenvolvedor na programação de interfaces utilizando a biblioteca da Uniware.
É importante observar que esse artigo não aborda a instalação dos componentes gráficos. Para isso, visite Instalação Delphi
Getting Started
Nesse capítulo podem ser encontrados materiais referentes ao desenvolvimento do unilab para quem está começando.
Banco de dados
Toda alteração no banco de dados é replicada na função TFAtualiza@Ver_Ultimas.
Em casos de views, é necessário escreve-las em:
- TFAtualiza@CreateViews;
- TFAtualiza@DropViews.
Criando interfaces
Os templates de interface da Uniware encontram-se em Arquivo > Novo... > aba 'UNIWARE_BETA'. utilize, de preferência, os templates FBase%TIPO%R03.
R03 é a biblioteca de componentes visuais que a Uniware utiliza em seus templates e o tipo varia de acordo com a necessidade, como explicado abaixo:
Ao criar uma unit, adicionar o tipo ao sufixo:
- Sel, Interfaces de consulta (_R__);
- Cad, Manipulação de dados (C_UD);
- Rel, Referentes aos relatórios.
Será necessário adicionar ao uses a unit UFMain, para integrar-se com o projeto todo.
A Unit, ao ser criada, possui uma parte do código assim:
var Form1: TForm1;
No projeto essa parte é desnecessária, visto que o FMain realiza a instanciação das interfaces de outra forma.
Dentro da unit UFMain, adicionar o PS (Se necessário, adicionar um CS próprio) para gerenciamento da interface a ser criada.
Ao apagar o código acima de uma unit, remover do programa UNILAB_BETA a criação automática da interface, como na linha:
Application.CreateForm(TForm1, Form1);
Propriedades da Interface
O capítulo a seguir identifica possíveis problemas que o programador pode encontrar ao desenvolver suas primeiras interfaces. Relevando as propriedades principais:
TUQuery
- Nome Default: Q;
- Generico: Essa propriedade define a consulta a ser utilizada;
- SQL, SQLIB, SQLMS, SQLMySQL e SQLORACLE: consulta destinada à um tipo de banco. SQL deve ser configurada caso seja determinado Generico = true;
- TabelaPrincipal: Deve conter o nome da tabela utilizada no SQL, em interfaces SEL, é comum o uso de Views para essa consulta;
- TabelaPrincipalAlias: Caso a tabela possua um alias na SQL, ele deve ser informado aqui;
- UDataBase: referencia FMain.UDB que é a database do sistema.
TDataSource
- Nome Default: DS;
- UQuery: Esse campo deve estar referenciado para o componente anteriormente descrito, Q.
TUDataEntry
- Nome Default: DE;
- Limite: Determina a quantidade máxima de cadastros de detalhes;
- LinhasVisiveis: Define quantos campos aparecem abaixo do edit de detalhe (inclusive);
- UCadastro:Precisa referenciar o TUCadastro associado à grid;
- UDataSource: Esse campo deve estar referenciado para o componente anteriormente descrito, DS;
- UDataEntry: Quando for utilizar relações mestre-detalhe na interface, o Data Entry responsável pelo detalhe referencia o Data Entry do mestre.
- UsaScrollBar: Necessário quando o numero de 'Limite' ultrapassa 'LinhasVisiveis'.
TUDataEntry
- Nome Default: CAD;
- UDataEntry: Esse campo deve estar referenciado para o componente anteriormente descrito, DE.
TUField
Para acessar os Campos do dataset, DClick o componente de Query.- Nome Default: Q concatenado do mesmo nome da coluna do banco;
- Campo: Qual campo do banco ele representará;
- ChavePrimaria: Identificar a PK da tabela;
- Edicao: Indica o componente visual que edita esse valor;
- Filtra: Habilita o campo a ser uma chave no botão Filtra;
- NaNavegacao: Define se a coluna aparecerá na Grid;
- Ordena: Permite o usuário Ordenar os resultados utilizando a coluna como parâmetro, é obrigatório no mínimo 1 dos campos ser True;
- PreencheChave: Em uma situação mestre-detalhe, esse parâmetro permite que seja inserido no campo a chave primária do mestre;
- Procura: Habilita a procura de valores na coluna pelo botão Procura;
- Tabela: Indica a qual tabela o campo pertence;
- TabelaAlias: Preenchido caso a tabela possua alias;
- Titulo: valor a ser apresentado no cabeçalho da coluna;
TUFBase???R03Data
??? pode-se interpretar como 'Cad' ou 'Sel'.- Nome Default: ???Data;
- No SelData:
- CallCadModal: Não permite que seja aberta mais de uma tela de Cad;
- CallCs: Nome do CS que gerenciará essa interface (UFMain);
- CallPs: Identificar o processo da interface (UFMain);
- No SelData: