Академический Документы
Профессиональный Документы
Культура Документы
MANUAL DO USURIO
http://www.xmaker.com.br
Modular Software
Uberaba M.G.
2
COPYRIGHT
1. O QUE O X-MAKER?
1.1. Pr-requisitos
1.2.4 FireBird:
2. INTERFACE DO X-MAKER
Viso geral:
8
3. CONCEITOS BSICOS
3.2. Tabelas
3.3. Campos
5. CONFIGURANDO O X-MAKER
6. CONHECENDO AS ETAPAS DE
DEFINIO DE UM PROJETO
Barra de Ferramentas
Menu Principal
25
Dica:
Dica:
6.2.5.1 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.2 Tipo
Informe o tipo de dado para armazenamento na Tabela.
6.2.5.3 Chave
Indica se o campo faz parte da chave primria, uma chave
primria composta por um ou mais campos da Tabela.
6.2.5.4 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.
39
6.2.5.5 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.6 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:
Vlidos. Exemplo:
Check Box (Conferncia): Caixa optativa de marca e
desmarca. Os valores vlidos so informados no atributo
40
6.2.5.7 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.
6.2.5.8 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.
6.2.5.9 Ttulo
Informe o ttulo do campo, esse ttulo utilizado no
formulrio de entrada de dados e relatrios.
6.2.5.10 ndice
Informe o nmero da ordem de apresentao do campo
durante a consulta no formulrio de Entrada de Dados.
6.2.5.11 Invisvel
Informe se o campo no ser visvel durante a consulta no
formulrio de Entrada de Dados.
6.2.5.12 Ajuda
Informe a mensagem de ajuda do campo, essa mensagem
utilizada no formulrio de entrada dados (Hint).
6.2.5.15 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.16 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.
44
6.2.5.18 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
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.
6.2.5.19 Procurar em
Informe se o campo ser pesquisado e validado em outra
Tabela, a mesma dever ser definida em Relacionamentos,
somente tabelas relacionadas podero ser pesquisadas. Campos
com o tipo de edio: Lista Externa (Estrangeira) podero
utilizar esta opo para garantir a consistncia dos dados.
Processo Direto.
Processo Inverso.
54
6.2.11 Lanamentos
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.
Dica:
Exemplo:
AddMenuItem(PopRelacionados, 'Atividades',
'mnuAtividades', True , 0, 6001);
Exemplo:
Dica:
Dica:
6.4.4.1 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.
disponveis.
Insere um cdigo de barras, muito utilizado para
impresso de etiquetas de produtos.
Insere um objeto Check Box.
Insere um objeto de desenho com vrios formatos.
Insere uma caixa de texto.
Insere um objeto de compartilhamento com outros
aplicativos, tais como o Word, Excel, Corel Draw e
outros.
Clculos em Relatrios
exemplo: [Center([Dprodutos.PRO_DESCRICAO],
80)]
Space: Cria uma String em branco de tamanho
determinado, sintaxe: Space(<tamanho>), exemplo:
[Space(80)]
PorExtenso: Retorna um nmero por extenso, em
portugus, sintaxe: PorExtenso(<valor>), exemplo:
[PorExtenso([Dproduto.PRO_PRECO])]
StrZero: Converte um nmero inteiro em String com
zeros esquerda, sintaxe:
StrZero(<nmero>,<tamanho>), exemplo:
[StrZero([Dproduto.PRO_CODIGO], 05)]
FormatMaskText: Formata uma String conforme a
mscara informada, sintaxe:
FormatMaskText(<mscara>, <string>), exemplo:
[FormatMaskText(XXXX,
[Dprodutos.PRO_UNIDADE])]
MascTexto: Formata uma String conforme a mscara
informada, sintaxe: MascTexto(<string>, <mscara>),
exemplo: [MascTexto([DClientes."CEP"], '99999-999')]
MascData: Formata uma data conforme a mscara
informada, sintaxe: MascData(<data>, <mscara>),
exemplo: [MascData([DVendas."VEN_DATA"],
'dd/mm/yy')]
CalcC_0: Arredonda uma expresso de clculo e retorna
sem casas decimais, sintaxe: CalcC_0(<valor 1>, <valor
2>, <operador>), exemplo: [CalcC_0(99.56, 85.56, +)]
CalcC_1: Arredonda uma expresso de clculo e retorna
com uma casa decimal, sintaxe: CalcC_1(<valor 1>,
<valor 2>, <operador>, exemplo: [CalcC_1(99.56,
85.56, -)]
CalcC_2: Arredonda uma expresso de clculo e retorna
com duas casas decimais, sintaxe: CalcC_2(<valor 1>,
94
Dica:
Barra de Ferramentas
Rotina Avulsa
Campos
Declarao de Variveis Publicas.Pas
Pblicas
Componentes Extras Extras.Pas
Chamada de Interno.Pas
Formulrios Internos
Calendrio Calend.Pas; Calend.Dfm
Calculadora Calculad.Pas; Calculad.Dfm
Agenda de Telefones Agenda.Pas; Agenda.Dfm
Edio da Agenda AgEdit.Pas; AgEdit.Dfm
Acesso de Usurios Acesso.Pas; Acesso.Dfm
Configurao de Senhas.Pas; Senhas.Dfm
Senhas
Edio de Usurios EdUsr.Pas; EdUsr.Dfm
Edio de Grupos de EdGrp.Pas; EdGrp.Dfm
Usurios
Configurao de CfgEmp.Pas; CfgEmp.Dfm;
Empresas Usurias CfgEmp.Res
Seleo de Empresas SelEmp.Pas; SelEmp.Dfm
Usurias
Configurao do Ambiente.Pas; Ambiente.Dfm
Ambiente de Trabalho
Configurao da Filtro.Pas; Filtro.Dfm
Filtragem em Tabelas
Bate Papo em Rede BatePapo.Pas; BatePapo.Dfm
Cpia de Segurana Backup.Pas; Backup.Dfm
Restaurao de Cpia Restaura.Pas; Restaura.Dfm
de Segurana
Utilitrio de CabIntF.Pas; CabStComps.Pas;
Compactao de Dados CabStConsts.Pas; CabiNet.Dll
Formulrio de Aguarde.Pas; Aguarde.Dfm
Mensagem de Processo
Visualizador de Fr_View.Pas;Fr_View.Dfm;Fr.Inc
Relatrios
104
Configurao de OpcRel.Pas;OpcRel.Dfm
Impresso
Sobre Sobre.Pas; Sobre.Dfm
Tabelas do Projeto DXXXX.Pas (XXXX = Nome da
Tabela)
Campos e Atributos ATRL9999.Pas (9999 = N Seq.
Tabela)
Modelo Entrada de Modelo1.Pas;Modelo1.Dfm
Dados
Modelo Entrada de Modelo2.Pas;Modelo2.Dfm
Dados Filho
Modelo Avulso MDI Modelo3.Pas;Modelo3.Dfm
Modelo Avulso Modelo4.Pas;Modelo4.Dfm
Normal
Modelo Relatrios Modelo5.Pas;Modelo5.Dfm
Modelo Grficos Modelo6.Pas;Modelo6.Dfm
Modelo Etiquetas Modelo7.Pas;Modelo7.Dfm
Mtodo Ptabela
Unit
Tabela.Pas
Descrio
Sintaxe:
Exemplo:
111
Sintaxe:
Exemplo:
var
CamposResultado: Variant;
begin
if Ptabela(TabGlobal.Ditvendas, ['SUM(QUANT)',
'SUM(PRECO * QUANT)'], 'NUMERO =
'+IntToStr(TabGlobal.DVENDAS.Numero.Conteudo),
112
CamposResultado) then
begin
Quant.Value := CamposResultado[0];
Total.Value := CamposResultado[1];
end;
end;
Sintaxe:
Exemplo:
var
CamposResultado: Variant;
begin
if Ptabela(TabGlobal.Dclientes, ['CLI_CODIGO'],
[TabGlobal.Dvendas.CLI_CODIGO.Conteudo], ['CLI_NOME',
'CLI_ENDERECO'], CamposResultado) then
begin
Nome.Value := CamposResultado[0];
Endereco.Value := CamposResultado[1];
end;
end;
Sintaxe:
Exemplo:
Sintaxe:
Exemplo:
115
Declarao
Descrio
Exemplo
LbLinha.Caption := ConstStr(-,50);
Declarao
Descrio
Exemplo
Pasta := DiretorioComBarra(DirWindows);
Declarao
Descrio
Exemplo
Pasta := DiretorioSemBarra(DirWindows);
Declarao
Descrio
Exemplo
titulo := RetiraHK(mnu_clientes.Caption);
117
Declarao
Descrio
Exemplo
Declarao
Descrio
Exemplo
118
StringToArray(Azul;Branco;Amarelo, ; , Lista);
Declarao
Descrio
Exemplo
Pasta := DirWindows;
Declarao
Descrio
Exemplo
Pasta := RetiraBrancos(DirWindows);
119
Declarao
Descrio
Exemplo
ExecutaForm(TFormClientes,FormClientes);
Declarao
Descrio
Exemplo
Ok := CopiaArquivo(C:\Projeto\Base.Gdb,
D:\Base.Gdb);
120
Declarao
Descrio
Exemplo
Ok := CopiaArquivoMascara(C:\Projeto\, D:\,
*.Gdb) ;
Declarao
Descrio
Exemplo
S := PadR(Sistema.Titulo, 40);
121
Declarao
Descrio
Exemplo
S := PadL(Sistema.Titulo, 40);
Declarao
Descrio
Exemplo
S := Center(Sistema.Titulo, 40);
122
Declarao
Descrio
Exemplo
S := Space(40);
Declarao
Descrio
Exemplo
data := DataAtual;
Declarao
123
Descrio
Exemplo
hora := HoraAtual;
Declarao
Descrio
Exemplo
extenso := PorExtenso(100.50);
Declarao
Descrio
124
Exemplo
Declarao
Descrio
Exemplo
Declarao
Descrio
Exemplo
125
Declarao
Descrio
Exemplo
Nr_dia := Dia(DataAtual);
Declarao
Descrio
Exemplo
Nr_mes := Mes(DataAtual);
126
Declarao
Descrio
Exemplo
Nr_mes_ano := MesAno(DataAtual);
Declarao
Descrio
Exemplo
Nr_ano := Ano(DataAtual);
Declarao
127
Descrio
Exemplo
Ultimo_dia := UltimoDiadoMes(Mes(DataAtual) +
Ano(DataAtual));
Declarao
Descrio
Exemplo
Declarao
128
Descrio
Exemplo
Declarao
Descrio
Exemplo
Declarao
Descrio
Exemplo
cpf := TrocaString(999.999.999-99, ., ,
[rfReplaceAll, rfIgnoreCase]);
Declarao
Descrio
Exemplo
pontos := ContaOcorrencia(.,999.999.999-99);
Declarao
Descrio
130
Exemplo
numero := FracToStr(100.50);
Declarao
Descrio
Exemplo
Declarao
131
Descrio
Exemplo
Declarao
Descrio
Exemplo
ok := StrNumerica(123456);
Declarao
Descrio
132
Exemplo
ok := ConverteLogico(True);
Declarao
Descrio
Exemplo
ok := ConverteStrToLog(T);
Declarao
Descrio
Exemplo
Declarao
Descrio
Exemplo
Declarao
function RetornaAutoIncremento(TabelaPrincipal:
TTabela; Campo: String; Condicao: String; Qtd:
Integer = 1): Variant;
Descrio
134
Exemplo
TabGlobal.DCLIENTES.CLI_CODIGO.Conteudo :=
RetornaAutoIncremento(TabGlobal.DCLIENTES,
CLI_CODIGO, , 1);
Declarao
procedure AtribuiAutoIncremento(TabelaPrincipal:
TTabela; Campo: String; Componente: TComponent;
Condicao: String; Editavel: Boolean);
Descrio
Exemplo
AtribuiAutoIncremento(TabGlobal.DCLIENTES,
CLI_CODIGO, Xedit1, , True);
135
Declarao
Descrio
Exemplo
Tabela_ed := LocalizaTabela(CLIENTES);
136
8. DICAS E MACETES
Exemplo:
C:\Arquivos de
programas\Borland\Delphi7\Bin\DCC32.EXE
procedure TFormClientes.USUARIOEnter(Sender:
TObject);
begin
TabGlobal.DCLIENTES.USUARIO.Conteudo :=
Sistema.Usuario;
end;
Exemplo de Filtragem:
function TFormRContas.AbreTabelas: Boolean;
begin
{07-Incio do Bloco Modular. Modificaes no
sero preservadas}
Result := True;
{99-Final do Bloco Modular. Modificaes no
sero preservadas}
TabGlobal.DCONTAS.Filtro.Text := 'CLI_CODIGO =
100';
end;
Exemplo de Ordenao:
function TFormRContas.AbreTabelas: Boolean;
begin
{07-Incio do Bloco Modular. Modificaes no
sero preservadas}
Result := True;
{99-Final do Bloco Modular. Modificaes no
sero preservadas}
TabGlobal.DCONTAS.ChaveIndice := 'CON_LANCTO
Desc';
end;
Exemplo:
TabGlobal.DCLIENTES.NOME.Valor.Visible := False;
Exemplo:
Ou
Exemplo:
\\Servidor\Dados\XMaker\Exemplos\Contas\
ou
F:\XMaker\Exemplos\Contas\
Exemplo:
AddMenuItem(PopRelacionados, 'Atividades',
'mnuAtividades', True , 0, 6001);
Exemplo:
COPY "C:Arquivos de
programas\Firebird\Firebird_1_5\Gbak.exe
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey
COPY BASE.GDB BASE.COP
GBAK -B BASE.GDB BASE.GBK
GBAK -R BASE.GBK BASE.GDB