Beruflich Dokumente
Kultur Dokumente
Crditos
Prefcio:
Esta a quinta verso do GAS para Windows.
Projetistas e programadores
Evandro Rodrigo da Silva
Heber Jorge da Silva
Danilo de Oliveira Pimentel
Pablo Hadler Gomez
Silvano Guimares da Matta
Almeida dos Santos Neto
Documentao
GAS Tecnologia Ltda
Reviso
Maurcio da Costa Jatob
Teresa Cristina de Deus Oliveira
Paulo Henrique P. Cortez
Editorao eletrnica
Paulo Henrique P. Cortez
Edson dos Santos
Agradecimentos especiais
Arnaldo Rocha Netto
Blay Vives Gil
Concrdio P. Souza Filho
Hilton Silva Jnior
Leonardo Soares da Silva
Contents
ndice
0
I Captulo 1- Introduo
24
1 Caractersticas
...................................................................................................................................
2 O que ...................................................................................................................................
ha de novo
26
1 Instalao
...................................................................................................................................
do GAS no equipamento
26
2 Procedimentos
...................................................................................................................................
de instalao
26
3 Habilitao
...................................................................................................................................
e registro da cpia
26
4 Habilitar
...................................................................................................................................
a execuo
26
5 Requisitos
...................................................................................................................................
para instalao e execuo
26
29
1 Consideraes
...................................................................................................................................
29
2 Componentes
...................................................................................................................................
de um projeto GAS
29
Modelador do..........................................................................................................................................................
projeto
29
Mltiplos projetos
......................................................................................................................................................... 30
Mdulos que ..........................................................................................................................................................
podem ser inseridos em cada projeto
31
Menu
......................................................................................................................................................... 31
Janela de dados
......................................................................................................................................................... 31
Tabela em .........................................................................................................................................................
grid
32
Rotina avulsa
......................................................................................................................................................... 32
Consulta pr-definida
......................................................................................................................................................... 32
Relatrio ......................................................................................................................................................... 32
Etiqueta ......................................................................................................................................................... 32
Processos.........................................................................................................................................................
pr-definidos
32
Programa executvel
......................................................................................................................................................... 33
Formulrio.........................................................................................................................................................
avulso
33
Formulrio.........................................................................................................................................................
existente
33
Linha separadora
......................................................................................................................................................... 33
Apoio impresso
.........................................................................................................................................................
fiscal
33
Opes que podem
..........................................................................................................................................................
ser inseridas na rvore
33
Arquivo ......................................................................................................................................................... 33
Editar
......................................................................................................................................................... 33
Exibir
......................................................................................................................................................... 34
Janela
......................................................................................................................................................... 34
Ajuda
......................................................................................................................................................... 34
3 Como...................................................................................................................................
so organizadas as informaes
34
36
36
Abrir um novo..........................................................................................................................................................
projeto
36
2008 GAS Tecnologia
41
41
2 A barra
...................................................................................................................................
de ferramentas do GAS
41
Botes de controle
..........................................................................................................................................................
do editor de programas
43
3 A barra
...................................................................................................................................
de status do GAS
44
4 As opes
...................................................................................................................................
de menu do GAS
44
O menu arquivo
.......................................................................................................................................................... 44
Novo projeto
......................................................................................................................................................... 45
Abrir projeto
.........................................................................................................................................................
existente
45
Abrir gabarito
......................................................................................................................................................... 45
Salvar como
.........................................................................................................................................................
gabarito
45
Dirio de bordo
......................................................................................................................................................... 45
Gerar fontes
......................................................................................................................................................... 45
Criar executveis
......................................................................................................................................................... 45
Reparar projeto
......................................................................................................................................................... 45
Utilitrios ......................................................................................................................................................... 45
Documentao do
.........................................................................................................................................
projeto
46
Criar programa instalador
......................................................................................................................................... 46
Criar conversor de
.........................................................................................................................................
arquivos DBF
46
Imprimir dirio de.........................................................................................................................................
bordo
46
Rever mensagem.........................................................................................................................................
erro de gerao
46
Finalizar ......................................................................................................................................................... 46
O menu Editar.......................................................................................................................................................... 46
Inserir
......................................................................................................................................................... 47
Cortar
......................................................................................................................................................... 47
Copiar
......................................................................................................................................................... 47
Colar
......................................................................................................................................................... 47
Apagar ......................................................................................................................................................... 48
Procura ......................................................................................................................................................... 48
Substitui ......................................................................................................................................................... 48
Sincroniza......................................................................................................................................................... 48
Desfaz ......................................................................................................................................................... 48
Refaz
......................................................................................................................................................... 48
Endenta ......................................................................................................................................................... 48
Desendenta
......................................................................................................................................................... 48
Comenta ......................................................................................................................................................... 48
Descomenta
......................................................................................................................................................... 49
Editor de cones
......................................................................................................................................................... 49
Editar cdigo
.........................................................................................................................................................
de programa
49
Formatar relatrio
......................................................................................................................................................... 49
Contents
Formatar tela
......................................................................................................................................................... 49
Definir
......................................................................................................................................................... 49
O menu exibir.......................................................................................................................................................... 49
O menu opes
.......................................................................................................................................................... 49
5 Opes
...................................................................................................................................
para personalizar as operaes do GAS
49
Opes do menu
..........................................................................................................................................................
Exibir
49
Barra de ferramentas
......................................................................................................................................................... 50
Banco de campos
......................................................................................................................................................... 50
Ferramentas
.........................................................................................................................................................
da tela
50
Dirio em zoom
......................................................................................................................................................... 51
Texto exemplo
.........................................................................................................................................................
na tela
51
Opes do menu
..........................................................................................................................................................
Opes
51
Opes da.........................................................................................................................................................
tela padro
52
Tratamento.........................................................................................................................................................
de nomes
52
Capitalizar
......................................................................................................................................... 52
Maisculas
......................................................................................................................................... 52
Minsculas
......................................................................................................................................... 52
Nenhum
......................................................................................................................................... 52
Configuraes
......................................................................................................................................................... 52
Modelador
......................................................................................................................................... 53
Fontes do modelador
................................................................................................................................... 53
Cores do mdulo................................................................................................................................... 53
Telas e relatrios......................................................................................................................................... 54
Tamanho da grade
................................................................................................................................... 54
Texto exemplo ................................................................................................................................... 54
Default para texto
...................................................................................................................................
3D
54
Relatrios
......................................................................................................................................... 55
Cores das rguas
................................................................................................................................... 56
Distncia entre registros
................................................................................................................................... 56
Papel
................................................................................................................................... 56
Diretrios
......................................................................................................................................... 56
Idioma
......................................................................................................................................................... 57
6 Reparao
...................................................................................................................................
do projeto
57
7 rvore
...................................................................................................................................
ou modelador de projetos
57
Contents
8 Utilizando
...................................................................................................................................
o editor de cones
143
Controles do..........................................................................................................................................................
editor
144
9 Utilizando
...................................................................................................................................
o editor de programas
146
Declaraes ..........................................................................................................................................................
de variveis ou funes externas
147
Designaes..........................................................................................................................................................
de variveis
147
Funes e rotinas
..........................................................................................................................................................
globais
147
Controles do..........................................................................................................................................................
editor na barra de ferramentas
148
10 Utilizando
...................................................................................................................................
o Editor de Recursos
151
As ferramentas
..........................................................................................................................................................
de formatao de tela
152
Selecionando
.........................................................................................................................................................
um controle na tela
153
Selecionando
.........................................................................................................................................................
mltiplos controles na tela
153
Retirando.........................................................................................................................................................
controles da tela
153
Alterando.........................................................................................................................................................
a posio de controles
154
Alterando.........................................................................................................................................................
o tamanho de um controle
154
Colocando
.........................................................................................................................................................
controles pr-programados na tela
154
Colocando
.........................................................................................................................................................
um controle na tela
155
Tab ou abas ......................................................................................................................................... 155
Label
......................................................................................................................................... 155
Boto
......................................................................................................................................... 155
Imagem
......................................................................................................................................... 155
Painel
......................................................................................................................................... 156
Frame
......................................................................................................................................... 156
Gmask
......................................................................................................................................... 156
Grid
......................................................................................................................................... 156
Sub-relatrio ......................................................................................................................................... 156
Quebra
......................................................................................................................................... 156
Linha
......................................................................................................................................... 156
Shape
......................................................................................................................................... 156
Texto 3D
......................................................................................................................................... 156
Picture
......................................................................................................................................... 157
Designando
.........................................................................................................................................................
propriedades para controles
157
Definindo.........................................................................................................................................................
um campo no-editvel
157
Definindo.........................................................................................................................................................
condio de visibilidade de campos
157
Controles.........................................................................................................................................................
de formatao
157
Gravao da tela
......................................................................................................................................... 157
Restaurao da.........................................................................................................................................
tela
157
Ordem de acesso
.........................................................................................................................................
aos controles
157
Criao de tela .........................................................................................................................................
padro
158
Seleciona todos......................................................................................................................................... 158
Apaga coluna do
.........................................................................................................................................
grid
158
Insere coluna no
.........................................................................................................................................
grid - aps
158
Insere coluna no
.........................................................................................................................................
grid - antes
158
Alinha esquerda
......................................................................................................................................... 158
Alinha direita ......................................................................................................................................... 158
Alinha pelo topo......................................................................................................................................... 159
Travamento de .........................................................................................................................................
controles
159
Categorizao de
.........................................................................................................................................
propriedades
159
Coloca ou retira.........................................................................................................................................
grade de formatao
159
Recorta formulrio
......................................................................................................................................... 159
Exibindo e
.........................................................................................................................................................
ocultando as ferramentas
159
Usando o.........................................................................................................................................................
Clipboard de tela
159
2008 GAS Tecnologia
Contents
11 Definindo
...................................................................................................................................
opes da tela padro
9
159
Disposio dos
..........................................................................................................................................................
campos
160
Disposio dos
..........................................................................................................................................................
ttulos
160
Dimenses das
..........................................................................................................................................................
imagens
160
Dimenses ..........................................................................................................................................................
memo/texto
160
Margens e distncias
.......................................................................................................................................................... 161
Maior controle
......................................................................................................................................................... 161
Distncia ......................................................................................................................................................... 161
Margem esquerda
......................................................................................................................................................... 161
Margem do
.........................................................................................................................................................
topo
161
Quantidade de
..........................................................................................................................................................
colunas
161
Recalcular o ..........................................................................................................................................................
tamanho da tela
161
Fonte dos ttulos
.......................................................................................................................................................... 161
Fonte dos campos
.......................................................................................................................................................... 161
12 Utilizando
...................................................................................................................................
o banco de campos
161
13 Utilizando
...................................................................................................................................
o Dirio de Bordo
162
Apresentando
..........................................................................................................................................................
e ocultando
163
Mostrando o..........................................................................................................................................................
dirio em zoom
163
Abrindo e folheando
.......................................................................................................................................................... 163
Navegando no
..........................................................................................................................................................
texto
163
Imprimindo o..........................................................................................................................................................
contedo
163
165
1 .BAS...................................................................................................................................
165
2 .FRM...................................................................................................................................
165
3 .FRX...................................................................................................................................
165
4 .VBP...................................................................................................................................
165
5 .DEF...................................................................................................................................
165
6 .SQL...................................................................................................................................
165
7 .RC ...................................................................................................................................
166
8 .HHK...................................................................................................................................
.HHP .HHC .HTM
166
9 Disparando
...................................................................................................................................
a gerao de fontes
166
Histrico de ..........................................................................................................................................................
gerao de fontes
168
170
170
Gerar
.......................................................................................................................................................... 170
Gerar e executar
.......................................................................................................................................................... 170
Gerar, executar
..........................................................................................................................................................
e sair do GAS
170
Gerar e abrir..........................................................................................................................................................
no VB
170
2 Executvel
...................................................................................................................................
da aplicao
171
3 Arquivo
...................................................................................................................................
resource da aplicao
171
4 Arquivo
...................................................................................................................................
de ajuda on-line
172
5 Adaptador
...................................................................................................................................
de arquivos
172
6 Disparando
...................................................................................................................................
a gerao dos executveis
172
7 Compilao
...................................................................................................................................
manual
172
10
175
175
Contents
11
11
12
Contents
13
TEM_BCONFIMP......................................................................................................................................... 191
TEM_BCONSULTA
......................................................................................................................................... 191
TEM_BEXCLUI ......................................................................................................................................... 191
TEM_BFILTRO ......................................................................................................................................... 191
TEM_BFINALIZA......................................................................................................................................... 191
TEM_BGRADE ......................................................................................................................................... 191
TEM_BGRAFA ......................................................................................................................................... 191
TEM_BGRAVA ......................................................................................................................................... 191
TEM_BIMPRE ......................................................................................................................................... 191
TEM_BINCLUI ......................................................................................................................................... 192
TEM_BINFODB ......................................................................................................................................... 192
TEM_BOTAO_INTERNET
......................................................................................................................................... 192
TEM_BPRIMEIRO......................................................................................................................................... 192
TEM_BPROCURA
......................................................................................................................................... 192
TEM_BREPARA......................................................................................................................................... 192
TEM_BROWSE ......................................................................................................................................... 192
TEM_BSEGUINTE
......................................................................................................................................... 192
TEM_BSENHA ......................................................................................................................................... 192
TEM_BTOTALIZA
......................................................................................................................................... 192
TEM_BULTIMO ......................................................................................................................................... 192
TEM_CBOIND ......................................................................................................................................... 192
TEM_COND_ALT_REG
......................................................................................................................................... 193
TEM_COND_EXC_LAN
......................................................................................................................................... 193
TEM_COND_EXC_PRO
......................................................................................................................................... 193
TEM_COND_EXC_REG
......................................................................................................................................... 193
TEM_COND_INC_LAN
......................................................................................................................................... 193
TEM_COND_INC_PRO
......................................................................................................................................... 193
TEM_COND_INC_REG
......................................................................................................................................... 193
TEM_CONSULTAS
......................................................................................................................................... 193
TEM_CPMEMO ......................................................................................................................................... 193
TEM_CPS_LANCAMENTOS
......................................................................................................................................... 193
TEM_DESC_BD ......................................................................................................................................... 193
TEM_DESC_TAB......................................................................................................................................... 193
TEM_FORMULA_INV_PRO
......................................................................................................................................... 194
TEM_GRAFICOS......................................................................................................................................... 194
TEM_GRID
......................................................................................................................................... 194
TEM_INDICES ......................................................................................................................................... 194
TEM_INTEGRIDADES
......................................................................................................................................... 194
TEM_LANCAMENTOS
......................................................................................................................................... 194
TEM_MAJUDA ......................................................................................................................................... 194
TEM_MANTERIOR
......................................................................................................................................... 194
TEM_MAPAGACOL
......................................................................................................................................... 194
TEM_MCANCELA
......................................................................................................................................... 194
TEM_MCONFGRAF
......................................................................................................................................... 194
TEM_MCONFIMP......................................................................................................................................... 194
TEM_MCONSULTA
......................................................................................................................................... 195
TEM_MEXCLUI ......................................................................................................................................... 195
TEM_MFILTRO ......................................................................................................................................... 195
TEM_MFINALIZA......................................................................................................................................... 195
TEM_MGRADE ......................................................................................................................................... 195
TEM_MGRAFA ......................................................................................................................................... 195
TEM_MGRAVA ......................................................................................................................................... 195
TEM_MIMPRE ......................................................................................................................................... 195
TEM_MINCLUI ......................................................................................................................................... 195
2008 GAS Tecnologia
13
14
201
1 Criando
...................................................................................................................................
o Instalador da Aplicao
201
2 O Utilitrio
...................................................................................................................................
Adaptador de Arquivos
201
3 O Utilitrio
...................................................................................................................................
Conversor de Arquivos DBF
203
207
207
2 Definio
...................................................................................................................................
do projeto
208
Dados genricos
.......................................................................................................................................................... 210
Estrutura do ..........................................................................................................................................................
BD
210
Banco de dados
.......................................................................................................................................................... 211
Tabelas
.......................................................................................................................................................... 211
Campos da
.........................................................................................................................................................
tabela
213
Fornecedores ......................................................................................................................................... 213
Indexadores ......................................................................................................................................... 215
Parmetros do Sistema
......................................................................................................................................... 216
Produtos em estoque
......................................................................................................................................... 217
Contas a pagar ......................................................................................................................................... 221
Notas fiscais ......................................................................................................................................... 223
Itens da NF
......................................................................................................................................... 225
Movimentao de
.........................................................................................................................................
produtos
227
Sadas de mercadorias
......................................................................................................................................... 229
2008 GAS Tecnologia
Contents
15
ndices das
.........................................................................................................................................................
tabelas
231
Contas a pagar ......................................................................................................................................... 231
Fornecedores ......................................................................................................................................... 232
Indexadores ......................................................................................................................................... 232
Itens da NF
......................................................................................................................................... 233
Movimentao de
.........................................................................................................................................
produtos
233
Notas fiscais ......................................................................................................................................... 233
Parmetros do sistema
......................................................................................................................................... 234
Produtos em estoque
......................................................................................................................................... 234
Sadas de mercadorias
......................................................................................................................................... 234
Integridades
......................................................................................................................................................... 236
Notas Fiscais ......................................................................................................................................... 236
Itens da nf
......................................................................................................................................... 237
Produtos em estoque
......................................................................................................................................... 238
Sadas de mercadorias
......................................................................................................................................... 238
Tela inicial......................................................................................................................................................... 238
Inserindo as ..........................................................................................................................................................
janelas de dados
239
Definindo as ..........................................................................................................................................................
janelas de dados
243
Fornecedores
......................................................................................................................................................... 243
Indexadores
......................................................................................................................................................... 248
Produtos ......................................................................................................................................................... 251
Entradas .........................................................................................................................................................
de produtos
256
Itens da NF
......................................................................................................................................................... 262
Colocando
.........................................................................................................................................................
o grid na tela
272
Financeiro......................................................................................................................................................... 276
Sada de mercadorias
......................................................................................................................................................... 278
Parmetros
.........................................................................................................................................................
do sistema
285
Movimentao
.........................................................................................................................................................
dos produtos
286
Ajuste de.........................................................................................................................................................
estoque
289
Formulrios
.........................................................................................................................................................
sem vnculos de dados
291
Formulrios
.........................................................................................................................................................
com alterao bloqueada por default
291
Gerando os ..........................................................................................................................................................
programas fontes
292
Gerando os ..........................................................................................................................................................
programas executveis
294
296
1 Ativando
...................................................................................................................................
a aplicao gerada
296
2 Informando
...................................................................................................................................
os diretrios de trabalho
296
3 Informando
...................................................................................................................................
a senha e acessando a aplicao
297
4 Operando
...................................................................................................................................
a aplicao
299
Teclas de controle
..........................................................................................................................................................
de edio (janelas)
299
Teclas de controle
..........................................................................................................................................................
de edio (grid)
300
Incluindo Fornecedores
.......................................................................................................................................................... 302
Incluindo indexadores
.......................................................................................................................................................... 304
Incluindo Parmetros
.......................................................................................................................................................... 304
Incluindo produtos
.......................................................................................................................................................... 305
Carregando
.........................................................................................................................................................
um campo do tipo multimdia
310
Retirando.........................................................................................................................................................
um arquivo do campo multimdia
310
Operando o ..........................................................................................................................................................
plano de senhas
310
Alterando.........................................................................................................................................................
a senha
311
2008 GAS Tecnologia
15
16
335
1 Funes
...................................................................................................................................
genricas geradas na aplicao
DDMM
DDMMAA
Existe
Extenso
GDV1
GDV2
GDvCb
GravaNoIni
HaNaString
335
.......................................................................................................................................................... 335
.......................................................................................................................................................... 335
.......................................................................................................................................................... 335
.......................................................................................................................................................... 336
.......................................................................................................................................................... 336
.......................................................................................................................................................... 336
.......................................................................................................................................................... 337
.......................................................................................................................................................... 337
.......................................................................................................................................................... 337
2008 GAS Tecnologia
Contents
17
LoadGasPicture
.......................................................................................................................................................... 338
LoadGasString
.......................................................................................................................................................... 338
LPad
.......................................................................................................................................................... 338
MMAA
.......................................................................................................................................................... 338
NMes
.......................................................................................................................................................... 339
NSem
.......................................................................................................................................................... 339
PegaIntDoIni.......................................................................................................................................................... 339
PegaSequencia
.......................................................................................................................................................... 340
PegaStrDoIni.......................................................................................................................................................... 340
PTab
.......................................................................................................................................................... 340
RAt
.......................................................................................................................................................... 341
Retira
.......................................................................................................................................................... 341
RPad
.......................................................................................................................................................... 341
Substitui
.......................................................................................................................................................... 342
ValBrasil
.......................................................................................................................................................... 342
VCGC
.......................................................................................................................................................... 342
VDV1
.......................................................................................................................................................... 343
VDV2
.......................................................................................................................................................... 343
VDvCB
.......................................................................................................................................................... 343
VHORA
.......................................................................................................................................................... 344
VUF
.......................................................................................................................................................... 344
2 Variveis
...................................................................................................................................
de sistema
344
De abrangncia
..........................................................................................................................................................
global
345
vgPwUsuario
......................................................................................................................................................... 345
vgPwGrupo
......................................................................................................................................................... 345
vgPwSenha
......................................................................................................................................................... 345
vgPwObS......................................................................................................................................................... 345
vgNomeDB
......................................................................................................................................................... 345
vgDBAtual
......................................................................................................................................................... 345
vgDirDb ......................................................................................................................................................... 345
vgDirExe ......................................................................................................................................................... 345
vgDB
......................................................................................................................................................... 345
vgNomeIni......................................................................................................................................................... 346
vgNomeSistema
......................................................................................................................................................... 346
vgProjetista
......................................................................................................................................................... 346
vgBotoesOk
......................................................................................................................................................... 346
vgAtencao
......................................................................................................................................................... 346
vgImpConv
......................................................................................................................................................... 346
vgCtHint ......................................................................................................................................................... 346
vgBarraFerr
......................................................................................................................................................... 346
vgAjudaAtiva
......................................................................................................................................................... 346
vgNomeEstacao
......................................................................................................................................................... 346
vgRsPwGrupo
......................................................................................................................................................... 346
vgRsPwUsuario
......................................................................................................................................................... 347
vgRsPwTabelas
......................................................................................................................................................... 347
vgTipoAcrescDesc
......................................................................................................................................................... 347
vgAcrescDesc
......................................................................................................................................................... 347
vgValorAcrescDesc
......................................................................................................................................................... 347
vgQtdItem......................................................................................................................................................... 347
vgValorTroco
......................................................................................................................................................... 347
vgValorSubtotal
......................................................................................................................................................... 347
vgNumeroCupom
......................................................................................................................................................... 348
vgTotalPago
......................................................................................................................................................... 348
vgItemAtual
......................................................................................................................................................... 348
2008 GAS Tecnologia
17
18
3 Como
...................................................................................................................................
feito o controle de lanamentos?
352
4 Os arquivos
...................................................................................................................................
de formato .DEF e .SQL
354
5 O esquema
...................................................................................................................................
de segurana utilizado nas aplicaes
357
Na primeira vez
..........................................................................................................................................................
que a aplicao executada...
359
359
7 Sistemas
...................................................................................................................................
com acesso multiusurio
360
361
Compatibilidade
..........................................................................................................................................................
do campo multimdia com o Crystal Reports
362
9 Definindo
...................................................................................................................................
mdulos para impressora fiscal
363
10 Mdulos
...................................................................................................................................
de apoio Emisso de Cupom
376
Modelo da impressora
.......................................................................................................................................................... 377
Porta de conexo
.......................................................................................................................................................... 377
Horrio de vero
.......................................................................................................................................................... 377
Configuraes
..........................................................................................................................................................
para TEF
377
Abertura de ..........................................................................................................................................................
caixa
377
Fechamento ..........................................................................................................................................................
de caixa
377
Leitura X
.......................................................................................................................................................... 378
Reduo Z .......................................................................................................................................................... 378
Sangria
.......................................................................................................................................................... 378
Suprimentos.......................................................................................................................................................... 378
Cancela item.......................................................................................................................................................... 378
2008 GAS Tecnologia
Contents
19
Cancela cupom
.......................................................................................................................................................... 378
380
380
0
0
2 Tutorial
...................................................................................................................................
Mysql
3 Tutorial
...................................................................................................................................
Firebird
Passo a passo..........................................................................................................................................................
Firebird
0
4 Tutorial
...................................................................................................................................
Instalando o Aplicativo
XV Captulo 15 - Extra
1 Do Clipper
...................................................................................................................................
para o VB - Analogias
398
398
Funes e procedures
.......................................................................................................................................................... 398
No Clipper......................................................................................................................................................... 398
No Visual.........................................................................................................................................................
Basic
398
Retornando o..........................................................................................................................................................
valor de uma funo em Visual Basic
399
Uso de parmetros
..........................................................................................................................................................
opcionais
399
Chamadas a..........................................................................................................................................................
funes externas
399
Variveis de..........................................................................................................................................................
memria
399
Arquivos DBF,
..........................................................................................................................................................
NTX e DBT versus TABELAS
399
Tipos de campos
.......................................................................................................................................................... 399
Operadores .......................................................................................................................................................... 400
Estruturas de..........................................................................................................................................................
cdigo
400
Funes do Clipper
..........................................................................................................................................................
e do GAS-DOS versus Visual Basic
400
Funes idnticas
......................................................................................................................................................... 401
Funes .........................................................................................................................................................
com correspondncia no Visual Basic
401
Funcoes criadas
.........................................................................................................................................................
pela GAS Informatica
402
2 Glossario
...................................................................................................................................
403
Alias
.......................................................................................................................................................... 403
ANSI
.......................................................................................................................................................... 403
Aplicao .......................................................................................................................................................... 403
rea de cliente
.......................................................................................................................................................... 403
Argumento .......................................................................................................................................................... 403
Arquivo de inicializao
.......................................................................................................................................................... 403
Arquivo DEF .......................................................................................................................................................... 404
Arquivo resource
.......................................................................................................................................................... 404
Arranjo ou varivel
..........................................................................................................................................................
indexada
404
ASCII
.......................................................................................................................................................... 404
Asterisco .......................................................................................................................................................... 404
Banco de campos
.......................................................................................................................................................... 404
Banco de dados
.......................................................................................................................................................... 404
Banco de dados
..........................................................................................................................................................
multiusurio
405
Campo invisvel
.......................................................................................................................................................... 405
Campo no editvel
.......................................................................................................................................................... 405
Barra de ferramentas
.......................................................................................................................................................... 405
2008 GAS Tecnologia
19
20
Contents
21
21
22
Index
Captulo
I
Captulo 1- Introduo
24
Captulo 1- Introduo
Esta a quinta verso do GAS para Windows. Lanada h alguns anos aps o incio da comercializao da sua
predecessora, esta verso j incorpora, conforme prometemos, quase todos os recursos existentes na verso MS-DOS
deste produto, consideradas as enormes diferenas entre os dois ambientes, alm de recursos de extrema necessidade em
nossa atual conjuntura de mercado, como o acesso a diversos tipos de base de dados corporativas. Alguns recursos no
puderam ainda ser disponibilizados; porm, conforme sempre dizemos, outras verses viro sempre acompanhadas de
diversas novidades e implementaes que colocaro, com certeza, este produto entre os melhores de sua classe.
Esperamos que voc faa bom uso deste material. Criticas e sugestes so sempre bem vindas.
GAS Tecnologia.
Captulo
II
Captulo 2 - Instalao e requisitos
26
2.1
2.2
Procedimentos de instalao
Para instalar o GAS no equipamento, deve-se proceder conforme se segue:
Insira o CD no drive CD-ROM;
Selecione, a partir do menu Iniciar, escolha a opo Executar;
Clique sobre o boto Procurar e selecionar o programa SETUP.EXE no CD;
Siga as instrues do programa utilitrio de instalao.
Aps a execuo desses passos, o utilitrio instalador dever ter criado em seu computador uma pasta contendo
alguns cones, representando atalhos para ativao de programas, bem como, opcionalmente, ter aberto o arquivo LEIAME.
TXT e criado um atalho para o GAS na rea de trabalho.
2.3
2.4
Habilitar a execuo
Na sua primeira execuo, aps ter sido instalado no equipamento, se adquirido sem o plugue, o GAS apresentar uma
tela requisitando dados de cadastro.
Neste momento, voc dever entrar em contato com a Gas Tecnologia para obter a sua contra senha de instalao. Uma
vez devidamente registrada, sua cpia estar habilitada para uso em seu equipamento.
2.5
27
espao livre, podendo variar bastante para menos, se o Visual Basic 6.0 j tiver sido instalado no equipamento. A
quantidade de memria RAM mnima para a execuo do GAS de 32 MB e a recomendada de 128 MB.
Para a compilao dos programas gerados pelo GAS, necessrio que o Visual Basic 6.0 Professional ou
Enterprise esteja instalado no equipamento. altamente recomendvel que o Visual Basic 6.0 instalado no equipamento
esteja atualizado com o ltimo service pack disponvel, o qual poder ser obtido por download, no site da Microsoft
Corporation.
Captulo
III
Captulo 3 - Conceitos preliminares
3.1
Consideraes
29
Recomendamos a leitura deste captulo mesmo aos que possuam experincia em programao. Alguns conceitos
abordados so importantes para o entendimento de como o GAS trata as informaes que vo sendo a ele passadas pelo
projetista no decorrer da execuo de um projeto de sistema. H tambm alguns conceitos na forma de glossrio, que so
importantes de se conhecer para um melhor entendimento da programao no ambiente Windows e da manipulao de
dados em bancos de dados relacionais atravs de instrues SQL.
3.2
3.2.1
Modelador do projeto
A modelagem ou desenho de um projeto com o GAS feita utilizando-se o seu modelador. Por intermdio deste recurso,
pode-se estabelecer toda a hierarquia dos mdulos que comporo a aplicao final. Os mdulos so inseridos no projeto na
forma de rvore hierrquica, verticalizada, aparecendo dentro do modelador conforme exemplo da figura 3.1. Um fato
importante a ser observado na rvore do projeto que ela espelha exatamente a estrutura de menus que sero levados
para a aplicao final.
Os mdulos inseridos imediatamente abaixo do ttulo do projeto (no segundo nvel) aparecero na barra de menu da
aplicao enquanto os demais aparecero em sub-menus.
30
Figura 3.1
30
). Isto porque
Quando se tem mais de um projeto em uma soluo, aberta a possibilidade de gerar os fontes tambm da soluo, que
neste caso, tratar de um aplicativo voltado apenas para o acesso aos outros mdulos, fazendo uma espcie de
interligao. Cada projeto gerado com um .exe respectivo, por isto, caso o usurio no queira gerar a soluo, pode-se
opcionalmente executar diretamente cada aplicativo gerado do projeto desejado.
3.2.1.1
Mltiplos projetos
A estrutura principal para definio de projetos do GAS foi alterada visando possibilitar a definio de vrios projetos de
forma agrupada dentro de uma nica soluo (.GAS). Essa caracterstica pode ser comparada a solues (nome dado em
algumas IDE's como, por exemplo, o Visual Studio). O projetista definir a estrutura dos bancos de dados em um local
centralizado e, depois de definidos os bancos, poder determinar quais bancos sero utilizados dentro de cada projeto.
31
Figura 3.2
3.2.2
3.2.2.1
Menu
Constitui-se de um mdulo de bifurcao para outras opes. apresentado na forma de retngulo com as demais
opes que podem ser selecionadas pelo usurio.
Abaixo de mdulos do tipo menu podem ser inseridos quaisquer outros tipos de mdulos.
3.2.2.2
Janela de dados
um mdulo que serve para a definio de uma tabela que tenha sido inserida na estrutura do banco de dados do
projeto. Esta definio compreende a sua estrutura, como campos, validaes, ndices, relacionamentos, processos,
lanamentos, etc. Quando inserimos uma janela de dados na rvore do projeto, o GAS coloca automaticamente uma opo
no menu para a sua ativao na aplicao final. As demais opes necessrias, como, por exemplo, incluso de registros,
alterao, consultas, etc, sero colocadas em outras opes de menu ou botes na barra de ferramentas, servindo para
atender a todas as janelas de dados que forem definidas na aplicao e atuando sobre a janela que estiver ativa no
momento da operao.
Abaixo de um mdulo janela de dados, podero ser inseridas outras janelas de dados ou tabelas em grid 32 ,
estabelecendo um relacionamento 1-N (pai e filho), relacionamento este que o projetista ter de criar quando definir a
estrutura do banco de dados para a aplicao.
A criao deste tipo de mdulo, compreende duas etapas, sendo a definio do modulo
dados.
e a formatao da janela de
Sobre definio de um mdulo do tipo janela de dados, todos os detalhes de como definir est disponvel no captulo 5 Operando o GAS, no menu definindo um mdulo tipo janela de dados 91 .
32
3.2.2.3
Tabela em grid
Este tipo de mdulo pode ser inserido somente abaixo de uma janela de dados, compondo a parte "N" de um
relacionamento 1-N que o projetista dever ter criado na estrutura do banco de dados. A rigor, uma tabela pode ser
mostrada em grid sempre que estiver relacionada na rvore a uma outra tabela me, mesmo que no banco de dados no
exista especificamente este relacionamento. Porm, na aplicao final, a nica forma de garantir a excluso de registros
filhos por integridade referencial criando-se o relacionamento no banco de dados. Outros mdulos podem ser inseridos
abaixo de uma tabela em grid, concedendo total abertura na apresentao de mdulo que obedeam a relacionamentos do
tipo me-filha-irm-neta-bisneta...
Uma vez que uma tabela seja apresentada em grid na aplicao final gerada, com exceo de campos do tipo imagem,
todos os demais tipos de campos podem ser digitados dentro do prprio grid, inclusive campos do tipo listas externas e
internas, rotativos, lgicos, memo, etc. Todos os recursos de edio, como por exemplo, a digitao com mscaras, so
disponibilizados para os campos digitados no grid. A cada nova linha includa ou alterada no grid, todos os processos e
lanamentos definidos so disparados automaticamente e todos os forms visveis no momento so imediatamente
atualizados para espelhar os valores que, porventura, tenham sido alterados. Tambm, podem ser definidas frmulas para
serem apresentadas nas colunas, sendo atualizadas simultaneamente no momento da digitao. Naturalmente, essas
frmulas podem envolver campos de qualquer um dos bancos de dados manipulados pela aplicao. Com isto, o GAS
oferece duas maneiras de trabalhar com relacionamento 1-N: da forma onde a tabela me e filha aparecem em forms
separados e a forma onde as tabelas filhas so disponibilizadas em grids dentro do mesmo form onde aparece a tabela me.
3.2.2.4
Rotina avulsa
Uma rotina avulsa constitui-se de um programa ou fragmento de programa no gerado pelo GAS, ou seja, elaborado
manualmente pelo projetista utilizando o Editor de Programas do GAS.
3.2.2.5
Consulta pr-definida
Este tipo de mdulo possibilita a criao de consultas aos registros das tabelas definidas na aplicao. denominada
pr-definida porque estabelecida pelo projetista em tempo de projeto, diferindo, assim, das consultas que o usurio poder
criar em tempo de execuo da aplicao, caso o projetista queira disponibilizar este recurso. Essas consultas sero
sempre apresentadas na aplicao em forma de grade, onde os registros aparecero em linhas e os campos em colunas.
3.2.2.6
Relatrio
Um mdulo do tipo relatrio tem por finalidade emitir, em papel, o resultado da leitura dos registros de uma ou mais tabelas
definidas para a aplicao. Os relatrios so definidos utilizandose totalmente a interface do GAS, por intermdio do GReports, ou utilizando-se do utilitrio Crystal Reports, que acompanha o Visual Basic, para que seja efetuada
externamente a formatao dos mesmos.
3.2.2.7
Etiqueta
Tudo o que se aplica a mdulos do tipo relatrio tambm se aplica aos mdulos do tipo etiqueta que, nada mais do que
um tipo especial de relatrio. A Gas Tecnologia desenvolveu, ainda, oito conjuntos de fontes true-type para a impresso dos
seguintes cdigos de barras: EAN-13, EAN-8, UPC-A, cada uma delas com dois estilos (normal e curto), 2 de 5 interleaved
e o cdigo 3 de 9.
3.2.2.8
Processos pr-definidos
Este tipo de mdulo permite a definio de processamentos especiais, pr-definidos pelo projetista, para executar certas
tarefas, como por exemplo, fechamento de ms, clculo de folha de pagamento, baixas em estoque, histricos, etc. Na
definio desses mdulos, o projetista tem total flexibilidade para envolver outros bancos de dados, efetuar clculos, apagar
registros, etc., correndo uma mesma tabela quantas vezes se fizer necessrio e efetuando processos diferentes a cada
33
passagem. Telas complementares podem ser criadas para serem apresentadas antes dos processos, de modo a permitir o
estabelecimento de filtros e condies de processos e lanamentos. Abaixo de um mdulo processo pr-definido, agora,
podem ser inseridos relatrios, etiquetas ou outros processos pr-definidos, podendo-se ou no gerar relacionamentos
entre eles.
3.2.2.9
Programa executvel
Um mdulo do tipo executvel pode ser inserido na rvore do projeto para disparar a execuo de um programa
executvel qualquer, do DOS ou do Windows, a partir da aplicao final gerada.
3.2.3
3.2.3.1
Arquivo
Esta opo normalmente aparece como a primeira de qualquer aplicao Windows, sob a qual so disponibilizadas
normalmente opes de apoio (backup de banco de dados, manuteno de senhas, etc), sada da aplicao, etc.
3.2.3.2
Editar
Abaixo desta opo normalmente so disponibilizadas opes genricas de edio, como copiar, colar, cortar, etc.
34
3.2.3.3
Exibir
Esta opo normalmente utilizada para agrupar opes de exibio de objetos da interface que podem ser exibidas ou
ocultadas do usurio.
3.2.3.4
Janela
Sob esta opo so disponibilizadas comumente as opes de organizar cones da aplicao e, ainda, a lista de janelas
abertas em aplicaes MDI.
3.2.3.5
Ajuda
Finalmente, sob este ttulo so disponibilizadas algumas opes de ajuda da aplicao, bem como a janela de crditos
(sobre...).
3.3
Captulo
IV
Captulo 4: Guia rpido para criar um aplicao
36
4.1
Via expressa
A cpia do GAS pode ser instalada com diversos exemplos para servir de base de conhecimento e aprendizado dos
recursos da ferramenta. Cada um desses exemplos explora de forma diferente as facilidades de criao de aplicaes. Se
voc optou por instalar esses exemplos, eles podem se constituir de uma tima base de consulta para a assimilao da
maneira correta de definir o que pode ser implementado nas aplicaes. Este captulo no entrar no mrito dos exemplos.
Ele procurar auxili-lo na criao de um novo projeto, descrevendo, pela ordem e de maneira sucinta, os passos
necessrios para sua criao. O seu objetivo apontar a seqncia exata dos tpicos deste manual que devem ser
consultados para possibitar que, em poucos minutos, voc se familiarize com os recursos oferecidos pelo GAS e obtenha
um resultado concreto e imediato. Primeiramente voc dever configurar o GAS de acordo com as suas preferncias. O
tpico Opes para personalizar a operao do GAS descreve os aspectos de sua configurao.
4.1.1
Figura 4.1
Figura 4.2
37
Figura 4.3
A abertura de um novo projeto tambm pode ser efetuada selecionando-se as opes de menu Arquivo/Novo projeto e
dispondo o nome do novo projeto a ser criado. O GAS utiliza a extenso .GAS para identificar os arquivos que armazenam
projetos. Informado o nome do novo projeto, este criado e carregado na rvore do projeto.
4.1.2
4.1.3
Definir o projeto
A definio de um projeto deve sempre comear pelo mdulo que aparece em primeiro lugar na rvore. neste ponto
que a definio dos dados relativos ao projeto como um todo feita. O ttulo deste mdulo , inicialmente, SEM NOME
DEFINIDO. Voc dever alterar este ttulo para que ali aparea o ttulo do seu projeto. Isto pode ser feito clicando com o
boto direito do mouse sobre este ttulo e selecionando a opo "Define o mdulo selecionado" no menu pop-up que
surgir. Assim procedendo, sero disponibilizadas definies a serem feitas neste mdulo. Pode-se, ainda, clicar
diretamente sobre o boto de definio de mdulos existente na barra de ferramentas, caso esta esteja visvel.
A definio do projeto compreende cinco etapas, das quais, pelo menos as duas a seguir so obrigatrias:
Dados genricos do projeto - nesta parte so definidos alguns aspectos genricos do projeto como, por exemplo, o
ttulo da aplicao e seu nome executvel, tipo de banco de dados utilizado, endentao e comentrios nos
programas fontes, etc. Consulte o tpico Definindo os dados genricos do projeto para executar esta tarefa.
Estrutura do banco de dados da aplicao - esta , talvez, a parte mais importante da definio de um projeto. Aqui,
so criadas as tabelas que iro compor o banco de dados. Mais de um banco de dados pode ser utilizado. Para cada
tabela sero estabelecidos os campos que esta ir conter. Cada campo dever ser definido segundo o tipo de
informao que ir receber. ndices e integridades podero tambm ser criados para serem ligados s tabelas. O
tpico Definindo a Estrutura do Banco de Dados 61 explica detalhadamente como estas definies podem ser
feitas.
Alm dessas definies, voc poder fazer tambm a formatao da barra de ferramentas da aplicao. Para executar
38
esta operao, voc poder consultar, os tpicos Desenhando a barra de ferramentas da aplicao e Utilizando o Editor
de Recursos 151 . Se voc no desejar fazer esta operao, o GAS definir uma barra de ferramentas default na
aplicao final, o queatender perfeitamente. Aps este passo, a situao dever ser a seguinte:
Criada a estrutura do banco de dados necessria, fato que nos permitir referir s tabelas, campos, ndices e,
dependendo da aplicao, relaes de integridades.
Criada a barra de ferramentas para atender a aplicao (ou ser apresentada a barra default).
Definidos o ttulo e nome do programa executvel da aplicao, bem como o nome de seus arquivos de dados.
4.1.4
4.1.5
4.1.5.1
Geral
Aqui so feitas algumas definies genricas como, por exemplo, qual a tabela bsica desta janela, nome do mdulo .
FRM que ir ser gerado, as permisses de acesso a esta janela, etc. O tpico Definindo uma Janela de Dados - Geral
243 explica os aspectos desta parte da definio.
4.1.5.2
Tabelas auxiliares
Esta etapa da definio necessria somente quando voc precisar abrir outras tabelas, alm da tabela bsica, para se
referenciar a seus campos, process-los e criar lanamentos a partir da tabela bsica. Consulte o tpico Definindo uma
Janela de Dados - Tabelas Auxiliares 95 para maiores detalhes.
4.1.5.3
Lanamentos
A definio de lanamentos s necessria em certo tipo de aplicao. Nesta parte da definio so estabelecidas as
tabelas que iro receber os lanamentos, quais dos seus campos sero modificados e os valores a serem lanados. Os
detalhes dessas definies esto no tpico "Definindo uma Janela de Dados - Lanamentos 96 ".
4.1.5.4
Processos
Nesta parte da definio so estabelecidos os processamentos de campos de tabelas do banco de dados, baseando-se
nos campos a serem modificados e seus respectivos valores. Consulte o tpico "Definindo uma janela de dados Processos 98 " para se inteirar dos detalhes. Para completar a definio da janela de dados, falta a formatao da tela de
39
digitao de dados para a tabela bsica. Esta operao feita utilizando-se o Editor de Recursos do GAS. Consulte o
tpico Utilizando o Editor de Recursos para conhecer os detalhes da elaborao de telas de digitao.
4.1.6
4.1.7
4.1.8
Boto Executar
A gerao dos fontes somente estar habilitada se todos os mdulos na rvore estiverem prontos para serem gerados
(veja item anterior). O Captulo 6 - Gerao de Programas Fontes 165 detalha os aspectos desta operao. Aps
gerados os programas fontes, o GAS automaticamente disponibilizar uma interface para a gerao do programa
executvel, gerao tal que poder ser executada de forma independente, acionando-se o boto de gerao de
executveis presente na barra de ferramentas. O Captulo 7 - Gerao de executveis 170 detalha com maior
profundidade os aspectos desta operao.
Captulo
V
Captulo 5 - Operando o GAS
5.1
41
Ao ser ativado, o GAS apresenta uma interface semelhante que aparece na figura 5.1 a seguir para ser utilizada na
abertura de projetos.
Figura 5.1
A primeira aba permite a criao de novos projetos ou, ainda, a abertura de um gabarito que tenha sido previamente
gravado no diretrio de instalao do GAS, por intermdio da opo Gravar como gabarito, a ser vista mais adiante
neste captulo;
A segunda aba utilizada para se abrir um projeto qualquer do GAS que esteja acessvel em um drive local ou de
rede;
A terceira aba apresenta uma lista com os doze ltimos projetos abertos pelo GAS. Basta selecionar um deles para
que este seja aberto e disponibilizado na rvore do projeto.
5.2
Este boto pode ser utilizado para abrir e carregar um projeto de sistema j existente. Os projetos de sistemas
criados pelo GAS utilizam a extenso .GAS.
Este boto pode ser utilizado para disparar a gerao dos programas fontes da aplicao. S aparece habilitado
quando todos os mdulos da rvore do projeto esto completamente definidos. Posteriormente, por meio de um dilogo, o
projetista poder ligar ou desligar a gerao de certos mdulos. O Captulo 6 - Gerao de programas fontes 165 para
42
Logo aps a gerao dos programas fontes, o GAS dispe ao projetista, automaticamente, a interface de gerao
dos programas executveis necessrios ao seu funcionamento. No entanto, este boto poder ser utilizado para acessar o
mdulo de compilao, de uma forma independente, no qual o projetista poder selecionar os mdulos que deseja compilar.
Para maiores detalhes, referir-se ao Captulo 7 - Gerao de Executveis 170 .
Se os programas fontes da aplicao foram gerados pelo menos uma vez, este boto estar habilitado para ativar
a criao do kit de instalao da aplicao. O Captulo 9 - Gerao de programas auxiliares e converses 201
descreve detalhadamente esta operao.
Este boto pode ser utilizado para ativar e desativar a disponibilizao do Dirio de Bordo, utilizado para
anotaes que devero ser vinculadas ao projeto de sistema em definio. Por esta razo, s estar habilitado quando
existir uma definio de projeto em andamento. Os aspectos da utilizao deste recurso esto descritos no tpico
Utilizando o Dirio de Bordo 162 .
Este boto poder ser clicado para invocar o Editor de Programas do GAS. Existem diversas situaes, durante a
fase do desenvolvimento do projeto, em que este boto poder ser utilizado. Consulte o tpico Utilizando o Editor de
Programas 146 para obter detalhes de sua utilizao.
Este boto poder ser clicado para invocar o editor de cones do GAS. Assim como o Editor de Programas,
existem diversas situaes, durante a fase do desenvolvimento do projeto, em que este boto poder ser utilizado. Consulte
o tpico Utilizando o Editor de cones 143 para obter detalhes de sua utilizao.
Este boto serve para ativar o Editor de Recursos do GAS para a formatao de telas e da barra de
ferramentas para a aplicao a ser gerada, processo que detalhado no tpico Utilizando o Editor de Recursos 151 .
Este boto s estar habilitado se um mdulo do tipo relatrio ou etiqueta estiver completamente definido e
selecionado na rvore do projeto. A formatao de relatrios e etiquetas utilizando o G-Reports, formatador interno do GAS
, est descrito no tpico Definindo um Relatrio ou Etiqueta 120 deste captulo. A interface com o Crystal Reports
tambm efetuada automaticamente, por meio deste boto, caso o projetista tenha optado por este utilitrio na insero do
mdulo de relatrio no projeto.
Este boto ativa a interface de definio do mdulo que se encontra selecionado na rvore. Para estabelecer as
definies do mdulo, o projetista dever clicar sobre este boto.
Este boto tem por finalidade permitir a insero de novos mdulos na rvore do projeto. S estar ativado se o
mdulo selecionado na rvore suportar um mdulo subordinado. Esses mdulos so o ttulo do projeto, menus, janelas de
dados, tabelas em grid, processos pr-definidos, relatrios, formulrios avulsos, etc.
Este boto serve para cortar para o clipboard textos do Editor de Programas, mdulos da rvore do projeto ou suas
definies. O texto selecionado apagado do editor e disponibilizado na rea de transferncia (ou clipboard). J o mdulo
movido para outra posio da rvore do projeto ou mesmo para outro projeto, utilizando-se a opo de colagem a ser
referenciada logo a seguir. O mesmo ocorre com as definies de mdulo recortadas.
Este boto serve para copiar todas as definies efetuadas no mdulo selecionado para uma rea de
43
transferncia. Este recurso foi disponibilizado no GAS para permitir a herana de definies de um mdulo para outro,
dentro da rvore, ou para ser levado a um outro projeto. Quando o Editor de Programas for a janela ativa, este boto pemitir
copiar o texto nele selecionado para o objeto clipboard (ou rea de transferncia). Mdulos da rvore do projeto tambm
podero ser copiados.
Uma vez que algum texto do Editor de Programas, os mdulos da rvore do projeto ou as definies do mdulo
tenham sido copiadas para a rea de transferncia, o projetista poder clicar sobre este boto para aproveitar tudo o que foi
definido, com a finalidade de modificar somente o que for necessrio, com um ganho considervel de tempo na fase do
projeto. No caso de ser o Editor de Programas a janela ativa, o texto existente na rea de transferncia ser inserido no
texto, na posio do cursor.
Este boto, se estiver habilitado, poder ser utilizado para apagar o que estiver sendo feito no momento, o que
pode ser tanto um mdulo selecionado na rvore do projeto, quanto controles selecionados no Editor de Recursos do GAS
ou texto selecionado no Editor de Programas. Exceto para este ltimo, o apagamento de informaes sempre feito mediante
uma confirmao prvia.
Este boto serve como atalho para a apresentao da ajuda de operao do GAS.
5.2.1
Este boto serve para apresentar o dilogo de procura de texto dentro do Editor de Programas. A tecla CTRL+F
pode ser utilizada como atalho desta operao.
Este boto serve para apresentar o dilogo de procura e substituio dentro do Editor de Programas do GAS. A
tecla CTRL+H pode ser utilizada como atalho para esta operao.
Este boto serve para sincronizar o mdulo selecionado na rvore com o texto do editor. Se este boto estiver
ligado (em baixo), o texto apresentado na rea ativa do editor estar sempre sincronizado com o mdulo selecionado na
rvore, ou seja, se o projetista selecionar um novo mdulo na rvore, o texto da janela apresentar imediatamente o cdigo
que foi digitado para aquele mdulo. Se este boto estiver desligado (em cima), nenhum sincronismo ocorrer.
Este boto serve para desfazer, de modo ilimitado, quaisquer alteraes que tenham sido efetuadas no Editor de
Programas do GAS.
Este boto serve para refazer, de modo ilimitado, quaisquer aes que tenham sido desfeitas no Editor de
Programas do GAS.
Este boto serve para endentar cada uma das linhas do bloco selecionado, proporcionando uma facilidade maior
na formatao das estruturas da linguagem definidas diretamente pelo projetista.
Este boto serve para retirar a endentao de cada uma das linhas do bloco selecionado, proporcionando uma
44
facilidade maior na formatao das estruturas da linguagem definidas diretamente pelo projetista.
Este boto serve para comentar cada uma das linhas do bloco selecionado. Caso o projetista no tenha
selecionado algum bloco de linhas e pressione este boto, o caracter de comentrio (apstrofo) ser includo no incio da
linha indicada.
Este boto serve para retirar o comentrio de cada uma das linhas do bloco selecionado.
5.3
5.4
5.4.1
O menu arquivo
A figura a seguir um exemplo do que pode estar aparecendo no menu Arquivo do GAS:
Figura 5.2
A exemplo do que ocorre na barra de ferramentas, algumas opes podem estar desabilitadas por no se aplicarem ao
contexto do momento da operao. As seguintes opes podem ser ativadas a partir deste menu:
5.4.1.1
45
Novo projeto
Esta opo serve para criar um novo projeto de sistema. O projetista dever informar um nome para o novo projeto e o
GAS criar e iniciar este novo projeto, carregando as opes default na rvore do novo projeto.
5.4.1.2
5.4.1.3
Abrir gabarito
Esta opo serve para abrir um gabarito de projeto previamente gravado com a opo explicada a seguir. Todas as
definies gravadas em gabaritos so aproveitadas em um novo projeto.
5.4.1.4
5.4.1.5
Dirio de bordo
Apresenta ou oculta o Dirio de Bordo vinculado ao projeto. Esta opo tem um boto correspondente na barra de
ferramentas e s est disponvel quando existe um projeto em definio.
5.4.1.6
Gerar fontes
Esta opo aciona a gerao dos programas fontes para a aplicao. S aparece habilitada quando todos os mdulos
da rvore do projeto esto completamente definidos. Existe boto com funo idntica na barra de ferramentas.
5.4.1.7
Criar executveis
Esta opo aciona a interface de criao de programas executveis necessrios ao funcionamento da aplicao
gerada. A barra de ferramentas possui um boto com esta funcionalidade.
5.4.1.8
Reparar projeto
Esta opo serve para corrigir problemas de integridade ou ndices que, porventura, venham a ocorrer nos projetos do
GAS. Esta opo s estar disponvel para seleo se nenhum projeto estiver carregado no GAS. O tpico Reparao do
Projeto detalha as razes da necessidade desta opo.
5.4.1.9
Utilitrios
Esta opo abre um sub-menu de onde podem ser acionadas diversas opes de utilitrios do GAS. Aqui tambm,
algumas opes podero no estar habilitadas para seleo por no se aplicarem ao contexto do momento da operao. A
figura a seguir mostra quais so as opes disponveis:
46
Tambm com um boto de funcionalidade idntica na barra de ferramentas, esta opo aciona a interface que cria o
programa instalador para a aplicao final.
5.4.1.9.3 Criar conversor de arquivos DBF
Esta opo serve para solicitar ao GAS que crie um utilitrio conversor de arquivos do formato DBF para o formato MDB.
Com isto, possvel o reaproveitamento total dos dados das aplicaes provenientes do DOS. O tpico Utilitrio
Conversor de Arquivos DBF aborda detalhadamente a utilizao deste recurso.
5.4.1.9.4 Imprimir dirio de bordo
Utilize esta opo para passar para a impressora as anotaes referentes ao projeto existente no Dirio de Bordo.
5.4.1.9.5 Rever mensagem erro de gerao
Durante o processo de gerao de programas fontes, o GAS executa testes de consistncia sobre as definies do
projeto. Qualquer incoerncia reportada em uma mensagem de erro com o conseqente cancelamento do processo de
gerao. O projetista poder, ao corrigir o problema, selecionar esta opo para rever a ltima mensagem de erro reportada.
A seguir, podero estar aparecendo no menu, os nomes de um ou mais projetos recentemente abertos. O GAS armazena os
nomes dos 3 ltimos projetos que carregou, ficando o mais recente posicionado em primeiro lugar.
5.4.1.10 Finalizar
Com um boto correspondente na barra de ferramentas, esta opo serve para encerrar a operao do GAS.
5.4.2
O menu Editar
A figura abaixo corresponde ao menu Editar. Algumas opes podem aparecer desabilitadas por no se enquadrarem
no contexto do momento da operao:
47
Figura 5.3
Todas as opes deste menu tm um boto com a mesma funcionalidade na barra de ferramentas.
5.4.2.1
Inserir
Esta opo serve para inserir mdulos na rvore do projeto. Um mdulo inserido sempre subordinado ao que estiver,
naquele momento, selecionado na rvore. A insero de mdulos na rvore do projeto detalhada no tpico Inserindo um
Mdulo na rvore do Projeto 59 .
5.4.2.2
Cortar
Esta opo serve para cortar o texto selecionado no Editor de Programas do GAS para a rea de transferncia
(clipboard).
5.4.2.3
Copiar
Esta opo serve para copiar definies inteiras de mdulos para um posterior aproveitamento em outro mdulo
semelhante do mesmo ou de outro projeto. Se a janela ativa for o Editor de Programas do GAS, esta opo servir para
copiar o texto selecionado no Editor para a rea de transferncia.
5.4.2.4
Colar
Complementando a opo anterior, esta opo serve para dispor na rvore do projeto as definies copiadas. Se a
janela ativa for o Editor de Programas do GAS, esta opo servir para colar o texto existente na rea de transferncia na
janela de edio.
48
5.4.2.5
Apagar
Esta opo serve para apagar o objeto selecionado no momento, tanto podendo ser um mdulo da rvore quanto um
objeto qualquer durante a formatao de telas. Se a janela ativa for o Editor de Programas do GAS, esta opo servir para
apagar o texto selecionado no Editor.
5.4.2.6
Procura
Esta opo serve para ativar o dilogo de pesquisa de texto dentro da janela em edio do Editor de Programas do GAS.
5.4.2.7
Substitui
Esta opo serve para ativar o dilogo de pesquisa e substituio de texto dentro da janela do Editor de Programas do
GAS.
5.4.2.8
Sincroniza
Esta opo tem por finalidade sincronizar o mdulo selecionado na rvore com o texto do Editor de Programas do GAS.
Se esta opo estiver marcada, o texto apresentado na rea ativa do editor estar sempre sincronizado com o mdulo
selecionado na rvore, ou seja, se o projetista selecionar um novo mdulo na rvore, o texto da janela apresentar
imediatamente o cdigo que foi digitado para aquele mdulo. Se estiver desmarcada, nenhum sincronismo ocorrer.
5.4.2.9
Desfaz
Esta opo serve para desfazer, de modo ilimitado, quaisquer alteraes que tenham sido efetuadas no Editor de
Programas do GAS.
5.4.2.10 Refaz
Esta opo serve para refazer, de modo ilimitado, quaisquer alteraes que tenham sido efetuadas no Editor de
Programas do GAS.
5.4.2.11 Endenta
Esta opo serve para endentar cada uma das linhas do bloco selecionado na tela de edio do Editor de Programas do
GAS, proporcionando uma facilidade maior na formatao das estruturas da linguagem definidas diretamente pelo projetista.
5.4.2.12 Desendenta
Esta opo serve para retirar a endentao de cada uma das linhas do bloco selecionado na tela de edio do Editor de
Programas do GAS, proporcionando uma facilidade maior na formatao das estruturas da linguagem definidas diretamente
pelo projetista.
5.4.2.13 Comenta
Esta opo serve para comentar cada uma das linhas do bloco selecionado na tela de edio do Editor de Programas do
GAS. Caso o projetista no tenha selecionado algum bloco de linhas e pressione este boto, o caracter de comentrio
(apstrofo) ser includo no incio da linha indicada.
49
5.4.2.14 Descomenta
Esta opo serve para retirar o comentrio de cada uma das linhas do bloco selecionado na tela de edio do Editor de
Programas do GAS.
5.4.2.19 Definir
Esta opo abre uma interface para que sejam estabelecidas as definies do mdulo selecionado na rvore ou
modelador do projeto.
5.4.3
O menu exibir
Este menu apresenta algumas opes de exibio de peas da interface do GAS. Sua utilizao est detalhada no
tpico seguinte, denominado Opes para Personalizar a Operao do GAS 49 .
5.4.4
O menu opes
Este menu serve para configurar opes de operao que esto tambm detalhadas no tpico a seguir.
5.5
5.5.1
50
Figura 5.4
Neste menu, encontramos:
5.5.1.1
Barra de ferramentas
Clicando sobre esta opo, o projetista poder ocultar ou exibir a barra de ferramentas do GAS. Como todas as opes
que se encontram na barra de ferramentas esto tambm disponveis nas opes de menus, quando aquela estiver oculta, a
operao do GAS poder ser feita por essas opes, embora com um pouco mais de dificuldade.
5.5.1.2
Banco de campos
Por intermdio desta opo, o projetista poder ocultar ou apresentar o banco de campos disponveis para captura, que
o GAS monta a partir das informaes existentes na estrutura definida. Esse mesmo banco de campos relaciona a lista de
variveis, constantes e funes (function e sub) disponveis para o objeto em definio. O banco de campos s aparece
habilitado no menu se a situao de operao indicar a sua necessidade. Para facilitar a manipulao das informaes nele
relacionadas, a janela do banco de campos apresenta botoeira com diversos operadores, como mostrado na figura a seguir,
inclusive transferncia de dados como inteiro, quociente e resto da diviso inteira, concatenao de strings, etc.
5.5.1.3
161
Ferramentas da tela
As ferramentas de formatao de telas ou barra de ferramentas so parte da interface do Editor de Recursos do
GAS, sendo que sua janela pode ser exibida ou ocultada por meio desta opo. S est disponvel se a situao de
operao estiver indicando que ela necessria. Consulte o tpico Utilizando o Editor de Recursos 151 para conhecer
os detalhes.
51
Figura 5.5
5.5.1.4
Dirio em zoom
Esta opo s estar habilitada quando o Dirio de Bordo estiver sendo exibido, servindo para apresent-lo em
tamanho normal ou ampliado, ocupando toda a rea de cliente do GAS.
5.5.1.5
5.5.2
52
Figura 5.6
Neste menu, temos:
5.5.2.1
5.5.2.2
Tratamento de nomes
Esta opo permite ao projetista especificar como o GAS tratar os nomes das tabelas, campos e apelidos que sero
digitados durante a entrada de informaes na definio da estrutura para o banco de dados. As opes so:
5.5.2.2.1 Capitalizar
No importando o que o projetista esteja digitando, o GAS ir capitalizar a primeira letra, ou seja, convert-la em
maiscula .
5.5.2.2.2 Maisculas
Nenhum tratamento ser dado pelo GAS ao que o projetista digitar para os nomes de tabelas e campos.
5.5.2.3
Configuraes
As configuraes de diversas fases da operao do GAS esto divididas em uma interface com cinco abas. Ao ser
selecionada esta opo de menu, a tela da figura a seguir apresentada:
53
Figura 5.7
5.5.2.3.1 Modelador
Nesta aba podem ser configuradas diversas opes do modelador do projeto. medida que as configuraes vo
sendo efetuadas, o seu efeito vai sendo mostrado imediatamente na janela de amostra existente nesta janela:
5.5.2.3.1.1 Fontes do modelador
Esta opo serve para configurar a fonte a ser utilizada na vore do projeto.
5.5.2.3.1.2 Cores do mdulo
As cores utilizadas para identificar os mdulos existentes na rvore do projeto pode ser configurada da maneira que o
projetista julgar mais conveniente. Esta opo til para permitir a visualizao imediata do estgio em que se encontra o
desenvolvimento do projeto. O GAS permite que sejam configuradas tipos de fontes e cores para as situaes a seguir:
Definidos
Todo mdulo que estiver totalmente pronto para ser gerado, aparecer na cor aqui configurada.
Em definio
Os mdulos que estejam incompletos na sua definio, aparecero na cor configurada para este item.
Preservados
Alguns mdulos que o projetista no deseja gerar, ele poder marcar o desligamento da sua gerao. Isto se aplica a
qualquer tipo de mdulo que possa ser disponibilizado na rvore. Por exemplo, o tpico Definindo uma janela de dados -
54
Geral 91 explica os detalhes desta opo. Mdulos que o projetista tenha marcado para no serem gerados aparecero na
cor configurada para este item.
Todos
Esta opo serve para trocar, de uma s vez, os atributos de cor para as opes anteriores.
5.5.2.3.2 Telas e relatrios
Nesta aba, aparecem algumas opes para utilizar em telas e relatrios, como mostra a figura a seguir:
Figura 5.8
5.5.2.3.2.1 Tamanho da grade
Ajuste o tamanho, em pixels, da grade a ser utilizada para a rea de formatao de telas e relatrios, quando esta
estiver visvel.
5.5.2.3.2.2 Texto exemplo
Informe um texto a ser utilizado como exemplo nos campos dispostos nas telas e labels em relatrios para a impresso
de campos, quando a opo denominada "Texto exemplo na tela", explicada anteriormente neste captulo, estiver
marcada.
5.5.2.3.2.3 Default para texto 3D
Configure as opes default para os objetos 3D disponibilizados na tela ou relatrio. Essas opes se referem apenas
forma como esses objetos so disponibilizados na tela ou relatrio. O projetista sempre poder mudar individualmente essas
propriedades no momento da formatao. As opes so:
55
Fonte
Selecione o nome, tamanho e cor da fonte a ser utilizada para imprimir o texto 3D.
Sombra
Informe o tamanho em pixels da sombra a ser projetada pelo texto.
ngulo
Informe o ngulo, de 0 a 359 graus, para ser utilizado na impresso do texto 3D.
Cor do contorno
Estabelea uma cor para ser utilizada no contorno ou outline do texto 3D.
Cor da sombra
Escolha uma cor para a sombra a ser projetada pelo texto 3D.
5.5.2.3.3 Relatrios
Nesta aba, como mostra a figura a seguir, aparecem as opes a serem configuradas exclusivamente para os relatrios
e etiquetas a serem formatados por meio do G-Reports do GAS.
Figura 5.9
56
Estabelea os atributos de cores a serem utilizadas para exibir nas rguas auxiliares de formatao.
5.5.2.3.3.2 Distncia entre registros
Especifique a distncia, em milmetros, a ser utilizada como default da propriedade para separar registros. Esta
informao poder ser reajustada posteriormente, no momento da formatao de relatrio.
5.5.2.3.3.3 Papel
Informe o tipo de papel a ser utilizado para o relatrio e tambm algumas medidas de margens para clculo da rea til da
impresso.
Consideraes sobre margens de papel
Existe, hoje, disponvel no mercado, uma grande quantidade de marcas e modelos de impressoras. Alm de serem
diferentes em aspectos como resoluo, velocidade, qualidade, etc., essas impressoras diferem no aspecto do
aproveitamento do papel. Todas elas s conseguem imprimir dentro de uma rea til circunscrita por margens (topo,
esquerda, direita e fundo). Essas margens existem possivelmente por problemas de concepo, como, por exemplo, pela
necessidade de trao de papel. Elas podem ser maiores ou menores, de acordo com a impressora utilizada. Por meio da
funo API GetDeviceCaps(), possvel recuperar os valores exatos dessas margens, desde que a impressora esteja
instalada na mquina. Como as impressoras dos equipamentos de desenvolvimento nem sempre so as mesmas existentes
nas mquinas onde a aplicao ser executada, o projetista dever estabelecer manualmente essas margens para que o
GAS disponibilize na rea de formatao somente a rea til calculada por meio dessas medidas.
5.5.2.3.4 Diretrios
Finalmente, na ltima aba, mostrada na figura a seguir, podem ser configurados os diretrios dos diversos utilitrios com
os quais o GAS ir manter algum tipo de interface.
57
Figura 5.10
Informe, nos campos correspondentes, os diretrios onde residam os diversos aplicativos. O boto Procura pode ser
utilizado para apresentar um dilogo de localizao.
5.5.2.4
Idioma
Ainda no menu Opes, esta opo permite a livre seleo do idioma (Portugus, Espanhol ou Ingls) ao qual a
aplicao estar ou est sendo desenvolvida. Cabe aqui ressaltar o fato da seleo de idiomas s estar disponvel na
verso Enterprise do gerador em questo, sem que nenhum projeto esteja aberto no momento corrente.
5.6
Reparao do projeto
Os projetos desenvolvidos pelo GAS ficam armazenados em um arquivo de extenso .GAS. As informaes que vo
sendo passadas pelo projetista, como, por exemplo, nomes de bancos de dados, tabelas, campos, relaes, ndices, janelas
de entrada de dados, estrutura hierrquica, dirio de bordo, enfim, toda a definio do projeto fica armazenada neste
arquivo que, por sua vez, um banco de dados de formato MDB. E, por se tratar de um banco de dados com alto grau de
dependncia de ndices e relacionamentos, possvel que, por um motivo qualquer, haja a perda de ndices ou de
relacionamentos, compromentendo a integridade do que foi definido para o projeto. Por esta razo, foi disponibilizada, no
GAS, a opo "Reparar projeto", abaixo da opo de menu Arquivo. O projetista poder utilizar esta opo para fazer a
reparao do banco de dados do projeto, a fim de corrigir os possveis erros existentes, caso sinta essa necessidade.
5.7
58
Figura 5.11
A figura acima mostra um exemplo da rvore Hierrquica ou Modelador de Projetos. Por intermdio desta interface, o
projetista tem plena liberdade de manipular a hierarquia do projeto em definio, inserindo, apagando ou movendo mdulos.
Para essas operaes, o GAS possui recursos que facilitam o trabalho do projetista, como, por exemplo, o clipboard
para copiar definies inteiras de mdulos para outros pontos da rvore do projeto ou, mesmo, para outros projetos, e os
recursos drag and drop (arrasta e solta) para movimentar troncos inteiros por meio da rvore. Cada tipo de mdulo tem uma
figura diferente para represent-lo, permitindo a sua identificao imediata, com uma rpida visualizao.
medida que os mdulos so inseridos na rvore, o menu da aplicao final tambm vai sendo naturalmente definido,
pois a disposio dos mdulos na rvore do projeto espelha exatamente o menu da aplicao final. Os mdulos inseridos
imediatamente abaixo do ttulo do projeto aparecero no primeiro nvel do menu. Os demais, aparecero em submenus.
Conforme vimos no tpico Opes para Personalizar a Operao do GAS, para facilitar ao projetista visualizar o estgio
em que se encontra o desenvolvimento do projeto, o GAS permite a configurao de cores para os mdulos que j esto
definidos (prontos para serem gerados) e para os mdulos que ainda no esto definidos. Os mdulos que no sero
gerados por opo do projetista tambm podem aparecer em cores diferentes.
5.7.1
59
5.7.2
Selecione no menu apresentado pela figura a seguir, o tipo de mdulo a ser inserido;
Figura 5.12
Selecione, quando solicitado, a posio em que o mesmo deve ser inserido. O GAS apresenta uma segunda rvore
contendo apenas os mdulos de nvel igual ou superior ao que est sendo inserido. O projetista dever clicar sobre o
mdulo aps o qual (e de seus filhos) o novo mdulo ser inserido.
Os mdulos que so inseridos no primeiro nvel da rvore, ou seja, diretamente ligados ao ttulo do projeto, ficaro
sempre visveis no menu da aplicao final, aparecendo um ao lado do outro. aconselhvel para uma melhor esttica
que o projetista evite dispor palavras compostas (que contenham espaos) para definir os ttulos dos menus que
aparecem neste primeiro nvel. Os demais mdulos sempre aparecero em submenus, um abaixo do outro, no sendo
necessrio este cuidado.
60
5.7.3
5.7.4
Copiando definies
Definies j efetuadas para um mdulo, banco de dados, tabelas e mdulos do projeto podem ser copiadas para o
clipboard e depois inseridas em outros pontos da rvore ou, ainda, em outros projetos do GAS, a fim de se reaproveitar as
informaes. Para copiar um banco de dados, tabela ou mdulo para outro ponto da rvore ou para outro projeto, proceda
conforme se segue:
Selecione o item que deseja copiar para o clipboard;
Selecione a opo de menu "Editar/Copiar" ou clique sobre o boto de copiar existente na barra de ferramentas, caso
esta esteja visvel. Caso o item a ser copiado seja um mdulo da rvore do projeto, isto , no seja um banco de
dados ou tabela criados nas definies do projeto, o projetista poder, ainda, clicar com o boto direito do mouse
sobre o referido item e selecionar a opo Copiar presente no menu pop-up que surgir;
Caso o projetista queira colar o item copiado para um projeto diferente, primeiramente o mesmo dever selecionar o
projeto que receber o mdulo copiado. O projetista dever, ainda, selecionar o item sob o qual (caso seja um mdulo
da rvore do projeto) ou a rea correspondente (caso seja um banco de dados ou tabela) onde deseja inserir o novo
mdulo;
Selecione a opo de menu "Editar/Colar" ou clique sobre o boto de colar existente na barra de ferramentas, caso
esta esteja visvel. Caso o item a ser colado seja um mdulo da rvore do projeto, isto , no seja um banco de dados
ou tabela criados nas definies do projeto, o projetista poder, ainda, clicar com o boto direito do mouse sobre o
item sob o qual o novo mdulo ser colado e selecionar a opo Colar presente no menu pop-up que surgir;
Neste ponto, o novo item ter herdado todas as definies que foram designadas para o item copiado. Faa as
modificaes nas definies do novo item, conforme necessrio. Cabe ressaltar que os banco de dados e tabelas
no possuem um clipboard comum com os mdulos da rvore de projeto. Assim sendo, poder ser efetuada, por
exemplo, a cpia do banco de dados e de um mdulo da rvore ao mesmo tempo.
5.7.5
61
5.7.6
Definio da soluo
A definio da soluo deve, obrigatoriamente, ser feita em primeiro lugar, por ser o ponto onde definida toda a
estrutura do banco de dados da aplicao. O dilogo para captar as informaes dessas definies aparece em uma
interface que varia de duas a cinco abas:
5.7.6.1
62
Figura 5.16
Aba Estrutura: A definio da estrutura dos bancos de dados e das tabelas que iro compor a aplicao a parte
mais importante do desenvolvimento do projeto.
A figura acima apresenta a interface que o GAS oferece para a definio do banco de dados: Os seguintes botes
devem ser utilizados nestas definies:
boto de gravao
boto de cancelamento
boto de incluso
boto de excluso
Pode-se, ainda, fazer uso das teclas de atalho CTRL-S, CTRL-A, CTRL-I e CTRL-E, assim como ocorre na aplicao
final gerada, para, respectivamente, salvar as alteraes definidas, cancelar as alteraes efetuadas, incluir novas
informaes e excluir informaes j existentes.
Ao clicar em cada uma das listas, a mesma se tornar ativa, e a parte inferior da mesma mudar apresentado o frame
respectivo a seleo de cada lista:
63
Definindo Banco: Primeiramente, o projetista deve definir um nome para o banco de dados a ser utilizado. Mais de um
banco de dados pode ser especificado permitindo que o projetista informe, por exemplo, o nome de um banco de
dados j existente com o qual a aplicao em definio poder ter algum tipo de integrao. Para cadastrar bancos de
dados deve-se selecionar a lista de bancos de dados e utilizar o boto de incluso.
Aba Geral
64
Na verso Enterprise do GAS, outros botes sero exibidos dentro desse espao para permitir a
importao da estrutura completa de bancos de dados MDB ou SQL Server. Podero ser importados, por
intermdio dessa opo, quantos bancos de dados o projetista julgar necessrios, no havendo quaisquer
limitaes de quantidade.
Aba tipo db
Tipo de banco de dados: Na verso Enterprise do GAS, o projetista poder selecionar o tipo de banco de
dados a ser utilizado - as opes so Access (MDB) via DAO, Access (MDB) via ADO, SQL Server, Oracle,
Firebird ou MySql. Dependendo do banco de dados escolhido, algumas opes de definio da estrutura
aparecero de maneira diferente. Em uma soluo, possivel definir quais os tipos de bancos de dados a
aplicao poder utilizar. Com esta opo, caso seja definido mais de um banco de dados, ser criado na
aplicao final a possibilidade de escolha, no momento da instalao, qual o tipo de banco de dados ser
utilizado pela aplicao
O projetista pode escolher qual ou quais bancos de dados sua aplicao ir funcionar. Com isto,
oferecida a opo de escolha do banco no momento da instalao.
Access: Nas verses anteriores, o GAS j acessava nativamente o banco de dados Access (jet 3.6),
utilizando a forma de conexo pelos componentes DAO. Agora, para o banco de dados ACCESS
oferecido tambm a conexo via componentes ADO.
SQL Server: O Acesso ao banco de dados SQL Server por aplicaes geradas, foram mantidos e
melhorados nesta verso. O cdigo gerado compativel com SQL Server 2000/2005. Alm disto, o
cdigo gerado perfeitamente compatvel com as verses gratuitas do SQL Server, conhecida como:
SQL Server 2005 Express Edition, e pode ser baixada diretamente no site do fabricante.
Oracle: O Acesso ao banco de dados Oracle por aplicaes geradas, foram mantidos e melhorados
nesta verso. O cdigo gerado compatvel com Oracle 8i/10g. Alm disto, o cdigo gerado
perfeitamente compatvel com as verses gratuitas do Oracle, sendo ela: Oracle 10g Express Edition, e
pode ser baixada diretamente no site do fabricante.
Firebird: Implementado nessa verso o acesso nativo ao banco de dados Firebird. Esta
implementao foi realizada tomando-se como base a verso 2.0 (Release Candidate 2) devido a
vrias caractersticas presentes nessa verso que no existem na verso 1.5. Para maiores detalhes
sobre o projeto Firebird 2.0, acesse o site do desenvolvedor (http://www.firebirdsql.com). O driver
utilizado para conexo o Firebird ODBC-JDBC v. 2.0.0.138. Para maiores detalhes sobre o projeto
Firebird ODBC-JDBC acesse ao site do desenvolvedor (http://www.praktik.km.ua/).
MySQL: Tambm implementado nessa verso o acesso nativo ao banco de dados MySQL. A
implementao foi realizada tomando-se como base a verso 5.0. O driver utilizado para conexo o
65
MyOleDb v.3.9.
Acesso via Internet - na verso Enterprise do GAS, o projetista poder utilizar-se dessa opo para habilitar
o uso do banco SQL Server ou Oracle via Internet. Para estabelecer o acesso em questo, bastar ser
informado aplicao o IP ou host no qual o banco de dados se encontra. Opes para script - na Verso
Enterprise do GAS, o projetista tem a sua disposio, oferece opes avanadas para personalizao do
script, as quais para alguns bancos de dados interessante a sua definio, de acordo com o configurado
em uma base de dados criada ou a ser criada.
Conexo - na verso Enterprise do GAS, o projetista poder determinar manualmente a string de conexo
ao banco SQL Server ou Oracle, caso no queira utilizar-se da string montada automaticamente pelo GAS.
A string de conexo a ser determinada deve obedecer o padro a seguir:
Para definio de usurio e senha:
Provider=SQLOLEDB.1;Persist Security Info=False;DRIVER={Sql Server} ;SERVER=NOME_DO_SERVIDOR;
uid=NOME_DO_USUARIO ;pwd=SENHA; DATAB ASE=NOME_DO_BANCO; TRUSTED_CONNECTION=NO
Para assumir login da rede:
Provider=SQLOLEDB.1;Persist Security Info=False;DRIVER={Sql Server}; SERVER=NOME_DO_SERVIDOR
;DATABASE= NOME_DO_BANCO; TRUSTED_CONN ECTION=YES
Aba Projetos:
Projetos do banco de dados - Esta opo estar disponvel apenas se a soluo possuir mais de um banco
de dados e tambm mais de um projeto. Se esta condio for atendida, o projetista poder definir quais os
projetos (aplicaes) utilizaram o banco de dados selecionado. Esta opo poder ser definida para cada
banco de dados adicionado a soluo.
Aba Descrio:
66
Descrio do banco de dados - digite informaes sobre o banco de dados em definio para que sejam
utilizadas na documentao da aplicao, que gerada pelo GAS.
5.7.6.1.2 Definio das tabelas
A seguir, o projetista deve cadastrar as tabelas que iro compor o banco de dados selecionado. Para cadastrar uma
tabela, basta clicar na lista de tabelas, clicar sobre o boto de incluso e informar o seu nome e apelido. Se desejar, o
projetista poder tambm digitar um texto descritivo da tabela que est sendo criada para que seja inserido na
documentao do projeto. Se a tabela que est sendo definida for uma tabela do tipo parmetro, esta opo dever ser
assinalada nesta janela (vide Glossrio). Informados esses dados, o projetista poder pressionar o boto de gravao para
salvar as informaes.
1 - Permitir incluso em consulta: Por opo do projetista, caso esta opo esteja marcada, quando for construido
uma consulta, ser possivel efetuar a incluso de um novo registro.
2 - Permitir alterao em consultas: Por opo do projetista, caso esta opo esteja marcada, quando for
construido uma consulta, ser possivel efetuar a alterao de um registro existente.
3 - Permitir Excluso em consultas: Por opo do projetista, caso esta opo esteja marcada, quando for construido
uma consulta, ser possivel efetuar a excluso de um registro existente.
4 - Tipo empresa: Com esta opo marcada, a tabela ser tratada com uma tabela de controle de empresas. Esta
tabela ser utilizada para cadastrar os registros que o usurio quiser utilizar como registro das empresas na entrada do
programa.
5 - Multi empresa: Com esta opo marcada, esta tabela ter o controle de empresa em cada registro cadastrado.
6 - Invisivel: Com esta opo marcada, a tabela no ser apresentada ao usurio final.
67
Uma vez cadastrada uma tabela, o projetista dever definir a sua estrutura. Para isto, deve selecionar, na lista de
tabelas, a tabela a ser definida. A seguir, dever clicar na lista de campos e adicionar o campo, clicando sobre o boto de
incluso.
Figura 5.17
Quando um novo campo adicionado tabela, o dilogo da figura acima apresentado para permitir a definio deste
campo. Neste momento, o projetista dever fornecer as seguintes informaes:
Nome do campo
Esta informao se constitui na identificao do campo dentro do banco de dados. O nome do campo pode conter
espaos, acentos e outros caracteres. Alguns caracteres, no entanto, no podero constar do nome do campo, pois so
utilizados no cdigo fonte a ser gerado, como, por exemplo, colchetes, exclamao, ponto, etc., sendo vetados
automaticamente pelo GAS no momento da digitao. Os projetos do GAS so dicionarizados, significando que os nomes
dos campos correspondentes em tabelas diferentes tm de ter o mesmo nome. Por exemplo, o campo Cdigo do Fornecedor
em uma tabela de fornecedores tem de ser referenciado com este nome em todas as tabelas onde venha a aparecer dentro
do banco de dados. A contra-partida que, quando o projetista necessitar alterar o nome de um campo ou qualquer um dos
seus atributos, o GAS faz automaticamente todas as alteraes necessrias nas demais tabelas definidas no projeto. Por
esta razo, caso o novo campo j exista em alguma outra tabela definida no projeto, o projetista poder selecionar o campo
desejado, ao invs de digitar suas informaes. Com isto, todas as demais informaes como tipo, tamanho, mscara, etc.,
so automaticamente capturadas, poupando o tempo precioso do projetista.
Ttulo amigvel
Ao contrrio do campo Nome, esta informao se constitui na identificao do campo para o usurio final. O ttulo
amigvel utilizado no processo de formatao da tela de uma janela de dados. Para o usurio final, essa informao
exibida via janela de dados, mesmo quando esta visualizada na forma de grid. Para habilitar a utilizao dos ttulos
amigveis, o projetista dever marcar a opo Usar ttulos amigveis na aba Miscelnea.
Tipo do campo
68
Ao informar o tipo do campo, o projetista poder utilizar os tipos de campos normais do Visual Basic ou, ainda, os tipos
de campos intrnsecos que o GAS oferece, como, por exemplo, Multimdia, Lista Interna, Rotativo, Optativo, CPF, CGC, CEP,
UF, Hora, Fone, Fone com DDD, E-Mail, WebPage, Carto de Crdito e Cdigos de barra diversos. Para definir um tipo de
campo, basta capturar da lista o tipo desejado. Se selecionar um dos tipos intrnsecos, o GAS disponibilizar
automaticamente todos os demais atributos do tipo de campo selecionado. Caso seja selecionado o tipo de campo UF, o GAS
preencher automaticamente o item "Lista" com todas as Unidades da Federao, possibilitando que o usurio do aplicativo
final gerado utilize uma lista com todas as possibilidades. Se um campo j estiver posicionado na janela de dados e o seu tipo
for alterado, em alguns casos, ele ir desaparecer da tela, aps um aviso do GAS. Isto se deve ao fato de que o tipo de
campo est diretamente relacionado com o tipo de objeto disponibilizado na tela. Por exemplo, um campo do tipo caractere
alterado para lgico ir desaparecer porque o primeiro usa uma textbox e o outro usa uma checkbox.
Lista
Esta informao s ser solicitada se o projetista tiver selecionado os tipos de campos Lista Interna ou Optativo. Neste
caso, esta informao dever ser preenchida com as opes, separadas pelo caractere "|" (pipe), como, por exemplo:
Casado|Solteiro|Vivo|Outros.
Apelido
Como o prprio nome indica, o apelido (ou alias) uma maneira abreviada de se referir ao campo. O GAS sugere
automaticamente um apelido para o campo em definio, o que pode ser, naturalmente, modificado pelo projetista, se ele
assim o desejar. O apelido ser utilizado dentro dos programas fontes gerados para efetuar referncias a este campo.
Tamanho
Esta informao passada ao GAS para a criao, nos programas fontes, de rotina para controlar a quantidade mxima
de dgitos ou caracteres que podero ser digitadas no campo.
Decimais
Caso o campo em definio seja do tipo numrico, o projetista poder especificar uma quantidade de casas decimais a
ser considerada para este campo. Se for especificado um nmero de casas decimais maior do que 0, no tamanho j estar
computado a posio da vrgula.
Mscara
Os programas fontes gerados pelo GAS so providos de um mdulo (classe) para controlar os caracteres que esto
sendo digitados no campo pelo usurio final. Este controle efetuado segundo a mscara que estiver sendo aqui definida.
As mscaras possveis para os campos esto detalhadas no tpico de mesmo nome existente no Glossrio deste manual.
Seqncia
Se o projetista dispor nesta informao um nmero diferente de zero, este campo ser incrementado automaticamente
na quantidade especificada, quando for digitado na aplicao final. Os campos que podem se autoincrementados so os do
tipo numrico, data ou, ainda, caractere com mscara para dgitos numricos.
Descrio para empresa
Define se o campo ser usado para armazenar o nome da empresa. Esta opo estar disponvel se o banco estiver
marcado a opo "Multi empresa".
Permitir Nulo
69
Define se o campo permitir que sejam gravados valores nulos. Muito utilizado em integridades.
Valor Default
Permite criar um valor default (padro) para o campo. O valor default registrado no banco de dados, e ser gravado
quando nenhum valor for enviado ao campo.
Invisvel
O projetista dever marcar esta opo se desejar criar um campo invisvel dentro da tabela em definio. Um campo
invisvel , normalmente, criado com o objetivo de servir de alvo para processamentos por meio de outras tabelas. Um campo
com atributo invisvel nunca poder ser visto por usurios, diferentemente da visibilidade estabelecida por condio, a ser
vista mais adiante neste captulo, nos tpicos Definindo uma janela de dados/Definindo atributos de campos, na qual a
visibilidade est em funo de uma condio que analisada para cada registro corrente e pode envolver o usurio, campos
de registros de tabelas relacionadas, etc.
Ajuda
Se o projetista desejar apresentar ao usurio da aplicao algum tipo de ajuda especfica (dica ou hint) para o campo,
dever informar a mensagem desejada.
Descrio
Digite informaes sobre o campo em definio para que sejam utilizadas na documentao da aplicao, que gerada
pelo GAS.
Diversos campos podero ser criados para uma tabela. Sempre que terminar a informao para um campo, o projetista
dever clicar sobre o boto de gravao para salvar as informaes digitadas. Informados todos os campos, o projetista
ainda poder trocar a sua ordem dentro da tabela. Para isto, dever selecionar o campo desejado e utilizar as setas qua
aparecem direita da lista da figura abaixo, para moviment-lo para cima ou para baixo, dentro da lista, alterando a sua
posio ou ordem dentro da tabela.
Figura 5.18
Aps definir as tabelas, o projetista poder tambm definir os seus ndices. A definio de ndices efetuada de maneira
semelhante definio de tabelas e campos, por meio do dilogo da figura abaixo. Basta clicar sobre a lista de ndices e
sobre o boto de incluso. Depois, basta fornecer as informaes adicionais:
70
Figura 5.19
Nome
Este campo representa a identificao do ndice dentro dos programas fontes gerados. O nome do ndice pode conter
espaos, acentos e outros caracteres. Alguns caracteres, no entanto, no podero constar do nome do campo, pois so
utilizados no cdigo fonte a ser gerado, como, por exemplo, colchetes, exclamao, ponto, etc., sendo vetados
automaticamente pelo GAS no momento da digitao.
Ttulo amigvel
Ao contrrio do campo Nome, esta informao se constitui na identificao do ndice para o usurio final. Durante a
operao da aplicao final, o usurio poder selecionar o ndice, por meio deste nome, a ser utilizado na navegao dentro
da tabela. Para habilitar a utilizao dos ttulos amigveis, o projetista dever marcar a opo Usar ttulos amigveis na aba
Miscelnea.
Campos
A partir desta lista, podem ser selecionados os campos que constituiro a chave para o ndice em definio. Uma chave
pode ser composta de diversos campos.
Primrio
O projetista dever marcar esta opo, se este ndice de chave primria. Em uma tabela, somente um ndice primrio
poder ser definido, no sendo, no entanto, obrigatrio. Porm, se um ndice primrio for definido, este, obrigatoriamente,
dever ser nico (o GAS marca automaticamente a opo seguinte).
nico
O projetista dever marcar esta opo se a chave do ndice em definio tem este tipo de atributo. Diversos ndices
podem ser definidos como nicos para uma tabela.
Decrescente
No caso de utilizao de banco de dados do Access (MDB), para cada campo selecionado na lista de campos chaves, o
projetista poder marcar se a ordem para o campo ser crescente ou decrescente. Deste modo, podem ser criadas chaves
para os ndices com diversos campos e direcionamentos diferentes.
Tipo de ndice
Esta opo e a seguinte (FillFactor) s estaro disponveis no caso de utilizao de banco de dados SQL Server (verso
Enterprise do GAS). O projetista dever selecionar uma das opes:
71
CLUSTERED - Cria um objeto no qual a ordem fsica dos registros a mesma da ordem do ndice primrio criado e o
nvel leaf do ndice (fundo) contm os dados reais dos registros.
NONCLUSTERED - Cria um ndice que especifica a ordem lgica de uma tabela. Com este tipo de ndice, a ordem fsica
dos registros no a mesma da sua ordem indexada. O nvel leaf de um ndice desse tipo contm registros do ndice. Cada
registro de ndice contm o valor da chave NONCLUSTERED e um ou mais localizadores de registros que apontam para o
registro da tabela.
Fillfactor
Esta opo especifica um percentual que indica quanto o SQL Server deve encher o nvel leaf de cada pgina do ndice,
durante a sua criao. Quando uma pgina de ndice fica cheia, o SQL Server precisa ter um tempo para dividir a pgina do
ndice a fim de abrir lugar para novos registros, o que muito dispendioso. Para uma atualizao intensiva de tabelas, um
valor de FILLFACTOR bem estabelecido leva a um ganho de performance.
Invisvel
Possibilidade de definir, em tempo de projeto, um ndice, entretanto, deixa-lo como invisivel, para que o usurio no o veja
em na opo de procura.
Ordem de ndices
Pode-se definir, em tempo de projeto, a ordem que os ndices vo aparecer na janela de procura e na lista de ndices da
aplicao gerada.
5.7.6.1.5 Definio das integridades
Caso seja necessrio, relaes de integridade 1-N (pai/filhos) e 1-1 (referncias) podem ser definidas entre as tabelas.
Essas relaes so utilizadas para efetuar a integridade entre tabelas do sistema bem como para efetuar integridades de
validaes onde certo tipo de informao s pode ser digitada em uma tabela segundo a sua existncia em outra. Uma
relao inserida no projeto da mesma forma que feita para as definies explicadas nos itens anteriores, observando
que a tabela bsica a ser considerada no relacionamento a tabela que estiver selecionada na lista de tabelas. A partir do
dilogo da figura 5.20, clique sobre a lista de relaes e sobre o boto de incluso, inserindo as demais definies para
vincular as tabelas:
Figura 5.20
Ttulo amigvel
Informe uma informao que identifica esta relao de integridade dentro do projeto.
Opes 1-1 e 1-N
Selecione o tipo de relao a ser efetuada.
72
Tabela/Campos estrangeiros
Escolha a tabela a ser relacionada e um de seus campos para sincronizar com a tabela base.
Campos da tabela base
Selecione um dos campos para sincronismo com o campo da tabela estrangeira. Para efetivar o estabelecimento da
integridade entre os campos selecionados, clique sobre o boto de concatenar exibido a seguir: boto para concatenar
definies Se existir mais de um campo definindo a integridade, selecione os outros campos e pressione novamente este
boto acima. O boto limpar, mostrado a seguir, pode ser utilizado para recomear a seleo dos campos da relao de
integridades. boto para limpar definies Para o estabelecimento de uma integridade, voc deve levar em considerao os
seguintes aspectos:
neste tipo de relacionamento, os campos dastabelas bsica e estrangeira a serem ligadas no precisam ter os
mesmos nomes, mas devem apresentar as mesmas caractersticas (atributos).
a tabela estrangeira ou a tabela bsica da integridade dever ter ndice primrio ou nico com os campos que compem
a integridade.
se a integridade for 1-1, a tabela/campo estrangeiro dever ter um ndice primrio ou nico pelos campos selecionados
para constituir a integridade. Tambm, a integridade deve ser efetuada no sentido da tabela original para a tabela consultada,
como, por exemplo, de Sadas de produtos para a Tabela de produtos.
se a integridade for do tipo 1-N, a tabela bsica da integridade (tabela selecionada na lista Tabelas) dever ter um
ndice primrio ou nico pelos campos selecionados para constituir a integridade. Tambm, a integridade deve ser efetuada
no sentido da tabela me para a tabela filha, como, por exemplo, de Notas para Itens de Notas.
Tipo de Integridade
Para todos os bancos que suportarem tal recurso, possvel definir o tipo de integridade, para que seja construida
utilizando trigger ou constraint.
5.7.6.1.6 Sistemas multi-empresa
Na definio da estrutura dos bancos de dados o projetista pode realizar o controle multi empresa para quaisquer
bancos de dados.
Uma vez definido que o banco de dados ter controle multi- empresa, ser disponibilizada a opo para determinar quais
tabelas estaro sob esse controle.
73
Pode-se, portanto, trabalhar com apenas algumas das tabelas de um banco com o controle interno para multi-empresa. O
controle multi empresa disponibilizado no GAS baseado em uma tabela do banco que ser escolhida como sendo a tabela
de empresas que tambm conter o campo "Cod~Emp". Esse campo dever ter a seguinte opo marcada:
Esse mesmo campo ser criado de forma automtica para todas as tabelas que tiverem o controle multi empresa
definido. Assim que o usurio tentar acessar o sistema ser solicitada a empresa que ir utilizar para trabalhar:
Todos os registros inclusos ou lanados recebero de forma automtica o campo Cod~Emp de acordo com a empresa
selecionada;
5.7.6.2
74
Ao alterar quaisquer um dos cones da aplicao, o projetista poder visualizar o cone selecionado no painel
de preview apresentado na tela de seleo de arquivo que se abrir, facilitando assim sua identificao. A opo
"Zoom" promover o redimensionamento da figura para o tamanho exato do painel de preview.
O projetista ainda poder utilizar o Editor de cones do GAS para elaborar cones que melhor atendam s
suas necessidades. Para um melhor detalhamento da sua utilizao, consulte o tpico Utilizando o Editor de cones
143 , presente neste captulo.
O boto Restaura serve para restabelecer as mudanas que tenham sido efetuadas, retornando as configuraes
"de fbrica" ou default.
O projetista ainda tem a opo de definir o diretrio de figuras do projeto, bastando indic-lo no campo
identificado como "Diretrio para figuras do projeto" mostrado na figura acima. Vrios projetos podero
compartilhar o mesmo diretrio de figuras, o que permite manter uma melhor padronizao dos sistemas desenvolvidos,
alm de evitar a necessidade de replicar esse diretrio para um dos projetos existentes. .
75
Se a opo de botes estilo Internet, na aba intitulada Miscelnea, estiver configurada, a lista de cones apresentar
tambm cones marcados com (Hab) - para serem utilizados em estado normal - e com (Atv) - a serem utilizados
quando o mouse estiver sobre os botes. Assim, os cones utilizados marcados com (Atv) devem ser desenhados com
cores mais claras, oferecendo o efeito de "iluminao" do boto.
5.7.6.3
A soluo pode tambm ser um aplicativo, tipo um "centralizador" ou "gerente" onde ser possivel atravs dele
acessar as aplicaes. Por este motivo, apresentado a aba de dados genricos, onde as informao sobre os dados
constante no aplicativo so solicitados.
Titulo: Informe um ttulo para a aplicao, que ser utilizado como ttulo do formulrio principal (MDI), quando a
aplicao estiver sendo executada.
Nome executvel(EXE): Informe um nome para o programa executvel da aplicao, sob o qual ela ser ativada dentro
do ambiente Windows.
Nome da empresa - informe o nome da empresa ou softwarehouse que desenvolve este projeto.
Analista/projetista - informe o nome do projetista.
Email: Informe o endereo de email do projetista\desenvolvedor. Este endereo utilizado caso ocorra algum erro na
aplicao, quando o usurio clicar no boto para "Notificar o desenvolvedor".
Descrio do projeto: Digite informaes sobre o projeto para que seja utilizada na documentao, gerada pelo GAS.
76
5.7.6.4
Aba miscelnia
Figura 5.21
Mdulos extras: O GAS permite ao projetista adicionar, a um projeto, mdulos (.BAS), formulrios (.FRM) e classes (.
CLS), que exibida na figura a seguir. Por exemplo, o projetista poder adicionar a um projeto do GAS um mdulo no
qual j tenha escrito diversas funes e procedures para outras aplicaes. Formulrios tambm podero ser
adicionados pelos mesmos motivos ou, ainda, para aproveitamento de interfaces. O reaproveitamento de classes
tambm poder ser efetuada.
Quando um item .FRM, .BAS ou .CLS inserido no projeto, o GAS faz uma cpia deste item para o diretrio do
projeto. No caso de insero de formulrio, qualquer arquivo .FRX a ele associado, que porventura exista, tambm
ser copiado;
Objetos ou controles externos disponibilizados sobre formulrios possuem referncias que so dispostas pelo
Visual Basic no arquivo de definio do projeto .VBP. Se estiver adicionando um formulrio a um projeto do GAS,
certifique-se de que este formulrio contenha somente controles nativos do Visual Basic, pois as referncias a
controles externos no sero dispostas no arquivo .VBP gerado pelo GAS;
A nica providncia do GAS com respeito a mdulos adicionais a insero de sua referncia no arquivo de
definio do projeto, de extenso .VBP, para ser carregado pelo Visual Basic;
Diferentemente de formulrios avulsos e formulrios existentes, que podem ser inseridos na rvore do projeto
para figurar opcionalmente no menu (vide tpico Integrando um formulrio existente ao projeto 135 ), os
itens adicionais que so aqui anexados ao projeto no aparecem no menu da aplicao. Qualquer chamada a
funes ou apresentao de formulrios na aplicao de responsabilidade exclusiva do projetista, que dever
programar esses eventos na propriedade "Ao no clique" de um boto j existente na barra de ferramentas ou de
um outro boto qualquer que seja disponibilizado na barra ou nas telas para este fim;
Caso haja modificaes nesses itens fora do diretrio da aplicao, o projetista dever ter o cuidado de copi-
77
los novamente para o diretrio da aplicao, para atualiz-los. Em se tratando de formulrio (.FRM), deve-se copiar
tambm arquivo .FRX a ele associado, caso exista.
Referncias: O GAS permite ao projetista adicionar qualquer controle externo a seu projeto, seja ele criado pela GAS,
por ele mesmo ou por terceiros. Isto abre um grande leque de possibilidades para uso e incluso de itens
anteriormente no suportados pelo GAS: HookMenus, componentes de msicas, componentes de relatrios, grids,
trees, progressbar...
Senha default da aplicao: Neste frame o projetista poder definir uma senha padro, que ser utilizado em todos os
projetos da soluo. Essa opo d ao projetista a possibilidade de determinar o primeiro usurio e senha com o qual
ser possvel acessar o aplicativo gerado. Caso o projetista queira, aps instalado o aplicativo final gerado, modificar
a senha ou mesmo excluir o usurio aqui definidos, bastar acessar o plano de senhas daquele aplicativo. Com a
opo "usar plano de senhas" marcada, a soluo utilizar o plano de senhas para centralizar o cerceamento e
liberaes definidas no plano de senhas. . Para maiores detalhes sobre a utilizao do plano de senhas, consulte o
tpico Operando o plano de senhas 310 presente no Captulo 11 - Utilizando a aplicao gerada 296 .
Chave encriptao: Em uma soluo multi-projetos, possvel definir utilizar uma chave de encriptao que ser
utilizada em todas as aplicaes.
Default para procura: Selecione uma das opes de operador para a execuo das pesquisas de registros na
aplicao final, quando o usurio desejar procurar registros nas tabelas.
Opes de gerao da aplicao: Dentro deste frame, o projetista dever marcar as opes para a gerao da
aplicao:
Comentrios
Se o projetista marcar esta opo, os programas fontes gerados pelo GAS contero comentrios elucidativos
linha a linha.
Deixar na senha
Marcando esta opo, os programas fontes contero uma rotina que permitir que a aplicao, ao ser
abandonada pelo usurio, fique estacionada na tela de solicitao de senha (caso esteja provida deste recurso).
Esta opo til para aplicaes de ponto de vendas (PDV), onde diversos vendedores utilizam a mesma estao
da rede.
Sistema multiusurio
Marcando esta opo, o GAS criar nos programas fontes todos os controles necessrios aos bloqueios de
tabelas e registros, onde se fizer necessrio.
Auto-incrementar verso
Se selecionada, essa opo provoca, a cada nova gerao dos programas fontes, o incremento automtico
da release (nmero de reviso) do projeto, viabilizando ao projetista um melhor controle da verso do mesmo. Para
maiores informaes sobre o controle de verso do projeto, consulte o Captulo 5I - Gerao de programas fontes.
Cdigo nativo
Se esta opo estiver marcada, o GAS passar ao Visual Basic a informao de que a compilao do projeto
para ser feita gerando cdigo nativo. Se estiver desmarcada, o cdigo gerado nas compilaes ser P-Code ou
pseudo-cdigo. Deve-se observar que a gerao de cdigo nativo pelo Visual Basic mais demorada, criando
78
Figura 5.22
Cor frente e fundo
O projetista poder ainda determinar as cores de frente (texto) e fundo para os hints, bastando alter-las
apropriadamente.
Endentao: Informe a quantidade de caracteres para endentar os programas fontes, ou seja, a quantidade de
espaos a ser utilizada para formatar as estruturas da linguagem Visual Basic.
5.7.6.5
79
Figura 5.24
5.7.6.5.1 Inserindo uma nova figura
Para inserir uma figura na tela inicial basta clicar sobre o boto a seguir: boto para inserir figura Escolha uma figura que
esteja gravada em um diretrio qualquer, por intermdio de um dilogo padro do Windows.
Para remover a figura, basta clicar sobre o boto a seguir e confirmar a sua remoo.
Para alterar o tamanho da tela inicial, basta utilizar a barra de rolagem para estabelecer o percentual em relao ao
tamanho total da tela que dever ocupar.
80
O aspecto da moldura utilizada para apresentar a tela inicial pode ser configurada, alterando-se os valores das opes:
Chanfro interno
Chanfro externo
Largura do chanfro
Largura da borda
O boto a seguir serve para apresentar o dilogo de escolha de cores para a moldura: boto para ajuste de cor da
moldura
5.7.6.6
Aba histrico
O projetista ter agora como verificar o histrico de todas as geraes que foram feitas para um projeto, contendo a
informao do nmero da verso, data e hora de gerao, verso e release do GAS utilizada para a gerao, alm de um
comentrio descrito pelo prprio projetista. no momento da gerao daquela verso;
5.7.7
81
5.7.7.1
Gerenciamento de projetos
Alm de gerenciar os projetos, o mdulo de soluo pode ser usado para gerar fontes de um aplicativo, que controle os
outros executveis e as rotinas globais a todos os outros projetos.
82
5.7.8
5.7.8.1
Figura 5.25
Associada a essa janela dever aparecer tambm a janela de Ferramentas da tela, representada pela figura abaixo. A
tecla F4 serve para mostrar e ocultar esta janela.
83
Figura 5.26
Ao formatar a barra de ferramentas da aplicao, o projetista estar, na verdade, definindo no s a sua funcionalidade
como tambm a sua aparncia final. A barra de ferramentas poder estar alinhada em qualquer posio da janela principal e
poder conter os botes que o projetista desejar oferecer ao usurio, nas posies que julgue conveniente. Usando o Editor
de Recursos, o projetista poder:
Selecionar um controle ou a prpria barra de ferramentas, clicando com o mouse.;
Selecionar mais de um controle de uma s vez, utilizando o clique do mouse com a tecla CTRL (control) do teclado
pressionada;
Designar propriedades para controles selecionados, por meio da lista de propriedades. O Captulo 13- Propriedades
dos objetos de tela trata exclusivamente dessas propriedades;
Alterar a posio de um ou mais controles selecionados, utilizando a funo arrasta e solta (drag and drop) do mouse
ou por meio das teclas CTRL + Setas;
Alterar o tamanho de um ou mais controles selecionados, utilizando o mouse ou as teclas SHIFT + Setas ou
diretamente na lista de propriedades;
Disponibilizar na barra outros controles prdefinidos que no aparecem na barra que oferecida como default, como,
por exemplo, dentre outros, os botes exibidos a seguir, que servem para apagar colunas nas grades e para
configurao da impressora, respectivamente;
84
5.7.8.2
85
de retornar ao Windows.
5.7.8.2.1 Menus POP-UP em botes
Tambm possvel definir menus popup que sero disparados ao clique de botes de comando. Para cada menu
popup, o projetista pode configurar quantos itens sejam necessrios, com aes personalizadas;
5.7.8.3
86
Figura 5.27
Este logotipo implementado apenas ajustando-se as propriedades da janela, agrupadas sob o ttulo Logotipo:
5.7.8.3.1 Ttulo logotipo
Selecione a fonte a ser utilizada para exibir o ttulo. Somente fontes do tipo true-type podem ser selecionadas.
5.7.8.3.3 Largura logotipo
5.7.8.4
87
Figura 5.28
5.7.8.5
88
Figura 5.29
O GAS tomar a cor do primeiro pixel da figura como sendo a cor de transparncia.
5.7.9
Figura 5.13
Um clique sobre o sinal alterna a situao, ou seja, expande ou contrai o mdulo, exibindo ou no os mdulos que lhe
so subordinados. A figura abaixo apresenta o mesmo fragmento da rvore na situao expandida. Observe que, na figura
a seguir, os mdulos "filhos" de Arquivo j esto sendo exibidos.
89
Este recurso pode ser utilizado para esconder no modelador certos mdulos que o projetista no tenha interesse, no
momento, de visualizar.
Figura 5.14
Os dilogos que aparecem para solicitar as definies do mdulo variam de acordo com o tipo de mdulo.
Figura 5.32
90
Ttulo do menu: Refere-se ao texto que aparecer no menu oferecido ao usurio. O caractere "&" poder ser utilizado
para criar o atalho para esta opo de menu. A letra que precede este caractere ser o atalho e aparecer
sublinhada no menu.
Nome do controle: um nome utilizado para referenciar este item de menu dentro dos programas fontes.
Ocultar: Esta opo existe em alguns dos mdulos inseridos na rvore, como, por exemplo, janelas de dados,
relatrios, etiquetas, etc. Se estiver marcada, este mdulo no ir aparecer em menus, ficando a cargo do projetista
programar a sua apresentao quando e onde desejado.
Visvel: Informe uma condio que, se avaliada como verdade, permitir que o usurio visualize este mdulo no menu.
Este recurso pode ser utilizado para cercear mdulos a certos usurios, em sistemas multi-usurio com plano de
senhas. Para a entrada desta informao, o projetista poder utilizar tabelas, variveis, constantes ou funes
globais do sistema ou mesmo o Editor de Programas Interno do GAS.
Pr-validao: Informe uma condio que, se avaliada como verdade, permitir ao usurio acessar o item de menu
(visvel) referente a essa janela de dados. Essa condio est submissa condio de visibilidade definida no item
anterior. Assim como aquele, este recurso pode ser tambm utilizado para cercear mdulos a certos usurios, em
sistemas multi-usurio com plano de senhas. Para a entrada desta informao, o projetista poder utilizar tabelas,
variveis, constantes ou funes globais do sistema ou mesmo o Editor de Programas Interno do GAS.
Atalho: Trata-se da tecla escolhida para que ao pressionada ative o mdulo em questo. exibido uma lista contendo
todas as teclas possveis para se utilizar como atalho para este mdulo.
Criar lista de janelas: Marque se, neste menu, estar vinculada a lista de janelas abertas. Em aplicaes MDI,
comumente necessrio que um dos menus da aplicao contenha a lista das janelas que esto abertas na rea de
cliente da aplicao, de forma a facilitar o acesso s mesmas pelo usurio. Todo formulrio que aberto na rea de
cliente, adicionado automaticamente nesta lista, sendo removido no momento em que o usurio fech-lo. O GAS
dispe, por default, esta lista no menu Janelas, que disposto na rvore do projeto.
Em vista de somente um dos menus poder conter esta lista, a marcao desta opo para uma janela desmarca,
automaticamente, aquela que tiver sido efetuada anteriormente em outro menu.
91
Figura 5.33
O mdulo do tipo Janela de Dados, alm de ser o que mais comumente aparece na rvore do projeto, o que requer
maiores detalhes para ser definido. Sua definio efetuada em cinco etapas, na interface da acima. Aps a definio de
um mdulo do tipo Janela de Dados, necessrio executar a formatao da tela de digitao para esta janela.
Geral: Na primeira aba da interface de definio de uma janela de dados, os aspectos gerais podem ser definidos.
Titulo do Menu: Deve ser informado o titulo do menu para este modulo. Este titulo facilitar a identificao deste
modulo durante o desenvolvimento do seu projeto. o texto que aparecer no menu da aplicao para
disponibilizar esta opo ao usurio final.
Titulo da Janela: o texto a ser utilizado no ttulo da janela de entrada de dados.
Nome do Modulo: Corresponde ao nome do arquivo, de extenso .FRM, no qual sero gravadas as informaes
das definies deste mdulo ou formulrio.
Banco/Esquema: Deve ser informado qual o banco de dados ou esquema, est a tabela que ir se utilizada neste
mdulo. o nome de um dos bancos de dados ou esquema definidos para a aplicao.
Tabela bsica: uma das tabelas j definidas no projeto, quando da definio da estrutura do banco de dados,
que servir como base para esta janela de dados. Basta selecionar uma das tabelas existentes na lista.
Apelido: uma varivel utilizada para se referir tabela bsica aberta dentro dos programas fontes gerados.
Este apelido deve ser utilizado preferencialmente em processos pr-definidos, tabelas em grid e relatrios. Em
janelas de dados (pai), deve-se usar a varivel vgTb como apelido da tabela bsica do mdulo.
92
Dentro da aba geral, algumas opes podem ainda ser selecionadas se necessrio:
Mdulo pronto: Marque somente quando todas as definies para este mdulo estiverem completamente
prontas. Isto informar ao GAS que as rotinas deste mdulo podero ser geradas, quando for solicitada a
gerao de programas fontes.
No gerar este mdulo: Esta opo existe em todos os tipos de mdulos e serve para o projetista dizer ao
GAS para no gerar mais os programas deste mdulo, a fim de ganhar tempo. Isto poder ocorrer quando j
tenham sido gerados pelo menos uma vez e caso no haja modificaes..
Cupom fiscal: Marque essa opo se esse mdulo ir se comportar como emissor de cupom fiscal. Vale
lembrar que, alm dessa opo marcada, diversas propriedades devem ser ajustadas durante a formatao
da janela de dados para que a emisso funcione corretamente. Uma vez marcada esta opo, este mdulo
s servir para a incluso de registros, ficando desabilitadas e ignoradas as outras opes.
Sempre preservar este item: Marque essa opo, quando desejar efetuar uma alterao manual no cdigo
fonte, diretamente pelo VB, e no quiser mais que o GAS gere os fontes deste mdulo, preservando o que
voc fez. Desta forma, o GAS ir ignorar a gerao deste mdulo, e usar sempre o cdigo que voc alterou
e gravou na respectiva pasta, com o mesmo nome do formulrio.
Opes "Permitir": Estas opes quando marcadas, habilitam o modulo a permitir a opo desejada.
No vincular a dados: Com esta opo marcada, o formulrio ser aberto sem efetuar a abertura do banco
de dados. Desta forma, o acesso ao banco de dados no ser feito no momento da abertura. Isto d um
ganho de velocidade, principalmente em aplicaes cujo banco de dados est sendo acesso em um local
remoto, na internet, ou com bases de dados que contm muitos registros. Em formulrio cujo interesse seja
apenas a incluso de registros, esta opo muito interessante, pois trar um ganho enorme de velocidade
na abertura.
Aba Menu - Nesta aba, sero adicionado informaes sobre o menu disponibilizado em sua aplicao para
acesso ao mdulo que est sendo definido.
93
Nome do controle: um nome utilizado para referenciar este item de menu dentro dos programas fontes.
Ocultar: Esta opo existe em alguns dos mdulos inseridos na rvore, como, por exemplo, janelas de
dados, relatrios, etiquetas, etc. Se estiver marcada, este mdulo no ir aparecer em menus, ficando a
cargo do projetista programar a sua apresentao quando e onde desejado.
Visvel: Informe uma condio que, se avaliada como verdade, permitir que o usurio visualize este mdulo
no menu. Este recurso pode ser utilizado para cercear mdulos a certos usurios, em sistemas multiusurio com plano de senhas. Para a entrada desta informao, o projetista poder utilizar tabelas,
variveis, constantes ou funes globais do sistema ou mesmo o Editor de Programas Interno do GAS.
Pr-validao: Informe uma condio que, se avaliada como verdade, permitir ao usurio acessar o item de
menu (visvel) referente a essa janela de dados. Essa condio est submissa condio de visibilidade
definida no item anterior. Assim como aquele, este recurso pode ser tambm utilizado para cercear mdulos
a certos usurios, em sistemas multi-usurio com plano de senhas. Para a entrada desta informao, o
projetista poder utilizar tabelas, variveis, constantes ou funes globais do sistema ou mesmo o Editor
de Programas Interno do GAS.
Atalho: Trata-se da tecla escolhida para que ao pressionada ative o mdulo em questo. exibido uma lista
contendo todas as teclas possveis para se utilizar como atalho para este mdulo.
Identificao do Formulrio: A moldura intitulada Identificao mostra duas informaes relevantes que podem
ser utilizadas nos programas fontes para identificar um formulrio:
Nome do formulrio: um nome montado pelo GAS, a partir do nome do mdulo informado pelo projetista,
para referenciar este formulrio dentro dos programas fontes por meio da propriedade Name ou
referenciando-se diretamente ao objeto por essa identificao.
Nmero do formulrio: um nmero criado para identificar o formulrio dentro dos programas fontes por
meio da propriedade vgFormID, que o GAS cria para este formulrio.
Quando necessria a identificao de formulrios, o GAS utiliza essas informaes nos programas fontes, da
seguinte maneira:
IF ActiveForm.Name = "frmProdutos" Then ...
ActiveForm.Left = 0
...
IF ActiveForm.vgFormID = 6 Then ...
ActiveForm.Left = 0
...
94
ou ...
IF Not frmProdutos is Nothing Then ...
frmProdutos.Left = 0
...
Alguns formulrios so constantes nas aplicaes, sendo gerados automaticamente pelo GAS sem a
interveno do projetista, como, por exemplo, o formulrio para montagem de consultas, o de filtragem,
informaes de banco de dados, senhas, etc. Nestes casos, os seus nomes e nmeros identificadores j
esto fixados na forma que aparecem na tabela a seguir:
Nome
Nmero
mdiXXXX.frm
Browse.frm
ConfGraf.frm
Grafico.frm
Help.frm
InfoDB.frm
MontaSQL.frm
Procura.frm
Relat.frm
SelQuery.frm
10
Senhas.frm
11
Sobre.frm
12
Apresent.frm
13
Controle.frm
14
Filtra.frm
15
Gauge.frm
16
GMCalc.frm
17
Cale.frm
18
EcfAux.frm
19
EcfCanc.frm
20
EcfDesc,frm
21
EcfPgto.frm
22
FrmMM.frm
23
Preview.frm
24
95
Uma vez definida esta primeira aba - Geral, o projetista poder gravar ou cancelar as informaes digitadas, clicando
sobre os botes correspondentes.
Tabelas Auxiliares
A aba representada na figura a seguir serve para forar a abertura e disponibilizao de outras tabelas (tabelas
estrangeiras) definidas no projeto, para serem consultadas, processadas ou, ainda, para servirem de alvo de
lanamentos a partir da digitao de informaes na tabela bsica definida na aba anterior.
Para inserir uma tabela auxiliar na lista, proceda conforme se segue:
Clique sobre o boto intitulado Adiciona, para adicionar uma tabela auxiliar;
Selecione a tabela desejada a partir da lista intitulada "Tabela auxiliar";
Selecione um dos ndices para a tabela escolhida, a partir da lista intitulada ndice;
Escolha um campo para unir a tabela bsica nova tabela auxiliar adicionada, a partir da lista apresentada. Na
rea intitulada "Ordem dos campos", aparecem, em seqncia, os campos escolhidos para a unio das
tabelas. O boto Limpa pode ser utilizado para reinicializar as informaes desta rea;
96
Figura 5.34
Se a opo "Forar relacionamento" estiver marcada, o GAS criar rotina na aplicao para tentar posicionar no
registro da tabela estrangeira. Esta operao necessria se um processamento ser definido nesta tabela auxiliar,
para que seja modificado o registro correto. J no caso de um lanamento, este posicionamento desnecessrio, pois
as modificaes sero efetuadas sempre sobre o novo registro que criado.
Se o relacionamento estiver sendo forado (opo "Forar relacionamento" marcada), o projetista poder, ainda,
marcar a opo Criticar. Neste caso, o GAS criar rotina na aplicao para apresentar a mensagem definida no campo
"Mensagem de crtica", caso no consiga fazer orelacionamento durante a execuo.
Lembre-se que, se esta tabela auxiliar estiver sendo aberta como alvo de um lanamento, este lanamento s ser
executado aps a incluso do registro na tabela bsica (origem do lanamento) razo pela qual deve-se ter um cuidado
especial com a opo Criticar, pois ela ser executada antes que o lanamento seja efetivado. Na maioria dos casos,
as tabelas auxiliares que sejam alvo de lanamentos devem estar com esta opo desmarcada.
Lanamentos
Se o projetista relacionou uma ou mais tabelas auxiliares, a interface representada pela figura abaixo estar habilitada
para a definio de lanamentos. Para criar um lanamento em uma tabela auxiliar, proceda conforme se segue:
Clique sobre o boto Adiciona para criar um novo lanamento;
Digite uma identificao para o lanamento no campo denominado Ttulo;
Selecione, na lista intitulada "Tabela alvo", a tabela que ir receber o lanamento.
97
Figura 5.36
Lembre-se que este lanamento s ser executado aps a incluso do registro na tabela bsica (origem do
lanamento) razo pela qual deve-se ter um cuidado especial sobre o modo como foi aberta esta tabela-alvo (na aba "
Tabelas auxiliares"), no que diz respeito opo Criticar, pois esta crtica ser executada antes que o lanamento
seja efetivado. Na grande maioria dos casos, as tabelas auxiliares que sero alvo de lanamentos devem estar com a
opo Criticar desmarcada.
Informe, no campo Quantidade, a quantidade de lanamentos que dever ser efetuada. Observe que este valor pode
ser informado, pelo projetista, de diversas formas:
1. Informando diretamente um nmero;
2. Informando uma varivel que tenha criado e designado;
3. Capturando um campo qualquer do banco de campos;
4. Informando uma frmula que envolva um ou mais campos;
5. Invocando o Editor do GAS (duplo clique no campo ou por meio do boto presente na barra de ferramentas) para
elaborar uma funo que retorne um valor a ser utilizado. Esta flexibilidade til, por exemplo, quando so efetuados
diversos lanamentos em uma tabela, de acordo com o nmero de parcelas de pagamento de mercadorias.
Conforme o caso exigir, marque a opo "Excluir lanamento", para que o GAS crie rotinas na aplicao final para
apagar o registro alvo do lanamento, quando o registro que o gerou for apagado;
Se desejar, o projetista pode estabelecer duas condies envolvendo o lanamento em definio:
1. Para que o lanamento seja efetivado. Esta condio pode ser estabelecida preenchendo-se o campo "Condio de
incluso de lanamento", utilizando os mesmos recursos existentes para a criao das validaes e prvalidaes
explicadas anteriormente neste tpico. Uma vez estabelecida uma condio, o lanamento s ser criado quando esta
condio for atendida;
98
2. Para que o lanamento seja retirado. Esta condio pode ser estabelecida preenchendo- se o campo intitulado "
Condio de excluso", utilizando aqueles mesmos recursos. Uma vez estabelecida uma condio, o lanamento
s ser retirado se a mesma for atendida;
Finalmente, fazendo uso da coluna "Expresso a ser colocada no campo alvo", para cada campo alvo, estabelea
uma expresso para processlo. Esta expresso pode ser definida utilizandose o banco de campos ou mesmo
invocando o Editor do GAS para elaborar uma funo para retornar o valor desejado.
Quando o campo alvo do lanamento for um campo seqencial, deve-se utilizar a funo PegaSequencia,
exemplificada a seguir, para que o mesmo seja incrementado automaticamente; caso contrrio, ele no ser
incrementado.
PegaSequencia([Nome BD],"<Nome Tab Alvo do Lanam>", "<Nome Campo
Alvo>", Default, <Incremento>)
O parmetro "Nome BD" s ser utilizado se existir mais de um banco de dados envolvido. Para remover da
lista um lanamento que tenha sido criado, basta selecion-lo, clicar sobre o boto Remove e confirmar a sua
excluso. Quando existir mais de um lanamento, a ordem de execuo dos mesmos determinada pela sua
ordem na lista de lanamentos. Por isso, se desejar modificar esta ordem, utilize as setas (para cima e para baixo)
que aparecem ao lado da lista de lanamentos.
Em toda janela de dados inserida no projeto cuja tabela bsica seja alvo de lanamento, o GAS cria uma varivel de
sistema como propriedade do form, de nome vgRegLancado, para controlar se o registro presente na janela (registro
corrente) foi criado por um lanamento (no foi digitado). Durante a execuo da aplicao, esta varivel inicializada a
cada vez que um novo registro se torna corrente na janela e o projetista poder, em validaes, pr-validaes, condies
especiais, etc., consultar o seu valor. Para maiores detalhes, consulte o tpico Variveis de Sistema neste manual.
Processos
Caso o projetista tenha definido tabelas auxiliares relacionadas, a interface da figura abaixo estar disponvel para que
se possa definir processamentos naquelas tabelas. A definio de processamentos muito semelhante definio de
lanamentos, explicado no item anterior. A principal diferena que, no lanamento, um registro novo criado na tabela alvo
e seus campos so modificados. J no processamento, um registro dever ser localizado e posicionado na tabela alvo para
que um ou mais de seus campos sejam modificados.
99
Figura 5.37
Os passos para a definio de um processamento so os seguintes:
Clique sobre o boto Adiciona para criar um novo processamento;
Identifique o processamento, preenchendo o campo de nome Ttulo;
Selecione, por intermdio da lista intitulada "Tabela alvo", a tabela-alvo na qual o processamento ser efetuado;
Selecione o campo-alvo, ou seja, um campo da tabela-alvo que dever sofrer o processamento;
Se necessitar, o projetista poder executar o processamento em definio antes que os dados sejam gravados
efetivamente, devendo para isso marcar a opo "Executar antes de gravar o registro efetivamente".
Essa opo abre um enorme leque de possibilidades no que se refere execuo do processamento, sendo este
invocado antes do primeiro update da tabela bsica. Essa opo habilitada somente se o processamento for efetuado
sobre a tabela bsica da janela de dados, visto que nas tabelas auxiliares, essa opo no tem motivo para ser
utilizada; se desejar, o projetista poder utilizar o campo intitulado "Condio para frmula direta" e estabelecer uma
condio para que o processamento seja efetivado. Esta condio pode ser estabelecida utilizando-se os mesmos
recursos existentes para a criao das validaes e pr-validaes, explicadas anteriormente neste tpico. Uma vez
estabelecida uma condio, o processamento s ser executado quando esta condio for atendida;
Informe, no campo intitulado "Frmula direta", uma frmula ou expresso para ser inserida no campo- alvo durante a
incluso de registros na tabela bsica. As mesmas facilidades do Banco de Campos e Editor de Programas
esto disponveis para o projetista estabelecer esta expresso;
Caso seja necessrio, utilize o campo "Condio para frmula inversa" e estabelea uma condio para que a
frmula inversa, a ser definida, seja executada.
Informe, no campo intitulado "Frmula inversa", uma expresso para ser executada quando ocorrer excluso de
registros na tabela bsica. Esta frmula ou expresso dever ser exatamente a inversa da frmula direta para
100
Uma vez que uma janela de dados tenha sido inserida na rvore e esteja totalmente definida, necessrio desenhar a
sua janela de entrada de dados. O GAS est provido de um Editor de Recursos especialmente criado para permitir ao
projetista uma completa liberdade de formatao das telas de entrada de dados. A utilizao do Editor de Recursos j foi
mencionada neste captulo, no tpico Desenhando a barra de ferramentas da aplicao. Para um completo
detalhamento da sua utilizao, consulte o tpico Utilizando o Editor de Recursos 151 , um pouco mais adiante neste
captulo.
Durante a formatao de telas para digitao, botes podem ser criados e posicionados na mesma para executar uma
ao qualquer que o projetista venha a programar, se desejar. Consulte o tpico Estabelecendo uma ao para um boto
descrito anteriormente neste captulo, quando elucidada a formatao da barra de ferramentas.
5.7.10.2.1.1 Colocando campos na tela
A formatao da tela de uma janela de dados consiste basicamente na disponibilizao de objetos para receber os
campos definidos na tabela bsica. Para disponibilizar campos na tela de entrada de dados, proceda da seguinte forma:
Clique sobre o painel de fundo para selecion-lo;
A partir da janela de Ferramentas da tela, selecione o campo desejado, conforme a figura abaixo.
Figura 5.38
Ao clicar sobre o nome do campo, um objeto disponibilizado sobre o painel de fundo previamente selecionado. A partir
101
da, o projetista poder utilizar o mouse para posicionar este campo, arrastando-o para a posio desejada, modificar suas
dimenses, etc. Consulte o tpico Utilizando o Editor de Recursos 151 para um detalhamento mais completo dessas
operaes. Dependendo do tipo de campo, o GAS dipor objetos variados, segundo a necessidade.
5.7.10.2.1.2 Definindo atributos de campos
Uma vez que um campo seja inserido na tela, seus atributos podem ser definidos, selecionando-se o campo na tela e o
atributo a ser definido, a partir da grade existente na janela Ferramentas da tela, representada na figura mostrada
anteriormente. Os atributos do campo so informaes que o projetista dever passar ao GAS para definir como este campo
dever ser digitado (ou mesmo se ser digitado), que tipo de dado ser aceito para este campo, etc.
A pr-validao se constitui no estabelecimento de uma expresso que, sendo atendida, o usurio poder acessar o
campo e digitar informaes. Caso no seja atendida, o usurio no poder acessar o campo.
A validao deve conter a expresso que determinar se o dado informado pelo usurio ou no vlido, de acordo com
o que o projetista desejar. Caso seja invlido, o usurio visualizar uma mensagem para digitar a informao correta para o
campo. Para a definio destas expresses, o projetista poder:
Digitar diretamente uma expresso em Visual Basic. Se for necessrio utilizar campos da tabela bsica ou de tabelas
auxiliares, estes podero ser capturados do banco de campos oferecido pelo GAS por meio da janela da figura
seguinte. Sempre que for necessria a captura de campos, basta dispor o cursor na posio desejada para inserir o
nome do campo, selecionar o banco de campos e aplicar um duplo-clique sobre o campo a ser capturado. O banco de
campos tambm permite a captura de variveis, constantes e funes (function e sub) para que sejam inseridas na
expresso que define a validao;
Invocar o Editor de Programas do GAS para elaborar uma funo em Visual Basic;
Figura 5.39
Clicar sobre o boto marcado com reticncias (...), situado direita do campo, para utilizar a interface da figura
abaixo, e montar a expresso desejada.
102
Figura 5.40
Existem diversas expresses pr-definidas que o projetista poder montar apenas com alguns cliques do mouse. Por
exemplo, para evitar que um campo seja deixado em branco pelo usurio (validao), basta selecionar o campo desejado,
selecionar a opo Vazio, clicar em "Negar condio" e concatenar a expresso (veja exemplo na figura 5.29). A opo
"Registro de lanamento" permite testar a varivel de sistema vgRegLancado (vide tpico Variveis de Sistema, neste
manual).
Se estiver definindo uma pr-validao, o projetista poder ainda marcar a opo "Limpar campo", se desejar que o
campo seja inicializado, mesmo que j contenha uma informao anterior, caso a expresso de pr-validao no seja
atendida.
Figura 5.41
Na segunda aba desta interface, representada pela figura acima, o projetista pode definir expresses envolvendo as
tabelas auxiliares relacionadas, caso tenham sido definidas. Para montar uma expresso segundo a existncia de um
registro relacionado em uma das tabelas auxiliares, basta selecionar a tabela, o ndice desejado e o campo a ser utilizado na
103
pesquisa e, em seguida, concatenar a expresso montada pelo GAS, clicando sobre o boto a seguir:
A validao definida para cada campo de um formulrio pode ser do tipo imediata, dessa maneira assim que o usurio
abandonar o campo em questo a validao ser executada, no necessitando mais que todos os campos sejam digitados e
depois o registro seja gravado;
Para este atributo, informe o texto que deseja apresentar ao usurio, caso a expresso de validao falhe, ou seja,
quando o usurio digitar informaes que no podem ser aceitas.
Para esta informao, se desejar, o projetista poder invocar o Editor de Programas e elaborar uma funo para
retornar uma mensagem. Isto pode ser interessante quando existirem diversas expresses de validao concatenadas para
o campo e o projetista queira depurar melhor a mensagem a ser exibida ao usurio.
Informe um valor a ser sugerido ao usurio, sempre que o mesmo desejar acessar este campo. Este valor pode,
inclusive, ser um campo de um arquivo de parmetros existente na aplicao. Neste caso, basta capturar o campo desejado
por meio do banco de campos.
Informe uma condio para a visibilidade do campo. Os mesmos recursos de montagem de expresses explicados
anteriormente valem para este atributo. Quando da definio da estrutura dos bancos de dados, no tpico Definio do
projeto visto anteriormente, existe uma opo que, se marcada, inibe definitivamente a visibilidade do campo, o que
diferente da condio aqui estabelecida, a qual analisada a cada registro acessado. Outras propriedades e atributos
podem ser alteradas, utilizando-se os recursos aqui descritos. O Captulo 13- Propriedades dos objetos de tela 380
trata exclusivamente das propriedades que podem ser aplicadas aos objetos disponibilizados na tela.
5.7.10.2.2 Colocando frmulas nas telas
Durante a formatao de janelas para a digitao de dados (ou na formatao da barra de ferramentas da aplicao), o
projetista poder estabelecer frmulas ou outras informaes para serem exibidas ao usurio. Os controles label, gMask,
frame e imagem so os nicos que podem ser utilizados para exibir essas informaes. Para efetuar esta operao, o
projetista dever proceder da seguinte maneira:
Clique na janela de Ferramentas da tela sobre um boto do tipo label, gMask, frame ou imagem para inserir um desses
objetos na tela:
Selecione na janela Ferramentas da tela, na grade de propriedades, a propriedade Frmula e estabelea a frmula que
ser exibida.
No caso de frmulas disponibilizadas no controle do tipo imagem, s sero aceitos campos de arquivos
relacionados, abertos na aba "Tabelas auxiliares", que sejam do tipo multimdia. Frmulas tanto podem ser resultados de
operaes entre campos numricos quanto campos de tabelas estrangeiras relacionadas que necessitam ser exibidos
na tela. Por exemplo, ao digitar o cdigo do fornecedor em uma Nota Fiscal, o projetista poder exibir o nome do
fornecedor, que se encontra em uma outra tabela relacionada.
Em se tratando de um resultado numrico, a frmula precisa ser tratada pelo projetista, que poder utilizar a funo
STR$( ) do Visual Basic ou outra qualquer que transforme este resultado em uma expresso do tipo caractere, sendo
aceita na propriedade do controle.
104
Exemplos:
Str$([Produtos em estoque].Qde * 10)
"Preo: " + Format$(Produtos.Preo, ", "##,##0.00")
Selecionando-se o painel de fundo da tela em elaborao (basta clicar com o mouse sobre o painel), trs definies
importantes podem ser efetuadas para a digitao nesta tabela, criando-se condies por meio de qualquer um dos mtodos
explicados anteriormente:
5.7.10.2.3.1 Condio para incluir
Caso seja necessrio, o projetista poder estabelecer uma condio para que haja incluso de registros na tabela
bsica. Se esta condio no for atendida o usurio no poder digitar registros nesta tabela.
5.7.10.2.3.2 Condio para excluir
Caso necessrio, informe uma condio para permitir excluses de registros nesta tabela bsica.
5.7.10.2.3.3 Condio para alterar
Informe, se necessrio, uma condio para permitir que registros sejam alterados pelo usurio nesta tabela bsica.
105
2 - Configurar o novo modulo: Aps adicionar o novo modulo, um novo "menu" adcionado a rvore, ficando o mesmo
logo abaixo da janela de dados ao qual o mesmo ser incluido. Selecione o novo modulo, e com o lado direito do mouse,
escolha a opo de "Definir modulo selecionado". Ser apresentado, um formulrio com algumas "abas", que devem ser
preenchidas com informaes para a definio deste novo modulo. As abas principais so:
Aba Geral - Contm as mesmas solicitaes da janela de dados, todas as informaes esto disponveis em:
Definindo um Mdulo - Aba Geral 91
Aba Tabelas Auxiliares - Contm as mesmas solicitaes da janela de dados, todas as informaes esto
disponveis em: Definindo um Mdulo - Aba Tabelas Auxiliares 95
Aba Opes - Caso o mdulo em definio seja uma "Tabela em grid", uma aba extra denominada Opes estar
presente. A figura abaixo representa essas opes.
106
Figura 5.35
Para estabelecer a expresso de ligao com o pai (relacionamento 1-N), proceda do seguinte modo:
Selecione, na lista "Cps do filho...", o campo comum s duas tabelas a ser utilizado para fazer a ligao;
Caso exista, na lista "Cps do pai...", um campo com um mesmo nome e mesmos atributos, o GAS selecionar
automaticamente este campo. Se o campo de ligao no for este, voc tem a liberdade de selecionar outro;
Aps selecionados os campos nas duas listas, utilize o boto de concatenao para confirmar a expresso;
107
Outras Informaes:
Acessando o item Tempo refresh da seo [Opcoes] do arquivo de inicializao (.INI) da aplicao final, seja via
cdigo ou depois de instalada a aplicao, o projetista poder manipular o tempo de refresh dos grids da mesma.
Cabe ressaltar que o grid, agora, apresenta uma elevada performance, mesmo existindo outros controles contendo
filtros na tela, tais como combobox, etc, serem referenciados no Captulo 10 - Um exemplo prtico.
A fim de proporcionar maior flexibilidade na digitao de dados no grid, agora, ao pressionar ENTER em qualquer
clula do mesmo, o cursor se direcionar de acordo com a ltima movimentao efetuada por intermdio das setas
cursoras no grid (para cima, para a direita - convencional, para esquerda, etc).
5.7.10.3.1 Colocando um grid na tela
No existe formatao de tela para um mdulo do tipo Tabela em grid. A tela formatada no mdulo pai, sobre a qual
inserido um objeto gDbGrid. Para inserir grids na tela, proceda da seguinte maneira:
Insira um ou mais mdulos do tipo "Tabela em grid" na rvore e defina as tabelas bsicas e a ligao com o pai de
cada um deles;
Acesse a tela definida para o mdulo pai e coloque os grids necessrios, por meio do boto exibido a seguir,
existente na janela de Ferramentas da tela;
Nesta verso(GAS2007), foi desenvolvido um controle GRID totalmente novo para utilizao nas janelas de dados e
consultas da aplicao gerada. O novo controle, que tem como base a ListView (no mais o dbgrid), est muito mais rpido,
verstil e sofisticado. Utiliza tcnicas de subclasse e controle "owner draw" com aquisio de dados em modo virtual. O
conjunto dessas tcnicas possibilita uma extrema economia de memria e uma tima performance. Apenas os dados que
esto sendo mostrados no grid esto carregados efetivamente na memria do controle. Se o driver utilizado para conexo
com o banco de dados permitir o grid tambm poder utilizar o preenchimento gradual.
Dessa maneira, enquanto os registros estiverem sendo retornados da base de dados, o grid j poder mostrar a parte
dos registros que j foram adquiridos.
Este novo controle permite a definio de cor para fundo e texto individualmente para cada clula. Assim, o projetista tem
a possibilidade de determinar, por exemplo, condies para determinao da cor de fundo ou de texto de alguma informao.
108
Tambm estar disponvel nessa verso do controle recursos especficos para colunas numricas: o usurio poder ver na
barra de status do grid informaes de total, mximo, mnimo e mdia das informaes. Agora tambm possvel selecionar
vrias linhas no grid para para operar com eles, por exemplo, para excluir, grafar, etc.
O controle permitir que o usurio modifique a ordem de apresentao das colunas, bem como determinar a ordenao
de registros (crescente/decrescente) clicando sobre o ttulo de uma ou de vrias colunas. Tambm foi embutido no controle
uma barra de filtro (antes era externa), que poder ser habilitada ou no pelo usurio em tempo de execuo. Ser possvel
ainda definir a quantidade de registros que sero retornados pela query (TOP). Todos os recursos comentados aqui estaro
disponveis tanto em grids de consultas como em grids filhos (em janelas de dados);
109
7 - Recuperar a coluna deletada (basta ir na linha separadora de colunas que onde tiver coluna oculta o cursor do
mouse mudar, indicando que pode-se expandir uma coluna oculta naquela posio);
8 - Uso de CTRL-Home, CTRL End, CTRL PgUp e CTRL PgDown para navegao no GRID.
9 - Adicionado a propriedade: "Ao no duplo click". Agora possivel definir uma funo a ser executada no duplo click
do grid.
Com o grid selecionado, pressionado a tecla F4, o projetista tem a disposio o form de Ferramentas da tela:
110
Propriedade
Descrio
Fonte
Fundo
somatrio
barra
Fundo coluna
Fundo clula
Fundo grid
Fundo linha
Linha de grid
Texto
somatrio
barra
111
Texto coluna
Texto clula
Texto linha
380
112
Figura 5.42
Selecione "Editar/Editar cdigo de programa" no menu, tecle F9 ou, ento, clique no boto abaixo para invocar o Editor
de Programas do GAS;
A primeira dela a definio do mdulo-pai, que uma espcie de cabealho do processo prdefinido, no qual so
definidos alguns aspectos de natureza geral, utilizando-se a interface representada na figura abaixo
113
Figura 5.43
A maior parte dos aspectos de definio do cabealho dos processos pr-definidos idntica aos da definio de
Janela de dados, vista em tpicos anteriores deste captulo; por isso, reporte-se quele tpico para conhecer como so
executados. O nico aspecto particular definio do cabealho de processos pr-definidos ser explanado a seguir:
5.7.10.5.1.1 Cupom fiscal
Marque essa opo se este mdulo ir comportar como emissor de cupom fiscal. Neste caso, os itens vendidos devero
ser inclusos por meio de lanamentos.
A aba "Tabelas auxiliares", representada na figura abaixo, serve para relacionar tabelas com os campos que,
porventura, tenham sido inseridos em uma tela complementar criada previamente para receber informaes a serem
utilizadas durante o processamento. Uma tela complementar para receber variveis antes de processos criada conforme
descrito no tpico Criando uma tela complementar mais adiante neste captulo. Se nenhuma tela for criada, esta aba no ter
serventia neste tipo de mdulo.
114
Figura 5.44
5.7.10.5.2 Processo pr-definido
Aps definido o mdulo de cabealho do processo pr-definido, outros mdulos de processos prdefinidos podem ser
inseridos, efetuando um relacionamento 1-N. A figura abaixo representa a interface para definio do processo pr-definido.
Figura 5.45
Na aba Geral, as definies so semelhantes s dos demais mdulos descritos anteriormente. A informao do campo
Apelido pode ser utilizada como apelido da tabela bsica na definio dos processos e lanamentos que, porventura,
115
venham a ser estabelecidos. Na aba "Tabelas auxiliares" so definidos os relacionamentos entre tabelas que sejam
necessrios ao estabelecimento do processo prdefinido. Sua utilizao j foi descrita no tpico Definindo um mdulo
tipo janela de dados 95 , anteriormente neste captulo. A figura a seguir representa as opes para os processos prdefinidos. Para estabelecer a expresso de ligao com o pai (relacionamento 1- N), proceda de maneira idntica descrita
no item Opes, tpico Definindo um mdulo tipo tabela em grid 105 , neste captulo. Observe que, a interface de
estabelecimento de "ligao com o pai" s estar disponvel se a tabela em definio estiver inserida abaixo (subordinada) a
um outro processo.
Figura 5.46
O campo "Filtro inicial" deve ser preenchido com uma expresso vlida que determinar a seleo dos registros,
diferenciando-se do campo "Condio para processar o registro"pelo fato deste ltimo no ser agregado clusula
WHERE;
O campo "Condio para processar o registro" deve ser preenchido com uma expresso vlida que determina se
o registro ser ou no processado. Utilize o boto marcado com reticncias para montar esta expresso de uma
maneira mais fcil;
Caso voc deseje a excluso do registro da tabela bsica aps o processamento, marque a opo "Excluir registro
da tabela bsica";
Caso tenha marcado a opo acima, voc ainda poder definir uma condio para que este registro seja excludo.
Esta condio pode ser estabelecida da mesma maneira descrita anteriormente para "Condio para processar o
registro";
O projetista ainda poder definir a ordem de execuo dos processos pr-definidos (para um mesmo grupo de
registros a serem processados) por meio da lista "Ordem", na qual devero ser selecionados os campos para a
referida ordenao.
116
Quando terminar, utilize o boto Grava para salvar as informaes. A definio de lanamentos e processos a ser
efetuada por meio das duas abas seguintes j foi explicada neste captulo, no tpico Definindo um mdulo tipo
janela de dados 96 .
Figura 5.47
A rea denominada "Expresso que define a consulta" conter a expresso SQL a ser montada pela interface da
figura acima. Se desejar, o projetista poder manualmente editar esta rea e construir a expresso SQL que desejar. No
entanto, ao fazer isto, o GAS desabilitar a interface automtica para lhe dar maior liberdade. Para voltar a utilizar a interface
automtica, o projetista ter que recome-la, apagando a expresso. A opo "Query Externa" permite ao projetista definir
uma query manualmente sem que o GAS faa qualquer tipo de tratamento quanto a nomes de campos, apelidos, etc. Com
isso, o cdigo ser gerado exatamente como o projetista o definir.
117
Figura 5.48
Convm lembrar que a expresso que define a consulta deve conter uma sintaxe correta no padro SQL, pois esta ser
avaliada somente durante a execuo da aplicao final, resultando em erros de execuo, caso no esteja correta. Os
botes existentes na janela da figura acima tm as seguintes funes:
Prosseguir
Tem por finalidade aceitar a expresso montada e transfer-la para a tela anterior, na aba Contedo.
Cancela
Tem por finalidade cancelar a operao de montagem da expresso da consulta.
Limpar seleo
Tem por finalidade retirar da expresso somente a clusula de seleo (WHERE).
Limpa
Tem por finalidade limpar toda a expresso que est sendo montada, permitindo recomear toda a definio.
5.7.10.6.1 Contedos
Para a montagem desta expresso, o projetista dever efetuar os passos que se seguem:
Selecione uma tabela na lista Tabelas. Com isto, a lista "Campos a mostrar" preenchida com os campos da
tabela selecionada;
A seguir, selecione na lista "Campos a mostrar" os campos que deseja visualizar na consulta. Desta maneira,
diversas tabelas e campos podem ser selecionados para a consulta. medida que um campo selecionado, o
mesmo ser inserido automaticamente na expresso que apresentada no espao "Expresso que define a
consulta". Se for selecionado um campo j inserido, este automaticamente retirado da expresso. Essas definies
acrescentam expresso SQL da consulta, respectivamente, as clusulas FROM e SELECT. Consulte oGlossrio
118
Caso seja necessrio, por meio da terceira aba, representada na figura abaixo, o projetista poder estabelecer
agrupamentos para sumarizao da consulta, bem como a ordem em que os registros devero aparecer. Estas informaes
adicionam, respectivamente, a clusula GROUP BY e ORDER BY expresso SQL que define a consulta.
Figura 5.49
Caso voc esteja elaborando um agrupamento, deve ter em mente que todos os registros que contenham o mesmo
campo escolhido para agrupar sero sumarizados como se fossem um nico registro. Portanto, todos os campos que
compem a consulta devero ser, obrigatoriamente, do tipo numrico, exceto aqueles utilizados para efetuar o agrupamento.
Devido a esta particularidade, agrupamento no deve ser confundido com "quebra". O projetista dever selecionar, na lista "
Agrupar por", os campos que comandaro o agrupamento de sumarizao, devendo ter o cuidado de selecionar estes
mesmos campos, na lista Ordenao, para comandar a ordem dos registros. Aps selecionar os campos para ordenao,
o projetista poder tambm estabelecer se ela ser Ascendente ou Descendente, selecionando a
opo
correspondente.
O usurio do aplicativo final gerado poder ainda estabelecer ordenaes a seu critrio, tendo como base os campos
exibidos na consulta.
5.7.10.6.3 Seleo
Finalmente, na tela representada pela figura abaixo, a seleo ou filtragem de registros poder ser estabelecida.
119
Figura 5.50
Caso a opo Selecionar ou a opo "Unir tabelas" esteja marcada, a expresso estabelecida ir compor a clusula
WHERE da expresso SQL. Se a opo Filtrar estiver selecionada, a expresso estabelecida no ir fazer parte da clusula
WHERE, no sendo, portanto, gravada no banco de dados. O filtro estabelecido por esta opo ter seu contedo avaliado
na hora e seu resultado passado para as devidas propriedades da consulta ou relatrio (propriedade Filter do recordset,
etc). Qualquer que seja a opo selecionada, este passo ir definir quais registros iro participar da consulta.
5.7.10.6.3.1 Criao de filtragem
Se mais de uma tabela foi selecionada para a consulta ou sendo necessria a criao de relacionamento entre elas, o
projetista poder selecionar a opo "Unir tabelas" e os campos das diversas tabelas que devem ser iguais. Para
aglomerar diversas filtragens em uma mesma expresso, o projetista dever fazer uso do boto Concatena.
120
A interface da figura abaixo destinada definio de algumas das informaes dos relatrios, as quais sero
abordadas a seguir.
121
Figura 5.51
A maior parte dos aspectos de definio de relatrios idntica aos da definio de Consultas, vista no tpico anterior
deste captulo; por isso, reporte-se quele tpico para conhecer como so executados. Os aspectos particulares
definio dos relatrios sero explanados a seguir:
5.7.10.7.1.1 Nome do .RPT
Se relatrio do tipo Crystal Reports, informe um nome de arquivo a ser utilizado pelo Crystal Reports para guardar as
informaes referentes formatao do relatrio. Posteriormente, quando da execuo da aplicao gerada, este arquivo
dever estar disponvel no equipamento do usurio, pois o Crystal Reports utilizar as informaes nele contidas para
imprimir o relatrio.
5.7.10.7.1.2 Tabela bsica
Esta informao est presente somente em relatrios do G-Reports. Selecione a tabela bsica do relatrio a ser
formatado.
5.7.10.7.1.3 Apelido
Presente tambm somente em relatrios a serem formatados pelo G-Reports. Informe o apelido para ser utilizado em
referncias tabela bsica do relatrio.
5.7.10.7.1.4 Cupom fiscal
Somente para relatrios do G-Reports, informe se este relatrio dever ser enviado para impressora fiscal.
5.7.10.7.2 Tabelas auxiliares e Contedo
Esses dois aspectos da definio do relatrio so idnticos aos da definio de Consultas, vista no tpico anterior
deste captulo; por isso, reporte-se quele tpico para conhecer como so executados.
122
Convm observar que a seleo ou filtragem de registros estabelecida para um relatrio uma seleo primria e
permanente, pois, ao executar a aplicao final, o usurio sempre poder estabelecer novos critrios de filtragem sempre
subordinados (concatenados) ao que foi aqui definido pelo projetista. Portanto, se o projetista quiser dar plena liberdade ao
usurio, no dever estabelecer filtros para relatrios em tempo de projeto.
5.7.10.7.3 Formatao de relatrios
Uma vez que o relatrio tenha sido definido, pode-se ativar a sua formatao, clicando-se sobre o boto a seguir,
presente na barra de ferramentas:
De maneira semelhante ao que feito nas telas da aplicao, os relatrios padro tambm podem ser criados. As
opes de configurao para este tipo de relatrio podem tambm ser acionadas por meio de "Opes/Opes de tela
padro", conforme descrito no tpico Definindo opes da tela padro 159 deste captulo.
Para garantir que seu relatrio possa ser visto em uma janela de previso na aplicao final, o projetista ter que,
obrigatoriamente, criar uma tela preliminar para o relatrio.
123
Figura 5.52
A janela mostrada na figura 5.52, que permite o acionamento da tela de preview para relatrios e etiquetas, tambm
disponibiliza aos usurios do aplicativo final gerado recursos como o destino (direcionamento) do relatrio (Janela,
Impressora, Arquivo ou Destinatrio de Correio), o formato do arquivo de sada (HTML, Texto (ASCII), Microsoft Word
(DOC), JPEG, GIF ou Bitmap), o local e nome do arquivo de sada, o intervalo de pginas, o nmero de cpias, o tipo de
impresso (grfico ou texto), boto para configurao de impressora e filtragem a ser promovida nos dados a serem
impressos.
Caso seja utilizada a opo "Destinatrio de Correio" pelo usurio da aplicao final gerada, ser exibida a janela da
figura 5.53 para que possam ser definidas algumas informaes.
124
Figura 5.53
O usurio final poder utilizar tanto o envio do relatrio gerado via MAPI (aproveitamento das configuraes j definidas
do cliente de e-mail), como por envio direto (alm das informaes padres para MAPI, devero ser definidos o Servidor
SMTP, Nome e E-mail do remetente, etc). Essa ltima forma de envio independe de cliente de e-mail instalado no equipamento
do usurio final. Ao trmino, ser exibida mensagem de confirmao para o usurio final. Esses recursos proporcionam uma
flexibilidade enorme ao usurio do aplicativo final gerado no momento de imprimir seus relatrios e etiquetas.
Se esta tela no for criada para um relatrio, o GAS assumir que o relatrio deve ser enviado diretamente para a
impressora e, sendo assim, no disponibilizar, nos fontes, as rotinas para o acionamento da janela de previso.
5.7.10.7.6 Formatando um relatrio
Para a formatao de um novo relatrio, alguns ajustes preliminares devem ser efetuados por meio da janela de
propriedades, que conhecemos da formatao de telas.
5.7.10.7.6.1 Propriedades do relatrio
As propriedades a seguir devero ser ajustadas para o relatrio. Clicando-se no fundo da rea de formatao do
relatrio, o projetista dever conferir as suas propriedades:
Propriedade
Descrio
125
rea de formatao somente a rea til do papel, ou seja, desconta as margens e considera apenas a
rea onde a impressora efetivamente disponibiliza informaes. Para maiores detalhes, veja o item
Consideraes sobre margens de papel, sob o tpico Opces para personalizar a operao do GAS Configuraes, neste captulo.
Condio de impresso
Esta propriedade, aplicada ao relatrio, utilizada para determinar se o registro bsico do relatrio
ser impresso. Aqui, pode ser utilizada uma expresso diretamente na rea apropriada ou por
intermdio do Editor de Programas do GAS. Se existir uma condio especificada, o GAS criar no
programa fonte a instruo "IF.." para testar se o registro ser ou no impresso.
Filtro inicial
Fonte
Ordem
Estabelece a ordem a ser obedecida para a impresso dos registros do relatrio. Vrios campos
podem ser concatenados para formar a expresso de ordenao do relatrio. A partir da janela que
permite o acionamento da tela de preview para relatrios e etiquetas, o usurio do aplicativo final
gerado poder ainda estabelecer ordenaes a seu critrio, tendo como base os campos envolvidos
no relatrio.
Orientao
Posio
dados
mxima
Saltar pgina
Tamanho do papel
para
a posio mais baixa da folha a ser considerada para imprimir informaes que no sejam
ajustadas como mscara de pgina, isto , estabelece o limite para se imprimir informaes que
variam de posio (impressas a cada registro). Normalmente, esta propriedade j vem ajustada igual
altura til da pgina do relatrio. O ajuste dessa propriedade para um nmero um pouco menor,
possibilita a insero de rodaps nas pginas
utilizada para estabelecer se, aps a impresso de um registro, uma pgina dever ser saltada.
Selecione o tamanho do papel (tipo utilizado pela maioria das impressoras - A4, Letter, etc.). Esta
propriedade ir influenciar as propriedades altura e largura til do papel.
A rea de formatao de relatrio, representada pela figura 5.54, bastante semelhante rea
de formatao de telas, com a diferena de que, no caso de relatrios, duas rguas, uma vertical e
outra horizontal so disponibilizadas, com marcao em milmetros, de modo a facilitar ao projetista a
insero de objetos na rea. Ao ser movido um objeto nesta rea, uma fina linha projetada sobre a
126
rgua, permitindo a visualizao correta de sua posio. Os relatrios so formatados por meio da
insero de objetos e do ajuste de suas propriedades. A figura a seguir mostra as ferramentas de
formatao de relatrios:
Figura 5.54
Objetos do tipo label ou texto3d so utilizados para a impresso de informaes textuais ao passo
que objetos do tipo imagem so utilizados para exibir imagens. Essas informaes podero ou no
estar vinculadas aos campos das tabelas eleitas para o relatrio. Linhas tambm podem ser inseridas
para melhorar a apresentao visual do relatrio.
Para facilitar o design de formulrios e relatrios o GAS-2007 permite que o projetista possa fazer seleo de mltiplos
controles utilizando caixa se seleo definida com o mouse (clicando no fundo e arrastando), como acontece na interface
de formatao do Visual Studio bem como de outras ferramentas;
5.7.10.7.6.3 Mltiplos filtros
Para todos os filtros definidos, janelas de dados, grids ou relatrios, o projetista tem a opo de definir vrios filtros
distintos, de um mesmo mdulo, segundo condies definidas;
127
Os campos disponveis nas tabelas selecionadas para o relatrio podem ser capturados por meio da lista (combobox)
existente na janela de propriedades. Quando um campo disponibilizado na tela, desta maneira, dois objetos do tipo label
so utilizados - um para o ttulo do campo e outro para o contedo. Algumas propriedades como, por exemplo, mscara,
alinhamento, imprimir a cada registro, etc. j vm pr-ajustadas. Outra maneira de disponibilizar campos na tela selecionar
um objeto na tela de ferramentas de relatrio e ajustar a sua propriedade Campo para o campo desejado. Os trs objetos
existentes para se imprimir informaes no relatrio so label, texto 3d, imagem e linhas:
Label
Utilizados para informaes textuais vinculadas ou no a campos. As propriedades possveis para este objeto so:
Alinhamento - Estabelece se a informao impressa ser alinhada esquerda ou direita ou, ainda, se ser
centralizada ou justificada (ambos os lados). Em se tratando de campos numricos, o GAS j dispe
automaticamente um alinhamento direita.
Altura - Determina a altura do label em milmetros.
Apelido - o apelido do campo que, porventura, esteja associado ao label. O contedo do campo ou da frmula
deste label associado a este apelido e o mesmo poder ser referenciado em outros labels ou texto3D, como
parte de clculos de frmulas.
Campo - Poder ser preenchida com um nome de campo existente nas tabelas eleitas para o relatrio. Todas as
informaes definidas para este campo so utilizadas para preencher outras propriedades inerentes a esse
128
129
8. Incio Quebra N - Utilizada para imprimir informaes, uma nica vez, a cada quebra N, diferindo da opo
anterior pelo aspecto de poder ser impressa em posio varivel;
9. A cada registro da Quebra N - Se o relatrio possui quebras, esta opo deve ser ajustada para todas
as informaes que sero impressas na referida quebra;
10.Fim da quebra N - Utilize esta opo para imprimir informaes como "Total da Quebra" ou rodaps de
quebra.
Inicializar - Utilizada somente quando a propriedade Totalizador estiver ajustada para uma opo diferente de
No. Determina em que ponto do relatrio a varivel que controla o totalizador ser inicializada com 0 ou com o
valor estabelecido pela propriedade "Valor inicial".
Largura - a largura, em milmetros, que ser assumida para a impresso da informao, que a prpria
largura do label disponibilizado na rea de formatao. Se a propriedade Expandir estiver ajustada para No, a
informao ser truncada nessa largura.
Mscara - Informe a mscara para formatar a informao a ser impressa. Podem ser utilizadas as mesmas
mscaras disponveis quando da definio de campos para as tabelas.
Omitir se igual - Esta informao utilizada para inibir a impresso de informaes iguais nos registros
subseqentes. normalmente utilizada em agrupamentos de registros para inibir informaes repetitivas. As
opes so:
1. No - A informao ser sempre impressa com relao aos registros subseqentes;
2. No relatrio - Se o contedo deste campo no for alterado durante a emisso do relatrio, essa
informao nunca mais ser impressa;
3. Na pgina - Se o contedo deste campo no se alterar dentro da mesma pgina, s voltar a ser impresso
na pgina seguinte;
4. Em quebra N - Se o contedo deste campo no se alterar dentro da mesma quebra, s ser impresso nos
registros da quebra seguinte.
Posio - Designa se a informao ser impressa de modo fixo, ou seja, sempre na mesma posio dentro da
pgina ou se a sua posio ir variar de acordo com os registros impressos. Quando um campo vinculado a
um label, o GAS automaticamente ajusta essa propriedade para 1 (varivel). H casos em que o projetista poder
querer que um campo seja impresso em posio fixa, como, por exemplo, em cabealho ou rodap (mscara de
pgina). Neste caso, dever alterar essa propriedade para 0 (fixa).
Tipo de borda - Ajustando-se esta propriedade para 1 (Sim), a informao ser impressa em um retngulo. A
propriedade "Cor do fundo" pode ser utilizada para colorir este retngulo.
Tipo de dado - Informe o tipo de dado a ser impresso por meio do label. Essa propriedade altera a propridade
Alinhamento, de acordo com o tipo de dado escolhido.
Topo - Representa a distncia, em milmetros, do label em relao borda de cima do papel (incio da rea til);
Totalizador - Estabelece o momento em que o contedo (propriedade Campo ou Frmula) deste label ser
totalizado. Essa informao pode ser ajustada para 0 (No) ou pode, ainda, ser ajustada como totalizador a cada
registro ou a cada registro de quebras.
130
Transparente - Esta propriedade, quando ajustada para 1 (Sim), permite que se imprima texto sobre outros
objetos, como, por exemplo, imagens, de modo transparente, ou seja, as letras sero recortadas e
disponibilizadas sobre o objeto que estiver abaixo.
Ttulo - utilizada para determinar a informao que ser impressa no label. Se um campo estiver vinculado por
meio da propriedade Campo, o contedo deste campo oriundo da tabela que ser impresso no lugar desta
propriedade. mais utilizada para imprimir ttulos de relatrios, colunas, etc.
Valor inicial - Somente utilizado no caso de totalizadores, onde uma expresso ou funo pode ser utilizada
como valor inicial do totalizador, como, por exemplo, transporte de valor do ms passado, etc.
Visvel - Informe uma expresso para que a informao seja impressa ou no.
Texto 3D
Este objeto pode tambm ser utilizado para a impresso de informaes textuais em relatrios, com efeitos visuais
mais interessantes. A sua utilizao semelhante do label, descrito no item anterior. A maioria de suas propriedades
so idnticas s daquele objeto, sendo, portanto, utilizadas da mesma forma. A seguir, esto descritas apenas as
propriedades aplicadas exclusivamente a este objeto:
ngulo - Especifique o ngulo, em graus, a ser utilizado para imprimir a informao. A faixa aceitvel de 0
(normal) at 359 graus.
Contorno - Determina se o texto a ser impresso ir apresentar uma linha de contorno (outline).
Cor do contorno - Caso a primeira propriedade esteja ajustada para 1 (Sim), esta propriedade determina a cor
a ser utilizada para colorir o contorno das letras.
Cor da sombra - Especifica a cor da sombra a ser projetada pelo texto, caso a propriedade "Tamanho da
sombra", a ser vista mais adiante, esteja ajustada para um nmero maior do que zero.
Figura - Permite a designao de uma imagem para ser exibida no fundo do texto 3D.
Fonte - Determina a fonte, tamanho e cor a ser utilizada na informao a ser impressa.
Tamanho da sombra - Especifique o tamanho (em pontos) da sombra a ser projetada pelo texto impresso.
Imagem
Este objeto pode ser utilizado para imprimir nos relatrios, campos do tipo multimdia contendo imagens ou mesmo
imagens estticas no vinculadas a campos das tabelas selecionadas para o relatrio. Todas de suas propriedades
podem ser utilizadas exatamente como as propriedades dos labels ou texto 3D. O que existe de diferente neste objeto
a propriedade "Expande figura" que, se ajustada para 1 (Sim), determina que a imagem deve ser ajustada ao tamanho
deixado pelo projetista na rea de formatao.
Linha
Este objeto imprimir uma linha em seu relatrio. As propriedades so algumas das disponibilizadas para labels ou
texto 3D. A propriedade diferente, trata-se da:
Direo - Determina a direo da linha, podendo ser:
131
1. Horizontal
2. Vertical
3. Diagonal para baixo
4. Diagonal para cima
5.7.10.7.6.5 Inserindo sub-relatrios
Diversos sub-relatrios com relacionamento 1-N podem ser facilmente inseridos nos relatrios formatados pelo GReports do GAS. Para inserir sub-relatrios, proceda conforme se segue:
Na rvore do projeto, insira um sub-relatrio abaixo de um mdulo do tipo relatrio;
Da mesma forma descrita para mdulos do tipo tabela, explicada anteriormente neste manual, informe, se necessrio,
as informaes nas abas correspondentes a Geral, Tabelas auxiliares e Opes, sendo que nesta ltima se deve
estabelecer a relao de ligao com o mdulo pai. Se esta ligao no for estabelecida, todos os registros
constantes na tabela bsica do subrelatrio sero impressos na sua totalidade, ou seja, no aparecem vinculados 1N;
Selecione, na rvore do projeto, o mdulo principal do relatrio (pai) e acesse a formatao do relatrio por meio do
boto apropriado, j mostrado neste captulo, que se encontra na barra de ferramentas do GAS;
Posicione, na rea de formatao, os campos do mdulo pai, ajustando todas as suas propriedades, conforme
necessrio;
Insira um sub-relatrio na rea de formatao, clicando sobre o boto apresentado abaixo, existente na barra de
ferramentas de relatrio;
Para criar um totalizador de uma coluna, o projetista deve criar um label com o valor a ser impresso (normalmente, j est
posicionado no relatrio). Dever tambm criar um segundo label e ajustar as propriedades:
Campo
Estabelea o campo numrico que dever ser totalizado por meio do label inserido na rea de formatao. Este o
mesmo campo que consta no label da coluna a ser totalizada;
132
Totalizador
Estabelea o tipo de totalizao desejada;
Posio
Estabelea tambm a posio onde dever aparecer o total ou subtotal. Observe que as posies dos totalizadores no
esto presas a posies exatamente abaixo de campos totalizados na mesma pgina. Por exemplo, desde que o resultado
de uma totalizao esteja dentro de uma mesma pgina, o seu valor poder ser impresso nesta pgina, inclusive em
cabealhos e rodaps.
5.7.10.7.6.7 Colocando uma quebra no relatrio
Qualquer quantidade de quebras podem ser inseridas em um relatrio do G-Reports. Quebras so estabelecidas da
seguinte maneira: Por meio da barra de ferramantas de relatrios, selecione o objeto Quebra, representado pelo boto a
seguir:
A insero de cdigos de barras em relatrios ou, mais freqentemente em etiquetas, bastante simples. A Gas
Tecnologia desenvolveu oito conjuntos de fontes true-type para a impresso dos seguintes cdigos de barras: EAN-13,
EAN-8, UPC-A, cada uma delas com dois estilos (normal e curto) e, ainda, o Cdigo 2/5 interleaved e o Cdigo 3 de 9. Alm
disso, o GAS contempla tipos de campos instrnsecos para informao dos diversos cdigos de barras. Para disponibilizar
um cdigo de barras no relatrio, proceda conforme se segue:
Insira um label na posio desejada;
Vincule-o a um campo de cdigo de barras que tenha sido definido nas tabelas eleitas para o relatrio;
Ajuste a sua fonte e tamanho para o cdigo desejado. Na realidade, o segundo passo no obrigatrio. Qualquer
informao pode ser utilizada para imprimir cdigos de barras, desde que sejam obedecidas as regras a seguir:
Tipos EAN-13, EAN-8 e UPC-A aceitam somente dgitos numricos e tm de ter o tamanho exato de 13, 8 e 12
caracteres, respectivamente, incluindo o dgito verificador.
133
Tipo 2/5 interleaved tambm aceita somente nmeros; porm, no est limitado a tamanho, embora, dependendo da
quantidade de informao, pode ficar impraticvel a sua leitura.
Tipo 3 de 9 pode tambm aceitar letras (maisculas), tambm no tendo limite terico de tamanho, embora, na prtica,
uma certa quantidade de caracteres pode ocasionar dificuldades de leitura para recuperao do cdigo. O tamanho
das fontes utilizadas para impresso de cdigos de barras, normalmente, devem ser ajustados em valores bem
maiores do que o normal. Tipicamente, apenas como sugesto, as fontes 2/5 interleaved e 3/9 apresentam bom
resultados nos tamanhos entre 20 e 22 pontos, enquanto as demais podem precisar de ajustes com valores acima de
28 pontos.
5.7.10.7.6.9 Imprimindo valores em cores diferentes no relatrio
Posicionando dois labels em posies idnticas e ajustando-se as condies de visiblidade por meio da propriedade
Visvel e, ainda, manipulando-se a cor da fonte a ser utilizada para imprimir a informao, fica bastante fcil imprimir-se, por
exemplo, valores negativos em vermelho e positivos em preto.
Consideraes sobre o funcionamento intrnseco dos relatrios
Em linhas gerais, os relatrios so gerados da seguinte forma:
Aps o relatrio ter sido definido, o GAS separa os objetos e campos em grupos definidos pela propriedade Imprimir
("Como mscara da pgina", "Incio do relatrio", "Incio da pgina", "A cada registro", etc). Os grupos so impressos na
seguinte ordem:
1. Como mscara da pgina;
2. Incio do relatrio;
3. Incio da pgina;
4. A cada registro;
4. 1 Como mscara de quebra;
4. 2 Incio de quebra;
4. 3 A cada reg quebra;
4. 4 Fim de quebra;
5. Fim da pgina;
6. Fim do relatrio.
No momento apropriado impresso de cada um dos grupos, estes so separados em trs subgrupos: sub-relatrios,
campos memo e outros (restante dos objetos). Os subgrupos so sempre gerados na seguinte ordem:
1. Subgrupos outros;
2. Subgrupos de campos memo;
134
3. Subgrupos de sub-relatrios.
Os campos memo de cada grupo so sempre impressos simultaneamente, podendo inser-los um ao lado do outro que
sero impressos normalmente. Entretanto, o projetista dever tomar cuidados especiais quando quiser inser-los abaixo um
do outro, pois poder ocorrer sobreposio dos mesmos. Existem duas formas para inserir um campo memo abaixo de
outro. A primeira inserir o campo memo superior com a propriedade Expandir definida como No. Desta forma, o projetista
determinar o tamanho mximo para este campo. A segunda forma definir um sub-relatrio que utiliza a mesma tabela base
do relatrio e, nele, inserir o campo memo desejado. Por meio desta segunda opo, o projetista no ter sobreposio de
campos e os campos memo sero impressos em sua totalidade. No caso dos sub-relatrios, estes tambm so divididos em
grupos e subgrupos, obedecendo a mesma regra descrita acima.
5.7.10.7.7 Formatando etiquetas
Os procedimentos para a definio e formatao de etiquetas so idnticos aos adotados para a confeco de
relatrios convencionais. Tambm no caso das etiquetas, se o projetista quiser proporcionar janela de previso (preview) na
aplicao final, ter de criar uma tela inicial (pode utilizar a tela padro), a partir da qual o usurio far o acionamento da
janela de previso. Pela sua natureza, as propriedades de relatrios do tipo etiquetas diferem das dos relatrios
convencionais. Para v-las, o projetista dever clicar na rea de formatao da etiqueta. A seguir, apenas as propriedades
inerentes s etiquetas sero descritas. As demais propriedades podem ser referenciadas no que foi descrito para as
propriedades dos relatrios, anteriormente visto neste captulo:
Altura da etiqueta - Informe a altura, em milmetros, das etiquetas existentes no formulrio a ser impresso;
Distncia carreiras - Informe a distncia vertical, em milmetros, entre uma etiqueta e a que est sua direita;
Distncia colunas - Esta propriedade define a distncia horizontal, em milmetros, entre uma etiqueta e outra, que
esteja imediatamente abaixo;
Duplicatas - Informe a quantidade de etiquetas idnticas que devem ser impressas para cada registro lido do banco
de dados, ou seja, a quantidade de etiquetas a ser impressa para o mesmo produto;
Largura da etiqueta - Informe a largura, em milmetros, da etiqueta a ser utilizada na impresso. Com respeito a esta
propriedade e seguinte, veja detalhes no item Consideraes sobre margens de papel, sob o tpico Opces para
personalizar a operao do GAS -Configuraes, neste captulo;
Margem esquerda - a medida horizontal, em milmetros, da primeira posio til do papel at a primeira etiqueta;
Margem superior - a medida vertical, em milmetros, da primeira posio til do papel at a primeira etiqueta;
Quantidade de carreiras - No sentido vertical, a quantidade de carreiras de etiquetas existentes no formulrio;
Quantidade de colunas - Informe a quantidade de colunas de etiquetas existentes no papel.
135
Figura 5.55
5.7.10.8.1 Ttulo no menu
Informe um ttulo para constar na opo do menu da aplicao final que ir acionar o programa.
5.7.10.8.2 Programa executvel
Informe o nome completo (drive, path e nome) do programa executvel a ser acionado. Se desejar, o projetista poder
clicar sobre o boto com reticncias para abrir o dilogo de localizao deste programa.
5.7.10.8.3 Mdulo pronto
Marque esta opo para informar ao GAS que este mdulo est pronto para ser gerado quando solicitada a gerao dos
programas fontes da aplicao.
Informe o nome do formulrio a ser integrado ao projeto. Se desejar, o projetista poder clicar sobre o boto com
reticncias para abrir o dilogo de procura do formulrio desejado.
5.7.10.9.3 Mdulo pronto
Marque esta opo para informar ao GAS que este mdulo j poder ser gerado.
136
Figura 5.56
Um formulrio existente integrado a um projeto ir figurar no menu da aplicao final e o GAS criar uma linha para exiblo, assim que o usurio clicar sobre a opo. possvel tambm, inserir mdulos (.BAS), formulrios (.FRM) e classes (.CLS)
nos projetos do GAS, sem que apaream no menu, bastando clicar na aba denominada Miscelnea, na definio do projeto.
Consulte o tpico Inserindo Mdulos e Formulrios Adicionais neste manual.
A integrao de formulrios existentes nos projetos de responsabilidade do projetista. Nenhuma verificao de
integridade e compatibilidade com o resto do projeto ser efetuada pelo GAS, que ir simplesmente integrar este mdulo no
menu da aplicao. Por isso, o projetista dever ter a certeza de que o cdigo escrito para este formulrio compatvel com
o resto dos mdulos, principalmente no compartilhamento de variveis, funes pblicas, etc.
Todos os forms no modais das aplicaes do GAS necessitam que algumas variveis pblicas sejam nele definidas.
Essas variveis armazenam caractersticas ou situaes do mesmo. Por isso, os forms existentes integrados ao projeto tm
que, obrigatoriamente, conter essas variveis para evitar erros em rotinas internas e genricas da aplicao. Essas
variveis tm de ser declaradas como Pblicas no mdulo genrico do form:
Varivel
vgSituacao
ACAO_NAVEGANDO
vgCaracteristica
F_COMUM
vgTipo
TP_COMUM
vgFormID
137
Figura 5.57
5.7.10.10.1 Geral e Tabelas auxiliares
Esses dois aspectos da definio de um formulrio avulso so idnticos aos da definio dos mdulos explicados
anteriormente. Neste mdulo obrigatrio o projetista criar uma tela complementar para receber as variveis desejadas e
que justifique a criao do form.
138
Se inserido na tela, este boto ir automaticamente executar todas as crticas e validaes das variveis designadas
para serem recebidas na tela e para as quais tenham sido designadas as propriedades Validao, Mensagem, etc. A
propriedade "Ao no clique", que deve ser designada e programada pelo projetista, ser executada logo aps essas
validaes.
5.7.10.11.2 Boto cancela
Se inserido na tela, este boto estar prprogramado para simplesmente descarregar o form.
no caso de mdulos do tipo Relatrio ou Etiqueta, mais alguns objetos estaro disponveis para, opcionalmente,
serem inseridos na tela, permitindo a criao de uma interface bastante elaborada. Todos esses objetos j esto prprogramados segundo a sua funo:
5.7.10.11.3 Nmero de cpias
Campo do tipo rotativo para que o usurio informe o nmero de cpias a serem emitidas do relatrio ou etiqueta.
5.7.10.11.4 Destino do relatrio
disponibilizado um frame e 3 botes de rdio para que o usurio selecione o destino do relatrio, ou seja, selecione se
a sada ser para janela, arquivo ou impressora.
5.7.10.11.5 Formato do arquivo
O projetista poder disponibilizar este objeto para permitir ao usurio designar o formato do arquivo a ser exportado,
caso tenha escolhido destinar o relatrio para um arquivo. Diversos formatos esto disponveis.
5.7.10.11.6 Arquivo de sada
Caso o usurio tenha selecionado destinar o relatrio para um arquivo, este objeto utilizado para receber o nome do
arquivo a ser gerado. J vem com interface completa constante de um objeto gMask, com ttulo e boto para ativar o dilogo
de arquivos.
5.7.10.11.7 Impressora padro
O projetista pode disponibilizar este objeto na tela para exibir qual a impressora configurada como padro no Windows.
5.7.10.11.8 Critrio
Este objeto deve ser inserido na tela para exibir o critrio de seleo de registros (expresso SQL), caso o boto filtra a
seguir tenha tambm sido inserido.
5.7.10.11.9 Boto Filtra
Este boto, se inserido na tela, serve para o usurio ativar a interface de montagem da expresso SQL que define a
seleo de registros do relatrio ou etiqueta.
139
Este boto, se inserido na tela, permite ao usurio ativar o dilogo padro do Windows para configurar impressoras.
Figura 5.30
Alm de inserir a opo acima referenciada, o projetista dever instalar o servio de backup no ambiente do usurio
final. Para isso, disponibilizado junto com a instalao do GAS o utilitrio BACKUPSERVICE.EXE, que incorporado
140
automaticamente ao kit de instalao do aplicativo final gerado. Para instalar o servio de backup, instalao tal que dever
ser efetuada no servidor de arquivos, o projetista dever:
Primeiramente, copiar o arquivo BACKUPSERVICE.EXE para um diretrio do servidor. Como a configurao desse
servio ser efetuada a partir do aplicativo final gerado, utilizado nas estaes de trabalho, ao menos um usurio
dever ter permisso de escrita no diretrio do servio.
Aps copiar o arquivo, via menu "Iniciar/Executar" do Windows, execute a linha de comando <diretrio do servio>
\backupservice.exe -i. Aps instalado o servio, ser exibida uma janela mencionando o sucesso da instalao do
mesmo.
Cabe ressaltar que no h restries de instalao do servio de backup no Windows 9X e ME, devendo ser
informada a mesma linha decomando para instalao do mesmo.
Caso o servidor do usurio final utilize o Windows NT, 2000, XP ou outras variantes NT, uma vez que o servio
esteja instalado, o projetista dever inicializ-lo da primeira vez. Para isso, os procedimentos a seguir devem ser
observados:
1. Windows 2000 ou XP - Acessar o menu Iniciar/Configuraes/Painel de controle/ Ferramentas Administrativas/
Servios, clicar com o boto direito do mouse sobre o servio denominado GAS Backup Service e ento clicar
em "Iniciar" para rodar o servio.
2. Windows NT - Acessar o menu Iniciar/Configuraes/Painel de controle/Servios, selecionar o servio
denominado GAS Backup Service e ento clicar em "Iniciar" para rodar o servio.
Instalado e inicializado o servio no servidor, a rotina de backup dever ser configurada em uma estao de trabalho,
a partir da qual seja possvel acessar o diretrio do servio. A configurao de uma boa rotina de backup permitir
manter a integridade do banco de dados da aplicao, em caso de perda ou corrupo da base original. Da advm a
vital importncia de se utilizar bem esse recurso. A configurao da rotina de backup est disponvel no menu
Arquivo/Configuraes de backup.
Ao acessar esse item de menu da aplicao final gerada, apresentada uma janela como a da figura abaixo:
Figura 5.31
5.7.10.14.1 Aba "Geral"
Arquivo de configuraes
141
Esse campo permite designar o caminho e nome do arquivo de configurao do backup. Ao efetuar quaisquer alteraes
nas opes de backup, essas so automaticamente gravadas nesse arquivo e disponibilizadas para o servio de backup.
aconselhvel que o endereo seja discriminado nesse campo utilizando-se o padro UNC (\\servidor\c$\gasbackup\...) e no
por drive remoto, uma vez que aquele padro garante que todos os usurios acessem por um mesmo endereo o diretrio
do servio no servidor para que as alteraes das configuraes do backup possam ser escritas.
Quando o diretrio do banco de dados for solicitado ao usurio do aplicativo final gerado, ao ser este executado pela
primeira vez, de extrema importncia para o funcionamento da rotina de backup que a indicao desse diretrio seja feita
no padro UNC (\\servidor\compartilhamento\...). Esse caminho, gravado no arquivo .INI do aplicativo, passado no arquivo
de configuraes do backup para que o servio possa acessar o banco de dados.
Nome do usurio
Esse campo permite designar o nome do usurio responsvel pela realizao do backup. Alm de ser utilizada nos
comentrios do arquivo de backup a ser criado, essa informao tambm ser utilizada na notificao a ser encaminhada
para os endereos configurados na aba "Notificao".
Senha para compactao
Esse campo designar a senha, de at 20 caracteres, que ser utilizada na criao do backup do banco de dados. Caso
seja necessria a restaurao futura do backup, o usurio dever dever informar a referida senha para descompactar o
backup criado. Caso o campo em questo no seja preenchido, no ser utilizada senha alguma na compactao.
Complemento
Esse campo define os comentrios que sero inseridos nos arquivos de backup para referncia futura. O contedo
desse campo ser exibido, por exemplo, logo ao abrir o arquivo de backup e no email de notificao de execuo do backup.
Habilitar backup
Essa opo define se a rotina de backup ser ou no utilizada. Ao desmarcar essa opo, nenhum dos backups
agendados sero executados.
5.7.10.14.2 Aba "Armazenamento"
142
utilizadas no processo de backup, alm do dirio. Obviamente, caso sejam marcadas respectivamente as opes
Semanalmente, ensalmente e Anualmente, sero ativados os backups semanais, mensais e anuais do banco de dados.
Cabe salientar que esses backups sero realizados na primeira oportunidade que surgir para que sejam feitos. Assim
sendo, para que a lgica desse processo fique mais intelegvel, vamos exemplificar esse processo. Suponha que no
existam quaisquer backups, sejam eles dirios, semanais, mensais ou anuais. No primeiro agendamento, o servio de
backup verificar se existe backup dirio (para o dia corrente), disparando o processo caso no exista. Caso exista, o
servio de backup verificar se o nmero mximo de backups armazenados para o perodo menor ou igual quantidade
designada no campo "Quantidade de backups que sero armazenados a cada...", disparando a execuo do backup
e convenientemente excluindo ou movendo aqueles mais antigos.
Aps fazer o backup dirio, o servio verificar se j existe um backup semanal para a semana corrente, mensal para o
ms corrente e anual para o ano corrente, executando cada um deles caso no existam. Por outro lado, caso existam
backups para a semana, ms e ano correntes, os backups para os referidos perodos no mais sero feitos. Somente
quando houver uma virada de perodo, seja ele semanal, mensal ou anual, o bakcup ser novamente executado. Quando
houver, por exemplo, uma virada de semana para outra (sbado para domingo), o servio de backup perceber que j
iniciou uma nova semana e far o backup na primeira oportunidade que tiver (logo aps o backup dirio ser executado).
Caso mesmo no domingo seja efetuado um backup dirio, o semanal tambm o ser. Assim, muito importante salientar que
caso se deseje restaurar um backup da 35a semana do ano, por exemplo, dever ser restaurado o backup realizado no
primeiro agendamento da 36a semana, que logicamente corresponder semana anterior. Essa mesma lgica servir para
os backups mensais e anuais. Para clarificar com mais um exemplo, caso seja necessrio restaurar o backup do ms de
maio (eventos e informaes naquele ms gerados), por exemplo, a restaurao dever ser efetuada tomando como base o
primeiro backup realizado no ms de junho, que logicamente corresponder ao ms de maio.
Quantidade de backups que sero armazenados a cada... Esse campo mltiplo permite designar a quantidade de ltimos
backups dirios, semanais, mensais e anuais que sero preservados. A atitude a ser tomada em relao aos backups que
se fizerem antigos por esse campo poder ser determinada pelo campo "Ao com arquivos de backup antigos".
Ao com arquivos de backup antigos
A ao a ser tomada com os arquivos de backup que no mais atenderem s condies especificadas no campo
"Quantidade de backups..." poder ser:
Excluir arquivo - provoca a excluso sumria do arquivo de backup.
Mover para a pasta - provoca a remoo do arquivo de backup para o diretrio aqui designado.
5.7.10.14.3 Aba "Notificao"
143
Permite designar o endereo de e-mail para o qual ser enviada a notificao. Caso queira envi-la para mais de um
endereo de e-mail, basta digitlos neste campo, separando-os com ponto-evrgula (;).
Endereo remetente
Permite designar o endereo de e-mail a ser utilizado como origem da notificao.
Assunto (sucesso)
Permite designar o Subject da mensagem de notificao, caso o processo de backup transcorra com sucesso,
permitindo ao usurio uma melhor identificao do teor da mensagem enviada.
Assunto (erro)
Permite designar o Subject da mensagem de notificao, caso ocorra algum erro nodecorrer do processo de backup,
permitindo ao usurio uma melhor identificao do teor da mensagem enviada.
Mensagem adicional
Permite personalizar uma mensagem a ser inserida no corpo da mensagem de notificao de backup.
5.7.10.14.4 Aba "Agendamento"
Os botes abaixo relacionados servem respectivamente para salvar ou cancelar as informaes inseridas durante o
agendamento.
Caso opte ainda por excluir algum agendamento j cadastrado, o usurio dever utilizar o boto de excluso mostrado a
seguir.
5.8
144
editor acionado selecionando-se o menu "Editar/Editor de cones" ou por meio da barra de ferramentas, clicando-se no
boto que aparece a seguir:
Figura 5.58
5.8.1
Controles do editor
Para viabilizar sua operao, sempre que o editor invocado, so apresentados os seguintes controles em sua
interface:
Os botes acima relacionados servem respectivamente para criar um novo arquivo cone, abrir um arquivo j existente,
salvar o arquivo em definio e, por ltimo, apresente-se a opo Salvar como... Ao criar um novo cone, o Editor de cones
utilizar o forma padro de 32 x 32 pixels e 16 cores para o cone. Conforme veremos mais adiante, a dimenso e a
quantidade de cores podero ser alteradas facilmente.
Na figura abaixo esto relacionados botes que permitem ao projetista recortar, copiar e colar fragmentos do cone em
definio. Alm desses recursos, o projetista poder desfazer e refazer modificaes que porventura tenham sido
efetuadas na imagem. O ltimo dos botes ali relacionados, limpa toda a rea de edio do cone, permitindo ao projetista
iniciar a definio novamente.
145
Na figura acima, est representado primeiramente o controle que permite ao projetista alterar o zoom do cone em
definio. Logo a seguir, h um controle para que o projetista possa selecionar o tamanho do cone em definio. O projetista
poder ainda editar diversos cones em um mesmo arquivo .ICO, recurso muito comum em editores de cone do mercado.
Quando isso ocorre, o prprio sistema operacional se encarregar de selecionar o tamanho do cone que melhor se adapte
apresentao. Caso apenas um tamanho de cone seja utilizado, o que mais usual, o cone ser redimensionado pelo
prprio sistema operacional para atender apresentao. Para alterar ou inserir novos tamanhos de cones a um arquivo .
ICO, basta o projetista clicar sobre o boto de gerencimento de imagens (extensor) e efetuar as devidas trocas ou
inseres. O mesmo procedimento pode ser efetuado para definir a utilizao de cones de 16 ou 256 cores. A patela de
cores ajusta-se automaticamente ao nmero de cores definido para o cone. Finalmente, so apresentadas as cores ativas
no momento.
Logo abaixo da barra de ferramentas, o projetista poder visualizar informaes como o diretrio e nome do arquivo
corrente, coordenadas (horizontal e vertical) do ponto indicado pelo mouse, item selecionado na paleta de ferramentas e
escala de vermelho, verde e azul (RGB) da cor selecionada.
No Editor de cones, o projetista poder utilizar de uma poderosa paleta de ferramentas, apresentada nas figuras V.43.6
e V.46.7. Na parte superior da paleta de ferramentas, o projetista poder selecionar diveros itens de fcil utilizao e
entendimento. So eles: Seleciona tudo, Seleo (dimensionvel) , Lpis, Broxa (pincel), Borracha, Linha, Retngulo,
Retngulo arredondado, Elipse (com ou sem preenchimento), Prenchimento e Seletor de cor.
J na parte inferior da paleta de ferramentas, o projetista poder rotacionar o cone em definio horizontal e
verticalmente, alm de provocar rotao em 90 graus e inverso das cores utilizadas na imagem. O projetista ainda poder
facilmente salvar e carregar paletas de cores montadas a partir de arquivos .ICO j existentes, de forma a reaproveit-las
em outros arquivos. O editor de cones ainda oferece um painel de previso do cone que est sendo definido no momento. O
projetista poder utilizar o boto de previso para visualizar ou omitir esse painel. Para finalizar a patela de ferramentas, o
projetista ainda poder utilizar o boto de ajuste de grade, o qual, se pressionado, apresenta tela como a da figura 5.59.
146
Figura 5.59
Para efeito de visualizao, o projetista poder omitir ou no a representao dos pixels do cone em definio, utilizando
para isso a opo "Usar pixels". Com base nos valores determinados nos campos Largura e Altura, a opo "Agrupar" traa
linhas de agrupamento de pixels, auxiliando sua manipulao.
5.9
147
Figura 5.60
As trs divises do editor, separadas por uma linha em vermelho, representam reas de edio, tendo, cada uma, a sua
finalidade:
5.9.1
5.9.2
Designaes de variveis
A segunda rea de edio est reservada para as designaes (atribuio de valores iniciais) das variveis criadas na
primeira rea. Em se tratando do Ttulo do Projeto, o contedo aqui digitado ser inserido dentro da funo MAIN( ) do mdulo
principal da aplicao. No caso de Janela de Dados, ser inserido na procedure FORM_LOAD( ) do mdulo selecionado.
5.9.3
148
que tero escopo dentro do mdulo selecionado. Aqui, tambm, se o mdulo selecionado for o Ttulo do Projeto, essas
rotinas ou funes tero escopo global no projeto, devendo serem declaradas com a palavra Public e sendo inseridas em um
mdulo (.BAS) da aplicao. Em mdulos do tipo "Janela de Dados", essas funes so declaradas com a palavra chave
Private e so inseridas dentro da rea General do mdulo (.FRM).
Exemplos:
' cria funo pblica
Public Function Fatorial (Numero As Integer) As Long
...
End Function
' cria funo com escopo de mdulo
Private Function ContaPalavras(St As String) As Long
...
End Function
5.9.4
5.9.4.1
Boto procura
Tem por finalidade ativar o dilogo de procura de texto no editor, representado na figura 5.61:
Figura 5.61
Neste dilogo, podem ser marcadas as opes de "Palavra inteira" e "Considerar caixa", respectivamente, para que a
pesquisa considere apenas palavras completas e diferencie letras maisculas das minsculas. Os botes existentes neste
dilogo podem estar disponveis ou no, pois atendem tambm as opes de substituio, explicada a seguir. Em particular,
o boto intitulado "Marca todos" marcar todas as ocorrncias do texto procurado nas reas do Editor de Programas.
5.9.4.2
Boto procura/substitui
Tem por finalidade ativar o dilogo de procura/substituio de texto no editor, representado na figura 5.62:
149
Figura 5.62
A opo "Preservar caixa" permite que a definio de letras maisculas e minsculas das ocorncias encontradas
sejam preservadas no momento da substituio. J a moldura intitulada "Substituir em" permitir ao projetista definir a regio
na qual a substituio ser efetuada: apenas no texto selecionado ou no texto inteiro.
5.9.4.3
Boto de sincronia
Tem por finalidade sincronizar o mdulo selecionado na rvore com o texto do editor. Se este boto estiver ligado (em
baixo), o texto apresentado na rea ativa do editor estar sempre incronizado com o mdulo selecionado na rvore, ou seja,
se o projetista selecionar um novo mdulo na rvore, o texto da janela apresentar imediatamente o cdigo que foi digitado
para aquele mdulo. Se este boto estiver desligado (em cima), nenhum sincronismo ocorrer.
5.9.4.4
5.9.4.5
boto para retirar a endentao das linhas de cdigo definidas pelo projetista
5.9.4.6
150
boto para retirar o comentrio das linhas de cdigo definidas pelo projetista
Alm desses botes, existe tambm, na janela do editor, a lista que aparece na figura 5.63, contendo os mdulos da
rvore que suportam cdigo escrito pelo projetista, bastando selecionar qualquer uma das opes e elaborar o cdigo
necessrio.
Figura 5.63
Utilizando o boto direito do mouse sobre a rea de edio do Editor de Programas, o projetista poder ainda selecionar
todo o texto exibido da rea de edio corrente (Designaes de variveis, Declaraes de variveis ou funes externas e
Funes e rotinas globais), remover todos os marcadores do texto, inserir arquivos de diversos formatos, inserir quaisquer
caracteresda tabela ASCII ou editar as propriedades do editor, as quais veremos no tpico a seguir.
5.9.5
151
Figura 5.64
5.9.5.1
Ajuste de cores
Por meio dessa moldura, o projetista poder ajustar as cores de primeiro e segundo planos para os itens Nmero de
pginas, Strings, Texto, Nmeros, Funes API, Palavras escopo e Janela. O estilo de fonte (normal, negrito, itlico, dentre
outros) tambm poder ser estabelecido para cada um desses itens por meio da lista"Estilo de fonte".
5.9.5.2
Endentao
Esta opo permite ao projetista definir o padro do nmero de caracteres para a endentao no Editor de Programas. O
valor padro 1.
5.9.5.3
Fonte
Esta opo permite ao projetista manipular o tipo de fonte para a edio no Editor de Programas. Para alter-lo, basta
pressionar o boto "Mudar..." e selecionar a melhor combinao de fonte e tamanho que lhe convier. Outras opes tambm
existentes so "Nmero de linhas" e "Margem esquerda" que permitem respectivamente inserir o nmero de linhas na
margem esquerda da janela do editor e exibir ou no a margem esquerda da mesma janela.
5.10
152
Se o segundo nvel da rvore (Ttulo do Projeto) estiver selecionado no momento, o projetista poder executar a
formatao da barra de ferramentas da janela principal da aplicao. Uma barra default apresentada como ponto de
partida para as modificaes que se fizerem necessrias. Consulte o tpico Desenhando a barra de ferramentas da
aplicao para obter maiores detalhes.
Se um mdulo do tipo "Janela de Dados" estiver selecionado na rvore do projeto, o Editor de Recursos invocado
para a formatao da janela de entrada de dados da tabela bsica referente ao mdulo selecionado.
Se um mdulo do tipo Consulta, Relatrio, Etiqueta, Processo pr-definido ou Formulrio avulso estiver selecionado na
rvore do projeto, o Editor de Recursos invocado para a formatao de uma tela complementar, utilizada para
receber variveis de memria digitadas pelo usurio da aplicao. O tpico de nome Criando uma tela complementar
descrito anteriormente neste captulo detalha este tipo de operao.
Nas explicaes a seguir, o termo tela ser utilizado para se referir aos dois casos (tela ou barra de ferramentas),
visto que no h diferenas no aspecto operacional de sua formatao. O editor de recursos proporciona diversas
facilidades, como, por exemplo, selecionar diversos controles de uma s vez, drag and drop (arrasta e solta),
designao de propriedades para os objetos, insero de novos controles, etc.
Figura 5.65
153
As propriedades existentes nesta lista aparecem, por default, categorizadas segundo a sua natureza. Se desejar, o
projetista poder tambm apresentla em ordem alfabtica, utilizando o boto que aparece a seguir:
O Captulo 13- Propriedades dos objetos de tela trata exclusivamente dessas propriedades.
154
155
Figura 5.66
Nenhum controle inserido na tela como default. Para maiores detalhes sobre o desenho de telas, consulte o tpico
Desenhando telas para entrada de dados neste captulo.
Figura 5.67
Este objeto ou controle pode ser utilizado para conter outros controles organizados em pginas ou abas. Por exemplo,
os dados pessoais de um funcionrio podem ser digitados na primeira pgina e os seus dados funcionais na segunda, etc.;
5.10.1.7.2 Label
Este controle tem por finalidade exibir mensagens nas janelas de entrada de dados, como, por exemplo, uma frmula
qualquer envolvendo um ou mais campos das tabelas relacionadas. Para utilizar um label na apresentao de frmula, basta
designar a sua propriedade Frmula.
5.10.1.7.3 Boto
Um boto , normalmente, inserido na tela para acionar uma rotina avulsa, que o projetista deseja elaborar. Para utilizar
este recurso, proceda da seguinte forma:
Insira o boto na tela ou na barra de ferramentas;
Utilizando a grade de propriedades, designe o seu aspecto, como figura, altura, largura, etc.;
Designe a sua propriedade "Ao no clique", elaborando uma funo para apresentar a janela desejada com o auxlio
do Editor de Programas. Para obter maiores detalhes, consulte o tpico Estabelecendo uma ao para um boto neste
captulo.
5.10.1.7.4 Imagem
Utilize este controle para inserir imagens na tela, como, por exemplo, um logotipo da aplicao ou da empresa usuria.
156
5.10.1.7.5 Painel
Este tipo de controle pode ser utilizado para agrupar outros controles ou campos. Pode tambm ser utilizado para conter
uma figura para pano de fundo da tela.
5.10.1.7.6 Frame
Um frame pode ser utilizado para agrupar outros controles em uma determinada rea da tela. Para este controle, pode-se
tambm designar a propriedade Frmula, da mesma maneira que feita para o label. O resultado da frmula aparecer no
ttulo do frame.
5.10.1.7.7 Gmask
Este tipo de objeto um controle genrico de edio desenvolvido pela Gas Tecnologia, que serve virtualmente para
receber qualquer tipo de dado, como, por exemplo, campos numricos com calculadora, campos data com calendrio,
imagens, etc.
5.10.1.7.8 Grid
Este tipo de objeto um controle especial desenvolvido pela Gas Tecnologia para possibilitar a digitao de registros em
tabelas filhas (com relacionamento 1-N). As suas clulas possuem os mesmos recursos do objeto gMask descrito
anteriormente. S estar disponvel para utilizao se o mdulo em definio for uma janela de dados que esteja subordinada
a uma outra em relao 1-N.
5.10.1.7.9 Sub-relatrio
Este tipo de objeto utilizado somente na formatao de relatrios e tem por finalidade inserir um sub-relatrio na rea
de formatao.
5.10.1.7.10 Quebra
Este tipo de objeto tambm utilizado somente em relatrios e tem por finalidade inserir uma quebra (agrupamento) no
relatrio em formatao.
5.10.1.7.11 Linha
Este tipo de objeto utilizado, normalmente, para traar linhas na tela, separando objetos com efeito puramente esttico.
5.10.1.7.12 Shape
A exemplo do objeto anteriormente descrito, o shape pode ser utilizado para inserir formas na tela tambm com
finalidades estticas ou por qualquer outra razo que o projetista julgar conveniente.
5.10.1.7.13 Texto 3D
Este tipo de objeto utilizado, normalmente, para inserir textos com efeitos especiais em 3D, com sombra, contorno e um
ngulo de impresso qualquer.
157
5.10.1.7.14 Picture
Este tipo de objeto pode ser utilizado para inserir imagens nas telas em formatao. Pode tambm ser utilizado como
container (rea onde outros objetos podem ser posicionados).
Figura 5.68
5.10.1.11.1 Gravao da tela
Deve ser acionada para gravar a tela aps a sua formatao. aconselhvel utilizar este boto, quando a formatao
da janela for muito demorada, evitando assim perda de trabalho.
5.10.1.11.2 Restaurao da tela
Utilizada para restabelecer a ltima situao em que se encontrava a tela, na ltima vez em que foi gravada.
5.10.1.11.3 Ordem de acesso aos controles
Este boto estabelece automaticamente, da esquerda para a direita e de cima para baixo, a ordem com que os controles
so acessados quando o usurio da aplicao pressionar a tecla TAB.
158
Esta operao formata automaticamente uma tela padro. No caso de formatao de barra de ferramentas, apresenta a
barra que o GAS disponibiliza como default para a aplicao a ser gerada. No caso de formatao de uma janela para
entrada de dados, o GAS apresenta uma tela padro na qual tenta posicionar todos os campos definidos para a tabela
bsica, obedecendo ao que estiver estabelecido nas opes da tela padro (vide tpico Definindo as Opes de Tela
Padro, um pouco mais adiante) que podem ser visualizadas e alteradas clicando-se com o boto direito do mouse no boto
apresentado a seguir ou selecionando-se "Opes/Opes da tela padro" por meio do menu.
importante observar que, ao construir a tela padro, o GAS tentar posicionar, a partir do primeiro campo da tabela
bsica, quantos campos forem possveis de serem posicionados. Com isto, poder ocorrer que o projetista tenha que
posicionar manualmente os campos finais, que o GAS no tenha conseguido fixar. Uma vez que os campos estejam
posicionados, o GAS insere um check antes do nome do campo na janela de Ferramentas da tela para indicar que esse j
est posicionado.
Em se tratando de uma tela de arquivo subordinado (filho), que o projetista no deseje inserir em grid, o projetista ter
que retirar, manualmente, os campos correspondentes s chaves de relacionamento com a tabela pai (normalmente os
primeiros da tela), cujos valores no so digitados pelo usurio, pois so preenchidos automaticamente por rotinas da
aplicao.
5.10.1.11.5 Seleciona todos
Este boto tem por finalidade selecionar, de uma s vez, todos os controles posicionados na tela, permitindo que sejam
trabalhados em conjunto.
5.10.1.11.6 Apaga coluna do grid
Este controle s estar disponvel se o mdulo em definio for do tipo Tabela em grid, tendo por finalide apagar a coluna
(campo) que esteja selecionado no grid.
5.10.1.11.7 Insere coluna no grid - aps
Este controle tambm s estar disponvel se o mdulo em definio for do tipo Tabela em grid, tendo por finalidade
inserir uma nova coluna (campo) imediatamente aps a coluna selecionada.
5.10.1.11.8 Insere coluna no grid - antes
Tambm este controle estar disponvel somente se o mdulo em definio for do tipo Tabela em grid, tendo por
finalidade inserir uma coluna (campo) imediatamente antes da coluna selecionada no grid.
5.10.1.11.9 Alinha esquerda
Este controle s estar disponvel se mais de um controle estiver selecionado na tela, tendo por finalidade alinhar,
verticalmente, esquerda os controles selecionados.
5.10.1.11.10 Alinha direita
A exemplo do controle anterior, este tambm s estar disponvel se mais de um controle estiver selecionado na tela,
tendo por finalidade alinhar, verticalmente, direita os controles selecionados.
159
Tambm este controle, a exemplo dos dois controles anteriores, s estar disponvel se mais de um controle estiver
selecionado na tela, tendo por finalidade alinhar ao topo os controles selecionados.
5.10.1.11.12 Travamento de controles
Este boto bloqueia os controles posicionados na tela, no permitindo que sejam movidos. Aps terminar a formatao, o
projetista poder desejar clicar sobre este boto para evitar que sejam movimentados involuntariamente.
5.10.1.11.13 Categorizao de propriedades
Por default, a lista de propriedades da janela de Ferramentas da tela aparece dividida em categorias, segundo as
caractersticas da propriedades. Este boto, que tem dois estgios, seestiver ligado, fora a aparesentao alfabtica das
propriedades.
5.10.1.11.14 Coloca ou retira grade de formatao
Este boto tem por finalidade ligar ou desligar a apresentao da grade auxiliar de formatao de telas e relatrios. O
seu tamanho configurvel por meio do menu "Opes/Configuraes/Telas e relatrios".
5.10.1.11.15 Recorta formulrio
Este boto tem por finalidade implementar efeito visual de recorte no formulrio em definio, semelhante aos forms
irregulares disponveis na aba Miscelnea (vide tpico Forms irregulares j visto neste captulo). Caso o projetista tenha
definido uma imagem para a propriedade Figura, o recorte do formulrio contornar a imagem definida. O mesmo efeito
ocorrer sobre o prprio formulrio, caso a propriedade Figura no tenha sido definida.
5.11
160
Figura 5.69
161
5.11.5.2 Distncia
Especifique a distncia, em pixels, a ser considerada na separao de controles na tela (distncia entre um controle e
outro).
5.12
162
necessidade por parte do projetista, apresentando uma tela semelhante a que aparece, a seguir, na figura 5.70:
Figura 5.70
Alm dos campos, esse mesmo banco de campos relaciona a lista de variveis, constantes e funes (function e sub)
disponveis para o objeto em definio. Esta janela constituda por uma srie de abas nas quais esto disponveis no s
variveis, constantes e funes (function e sub) disponveis para o objeto ou campo em definio, mas tambm os campos
das diversas tabelas que esto, no momento, relacionadas situao. Sobre esta lista, convm observar que:
O nome do campo aparece nesta lista, seguido do alias (apelido), entre parnteses, definido para o mesmo;
Para facilitar a visualizao, os campos da tabela bsica sempre so exibidos na cor preta. A partir disso, o GAS
utiliza duas outras cores, alternando-as, para diferenciar cada nova tabela relacionada;
Nas abas de variveis, constantes e funes, para facilitar a identificao dos itens, o GAS exibir na cor preta
aqueles itens que sejam globais para todo o sistema, na cor vermelha aqueles que sejam globais para o mdulo em
questo e na cor azul aqueles que forem privados.
Outras informaes so exibidas, como tipo, tamanho e mscara do campo, para que o projetista possa saber com
que tipo de informao est trabalhando no momento. A partir desta janela, o projetista poder capturar informaes
j definidas no projeto, devendo primeiro clicar sobre o campo que receber a captura e depois aplicar um duploclique no item que deseja capturar.
Para facilitar a manipulao das informaes, a janela do banco de campos apresenta botoeira com diversos
operadores, como mostrado na figura 5.71, inclusive transferncia de dados como inteiro, quociente e resto da diviso
inteira, concatenao de strings, etc.
Figura 5.71
5.13
163
necessite fazer em referncia a um projeto de sistema do GAS. Neste livro, h quatro pginas, cada uma delas podendo
conter at 64 KB de texto. Nelas podem ser anotados todos os detalhes do desenvolvimento do projeto, como, por exemplo,
os nomes das pessoas de contato e seus telefones, frmulas, memrias de clculos, lembretes, etc. Uma vez anotada no
Dirio de Bordo, a informao automaticamente gravada e vinculada ao projeto que est sendo definido, evitando a
utilizao de papis com anotaes que se perdem facilmente.
Captulo
VI
Captulo 6 - Gerao de programas fontes
165
6.1
.BAS
Contm definies de escopo global dentro na aplicao. O Visual Basic dividir o que o GAS gerar dentro deste
mdulo em duas reas distintas: a rea de declaraes de variveis e a rea de definies de funes e procedures (Sub).
6.2
.FRM
Contm definies de escopo do formulrio ou janela. Nestes arquivos, o GAS ir gerar as definies dos objetos que
fazem parte da interface grfica (GUI), bem como as declaraes de variveis, funes e procedures.
6.3
.FRX
Arquivos binrios, associados aos arquivos .FRM, contendo definies de alguns tipos de objetos que so colocados
no formulrio.
6.4
.VBP
Um nico arquivo criado por projeto, contendo diversas especificaes, inerentes ao projeto como um todo, utilizadas
peloVisual Basic.
6.5
.DEF
Contm as especificaes da estrutura do banco de dados definido para o projeto. por intermdio das especificaes
contidas neste arquivo que a aplicao final cria o banco de dados, na primeira vez que executado. Este arquivo tem
formato proprietrio do GAS, no sendo utilizado pelo VB e, sim, pela aplicao gerada. Sua presena tambm necessria
para o funcionamento dos utilitrios de adaptao de projetos e converso de arquivos DBF.
6.6
.SQL
De forma anloga ao arquivo de formato .DEF, o arquivo de formato .SQL um script contendo as especificaes da
estrutura do banco de dados SQL Server ou Oracle definido para o projeto. Ele tambm necessrio para o funcionamento
dos utilitrios de adaptao de bancos de dados SQL Server ou Oracle.
166
6.7
.RC
Contm todas as imagens, bem como as mensagens utilizadas na aplicao gerada, necessrias ao seu funcionamento.
O GAS gera todas as mensagens da aplicao dentro deste arquivo. Isto significa que, se for necessria uma traduo da
aplicao para o francs (exceto ingls e espanhol), por exemplo, horas e horas de trabalho sero economizadas com a
traduo de um nico arquivo! Este arquivo compilado em separado, por meio do utilitrio RC.EXE (resource compiler) do
Windows, criando um arquivo resource de extenso .RES, utilizado pela aplicao final.
O GAS utiliza um formato proprietrio de arquivo resource (.RES) que permite a vinculao de quaisquer formatos de
imagem e sem limite de tamanho. Alm disso, o executvel tende a diminuir consideravelmente com o uso do arquivo
resource, visto que as imagens no mais estaro vinculadas diretamente no executvel. O arquivo resource deve
acompanhar o aplicativo final gerado para que este possa funcionar. Obedecendo estrutura do arquivo .RC, o projetista
poder alterar seu contedo, implementando novas referncias a imagens e strings, utilizando-se das funes
LoadGasPicture e LoadGasString para recuperar essas informaes. Para maiores detalhes sobre a sintaxe dessas
funes, consulte o Captulo 12- O GAS como Ferramenta de Desenvolvimento 335 deste manual.
6.8
6.9
Caso a opo seja "Sim" o modulo desmarcado para gerao neste momento e marcado como preservado e no mais
ser gerado pelo GAS, at que o usurio mude esta opo na definio do modulo.
Caso a opo seja "No" o modulo desmarcado para gerao neste momento, mas no marcado como preservado.
Este recurso interessante em projetos grandes, ganhando velocidade na gerao dos fontes, pois evita a gerao
novamente. Isto recomendado apenas para ganho de velocidade e em mdulos que no sofreram alterao.
Ao marcar a opo de "Gerar todos", todos os mdulos sero gerados, exceto os que esto marcados como
preservados.
167
Antes de iniciar a gerao dos programas fontes o GAS efetua uma verificao de consistncia nas especificaes do
projeto. Encontrando alguma inconsistncia ou falta de informaes imprescindveis, o mesmo interrompe o processo de
gerao e apresenta mensagem relativa inconsistncia encontrada. O projetista dever voltar s definies do projeto e
corrigir o problema.
Durante esta operao, se desejar rever a ltima mensagem de erro informada pelo GAS durante a gerao, o projetista
poder selecionar o menu: Arquivo/Utilitrios/Rever mensagem erro de gerao.
Figura 6.1
Na interface para escolha dos mdulos definidos para gerao, o projetista tem um preview idntico rvore do projeto,
facilitando assim a escolha ou no de mdulos para gerao.
O projetista poder ainda criar e gerenciar um nmero de verso para o projeto, por meio da moldura intitulada Verso.
So trs os campos que controlam a verso, os quais podemos denominar:
Principal - Nmero principal da verso do projeto, podendo variar de 0 a 999.
Secundrio - Nmero secundrio da verso do projeto, podendo tambm variar de 0 a 999.
Reviso - Nmero de reviso do projeto, podendo variar de 0 a 99999.
Caso a opo "Auto-incrementar verso" esteja marcada, o prprio GAS se encarregar de incrementar os nmeros de
verso. Para maiores informaes, consulte o tpico Definindo os dados genricos do projeto do Captulo 5 - Operando o
GAS. Mesmo com essa opo marcada, caso lhe convier, o projetista poder ainda intervir manualmente na definio
desses nmeros.
168
6.9.1
Aps a gerao nos casos em que a opo manter histrico esteja ativada, o histrico da gerao de fontes gravado
na aba histrico da definio do projeto.
Captulo
VII
Captulo 7 - Gerao de executveis
170
7.1
Figura 7.1
As opes so:
7.1.1
Gerar
Nenhuma ao ser executada alm da gerao dos executveis, propriamente dita.
7.1.2
Gerar e executar
Aps gerar cada um dos executveis marcados, o GAS os executar em modo sncrono, ou seja, ficar esperando o
trmino da execuo para reassumir o controle.
7.1.3
7.1.4
Gerar e abrir no VB
O GAS proceder a gerao dos arquivos de resource e outros, exceto o executvel da aplicao. Aps a gerao
executado a chamada ao Visual Basic abrindo o projeto da aplicao dentro do mesmo. Este recurso interessante para
identificao de erros e para usurios mais experientes, que queiram testar a aplicao para identificao de erros, antes
da gerao em definitiva do executvel.
171
Caso nas opes anteriores tenha sido mostrada tela de erro ao gerar o executvel, esta opo pode ser interessante
para descobrir em que linha est o problema. Aps executar a opo de "Gerar e abrir no VB", j com o VB aberto no
projeto em questo, basta utilizar as teclas "Control" + F5 para que o VB faa uma teste na aplicao, e caso o erro seja na
compilao, o titulo do erro exibido, e o VB estar com o cursor exatamente na linha onde o erro ocorreu, facilitando assim
a correo na maioria dos casos.
Para utilizar esta opo, recomendamos a configurao do VB instalado na mquina, para que a opo de erros esteja
marcada como mostra a figura abaixo:
7.2
Executvel da aplicao
O Visual Basic ser invocado para compilar o projeto, criando um nico programa executvel, cujo nome o mesmo do
projeto com a extenso .EXE. Enquanto o Visual Basic estiver trabalhando, o GAS ficar gerenciando se o mesmo j
acabou a tarefa, assumindo novamente o controle quando isto acontecer.
Em casos de soluo com mais de um projeto(Multi-Projetos), Cada projeto tem a sua gerao dos fontes de forma
independente, ou seja, cada um tem o seu prprio executvel, entretanto, podendo estar interligados ou no.
7.3
172
DOS. Por isso, uma janela do DOS poder aparecer por alguns instantes, quando este programa for ativado. O GAS
gerenciar se este programa conseguiu compilar o arquivo resource.
O GAS utiliza um formato proprietrio de arquivo resource (.RES) que permite a vinculao de quaisquer formatos de
imagem e sem limite de tamanho. Alm disso, o executvel tende a diminuir consideravelmente com o uso do arquivo
resource, visto que as imagens no mais estaro vinculadas diretamente no executvel. O arquivo resource deve
acompanhar o aplicativo final gerado para que este possa funcionar.
Se, por ventura, ocorrer duplicao no nmero de resources gerados, o projetista dever efetuar a gerao de todos os
mdulos que foram includos no projeto para que os nmeros dos resources sejam refeitos. Obedecendo estrutura do
arquivo .RC, o projetista poder alterar seu contedo, implementando novas referncias a imagens e strings, utilizando-se
das funes LoadGasPicture e LoadGasString para recuperar essas informaes. Para maiores detalhes sobre a sintaxe
dessas funes, consulte o Captulo 12- O GAS como Ferramenta de Desenvolvimento deste manual.
7.4
7.5
Adaptador de arquivos
Este programa (quando utilizado JET) ou script (quando utilizado SQL Server, MySQL, Firebird ou Oracle) nem
sempre estar disponvel para ser selecionado e compilado. Sempre que o GAS detectar que ocorreram mudanas na
estrutura do banco de dados durante a fase do projeto, o mesmo criar automaticamente um projeto/script do utilitrio
adaptador de arquivos (vide tpico O Utilitrio Adaptador de Arquivos, neste manual), disponibilizando a sua compilao/
gerao. Se no houver necessidade, o GAS no criar este utilitrio nem habilitar a sua compilao/gerao.
7.6
7.7
Compilao manual
Aps o processo de compilao, o GAS gera tambm trs pequenos arquivos .BAT no diretrio da aplicao:
7.7.1
FAZ_EXE.BAT
Para compilar o executvel da aplicao.
7.7.2
FAZ_HLP.BAT
Para compilar a ajuda on-line da aplicao.
7.7.3
173
FAZ_RES.BAT
Para compilar o arquivo resource da aplicao. Embora no faa uso de nenhum desses arquivos, o GAS os cria para
permitir ao projetista, se desejar ou por algum problema qualquer, compilar manualmente o que for necessrio, apenas
executando esses arquivos de lote a partir de uma janela DOS. Para utilizar qualquer desses arquivos, acione um atalho
para o DOS, posicione-se no diretrio onde a aplicao foi gerada e digite o nome do arquivo desejado.
Captulo
VIII
Captulo 8 - Gerao da documentao
175
Figura 8.1
A interface da figura 8.1 permite a manipulao da documentao da aplicao. A partir desta janela, o projetista poder
selecionar a opo de documentao que desejar:
8.1
Editar gabaritos
O boto Gabarito tem por finalidade editar o arquivo-gabarito da documentao selecionada. Normalmente, esses
gabaritos j esto completos, no necessitando de modificaes; porm, se o projetista desejar, poder edit-los para
enriquec-los de detalhes, alterar formatao de textos, inserir figuras, etc. Para este trabalho, o GAS tentar localizar o
editor de textos MS-Word no equipamento. Caso no consiga, apresentar dilogo solicitando ao projetista o nome do editor
a ser utilizado, armazenando esta informao para as utilizaes subseqentes.
8.1.1
8.1.1.1
GABPRO.DOC
Contm a formatao do Projeto Fsico ou especificao do sistema criado.
176
8.1.1.2
GABMAN.DOC
Contm o texto utilizado para o Manual do Usurio da aplicao final.
8.1.1.3
8.1.2
Criar o documento
O boto Criar tem por finalidade iniciar a criao da documentao selecionada. O GAS cria a documentao de uma
aplicao gerada por intermdio de arquivos-gabaritos, previamente estabelecidos com diretivas de substituio e
condicionais, bem como comandos de repetio.
A abertura desses arquivos assim como todo o processo de alterao feita via OLE, utilizandose automao direta
com o MS-Word.
8.1.3
Editar documento
O boto Documento, se estiver habilitado, tem por finalidade ativar o editor com o qual o projetista poder dar a forma
final ao documento, antes de imprim-lo ou de compil-lo, caso assim o deseje. Deve-se lembrar, no entanto, que o GAS
ignorar essas modificaes, se porventura for solicitada uma nova criao da documentao, uma vez que ele parte
sempre dos arquivos gabaritos para executar esta tarefa.
8.1.4
Compilar
O boto Compila, se estiver habilitado, tem por finalidade compilar, de maneira totalmente transparente, o arquivo de
ajuda para aplicao, gerando um arquivo de extenso .CHM. Para esta tarefa, o GAS utiliza o utilitrio HTML Help
Workshop do Windows. Este boto estar desabilitado caso a ajuda on-line ainda no estiver sido gerada.
8.1.5
Visualizar
O boto Visualiza, se estiver habilitado, fato que somente ocorrer mediante existncia de um arquivo .CHM no diretrio
do projeto, tem por finalidade ativar o utilitrio HTML Help Workshop Executable do Windows para mostrar a forma final
da ajuda on-line, assim como aparecer para o usurio final. O boto Cancela serve para fechar a janela de documentao
177
e cancelar as operaes.
8.1.6
8.1.6.1
Captura de telas
Algumas telas pertencentes interface fixa da aplicao gerada j foram previamente capturadas e inseridas no texto
dos arquivos-gabaritos. Para estabelecer um padro, resolveu-se capturar essas imagens utilizando-se uma configurao
do Windows, a qual recomendamos seu uso na criao da documentao. Adotando-a, as novas telas capturadas pelo
GAS sero inseridas na documentao com tamanho e cores padronizadas com aquelas, bem como os tamanhos dos
arquivos gerados estaro otimizados.
8.1.6.2
Resoluo
Foi utilizada a resoluo de 800 por 600 pixels para a tela. As imagens so capturadas pelo GAS a partir da sua
apresentao em vdeo e, portanto, telas maiores do que o formulrio principal (MDI) do GAS sero capturadas parcialmente.
Com esta configurao, consegue-se imagens integrais das telas desenhadas para a aplicao. Se necessrio, o projetista
poder aumentar ainda mais a resoluo para que as mesmas sejam capturadas integralmente. Esta configurao pode ser
efetuada na mesma aba utilizada para configurar a quantidade de cores, indicada no item anterior.
8.1.6.3
Aparncia
Utilizou-se o esquema de cores denominado "Padro do Windows". Esta configurao definida na aba denominada "
Aparncia", a qual est localizada na mesma interface dos itens anteriores, por intermdio da lista intitulada "Esquema".
Esta configurao assegura que as novas telas capturadas fiquem da mesma cor das que foram anteriormente capturadas
da interface fixa, mantendo um mesmo padro para a documentao gerada.
8.1.6.4
Momento certo
aconselhvel deixar a criao da documentao para o momento em que o projeto estiver realmente completo, com
todas as informaes feitas em sua forma definitiva, incluindo suas telas nas posies mais apropriadas, telas as quais que
sero capturadas automaticamente pelo GAS e inseridas na documentao. Em se tratando da ajuda on-line, aps a sua
gerao, deve-se clicar sobre o boto Compila para executar a compilao do arquivo de ajuda, de modo que a aplicao
possa assumir a ltima verso deste arquivo.
8.1.7
A documentao gerada
As seguintes peas de documentao podem ser criadas pelo GAS:
8.1.7.1
Projeto fsico
No projeto fsico emitido pelo GAS, a partir do arquivo-gabarito GABPRO.DOC, aparecem todas as especificaes feitas
pelo projetista para a aplicao. As diretivas de substituio, os indicativos e os comandos e condies existentes no texto
do gabarito asseguram que somente texto pertinente a um projeto especfico seja disponibilizado no arquivo resultante.
Opcionalmente, o projetista poder fazer uso dos arquivos-gabaritos GABMANE.DOC, GABPROE.DOC (verso em
espanhol), GABMANI.DOC e GABPROI.DOC (verso em ingls). As janelas de digitao de dados definidas na aplicao
so automaticamente montadas e capturadas pelo GAS, que cria imagens no formato BMP para serem inseridas na
documentao em um local apropriado.
178
Sempre que gerar esta documentao, imprescindvel que o projetista siga os seguintes passos:
Clique sobre o boto Documento para ativar o MS-Word e carregar o Projeto Fsico que acabou de ser criado;
Clique sobre qualquer parte do ndice do documento para selecion-lo;
Pressione F9 para acionar o dilogo Atualizar Campo daquele editor, atualizando o ndice inteiro;
Grave o documento.
A razo disto que o gabarito do Projeto Fsico trabalha com comandos @REPETE para inserir, no documento final, as
tabelas, campos, ndices e outros objetos que existam na definio do projeto e a execuo dos procedimentos acima
assegura que novos objetos que, porventura, tenham sido inseridos no projeto, passem a constar do ndice do documento.
8.1.7.2
8.1.7.3
da
os
de
na
O formato CHM o padro atual de help das aplicaes Windows (98 em diante). O conjunto de gabaritos para este tipo
de help compreende os seguintes arquivos levados na aplicao: MENU.HHC, INICIO.HTM, INDEX.HTM, INDEX.HHK, GABHLP.
HHP e CORPO.HTM.
As regras para a modificao dos gabaritos (insero de diretivas) so as mesmas do formato DOC. No entanto, devido
a se tratar de um conjunto de arquivos de diversos formatos a serem compilados em um s (.CHM), haver a necessidade
de utilizar mais de um editor para fazer as modificaes que julgar necessrias. O editor que utilizamos para arquivos HTM
(normalmente, somente o arquivo CORPO.HTM precisar ser modificado) foi o DreamWeaver da MacroMedia. No entanto,
qualquer outro bom editor pode ser utilizado para editar esses arquivos. Outro arquivo que, normalmente, necessitar de
modificaes o MENU.HHC, o qual dever ser editado com o Bloco de Notas do Windows (NOTEPAD.EXE).
A compilao deste conjunto efetuada com o utilitrio HCC.EXE, parte do software HTML Help Workshop, que
acompanha o Service Pack 4 do Visual Basic 6.0 (HTMLHELP.EXE). A instalao do GAS j inclui, no seu diretrio, o
compilador on-line HCC.EXE e HHA.DLL para automatizar o processo de compilao.
O help gerado em um diretrio \HELP, logo abaixo do diretrio da aplicao. Embora no seja necessrio, visto que o
instalador da aplicao final j dever faz-lo, apenas o arquivo NOME_EXEC.CHM dever ser copiado para o diretrio da
aplicao, pois esta s necessitar deste arquivo para exibir a ajuda.
8.1.7.4
179
Diretivas de substituio
As diretivas para a substituio de textos e imagens (BMP) em arquivos-gabaritos utilizadas pelo GAS funcionam como
se fossem variveis cujo valor depende do que foi definido no projeto. Os nomes dessas diretivas foram estabelecidas com
palavras de fcil associao com o seu contedo (mnemnicos) e aparecem sempre com letras maisculas entre colchetes
[ ].
Dentro dos arquivos-gabaritos, quando o projetista desejar inserir uma informao proveniente do projeto, dever utilizar
uma diretiva entre colchetes. Uma diretiva de substituio trocada incondicionalmente pelo seu texto ou imagem
correspondente, sempre que encontrada dentro do arquivo-gabarito, exatamente na mesma posio, mantendo seus
atributos de texto e formatao de pargrafo. No caso de substituio de texto, se o colchete de abertura estiver precedido
do caractere "^", a substituio ser efetuada em maisculas. Por exemplo:
[TITULO_PROJETO] ser substitudo por Controle de estoques (se o projeto o tiver definido)
^[TITULO_PROJETO] ser substitudo por CONTROLE DE ESTOQUES.
A lista a seguir contm a relao, em ordem alfabtica, das diretivas de substituio (ttulo e explanaes) de textos
existentes nos arquivosgabaritos.
8.1.7.4.1.1 Analista
180
8.1.7.4.1.8 COND_EXCLUSAO
Apelido de campo.
8.1.7.4.1.18 CP_CAMPO_ESTRANGEIRO
8.1.7.4.1.19 CP_CASAS_DECIMAIS
Mscara do campo
8.1.7.4.1.22 CP_MSG_AJUDA
Seqncia do campo
8.1.7.4.1.25 CP_TABELA_ESTRANGEIRA
Tamanho de campo
8.1.7.4.1.27 CP_TIPO
Tipo de campo
8.1.7.4.1.28 DATA
Data de hoje
8.1.7.4.1.29 DESCRICAO
Descrio do projeto
8.1.7.4.1.30 DESC_BD
181
182
8.1.7.4.1.31 DESC_TAB
Descrio de tabela
8.1.7.4.1.32 FORM_DIRETA
Chaves do ndice
8.1.7.4.1.36 IND_NOME
Ttulo do relatrio
8.1.7.4.1.54 TABELA_AUXILIAR
183
184
8.1.7.4.1.55 TABELA_BASICA
Nome da tabela
8.1.7.4.1.60 TITULO_JANELA
Ttulo do projeto
8.1.7.4.1.62 TIT_LANCAMENTO
8.1.7.5
185
8.1.7.5.1 BMP_BAJUDA
Boto de cancelar
8.1.7.5.5 BMP_BCONFGRAF
Boto de excluso
8.1.7.5.9 BMP_BFILTRO
186
8.1.7.5.11 BMP_BGRADE
Boto de gravar
8.1.7.5.14 BMP_BIMPRE
Boto de impresso
8.1.7.5.15 BMP_BINCLUI
Boto de incluso
8.1.7.5.16 BMP_BINFODB
187
8.1.7.5.23 BMP_BULTIMO
8.1.7.6
Indicativos ou flags
Os indicativos ou flags so utilizados dentro do texto de um arquivo-gabarito para estabelecer testes executados pelo
GAS a fim de comparar o que est contido no gabarito e o que foi disponibilizado pelo projetista nas especificaes do
projeto. Isto permite ao GAS determinar o que deve ser retirado do arquivo-gabarito e levado para o arquivo de
documentao definitivo. Esses indicativos, diferentemente das Diretivas de Substituio, no so exibidos entre colchetes
(por isso, no podem conter espaos) e so utilizadas sempre aps os Comandos e Condies (@SE... e @REPETE...).
Os indicativos ou flags podem ser concatenados com operadores E, OU e ! (not) com ou sem parnteses. Alguns
exemplos de utilizao de indicativos:
@SE !TEM_VALOR_INICIAL
@SE TEM_COND_INC OU TEM_COND_EXC OU TEM_COND_ALT
@SE[(TEM_COND_INC OU TEM_COND_EXC) E TEM_COND_ALT|Texto1|Texto2]
Na lista a seguir aparecem, alfabeticamente, todos os indicativos utilizados pelo GAS nos arquivosgabaritos e, ao lado, a
sua associao com o que o projetista definiu no projeto:
8.1.7.6.1 AC_ALTERACAO
188
8.1.7.6.4 AC_INCLUSAO
Se o campo seqencial
8.1.7.6.12 CRITICAR
8.1.7.6.16 IND_PRIMARIO
Se o ndice primrio
8.1.7.6.17 IND_UNICO
Se o ndice nico
8.1.7.6.18 INT_1-N
189
190
8.1.7.6.28 QDE_INT_CPS
8.1.7.6.40 TEM_BAPAGACOL
191
192
8.1.7.6.52 TEM_BINCLUI
8.1.7.6.64 TEM_COND_ALT_REG
193
194
8.1.7.6.76 TEM_FORMULA_INV_PRO
8.1.7.6.88 TEM_MCONSULTA
195
196
8.1.7.6.100 TEM_MREPARA
197
8.1.7.6.112 TEM_SENHA
8.1.7.7
Indicativos do projetista
Se desejar, o projetista poder criar os seus prprios indicativos para inserir texto nos gabaritos, exatamente da mesma
forma como feito para os indicativos desta tabela, obervando que no podem conter espaos. Quando o GAS encontrar
um indicativo que no seja seu (no esteja na tabela) assumir que um indicativo criado pelo projetista. Quando isto
acontecer, o GAS far uma pausa, mostrar o indicativo e perguntar ao projetista se o texto correspondente deve ou no
ser inserido na documentao resultante.
8.1.7.8
Comandos e condies
A fim de permitir ao GAS decidir o que dever ser disponibilizado na documentao a ser criada, existe dentro dos
arquivos-gabaritos alguns comandos e condies para insero de texto. Os comandos e condies sempre so iniciados
pelo caractere @ (arroba), no podendo conter espao entre este caractere e o comando que segue. As condies para a
colocao de texto podem ser estabelecidas de duas formas:
8.1.7.8.1 SE
uma condio com uma nica possibilidade. O indicativo avaliado pelo GAS de acordo com o que o projetista tenha
colocado nas especificaes da aplicao. Sua frmula genrica :
@SE indicativo
198
Texto...
Texto...
...
@FIM SE [indicativo]
Observe o exemplo:
@SE TEM_TELAINICIAL
Tela de apresentao: [TELA_INICIAL]
@FIM SE TEM_TELAINICIAL
Se o GAS verificar que o indicativo TEM_TELA_INICIAL verdade (se o projetista optou por gerar uma tela inicial para a
aplicao), disponibilizar a figura correspondente na documentao. Observe que a abertura de um bloco SE implica no
seu fechamento com a instruo @FIM SE correspondente, sem o qual ocorrer um erro. A insero do indicativo na frente
do fechamento do bloco opcional, servindo apenas para facilitar o controle dos blocos inseridos no gabarito.
8.1.7.8.2 SE Linear
uma condio com duas possibilidades. O indicativo avaliado pelo GAS de acordo com o que o projetista tenha
disponibilizado nas especificaes da aplicao. Sua frmula genrica :
@SE[indicativo|TEXTO1|TEXTO2]
Se "indicativo" for verdade, o GAS inserir na documentao gerada o texto correspondente a TEXTO1; caso contrrio,
inserir o texto correspondente a TEXTO2. No exemplo a seguir, Segurana: @SE[TEM_SENHA|Com|Sem] senhas Se o GAS
verificar que o indicativo TEM_SENHA verdade (se o projetista disponibilizou o plano de senhas na rvore), inserir o texto
"Com" na frente de " senhas" na documentao gerada; seno, inserir a palavra "Sem ".
8.1.7.8.3 REPETE
Define uma condio de repetio cujo nmero de vezes est em indicativo, que avaliado pelo GAS de acordo com o
que o projetista definiu nas especificaes da aplicao. Sua frmula genrica :
@REPETE indicativo
Texto...
Texto...
...
@FIM REPETE [indicativo]
No exemplo a seguir o GAS ir verificar quanto vale QDE_CAMPOS_ALVO e repetir as informaes existentes, entre o
@REPETE... e o @FIM REPETE..., o nmero correspondente de vezes.
@REPETE QDE_CAMPOS_ALVO
@SE TEM_VALOR_LANC
Campo: [CP_ALVO_LANC]
Com a expresso: [VALOR_LANC]
@FIM SE TEM_VALOR_LANC
@FIM REPETE QDE_CAMPOS_ALVO
199
Captulo
IX
Captulo 9 - Gerao do Instalador e Adaptador de Banco
201
9.1
9.2
Figura 9.1
202
Figura 9.2
Basta informar diretamente no campo ou utilizar o boto com reticncias para capturar o nome do arquivo MDB a adaptar
e clicar sobre o boto Ok. Durante o processo de adaptao, quando este utilitrio adaptador encontrar alguma incoerncia
entre as estruturas antiga e nova, apresentar dilogos solicitando informaes do usurio, como nos exemplos das figura
9.3 e 9.4:
203
Figura 9.3
Neste exemplo, o adaptador encontrou uma tabela (ENCOMENDAS) que no existia na estrutura anterior e est
solicitando ao operador para eleger uma das tabelas da lista como base para a nova tabela. Se desejar, o operador poder
cancelar ou ignorar esta operao. Poder tambm escolher uma tabela e prosseguir com a operao.
Figura 9.4
Neste outro exemplo, o adaptador solicita para entrar com a correspondncia de campos anterior e atual de uma das
tabelas do banco de dados. Quando o usurio clica em um dos campos, um boto marcado com reticncias aparece para
ser clicado e apresentar os campos disponveis em uma lista.
O projetista poder ainda adicionar valores pr-fixados no momento da adaptao dos bancos de dados, bastando para
isso preencher o novo campo com o contedo desejado, sendo este replicado para todos os registros da tabela. Aps o
trmino da converso, o adaptador avisa que renomeou o arquivo antigo para a extenso .ANT (anterior).
9.3
204
Figura 9.5
Selecione ou informe o diretrio onde esto os arquivos DBF;
Faa a associao das tabelas sob o ttulo No MDB, onde esto as tabelas da estrutura criada para o projeto, e sob o
ttulo No DBF, onde devero estar os nomes dos arquivos DBF correspondentes. Pode-se clicar sobre o boto
marcado com reticncias para capturar o nome do arquivo;
Para cada tabela que tenha sido associada, faa tambm a associao dos campos correspondentes, ou seja, na
frente de cada campo do MDB, informe qual o campo do arquivo DBF que ser utilizado para preench-lo. Aqui
tambm poder ser utilizado o boto de reticncias para capturar o nome do campo desejado;
Clique sobre o boto Prossegue.
O GAS gerar um projeto em Visual Basic do utilitrio conversor de nome CONVDBF, totalmente independente. Isso
significa que este poder ser selecionado para ser compilado na janela de gerao de executveis do GAS para
posteriormente ser levado ao equipamento do usurio, onde quer que esteja. Lembre que o arquivo .DEF correspondente ao
projeto dever ser levado em conjunto ao programa executvel do conversor para o equipamento do usurio. Sua presena
se faz necessria devido ao fato de que nele esto contidas as definies da estrutra do banco de dados MDB para a qual
os DBF sero convertidos. Durante a converso dos dados, os seguintes aspectos devem ser observados:
uma vez que este utilitrio normalmente gerado em um equipamento (o do projetista) e utilizado em uma mquina
diferente (a do usurio), durante o processo de sua criao, necessrio que uma cpia dos arquivos DBF a serem
convertidos (mesmo que vazios) estejam presentes na mquina do projetista. Isto explicado pelo fato de que o GAS
precisa conhecer as suas estruturas para criar corretamente as correspondncias na estrutura do MDB;
todos os campos do tipo numrico dentro dos arquivos DBF sero transformados para preciso dupla no arquivo MDB.
Isto se deve ao fato de que, nas linguagens XBase que manipulam arquivos DBF, o tipo de dado numrico alcanava sempre
19 dgitos numricos, enquanto que, no mbito do Visual Basic, os campos numricos possuem diversos tipos dependendo
da magnitude de seus valores;
campos do tipo memo nos arquivos DBF que eram acentuados (dentro das aplicaes criadas pelo GASPro DOS) tero
a acentuao automaticamente convertida para o padro Windows;
erros de converso que porventura ocorram durante a execuo so gravados em um arquivo .LOG e, ao final da
converso, se existir algo a ser exibido, o utilitrio conversor oferecer a opo de visualizar este arquivo por intermdio do
programa WordPad do Windows;
205
A operao deste utilitrio bastante simples, no requerendo muitos detalhes uma vez que o GAS j disponibilizou, em
seus programas, todos os detalhes informados pelo projetista. Quando executado, o utilitrio apresenta uma tela
semelhante da figura 9.6:
Figura 9.6
A partir desta tela, o projetista dever proceder conforme segue:
informar o diretrio onde esto os arquivos DBF a converter. O boto extensor (com reticncias) abre um dilogo para
a escolha do diretrio de origem;
informar o diretrio de destino, onde as informaes convertidas sero gravadas no MDB. Aqui tambm, o boto
extensor (com reticncias) abre um dilogo para a escolha do diretrio de destino;
se o arquivo MDB ainda no existir, marcar Criar MDB;
clicar sobre o boto Ok.
Captulo
X
Captulo 10 - Um exemplo prtico
10
207
10.1
208
digitao em Sada de mercadorias, os campos desta tabela so tambm atualizados, de modo que possam espelhar a
quantidade de entradas e sadas de cada item de produto.
Com isto, estaremos conhecendo a definio de lanamentos em tabelas estrangeiras a partir de digitao de
informaes em outras tabelas, inclusive com o estabelecimento de condies para que lanamentos sejam criados (neste
caso, sob a condio do registro no existir na tabela).
10.2
Definio do projeto
Conhecemos alguns aspectos gerais do funcionamento da aplicao exemplo que iremos criar. Vamos, agora, iniciar a
sua criao. Durante este processo, vamos nos ater somente ao aspecto da criao propriamente dita para que as
explicaes no se extendam em demasia. Iremos comentar as aes somente quando for estritamente necessrio. bom
lembrar que, enquanto segue estas instrues, o projetista sempre poder pressionar a tecla F1 para obter ajuda detalhada
para o contexto ou, ainda, para consultar os diversos tpicos da ajuda on-line do GAS.
Acione o GAS, aplicando um duplo-clique sobre o seu cone na pasta onde tenha sido instalado. Ao abr-lo, ser
apresentada a tela "Projetos do GAS" a partir da qual deve ser selecionada a opo Novo projeto localizada na aba
denominada Novo.
A partir do dilogo padro do Windows, informe o nome de arquivo C:\ESTOQUE\EST. Clique em Salvar e em seguida
confirme a criao do diretrio que, por se tratar de um novo projeto, poder no existir em seu computador. Sempre que o
GAS trabalha com um novo projeto, ele cria um banco de dados com o nome informado e com a extenso .GAS para que
sejam armazenadas as definies que sero digitadas para este novo projeto. Aps a sua criao, ele carrega diversas
definies default e as apresenta na rvore ou modelador do projeto. A partir deste ponto, o trabalho de modelagem pode
ser iniciado. A figura 10.1 exibe a rvore default para o novo projeto com o qual iremos trabalhar.
209
Figura 10.1
Clique com o boto direito do mouse sobre o primeiro mdulo da rvore (SEM NOME DEFINIDO) e selecione a opo
"Define o mdulo selecionado". A janela de definio do projeto apresentada.
210
Figura 10.2
10.2.2 Estrutura do BD
A seguir, clique na aba intitulada Estrutura. Aqui, vamos definir os aspectos mais importantes da aplicao: o banco de
dados e sua estrutura. A tela da figura 10.3 apresentada. Os botes existentes nesta janela tm, pela ordem, a finalidade
de:
gravar as informaes digitadas;
cancelar as informaes digitadas;
adicionar item na lista, dependendo da que estiver selecionada;
apagar um item da lista, dependendo da que estiver selecionada.
211
Figura 10.3
Vamos comear definindo um banco de dados de nome ESTOQUE. Em seguida vamos definir a sua estrutura inserindo
primeiramente as tabelas e, em cada uma delas, os campos que a comporo. Convm observar que, a partir da definio
das tabelas, no existe uma regra exata para executarmos esta tarefa. Por exemplo, podemos adicionar primeiramente todas
as tabelas e depois, selecionando uma a uma, definir os seus campos, ndices e integridades. Podemos tambm, a cada
tabela inserida, definir esses atributos imediatamente. Para facilitar as explicaes, neste exemplo, vamos inserir
primeiramente todas as tabelas e depois trabalharemos com os seus atributos.
10.2.4 Tabelas
Clique sobre a lista tabelas e sobre o boto de adicionar para inserir as informaes constantes da tabela a seguir:
Durante esta operao, observe os seguintes detalhes:
aps a insero de uma tabela, o boto de gravao deve ser clicado para salvar as informaes;
a cada nova tabela inserida o boto de adicionar dever ser novamente acionado;
para efeito do nosso exemplo, a informao "Descrio da tabela" no vital, sendo, no entanto, interessante para
212
verificar onde e como esta informao ser utilizada quando o GAS criar a documentao da aplicao;
o apelido inserido automaticamente pelo GAS, no havendo necessidade de ser modificado.
Ttulo
Descrio da tabela
Fornecedores
Indexadores
Notas Fiscais
Itens da NF
Contas a Pagar
Movimentao de
produtos
Produtos em
estoque
Sadas de
mercadorias
mercadorias do estoque
Parmetros do
sistema (*)
(*) A tabela Parmetros do sistema a nica que dever ser marcada como sendo do tipo parmetro, na respectiva
caixa de verificao que aparece no canto inferior esquerdo da tela em questo.
213
Selecione a tabela Fornecedores, clique na lista de campos e, depois, no boto de adicionar. Informe os campos de
Fornecedores. Para o atributo Ajuda, digite a informao que desejar ou aceite o que o GAS ofereceu como default:
Atributo
Nome
Cdigo do fornecedor
Tipo
Numrico
Apelido
Codigo_do_fornecedor
Tamanho
Mscara
9999
Atributo
Informe ou selecione
informe ou selecione
Nome
Nome do fornecedor
Tipo
Caractere
214
Apelido
Nome_do_fornecedor
Tamanho
40
Mscara
@!
Atributo
informe ou selecione
Nome
Contato
Tipo
Caracter
Apelido
Contato
Tamanho
30
Mscara
@!@A
Atributo
informe ou selecione
Nome
Telefone do fornecedor
Tipo
Fone
Apelido
Telefone_do_fornecedor
Tamanho
16
Mscara
999-99-#999-9999
Atributo
Nome
informe ou selecione
Ramal
Tipo
Caracter
Apelido
Ramal
Tamanho
Mscara
@!
Atributo
215
informe ou selecione
Nome
Fax
Tipo
Fone
Apelido
Fax
Tamanho
16
Mscara
999-99-#999-9999
10.2.4.1.2 Indexadores
Selecione a tabela Indexadores, clique na lista de campos e, depois, no boto de adicionar. Informe os campos da tabela
Indexadores.
Atributo
informe ou selecione
Nome
Data
Tipo
Data
Apelido
Data
Mscara
999-99-#999-9999
216
Atributo
informe ou selecione
Nome
Valor
Tipo
Numrico
Apelido
Valor
Tamanho
12
Decimais
Mscara
999.999.999,99
Selecione a tabela Parmetros, clique na lista de campos e, depois, no boto de adicionar. Informe os campos da tabela
"Parmetros do sistema".
Atributo
informe ou selecione
Nome
Nome da moeda
Tipo
Caractere
Apelido
Nome_da_moeda
Tamanho
10
Mscara
@!@A
Atributo
informe ou selecione
Nome
Sigla da moeda
Tipo
Caractere
Apelido
Sigla_da_moeda
Tamanho
Mscara
@!
217
Selecione a tabela "Produtos em estoque", clique na lista de campos e, depois, no boto de adicionar. Informe os campos
da tabela "Produtos em estoque", que conter os dados cadastrais dos produtos, com quantidades, preos, etc.
Atributo
informe ou selecione
Nome
Cdigo
Tipo
Numrico
Apelido
Codigo
Tamanho
Mscara
999
Atributo
Nome
Descrio do produto
Tipo
Caractere
Apelido
Descricao_do_produto
Tamanho
30
Mscara
@!
Atributo
informe ou selecione
informe ou selecione
218
Nome
Unidade
Tipo
Lista interna
Lista
Un|Cx|Lt|Mt
Apelido
Unidade
Observe que o campo acima de um tipo especial, onde as opes digitadas em Lista, separadas pelo caractere "|",
podero ser selecionadas pelo usurio final, por meio de um objeto denominado combobox, que uma lista que aparece
sempre fechada e que pode ser aberta para seleo. em estoque", que conter os dados cadastrais dos produtos, com
quantidades, preos, etc.
Atributo
informe ou selecione
Nome
Referncia tcnica
Tipo
Memo
Apelido
Referencia_tecnica
Este campo do tipo textual, apresentado para digitao em uma rea com mltiplas linhas (textbox multiline).
Atributo
informe ou selecione
Nome
Quantidade em estoque
Tipo
Numrico
Apelido
Quantidade_em_estoque
Tamanho
Mscara
999.999
O campo acima receber processamentos com as quantidades digitadas na NF e nas movimentaes de sada, sendo,
por isso, definido mais adiante como "No editvel", ou seja, o usurio nunca digitar informaes neste campo. Campos no
editveis so definidos normalmente, como qualquer outro tipo de campo, sendo que, quando o inserirmos na tela,
219
designaremos a propriedade Editvel para o valor No, como veremos mais adiante.
Atributo
informe ou selecione
Nome
Quantidade em estoque
Tipo
Rotativo
Apelido
Quantidade_minima
O campo acima tambm de um tipo especial. Um campo do tipo rotativo sempre um valor do tipo inteiro e, na tela,
aparece com dois objetos associados: uma caixa de texto para digitao e uma barra de rolagem, onde o usurio pode clicar
para incrementar ou decrementar o valor numrico existente no campo. Este campo do nosso exemplo conter a quantidade
mnima em estoque a ser considerada para efetuar pedidos ao fornecedor.
Atributo
informe ou selecione
Nome
Preo de custo
Tipo
Numrico
Apelido
Preco_de_custo
Tamanho
12
Decimais
Mscara
999.999.999,99
Atributo
informe ou selecione
Nome
Preo indexado
Tipo
Numrico
Apelido
Preco_indexado
Tamanho
10
220
Decimais
Mscara
9.999.999,99
Atributo
informe ou selecione
Nome
Lucro bruto
Tipo
Numrico
Apelido
Lucro_bruto
Tamanho
Decimais
Mscara
999,99
Atributo
informe ou selecione
Nome
Perecvel
Tipo
Lgico
Apelido
Perecivel
O campo acima tambm de um tipo especial. Ser apresentado em uma check box, na qual o usurio marcar ou
desmarcar a opo.
Atributo
Nome
Informe ou selecione
Localizao do produto
Tipo
Optativo
Lista
Loja|Depsito|Fornecedor
Apelido
Localizacao_do_produto
221
O campo acima tambm tem tipo especial, cujas informaes inseridas em Lista, separadas pelo caractere "|",
aparecero dentro de objetos tipo botes de rdio, circunscritas dentro de uma moldura (frame) com o ttulo do campo.
Atributo
Informe ou selecione
Nome
Foto do produto
Tipo
Multimdia
Apelido
Foto_do_produto
Campos do tipo multimdia, como o definido acima, aparecem com dois objetos associados quando inseridos na tela: um
para apresentar a multimdia e outro (boto) para permitir a carga da multimdia. Neste nosso exemplo, inserimos este tipo de
campo para exibir a figura do produto em estoque.
Atributo
Informe ou selecione
Nome
Tipo
Data
Apelido
Data_ultima_atualizacao
Mscara
99/99/9999
O campo acima receber um processamento com a ltima data em que foi atualizado (entradas e sadas) e ser, por
isso, definido como "No editvel", a exemplo do campo "Quantidade em estoque" j definido nesta tabela. Lembre-se
sempre que campos no editveis so definidos normalmente, como qualquer outro tipo de campo, sendo que, quando o
inserirmos na tela, designaremos a propriedade Editvel para o valor No, como veremos mais adiante.
10.2.4.1.5 Contas a pagar
Selecione a tabela "Contas a pagar", clique na lista de campos e, depois, no boto de adicionar. Informe os campos da
tabela "Contas a pagar". Esta tabela receber lanamentos de contas a pagar, que, neste exemplo, sero representadas
pelos valores totais dos itens digitados da NF.
222
Atributo
informe ou selecione
Nome
Nmero do lanamento
Tipo
Numrico
Apelido
Numero_da_lancamento
Tamanho
Mscara
999.999
Sequncia
O primeiro campo desta tabela tem duas particularidades que merecem meno:
a primeira delas que vamos definir este campo para ser incrementado automaticamente de 1 em 1. Por isso, definimos
o valor 1 para Seqncia;
a segunda que este campo ser definido como "No editvel", conforme j vimos em dois campos da tabela "Produtos
em estoque", para que o usurio no tenha acesso.
Atributo
informe ou selecione
Nome
Nmero da NF
Tipo
Numrico
Apelido
Numero_da_nf
Tamanho
Mscara
999
Atributo
Informe ou selecione
Nome
Data
Tipo
Data
Apelido
Data
Mscara
99/99/9999
Atributo
223
Informe ou selecione
Nome
Valor
Tipo
Numrico
Apelido
Valor
Tamanho
12
Decimais
Mscara
999.999.999,99
Selecione a tabela "Notas Fiscais", clique na lista de campos e, depois, no boto de adicionar. Informe os campos da
tabela "Notas Fiscais". Esta tabela conter os dados gerais das NF de fornecedores para a entrada de mercadorias em
estoque. Neste sistema, estar fazendo um relacionamento 1-N (pai-filho) com a tabela que iremos definir daqui a pouco: "
Itens da NF". As tabelas so definidas normalmente, como qualquer uma outra e o relacionamento designado em uma
etapa mais adiante.
Atributo
Informe ou selecione
Nome
Nmero da NF
Tipo
Numrico
Apelido
Numero_da_nf
Tamanho
Mscara
999
224
Atributo
Informe ou selecione
Nome
Data
Tipo
Data
Apelido
Data
Mscara
99/99/9999
Vamos abrir um parnteses para efetuarmos alguns comentrios sobre este campo, o que se aplica tambm a outros
campos existentes nas diversas tabelas desta aplicao (Cdigo do fornecedor, Nmero da NF, etc). Observe que este
campo existe em cinco tabelas:
Indexadores
Contas a pagar
Notas Fiscais
Movimentao de produtos, a ser definida mais adiante
Sadas de mercadorias, tambm a ser definida
Na verdade eles tm correspondncias diretas, pois as datas que nelas existem, na digitao da "Nota Fiscal" e das
"Sadas de mercadorias", so verificadas na tabela de Indexadores e, no trmino da digitao da NF, esta data ser inserida
nas tabelas de "Contas a pagar" e "Movimentao de produtos". Por esta razo, estes campos so tratados no dicionrio de
dados do GAS como sendo o mesmo campo, ou seja, se voc alterar qualquer um de seus atributos, como, por exemplo, o
seu nome, o GAS ir tambm alter-lo, automaticamente nas demais tabelas j definidas na aplicao, tanto na estrutura da
tabela quanto em validaes e rotinas escritas manualmente; enfim, em qualquer ponto da definio onde aparea.
Atributo
informe ou selecione
Nome
Cdigo do fornecedor
Tipo
Numrico
Apelido
Codigo_do_fornecedor
Tamanho
Mscara
9999
O campo acima definido tambm tem uma particularidade interessante. Trata-se de um campo de "caracterstica" Lista
Externa, isto , no momento da digitao desta informao pelo usurio, uma lista com os nomes dos fornecedores estar
225
disponvel para seleo. Entretanto, apenas o "Cdigo do fornecedor" ser gravado nesta tabela.
Voc deve ter notado que o campo de "caracterstica" Lista Externa, que mencionamos acima, no aparece na lista de
tipos de campos para ser selecionado, como aparece, por exemplo, a Lista Interna. Acontece que um campo com esta
caracterstica pode ser de qualquer tipo, como, por exemplo, numrico, data, caractere, etc., razo pela qual no aparece
naquela lista e deve ser definido de maneira diferente, quando da formatao da tela para esta tabela, um pouco mais
adiante neste captulo.
Atributo
informe ou selecione
Nome
Valor
Tipo
Numrico
Apelido
Valor
Tamanho
12
Decimais
Mscara
999.999.999,99
Este campo ser destinado a sofrer um processamento a cada registro digitado na entrada de produtos, com uma
frmula que acumule o valor total da NF. Ser tambm definido como "No editvel", quando o inserirmos na tela.
10.2.4.1.7 Itens da NF
Selecione a tabela "Itens da nf", clique na lista de campos e, depois, no boto de adicionar. Informe os campos da
tabela "Itens da NF". Esta tabela estar relacionada com a tabela "Notas Fiscais", numa relao (filho-pai ou N-1), a ser
estabelecida mais adiante.
Atributo
Informe ou selecione
Nome
Nmero da NF
Tipo
Numrico
Apelido
Numero_da_nf
Tamanho
Mscara
999
226
Este campo est sendo definido nesta tabela porque pretendemos criar um relacionamento N-1 com a tabela de "Notas
Fiscais" definida anteriormente. Por isso, este campo o mesmo que existe naquela tabela e, no momento apropriado,
utilizaremos este campo para unir essas duas tabelas.
O campo Cdigo, que iremos definir a seguir, o cdigo do produto, ou seja, o mesmo existente na tabela "Produtos
e m estoque".
Atributo
Informe ou selecione
Nome
Cdigo
Tipo
Numrico
Apelido
Codigo
Tamanho
Mscara
999
Atributo
Informe ou selecione
Nome
Quantidade entrada
Tipo
Numrico
Apelido
Quantidade_entrada
Tamanho
Mscara
9.999
Atributo
Informe ou selecione
Nome
Valor
Tipo
Numrico
Apelido
Valor
Tamanho
12
Decimais
Mscara
999.999.999,99
227
Mais tarde, durante a definio dos processamentos, utilizaremos estes dois ltimos campos em operaes para apurar
o valor total da NF que atualizar as tabelas "Notas Fiscais" e "Contas a pagar".
10.2.4.1.8 Movimentao de produtos
Selecione a tabela "Movimentao de produtos", clique na lista de campos e, depois, no boto de adicionar. Informe os
campos da tabela "Movimentao de produtos". No nosso exemplo, esta tabela receber lanamentos de entradas e sadas
de produtos, mantendo um histrico de entradas e sadas no perodo por produto.
Atributo
Informe ou selecione
Nome
Cdigo
Tipo
Numrico
Apelido
Codigo
Tamanho
Mscara
999
Atributo
Informe ou selecione
Nome
Data
Tipo
Data
228
Apelido
Data
Mscara
99/99/9999
Atributo
Informe ou selecione
Nome
Entradas
Tipo
Numrico
Apelido
Entradas
Tamanho
Mscara
999.999
Atributo
Informe ou selecione
Nome
Sadas
Tipo
Numrico
Apelido
Saidas
Tamanho
Mscara
999.999
229
Finalmente, selecione a tabela "Sadas de mercadorias", clique na lista de campos e, depois, no boto de adicionar.
Informe os campos da tabela "Sadas de mercadorias". Esta tabela ser utilizada para a digitao de requisies de
mercadorias do estoque, efetuando o processamento das baixas de estoque.
Atributo
Informe ou selecione
Nome
Cdigo
Tipo
Numrico
Apelido
Codigo
Tamanho
Mscara
999
Atributo
Informe ou selecione
Nome
Data
Tipo
Data
230
Apelido
Data
Mscara
99/99/9999
Atributo
Informe ou selecione
Nome
Quantidade de sada
Tipo
Numrico
Apelido
Quantidade_de_saida
Tamanho
Mscara
9.999
Atributo
Informe ou selecione
Nome
Valor
Tipo
Numrico
Apelido
Valor
Tamanho
12
Decimais
Mscara
999.999.999,99
231
At este ponto, j efetuamos as definies das tabelas e seus campos. Vamos, agora, definir os ndices e integridades
entre as tabelas.
No existe a obrigatoriedade da criao de ndices. Em alguns casos, eles so criados para garantir a integridade e
relacionamentoentre tabelas ou, ainda, para proporcionar uma ordem de navegao dentro da tabela correspondente, bem
como pesquisas rpidas aos seus registros. No entanto, o usurio da aplicao final gerada poder estabelecer seu prprio
critrio de ordenao de registros, independente dos ndices criados pelo projetista. Existe, ainda, o caso especial da tabela
do tipo parmetro, que no pode conter ndice definido, uma vez que tabelas desse tipo contm somente um registro.
10.2.4.2.1 Contas a pagar
Para esta primeira tabela, definiremos dois ndices, cada um deles com um campo:
Ttulo
Tipo
Campos
Lanamento
Primrio nico
Nmero do lanamento
Tipo
nico
Nmero da NF
232
10.2.4.2.2 Fornecedores
Ttulo
Tipo
Campos
Cdigo do fornecedor
Primrio nico
Cdigo do fornecedor
Nome decrescente
Decresc
Nome do fornecedor
A informao Decrescente deve ser marcada para cada campo selecionado para compor o ndice e antes de
selecion-lo. Esta marcao tem utilidade somente neste momento, no sendo atualizada durante a visualizao deste ndice.
Observe o sinal de menos (-) que inserido frente do nome do campo que tenha a informao Decrescente na
expresso do ndice.
10.2.4.2.3 Indexadores
Ttulo
Data
Tipo
Primrio nico
Campos
Data
10.2.4.2.4 Itens da NF
Para esta tabela, definiremos um s ndice, sendo ele composto de dois campos:
Ttulo
Tipo
Campos
Nmero da nf
NF e produto
Primrio nico
Cdigo
Para esta tabela, definiremos um ndice composto pelos campos "Cdigo do Produto" e Data:
Ttulo
Tipo
Cdigo e data
Primrio nico
Campos
Cdigo
Data
A tabela "Notas Fiscais" conter apenas um ndice simples pelo campo "Nmero da NF":
Ttulo
Tipo
Nmero da NF
Primrio nico
Campos
Nmero da nf
233
234
Para esta tabela no iremos - nem podemos - definir ndices. Para tabelas do tipo parmetro no podem ser definidos
ndices, pois tabelas desse tipo contm um s registro. Este registro criado quando da criao do prprio banco de dados
e, posteriormente, o usurio s ter permisso para modificar este registro e nunca incluir nesta tabela.
Aqui, definiremos dois ndices para permitir ao usurio navegar no cadastro de produtos em funo da ordem do "
Cdigo do produto" e da "Descrio do produto":
Ttulo
Cdigo
Tipo
Primrio nico
Descrio
Campos
Cdigo
Descrio do produto
Nesta tabela, vamos observar algo diferente. Primeiramente, iremos definir para a mesma um ndice composto de dois
campos:
Ttulo
Tipo
Campos
Cdigo
Cdigo e data de sada
Data
Como poderemos ter registros com um mesmo cdigo de produto em uma mesma data (sadas das mercadorias), este
ndice no pode ter atributos Primrio ou nico. Isto acarretar o seguinte comportamento na aplicao final, com referncia
a esta tabela: a operao de filtragem de registros ficar desabilitada, no sendo possvel o usurio selecion-la. Isto
acontece devido ao fato de que, para a apresentao de um conjunto de registros referente a um critrio de filtragem,
criado um objeto (dynaset) que no trabalha diretamente com a tabela e, sim, com uma cpia de um subconjunto de seus
registros.
235
Sem um ndice primrio ou nico nesta tabela, no h meios de, num tempo aceitvel, vincular um determinado registro do
filtro com o registro daquela tabela.
Para solucionar este problema, vamos usar o seguinte artifcio:
criaremos um campo invisvel e seqencial nesta tabela;
criaremos um outro ndice para esta tabela, com atributo nico , em funo deste novo campo. Sendo assim, clique
sobre a lista de campos e adicione mais este:
Atributo
Informe ou selecione
Nome
Controle de filtro
Tipo
Numrico
Apelido
Controle_de_filtro
Tamanho
Mscara
9999
Sequncia
Invisvel
Pronto! Agora, podemos criar um ndice em funo deste campo. Clique sobre ndices e adicione:
Ttulo
Controle filtro
Tipo
nico
Campos
Controle filtro
No entanto, outro mtodo para filtrar informaes em consultas ou janelas de dados (visualizadas na forma de grid)
poder ser utilizado. Esse mtodo, denominado de filtragem dinmica, poder ser acionado com o simples preenchimento do
campo localizado sobre as colunas do grid.
236
10.2.4.3 Integridades
As integridades de relacionamentos podem ser criadas para assegurar o funcionamento correto da aplicao. Esses
relacionamentos podem ser 1-1 (referencial) e 1-N (pai e filho), conforme veremos a seguir. As regras de criao das
integridades so as seguintes:
selecione uma tabela na lista Tabelas;
clique na lista Integridades;
clique no boto de adicionar;
informe os dados necessrios;
clique sobre o boto de gravao.
10.2.4.3.1 Notas Fiscais
Selecione esta tabela e clique na lista Integridades. Vamos criar duas integridades referenciais, respectivamente, com
Indexadores e Fornecedores, de modo que um registro de qualquer uma dessas tabelas no possa ser apagado se estiver
sendo referenciado por uma NF.
Ttulo
Indexadores
Tipo
1-1
Tabela e campo
estrangeiro
Indexadores/Data
Cp tab bsica
Data
No se esquea de, neste ponto, clicar sobre o boto de concatenao para que o campo selecionado seja assumido
como campo de unio entre as tabelas.
boto de concatenao
Ttulo
Tipo
Tabela e campo
estrangeiro
237
Cp tab bsica
Fornecedores/
Fornecedores
1-1
Cdigo do fornecedor
Cdigo do fornecedor
Agora, vamos criar uma outra integridade 1-N (pai-filho) com "Itens da NF". Neste tipo de relacionamento, quando uma
NF excluda, todos os seus itens so excludos automaticamente.
Ttulo
Tipo
Tabela e campo
estrangeiro
Cp tab bsica
Itens da nf/
Itens
1-N
Nmero da NF
Nmero da NF
10.2.4.3.2 Itens da nf
Selecione esta tabela, clique na lista Integridades e vamos adicionar uma integridade para impedir o apagamento de
registros dentro da tabela de "Produtos em Estoque" que estejam sendo referenciados na tabela "Itens da nf".
Ttulo
Produtos
Tipo
1-1
Tabela e campo
estrangeiro
Produtos em
Cdigo
estoque/
Cp tab bsica
Cdigo
238
Selecione esta tabela, clique na lista Integridades e vamos adicionar uma integridade que forar o apagamento
automtico dos registros de "Movimentao de produtos" referentes a um produto que tenha sido apagado do cadastro.
Ttulo
Movimentao
Tipo
1-N
Tabela e campo
estrangeiro
Movimentao
produtos/ Cdigo
Cp tab bsica
de
Cdigo
Finalmente, selecione esta tabela, clique na lista Integridades e sobre o boto de adicionar para criar mais uma
integridade. Esta impedir que um registro da tabela "Produtos em estoque" seja apagado se existir um registro de sada para
o mesmo.
Ttulo
Produtos
Tipo
1-1
Tabela e campo
estrangeiro
Produtos em
Cdigo
estoque/
Cp tab bsica
Cdigo
Aps a entrada das informaes da estrutura do banco de dados da nossa aplicao, podemos, ainda, definir outros
aspectos, dos quais, para este exemplo, vamos apenas criar a tela de apresentao.
239
Figura 10.5
240
Figura 10.6
Esta janela tem por finalidade definir a posio de insero do novo mdulo. Ela exibe s os mdulos que ficaro no
mesmo nvel do mdulo inserido, permitindo a seleo do mdulo aps o qual o novo mdulo ficar. Aplique um duplo-clique
sobre Exibir. Observe que um mdulo do tipo menu, intitulado Menu foi inserido logo abaixo da opo Exibir. Agora, selecione
e clique sobre o mesmo e altere o seu nome para &Tabelas. Observe que o caractere "&" utilizado para indicar que a letra
que o segue imediatamente ser utilizada como atalho (hot key) para a opo, aparecendo sublinhada no menu da aplicao
final, pois a estrutura que aparece na rvore do projeto espelha exatamente a estrutura de menus da aplicao final.
Posteriormente, voc poder reparar que existe outra maneira de alterar os nomes das opes que aparecem na rvore.
Agora, repita os passos a seguir, por duas vezes, observando que, na primeira vez, o passo 3 no ser necessrio,
bastando apenas confirmar a incluso do novo mdulo:
selecione este novo mdulo Tabelas;
insira um mdulo do tipo "Janela de dados" da maneira descrita anteriormente;
aplique um duplo-clique em Tabelas. Com isto, inserimos duas janelas de dados sob o menu Tabelas. O detalhe da
figura 10.7 mostra como dever estar esta parte da rvore do nosso projeto exemplo:
Figura 10.7
At aqui, voc deve ter observado que os mdulos que acabamos de inserir aparecem em uma cor diferente
(normalmente a vermelha), dependendo do que estiver configurado no GAS, pois, para facilitar a visualizao do andamento
241
do trabalho no projeto, existe uma configurao de fontes de letras para mdulos ainda no definidos e para mdulos j
definidos. Vamos, agora, alterar os nomes dessas janelas de dados. Selecione e clique sobre cada uma delas, alterando
seus nomes para &Fornecedores e &Indexadores, respectivamente. A seguir, vamos inserir outro mdulo do tipo menu para
agrupar algumas tabelas que chamaremos Movimentao. Procedendo da mesma forma explicada acima, vamos proceder
conforme se segue:
selecione o ttulo do projeto - o primeiro mdulo da rvore;
insira uma opo de menu logo aps o mdulo Exibir;
altere o seu nome para &Movimentao.
agora, sempre selecionando Movimentao antes de cada insero, insira trs janelas de dados e altere seus nomes
para &Entrada de produtos, &Sada de mercadorias, e &Movimentao de produtos, respectivamente.
A figura 10.8 mostra como dever estar esta parte da rvore.
Figura 10.8
Vamos, agora, inserir um mdulo especial. J vimos que os dados de "Notas Fiscais" tm um relacionamento 1-N com
seus itens. Quando o nosso usurio acabar de digitar os dados genricos de uma NF, gostaramos que passasse
automaticamente a digitar os dados de seus "N" itens. Para que isto acontea, temos de inserir na rvore do projeto, os itens
da NF imediatamente abaixo da janela de digitao dos dados da NF ("Entrada de produtos") de modo subordinado. Para isto,
basta efetuar o que segue: selecione o mdulo "Entrada de produtos" e clique sobre o boto de definies para
estabelecermos a tabela bsica desse mdulo; selecione a tabela "Notas fiscais" na lista denominada "Tabela bsica";
clique no mdulo "Entrada de Produtos" para selecion-lo;
volte arvore do projeto e insira, abaixo do mdulo "Entrada de Produtos", um mdulo do tipo "Tabela em grid"; altere o
seu nome para "Itens da NF".
Nesta ltima insero, voc deve ter observado que, ao clicar sobre o boto de insero, s duas opes de tipo de
mdulo foram oferecidas. que, abaixo de uma janela de dados, somente uma outra janela de dados ou uma tabela em grid
pode ser inserida, efetuando um relacionamento 1-N. Agora, esta parte da nossa rvore dever estar espelhando o que
aparece na figura 10.9 a seguir:
242
Figura 10.9
Precisamos, ainda, inserir mais trs janelas de dados para que, depois, possamos defin-las uma a uma:
selecione o ttulo do projeto e insira uma janela de dados logo aps o mdulo Movimentao, alterando o seu nome para
&Produtos;
novamente, selecione o ttulo do projeto e insira outra janela de dados logo aps Tabelas, denominando-a &Financeiro;
agora, selecione o menu Arquivo e insira outra janela de dados, logo aps Arquivo, denominando-a &Parmetros. Pronto!
Todas as tabelas que criamos na estrutura do banco de dados j tm o seu lugar correspondente na rvore do projeto,
inclusive com os nomes que devero ser utilizados para o seu acionamento, durante a operao da aplicao final.
Conforme j explicado, feche (encolha) novamente o tronco Arquivo na rvore do projeto. Mais tarde, voltaremos a trabalhar
com este mdulo.
Figura 10.10
243
A figura 10.10 exibe como esta parte da rvore do projeto dever estar aparecendo para voc. Podemos, agora, entrar
na parte de definio de cada uma das janelas de dados que inserimos na rvore.
10.2.6.1 Fornecedores
Selecione Fornecedores na rvore do projeto e, em seguida, clique sobre o boto de definio, situado na barra de
ferramentas:
Um clique com o boto direito do mouse sobre a opo Fornecedores e a seleo da opo "Define o mdulo
selecionado" produzir tambm o mesmo efeito, que a apresentao da interface de definio de janelas de dados exibida
na figura 10.11.
244
Figura 10.11
Na primeira aba desta interface, selecione na lista "Tabela Bsica", a tabela Fornecedores e digite as informaes
necessrias para que fique igual ao que representado pela figura 10.10. Durante a entrada dessas informaes, observe
que:
os dados da identificao do form no precisam ser informados, pois so inseridos automaticamente pelo GAS; o
campo "Ttulo no menu" permite a alterao do nome da opo de menu, que aparece na rvore do projeto. Antes, foram
alteradas diretamente na rvore por intermdio da seleo do mdulo e com um clique do mouse;
a informao Identificao ser utilizada para criar o arquivo .FRM que armazena a interface para esta janela;
a informao que aparece em "Ttulo da janela" ser utilizada como ttulo do formulrio (form) correspondente a esta
janela;
clique sobre o boto de gravao para gravar estas informaes.
Acabamos de informar os dados genricos desta janela de dados. Agora, vamos definir a tela de digitao e alterao
dos registros da tabela Fornecedores, bem como os atributos dos campos que sero digitados pelo usurio. A formatao
de telas efetuada ativando-se o Editor de Recursos do GAS. Selecione, na rvore do projeto, o mdulo Fornecedores e
clique sobre o boto que aparece a seguir, situado na barra de ferramentas do GAS:
245
Isto ativar o Editor de Recursos do GAS para a formatao da tela do mdulo de Fornecedores. A janela de
Ferramentas da tela, representada na figura 10.12, dever tambm aparecer. Caso no esteja presente, pressione a tecla
F4 que serve para exib-la ou ocult-la, alternadamente.
A janela de Ferramentas da tela pode ser movida para outras posies da tela, bem como ser redimensionada a gosto do
projetista. Alm desta tela de ferramentas, uma outra janela vazia tambm apresentada para que nela seja projetada a tela
de digitao dos registros.
Figura 10.12
246
observe que dois objetos foram inseridos na tela, no canto superior esquerdo, ambos selecionados (selees mltiplas
so efetuadas utilizando-se a tecla CTRL e um clique sobre o objeto desejado). O objeto label contm o ttulo do campo e o
objeto text box ser destinado entrada de informaes para este campo. Estando selecionados, arraste-os (drag and
drop) para uma posio adequada, como, por exemplo, a que aparece na tela da figura 10.13.
depois, repita esses passos para todos os campos da tabela, selecionando cada um deles e posicionando-os, de modo
que, ao terminar o ltimo campo, voc obtenha uma tela semelhante que aparece na figura 10.14.
Figura 10.13
Figura 10.14
Agora, podemos definir alguns atributos para os campos inseridos na tela, como validaes, pr-validaes, valores
iniciais, etc.
247
Selecione o campo "Cdigo do Fornecedor", clicando sobre o campo destinado a receber essa informao. Observe
que a lista de propriedades da janela de ferramentas de tela se alterou, espelhando as propriedades que podem ser
designadas para este objeto. Vamos estabelecer uma expresso de validao para este campo, de modo que o usurio no
o possa deixar vazio. Procure na janela de propriedades a categoria Atributos e clique sobre a propriedade Validao.
Poderamos digitar diretamente uma expresso para efetuar a validao do campo. No entanto, vamos utilizar a interface do
GAS para montar esta expresso. Por default, o GAS j inseriu uma expresso de validao. Por isso, limpe a expresso
desse campo e clique sobre o boto extensor (com reticncias), direita do atributo Validao, e a tela da figura 10.15 ser
apresentada.
Figura 10.15
boto de concatenao
248
Observe que a nossa expresso de validao j foi montada, aparecendo no espao presente na base da tela. Agora,
para aceitar, clique sobre o boto que aparece a seguir:
A expresso de validao , automaticamente, transferida para a propriedade Validao. A seguir, clique sobre a
propriedade Mensagem Validao e digite a seguinte informao: CDIGO DO FORNECEDOR no pode ser vazio. Esta
mensagem ser apresentada ao usurio quando a expresso de validao falhar. Limpe as validaes dos campos Ramal e
FAX que o GAS inseriu automaticamente. Isto permitir ao usurio deixar esses campos em branco.
Para informar ao GAS que j definimos Fornecedores, clique sobre o referido mdulo na rvore do projeto. Isto fora a
gravao da tela. Agora, aplique um clique com o boto direito do mouse no mesmo mdulo e selecione a opo "Define o
mdulo selecionado" para abrir o form de definio do mdulo. Na aba Geral, marque a opo "Mdulo pronto" e acione
o boto Grava.
10.2.6.2 Indexadores
Aplique um clique com o boto direito do mouse no item Indexadores, na rvore do projeto, selecione a opo "Define o
mdulo selecionado" e informe o que aparece na tela da Figura 10.16.
249
Figura 10.16
Vamos elaborar a tela de digitao para os indexadores. Desta vez, vamos deixar que o GAS a crie para ns,
automaticamente:
acione o Editor de Recursos do GAS, conforme explicado no item anterior;
clique com o boto direito do mouse sobre o boto de criao de tela padro para que seja apresentada a tela da
Figura 10.17.
250
Figura 10.17
a partir da tela da figura 10.17, onde esto as opes da tela padro, altere os parmetros "Margem esq" e "Margem
topo" para o valor 250, clicando sobre o boto Ok em seguida;
agora, clique normalmente sobre o boto de criao de tela padro exibido ainda h pouco.
a tela da Figura 10.18 dever ter sido criada pelo GAS. Agora, se desejar, voc poder aumentar o seu tamanho ou
adapt-la.
Figura 10.18
Tendo terminado as definies deste mdulo, vamos acessar a aba Geral da definio da janela e marcar a opo "
Mdulo pronto", gravando as informaes.
251
10.2.6.3 Produtos
Vamos definir, agora, a janela de "Produtos em Estoque". As definies das janelas de dados so semelhantes em
muitos aspectos; porm, algumas necessitam maiores definies, razo pela qual estamos comeando pelas mais simples e
nos direcionando, em seguida, s que apresentam um grau maior de dificuldade. Aplique um clique com o boto direito do
mouse sobre o item Produtos na rvore do projeto, selecione a opo "Define o mdulo selecionado" e informe os dados da
aba Geral, conforme aparece na Figura 10.19.
Figura 10.19
Clique na aba Processos para que a tela da Figura 10.20 seja apresentada:
252
Figura 10.20
Agora, temos algo diferente. Como j vimos na definio da estrutura do banco de dados, h nesta tabela bsica, alguns
campos que iremos definir como no editveis. Esses campos no sero digitados pelo usurio, sendo atualizados por meio
de processamentos. Vamos definir, agora, um desses processos. O campo "Data ltima atualizao" vai ser atualizado com
a data do sistema (hoje) sempre que acontecer uma modificao no cadastro do produto. Portanto, vamos definir este
processamento para que, quando o usurio cadastrar um produto pela primeira vez, este campo seja atualizado
automaticamente (processamento na prpria tabela).
Posteriormente, a partir de entradas e sadas de produtos que modificam esta tabela, definiremos processos idnticos
para alterar esta data.
Para criar este processamento, proceda conforme os passos abaixo:
clique sobre o boto Adiciona;
digite o ttulo do processo: "Atualiza data";
selecione a tabela alvo: "Produtos em estoque";
selecione o campo alvo: "Data ltima atualizao";
digite no campo frmula direta: Date;
clique sobre o boto Grava para salvar as informaes.
253
Podemos, agora, formatar a tela de digitao de dados para esta tabela, onde tambm veremos algumas novidades.
Clique no boto que j conhecemos para acionar o Editor de Recursos do GAS.
Para formatar a tela da figura 10.21, utilize a experincia que adquiriu na formatao das telas anteriores, alm das
seguintes dicas:
Os objetos painel, frame e tab podem ser utilizados como recipientes para agrupar outros controles. Por isso, so
denominados containers. Observe, por exemplo, o frame Quantidade: para criar este grupo, voc dever tomar os cuidados
a seguir.
coloque o container na tela, neste caso, um frame, e selecione-o;
clique, na janela ferramentas de tela, sobre o campo ou objeto que deseja disponibilizar.
Neste caso, selecione o campo "Quantidade em estoque" na lista. Observe que o campo inserido fica restrito ao seu
container, dentro do qual pode ser alinhado e posicionado;
repita os passos acima para o campo "Quantidade mnima".
designe a propriedade Ttulo do container para Quantidade.
Esses campos, em relao tela, so movimentados sempre por meio de seu container, o qual voc pode selecionar e
arrastar para onde desejar.
Figura 10.21
Voc deve ter observado, ao formatar esta tela, que os objetos associados aos campos variam segundo o seus tipos.
254
O campo Localizao, por exemplo, um campo do tipo optativo, no qual disponibilizado um frame (container) e, dentro
deste, os botes de radio correspondentes s opes. Para alterar a posio deste campo, voc deve selecionar e arrastar
somente o frame (o seu contedo ir junto).
Vamos, agora, conhecer como se evita com que o usurio acesse um campo para digitao. Nesta tabela h dois
campos para os quais desejamos determinar esta situao.
clique na caixa de texto destinada a receber a informao "Quantidade em estoque" para selecion-la;
localize a categoria Comportamento na lista de propriedades da janela de ferramentas de tela e selecione Editvel;
clique no boto extensor (com reticncias), direita da propriedade, e selecione a opo No;
repita os passos acima para o campo "Data ltima atualizao".
A seguir, vamos definir diversos outros atributos de validao para os demais campos desta janela. Selecionando cada
um dos campos na tela, digite as informaes constantes nos quadros a seguir. Para essas definies, voc poder utilizar
a interface de montagem de expresses que j exibimos anteriormente, bem como poder, sempre que desejar selecionar
um nome de campo, utilizar o banco de campos que aparece na figura 10.22.
Figura 10.22
Se o banco de campos no for exibido, automaticamente, quando necessrio, pressione a tecla F5 que tem por
finalidade exibir/ocultar esta janela, alternadamente.
Cdigo
Validao
Not Vazio(Codigo)
Mensagem
Descrio do produto
Validao
Not Vazio(Descricao_do_produto)
Mensagem
Quantidade Mnima
Validao
Not Vazio(Quantidade_minima)
Mensagem
Valor inicial
Preo de custo
Validao
Preco_de_custo > 0
Mensagem
255
256
Preo indexado
Validao
Not Vazio(Preco_indexado)
Mensagem
Lucro bruto
Validao
Mensagem
Valor inicial
30
Limpe as validaes dos campos a seguir, pois eles foram definidos como no editveis:
Quantidade em estoque;
Data ltima atualizao.
Finalmente, para terminar a definio da janela de dados "Produtos em estoque", acesse a aba Geral da janela de
definies e marque a opo "Mdulo Pronto".
257
Figura 10.23
A seguir, vamos utilizar pela primeira vez a aba Tabelas Auxiliares desta janela. Clique sobre esta aba para que a tela da
figura 10.24 seja apresentada:
Figura 10.24
258
Esta interface utilizada para forar a abertura de outras tabelas da aplicao, quando a tabela bsica estiver sendo
acessada.
Neste nosso exemplo, quando o usurio estiver digitando informaes na tabela bsica desta janela que estamos
definindo ("Notas Fiscais"), outras tabelas devero ser acessadas:
a de Indexadores, pois necessitamos exibir uma mensagem mais elucidativa quando o usurio informar uma data na NF
que no tenha um indexador correspondente. Lembre-se que, durante a definio da estrutura do banco de dados, criamos
uma integridade entre "Notas Fiscais" e Indexadores, fato que, por si s, impede que uma NF com data inexistente em
Indexadores seja digitada;
a de "Contas a Pagar", pois naquela tabela ser criado um novo registro (lanamento) contendo o valor total da NF
digitada. Observe que, no caso desta tabela, quando digitarmos a NF, ainda no temos o valor total da mesma, visto que este
ser acumulado a partir dos valores digitados para os itens da NF. Assim, ao digitar a NF, um registro de lanamento ser
criado nesta tabela com o campo Valor zerado e, durante a digitao de cada item da NF, um processamento que iremos
definir em "Itens da NF" ir alterar este campo. Poderamos, tambm, efetuar tal procedimento de uma maneira diferente: no
criaramos este lanamento a partir da digitao em "Notas Fiscais" e, sim, a partir da digitao dos itens (arquivo filho).
Neste caso, porm, teramos que definir uma condio, determinando que o lanamento fosse criado somente se no
existisse (para evitar que cada item criasse um novo lanamento).
Para adicionar essas duas tabelas auxiliares, basta executar as seguintes regras:
clique no boto Adiciona;
selecione a tabela auxiliar a partir da lista "Tabela Auxiliar";
deixe marcada a opo "Forar relacionamento", caso deseje que a aplicao tente se posicionar no registro da tabela
auxiliar. No caso de Indexadores, esta opo deve ficar marcada. J no de "Contas a Pagar", esta opo dever ficar
desmarcada, pois esta tabela ser aberta apenas para a criao de um novo registro, no havendo a necessidade de
relacionamento;
selecione o ndice a ser utilizado, a partir da lista ndice. No caso da tabela auxiliar "Contas a Pagar", esta escolha e as
trs seguintes devero estar desabilitadas, pois, como no foraremos o relacionamento, elas no se aplicaro;
selecione o campo para unir a tabela bsica e a tabela auxiliar;
deixe marcada a opo Criticar para que uma mensagem seja exibida ao usurio, caso o relacionamento no tenha sido
efetuado com sucesso;
digite no campo "Mensagem de crtica" a mensagem que deseja mostrar ao usurio, caso o relacionamento no tenha
sido efetuado com sucesso;
259
clique sobre o boto Grava para salvar as informaes. Inseridas essas duas tabelas auxiliares e com a tabela
Indexadores selecionada, a tela da figura 10.25 dever estar sendo exibida para voc:
Figura 10.25
Agora, vamos definir o primeiro lanamento nesta aplicao, que a criao de um registro na tabela auxiliar "Contas a
Pagar". Clique sobre a aba Lanamentos para que a tela da figura 10.26 seja apresentada:
260
Figura 10.26
Os lanamentos so inseridos de maneira muito semelhante s demais informaes inseridas at agora. Para criar o
lanamento necessrio em "Contas a Pagar", proceda conforme se segue:
clique no boto Adiciona;
no campo Ttulo, informe "Contas a Pagar";
na lista "Tabela alvo" esto as tabelas auxiliares que j determinamos. Selecione a tabela "Contas a Pagar";
em Quantidade, informe o nmero 1 para criarmos apenas um registro.
Efetuamos a primeira parte da definio do lanamento. Com isto, um registro em branco ser criado na tabela "Contas a
Pagar". Agora, necessitamos determinar os valores que iremos inserir em cada um dos campos deste novo registro.
Na parte inferior da tela de definio de lanamentos, representada na figura X.25, apresentada uma grade com os
campos da tabela alvo do lanamento e uma rea intitulada "Expresso a ser colocada no campo alvo", a qual utilizaremos
agora.
at as verses anteriores ao GAS, necessitaramos clicar na rea correspondente ao campo "Nmero de lanamento"
e digitar a seguinte instruo:
261
No entanto, agora tal instruo no mais ser necessria na execuo de nosso lanamento, visto que o GAS j
efetuar, automaticamente, todo controle necessrio para que o autoincremento desse tipo de campo seja efetuado. Voc
deve se lembrar que definimos este campo, na estrutura do banco de dados, como um campo seqencial (de incremento
automtico) e tambm que iramos defin-lo como no editvel.
Exclusivamente para atender a casos de campos seqenciais, o GAS criar na aplicao, automaticamente, a funo
PegaSequencia, que cuida deste detalhe para ns. Os parmetros que sero utilizados pelo GAS nesta funo sero, pela
ordem: nome da tabela que contm o campo seqencial;
nome do campo seqencial;
valor default para iniciar a seqncia;
incremento a ser utilizado.
Assim sendo, basta que deixemos em branco o campo "Nmero de lanamento". clique, agora, na rea correspondente
ao campo "Nmero da nf" e, a partir do banco de campos representado na figura 10.27, aplique um duploclique sobre o
campo "Nmero da nf" (Numero_da_nf). Observe que o campo foi capturado do banco de campos;
Figura 10.27
clique na rea correspondente ao campo Data e capture o campo Data (Data) do banco de campos;
clique sobre o boto Grava para salvar as informaes deste lanamento. J explicamos que o campo Valor ser
processado por meio da digitao na tabela "Itens da NF", razo pela qual no nos preocupamos, agora, com o seu valor.
Agora, para esta janela de dados, falta apenas criar a sua janela de digitao, conforme j efetuamos para aquelas que
262
definimos anteriormente. Porm, neste caso, no vamos faz-la agora! A razo que esta tabela tem uma outra
subordinada, que so os "Itens da nf" (observe na rvore do projeto). Quando o inserimos na rvore do projeto, decidimos
que o mdulo filho seria do tipo Tabela em grid, ou seja, decidimos oferecer ao usurio da nossa aplicao um grid para
digitao dos itens da Nota Fiscal. Necessitamos, primeiramente, definir o mdulo inferior ("Itens da nf") para depois
voltarmos a este ponto do mdulo pai ("Entradas de produtos") e formatarmos a sua tela, inserindo o grid dos itens na
mesma tela. O tpico "Colocando o grid na tela", um pouco mais adiante, descrever a continuao desta definio.
10.2.6.5 Itens da NF
A janela dos itens da NF corresponde aos dados de cada um dos itens de produto recebidos em uma Nota Fiscal de
fornecedor. Aplique um clique com o boto direito do mouse sobre o item "Itens da NF" na rvore do projeto, selecione a
opo "Define o mdulo selecionado" e informe os dados que aparecem na tela da figura 10.28.
Figura 10.28
Clique na aba "Tabelas auxiliares" para definirmos as tabelas que necessitamos abrir quando os itens da NF estiverem
sendo digitados, procedendo de maneira semelhante ao que efetuamos para a janela de dados anterior. Note que, vrias
tabelas j so inseridas automaticamente na lista de tabelas auxiliares. Essas tabelas foram definidas anteriormente no
mdulo-pai, sendo aqui disponibilizadas. Necessitamos abrir a tabela "Produtos em estoque" (cadastro de produtos) com
relacionamento, pois logo definiremos processamentos para creditar a quantidade que est sendo recebida por meio da NF
na quantidade do produto em estoque, alm de outros processamentos.
Informao
263
Contedo
Tabela auxiliar
Produtos em estoque
Forar relacionamento
ndice
Cdigo
Cdigo(Codigo)
Criticar
Mensagem
Produto no cadastrado!
Necessitamos abrir a tabela de "Movimentao de Produtos", pois criaremos um lanamento (quando no existir o
produto na data de entrada da NF) e, em seguida, processaremos o campo Entradas com a quantidade recebida do item.
Observe que, neste caso, necessitamos forar o relacionamento sem controlar se foi ou no efetivado. Por isso,
deixaremos desmarcada a opo Criticar.
264
Informao
Contedo
Tabela auxiliar
Movimentao de produtos
Forar relacionamento
ndice
Cdigo e Data
Cdigo(Codigo)
Campo par unir as tabelas
Notas_fiscais!Data
Observe que, diferentemente de outros mdulos, neste existe uma outra aba denominada Opes na interface de
definio do mdulo. Clique sobre esta aba e a tela da Figura 10.29 ser apresentada.
265
Figura 10.29
Nesta tela, vamos estabelecer quais so os campos de ligao com o mdulo pai. Neste caso, o "Nmero da nf" ser
utilizado. Na lista da esquerda (campos do filho), clique sobre o campo "Nmero da nf".
Observe que o GAS marca automaticamente o campo de mesmo nome na lista da direita, que contm os campos do
mdulo pai. O GAS sempre efetua esta seleo automtica quando encontra na lista da direita um campo com nome e
atributos idnticos ao que foi selecionado na lista da esquerda. O projetista poder aceitar ou no esta seleo. No caso do
nosso exemplo, exatamente isto que necessitamos. Clique no boto de concatenao que j conhecemos e a expresso
de ligao montada automaticamente. Em seguida, clique no boto Grava para salvar essas informaes. Clique na aba
Lanamentos para que possamos definir um lanamento na tabela de "Movimentao de produtos".
Este lanamento dever ser condicional, ou seja, dever obedecer uma determinada condio para ser efetuado. A
tabela "Movimentao de produtos" mantm o controle das quantidades de entrada e sada de cada um dos itens de
produtos, diariamente. Sendo assim, quando estivermos digitando um item de produto, vamos verificar se este item ainda no
existe nesta tabela neste dia e, se isto for verdade, criaremos um novo registro por meio deste lanamento.
A tela da figura 10.30 apresentada para a definio do lanamento.
266
Figura 10.30
clique no boto extensor (com reticncias), no lado direito do campo "Condio incluso lanamento";
a tela de montagem de expresses, j conhecida, ser apresentada; porm, desta vez, utilizaremos a sua segunda
aba, pois montaremos uma expresso que testar a existncia de registro dentro de uma das tabelas auxiliares que
definimos anteriormente. Portanto, clique sobre a aba intitulada "Em Tabela" para que a tela da figura 10.31 seja apresentada:
267
Figura 10.31
selecione a tabela "Movimentacao_de_produtos", a partir desta tela. Observe que a lista de campos disponveis foi
preenchida com campos que podem ser utilizados na expresso que criaremos;
em "Campos disponveis", clique sobre o campo Cdigo (Codigo) da tabela bsica. Voc deve tambm ter observado
que, ao lado do nome dos campos, o tipo dos mesmos vm expressamente designados;
marque o campo "Notas_fiscais!Data";
marque tambm a opo "Negar condio";
clique sobre o boto de concatenar, que j conhecemos;
clique tambm sobre o boto de confirmao, para aceitar as informaes.
Com isto, acabamos de montar a condio para que o lanamento seja efetuado. Agora, vamos estabelecer tambm uma
outra condio para que este lanamento seja retirado da tabela.
marque a opo "Excluir lanamento";
clique sobre o campo "Condio excluso lanamento";
capture, com um duplo-clique, o campo "Movimentacao_de_produtos!Entradas" a partir do banco de campos;
aps transferir este campo, complete para que fique conforme aparece no texto abaixo:
268
Movimentacao_de_produtos!Entradas = 0 AND
agora, posicione o cursor logo aps a palavra AND e capture "Movimentacao_de_produtos!Sadas", da mesma forma
aplicada anteriormente;
finalmente, complete a informao da condio de excluso, digitando um igual seguido de um zero, conforme aparece
a seguir:
... Movimentacao_de_produtos!Sadas = 0
Com isto, fica estabelecido que este lanamento somente ser retirado quando os campos Entradas e Sadas da tabela
auxiliar apelidada de "Movimentacao_de_produtos" estiverem zerados. Para terminar a definio deste lanamento, s nos
resta designar os valores que sero inseridos nos campos do novo registro por ele criado.
na rea "Expresso a ser colocada no campo alvo", clique na rea correspondente ao campo Cdigo;
a partir do banco de campos, capture o campo Cdigo (Codigo) da tabela bsica;
clique na rea correspondente ao campo Data e capture o campo "Notas_fiscais!Data", a partir do banco de campos.
Clique sobre o boto Grava, pois acabamos de definir o lanamento. Observe que este lanamento atualiza somente os
dois primeiros
campos do registro criado (Cdigo e Data), ficando os outros dois campos para serem modificados por meio de
processamentos que definiremos a seguir. Clique sobre a aba Processos e a tela da figura 10.32 ser apresentada:
269
Figura 10.32
J utilizamos esta janela anteriormente, definindo um processamento para o campo "Data ltima atualizao" na janela
de dados de "Produtos em estoque". Procedendo da mesma forma, vamos criar 6 processamentos para serem
executados quando os itens da NF (tabela bsica desta janela) estiverem sendo digitados na aplicao final. Para criar
esses processamentos, lembre-se de que voc poder utilizar o banco de campos para capturar informaes e que cada
processamento iniciado clicando-se sobre o boto Adiciona e terminado clicando-se sobre o boto Grava.
Informao
Contedo a informar/selecionar
Ttulo
Atualiza estoque
Tabela alvo
Produtos_em_estoque
Campo alvo
Quantidade_em_estoque
Frmula direta
Frmula inversa
270
Informao
Contedo a informar/selecionar
Ttulo
ltima atualizao
Tabela alvo
Produtos_em_estoque
Campo alvo
Frmula direta
Date
Informao
Contedo a informar/selecionar
Ttulo
Preo de custo
Tabela alvo
Produtos_em_estoque
Campo alvo
Preo de custo
Frmula direta
Valor
Informao
Contedo a informar/selecionar
Ttulo
Movimenta entrada
Tabela alvo
Movimentacao_de_produtos
Campo alvo
Entradas
Frmula direta
Movimentacao_de_produtos!Entradas + Quantidade_entrada
Frmula inversa
Movimentacao_de_produtos!Entradas - Quantidade_entrada
Informao
271
Contedo a informar/selecionar
Ttulo
Tabela alvo
Contas_a_pagar
Campo alvo
Valor
Frmula direta
Frmula inversa
Informao
Contedo a informar/selecionar
Ttulo
Valor da NF
Tabela alvo
Notas_fiscais
Campo alvo
Valor
Frmula direta
Frmula inversa
Terminados os processamentos, aproveite para clicar sobre a primeira aba Geral e marcar a opo "Mdulo pronto",
272
Figura 10.33
O campo "Cdigo do fornecedor" ser definido como lista externa, ou seja, apresentar uma lista da tabela de
fornecedores que o usurio poder selecionar. Para informar isto ao GAS, temos que ajustar algumas propriedades,
utilizando a janela de ferramentas de tela. Pressione F4 se ela no estiver presente na tela e proceda conforme se segue:
selecione na tela o campo "Cdigo do fornecedor";
na lista de propriedades, localize a categoria Dados, clique sobre a propriedade "BD estrangeiro" e, utilizando o boto
extensor (com reticncias), selecione ESTOQUE;
na mesma categoria, clique sobre "Tabela estrangeira" e selecione a tabela Fornecedores;
clique, agora, em "Campo a mostrar" e selecione "Nome do fornecedor". Repita esse mesmo procedimento para a
propriedade "Campo a ordenar";
finalmente, clique em "Campo a capturar" e selecione o campo "Cdigo do fornecedor".
O campo Valor, por definio nossa, ser um campo no editvel; porm, necessitamos informar, neste momento, isto ao
GAS. Selecione na tela este campo e altere a sua propriedade Editvel para o valor No.
Vamos, agora, definir atributos de validao para a janela de notas fiscais, como j efetuamos anteriormente. Observe
que o GAS oferece, automaticamente, valores default para a maioria dessas informaes.
Nmero da NF
Mensagem
Data
Validao
Not VAzio(Data)
Mensagem
Data ilegal!
Valor inicial
Date
Cdigo do fornecedor
Validao
Mensagem
273
274
Valor
Validao
Mensagem
Conforme j foi citado, o campo Valor ser atualizado por intermdio de processamentos a partir dos itens digitados para
a NF. Por esta razo, voc deve retirar as informaes que foram sugeridas automaticamente. Agora estamos prontos para
inserir o grid para a digitao dos itens da nota fiscal. Aumente o tamanho da tela que acabamos de criar, abrindo espao
para o posicionamento do grid. Selecione o painel da tela e clique sobre o boto a seguir na janela de ferramentas de tela.
Um objeto gDbGrid ser exibido no topo da tela. Arraste-o e redimensione-o, criando uma tela semelhante que aparece
na figura 10.34.
Figura 10.34
275
Clique sobre o gDbGrid para selecion-lo.Vamos ajustar algumas propriedades, a partir da lista de propriedades da
janela de ferramentas de tela. Primeiramente, na categoria Dados, clique sobre a propriedade Tabela e selecione
"Itens_da_nf". Observe que o GAS preenche, automaticamente, o gDbGrid com os campos dos itens da nota fiscal, exceto o
campo de ligao com o mdulo-pai ("Nmero da nf"). Agora, vamos inserir uma coluna para conter uma frmula para apurar
o valor total do item digitado, que o produto da quantidade entrada pelo valor do item. Para inserir a nova coluna, proceda
conforme se segue:
selecione a coluna Valor;
clique sobre o boto de inserir coluna aps, na janela de ferramentas de tela;
inserida a coluna, selecione-a e designe a propriedade "Ttulo da coluna" (categoria Ttulo) para "Valor total";
designe tambm a propriedade Ttulo, nesta mesma categoria, para "Produtos da Nota Fiscal". Esta propriedade
aplicada no ttulo do gDbGrid;
na categoria Miscelnea, clique sobre a propriedade Frmula e, por intermdio do boto extensor (com reticncias),
insira a seguinte frmula: "Quantidade_entrada * Valor";
na categoria Atributos, designe a propriedade Mscara para 999.999.999,99.
Finalmente, redimensione os ttulos do gDbGrid para que fique semelhante tela da Figura 10.35.
276
Figura 10.35
Ns podemos tambm definir o campo Cdigo no grid como uma lista externa, como efetuamos para o "Cdigo do
fornecedor":
na lista de propriedades, localize a categoria Dados, clique sobre a propriedade "BD estrangeiro" e, utilizando o
boto extensor (com reticncias), selecione ESTOQUE;
na mesma categoria, clique sobre "Tabela estrangeira" e selecione a tabela "Produtos em estoque";
clique, agora, em "Campo a mostrar" e selecione "Descrio do produto". Repita esse mesmo procedimento para
a propriedade "Campo a ordenar";
finalmente, clique em "Campo a capturar" e selecione o campo "Cdigo".
Note que para listas extenas em grids, a combo box no exibida em tempo de projeto. Para terminar esta definio,
necessitamos somente marcar a opo "Mdulo pronto", na aba Geral de definies para informar ao GAS que este
mdulo est pronto e gravar.
10.2.6.7 Financeiro
Vamos definir esta janela de dados elegendo como tabela bsica a tabela de "Contas a Pagar", que ser alimentada por
meio dos lanamentos e processamentos j estabelecidos nas janelas de dados definidas anteriormente. Aplique um clique
com o boto direito do mouse no item Financeiro, na rvore do projeto, selecione a opo "Define o mdulo selecionado
" e informe os dados que aparecem na tela da figura 10.36.
277
Figura 10.36
Esta janela de dados ser definida muito facilmente, pois, em virtude de ser alimentada por meio de digitao em outras
tabelas (lanamentos e processamentos), o que necessitamos, na verdade, formatar a sua tela conforme aparece na
Figura 10.37, a seguir, utilizando o recurso de tela padro do GAS:
Figura 10.37
Da mesma forma como fora efetuado com as janelas de dados anteriores, marque a opo "Mdulo pronto" e salve as
278
Figura 10.38
Para definir os lanamentos e processamentos necessrios a partir desta tabela, necessitamos forar a abertura de
duas tabelas auxiliares. Portanto, clique na aba "Tabelas auxiliares" e adicione as informaes que se seguem.
Necessitamos abrir a tabela de "Produtos em estoque" com relacionamento, pois logo definiremos processamentos para
debitar a quantidade que est saindo da quantidade do produto em estoque. Tambm definiremos um outro processo nesta
tabela para modificar o campo "Data ltima atualizao" da mesma forma que efetuamos quando definimos a entrada de
produtos.
Informo
Tabela auxiliar
Produtos em estoque
Forar relacionamento
ndice
Cdigo
Cdigo(Codigo)
Criticar
Mensagem
Produto no cadastrado!
279
Necessitamos, ainda, abrir a tabela de "Movimentao de produtos", pois definiremos um processamento no campo
Sadas com a quantidade que est saindo do produto. Observe que, neste caso, necessitamos forar o relacionamento sem
controlar se foi ou no conseguido. Por isso, deixaremos desmarcada a opo Criticar.
Informo
Tabela auxiliar
Movimentao de produtos
Forar relacionamento
ndice
Cdigo e Data
Cdigo(Codigo)
Campo p/ unir tabelas
Data
280
Figura 10.39
281
Com isto, acabamos de montar a condio para que o lanamento seja efetuado, ou seja, quando um registro de produto
no for encontrado na tabela alvo em uma data especfica. Agora, vamos estabelecer a condio para que este lanamento
seja retirado da tabela.
clique sobre a opo "Excluir lanamento" e sobre o campo "Condio excluso lanamento";
selecione "Movimentacao_de_produtos!Entradas" a partir do banco de campos;
transfira este campo, aplicando um duplo clique sobre tal campo;
aps transferir este campo, complete a condio para que fique conforme aparece no texto abaixo:
Movimentacao_de_produtos!Entradas = 0 AND
agora, coloque o cursor logo aps a palavra AND e capture "Movimentacao_de_produtos!Sadas" da mesma forma
efetuada anteriormente;
finalmente, complete a informao da condio de excluso, digitando um igual seguido de um zero, conforme aparece
a seguir:
... Movimentacao_de_produtos!Sadas = 0
Com isto, fica estabelecido que este lanamento somente ser retirado quando os campos Entradas e Sadas da tabela
auxiliar "Movimentacao_de_produtos" estiverem zerados. Para terminar a definio deste lanamento, s nos resta designar
os valores que sero inseridos nos campos do novo registro por ele criado.
na rea "Expresso a ser colocada no campo alvo", clique na rea correspondente ao campo Cdigo;
a partir do banco de campos, capture o campo Cdigo;
clique na rea correspondente ao campo Data e capture o campo Data, a partir do banco de campos.
Clique sobre o boto Grava e assim, acabamos de definir o lanamento. Observe que este lanamento atualiza somente
os dois primeiros campos do registro criado (Cdigo e Data), ficando os outros dois campos para serem modificados por
meio de processamentos que definiremos a seguir. Utilizando a aba Processos, informe:
282
Informao
Ttulo
Atualiza estoque
Tabela alvo
Produtos_em_estoque
Campo alvo
Quantidade em estoque
Frmula direta
Frmula inversa
Produtos_em_estoque![Quantidade
Quantidade_de_saida
em
estoque]
Produtos_em_estoque![Quantidade
Quantidade_de_saida
em
estoque]
Informao
Ttulo
ltima atualizao
Tabela alvo
Produtos_em_estoque
Campo alvo
Frmula direta
Date
Informao
Ttulo
Movimenta sada
Tabela alvo
Movimentacao_de_produtos
Campo alvo
Sadas
Frmula direta
Movimentacao_de_produtos!Sadas + Quantidade_de_saida
Frmula inversa
283
Movimentacao_de_produtos!Sadas - Quantidade_de_saida
Finalizando, vamos criar a tela para executar as sadas de estoque. Voc j sabe como pedir ao GAS para criar,
automaticamente, uma tela. Utilizando este recurso, faa uma tela semelhante que aparece na figura 10.40. Nesta tela,
vamos inserir uma frmula para exibir a descrio do produto cujo cdigo ser digitado pelo usurio.
Figura 10.40
Para criar esta frmula, insira um objeto label sobre a tela na posio que aparece na figura 10.41.
Figura 10.41
Com este controle selecionado, localize a categoria Miscelnea na lista de propriedades e clique sobre a propriedade
Frmula. Em seguida, a partir do banco de campos, selecione o campo "Produtos_em_estoque![Descrio do produto]" e
transfira-o para a propriedade, conforme j efetuamos anteriormente. Aproveite para alterar tambm a propriedade Ttulo, na
284
Continuando, vamos estabelecer alguns atributos para os campos inseridos nesta tela. Conforme j efetuamos
anteriormente, clique sobre cada um dos campos inseridos na tela para selecion-los e informe os dados seguintes,
lembrando-se de que a utilizao do banco de campos recurso valioso para executar esta tarefa:
Cdigo
Validao
Not Vazio(Cdigo)
Mensagem
Data
Validao
Not Vazio(Data)
Mensagem
Data ilegal!
Valor Inicial
Date
Quantidade de sada
Validao
Quantidade_de_saida <=
Produtos_em_estoque![Quantidade
estoque]
em
Mensagem
Valor inicial
285
Valor
Validao
Valor > 0
Mensagem
No esquea de marcar a opo "Mdulo pronto", na aba Geral da interface de definio de janelas de dados e de
gravar as informaes.
286
Figura 10.42
Observe que diversas opes de acesso e abas foram desativadas. Isto se deve ao fato da tabela bsica desta janela
ter sido definida como uma tabela do tipo parmetro. Aproveite este momento e marque a opo "Mdulo pronto". Neste
mdulo, vamos aceitar tudo o que o GAS oferece como default. Clique no boto para ativar o Editor de Recursos e crie
uma tela padro.
287
Figura 10.43
Observe que, diversas opes de acesso foram desmarcadas. Ocorre que esta tabela alimentada exclusivamente a
partir de lanamentos, no devendo ser permitidas ao usurio as operaes de:
incluso de registros;
alterao de registros;
excluso de registros.
Aproveite e marque, de uma vez, a opo "Mdulo pronto", pois esta definio ser efetuada rapidamente. Na aba
"Tabelas auxiliares", vamos forar a abertura da tabela "Produtos em estoque" com relacionamento pela nica razo de
exibirmos uma frmula na tela para apresentar a "Descrio do produto". Assim, informe os dados que aparecem na tela da
figura 10.44 a seguir:
288
Figura 10.44
Finalmente, vamos definir uma tela para este mdulo. Esta tela ser utilizada exclusivamente para visualizao de
registros, uma vez que as opes de manuteno nesta tabela esto vetadas. Solicite ao GAS que crie para voc a tela da
figura 10.45 a seguir. O label que aparece selecionado deve ser inserido manualmente para conter a frmula "Descrio do
produto", que voc deve definir da mesma forma descrita anteriormente.
Figura 10.45
Acesse a lista de propriedades e limpe as propriedades Validao e Msg de validao que o GAS possa ter inserido
automaticamente.
289
290
Figura 10.46
Observe que a manuteno da tabela "Produtos em estoque" j foi totalmente estabelecida anteriormente, de modo que,
na janela que estamos agora definindo, nada mais necessitamos efetuar do que criar uma tela que apresente somente os
campos necessrios para a identificao do registro e alterao do campo de nosso interesse, que so, respectivamente, o
Cdigo, "Descrio do produto" e a "Quantidade em estoque".
Sendo assim, marque a opo "Mdulo pronto" e ative o Editor de Recursos do GAS e crie a tela da figura 10.47 a
seguir:
Figura 10.47
Voc deve ter observado que, neste caso, mais produtivo criar esta tela manualmente, ao invs de utilizar os recursos
291
Um excelente recurso a possibilidade de abrir um form desvinculado dos dados, dando mais velocidade, ideal para
bancos em servidores na internet:
292
O boto de gerao de fontes s estar habilitado se todos os mdulos da rvore estiverem sendo exibidos na cor de
mdulos definidos, conforme esteja configurado no GAS. Se este boto no estiver disponvel, verifique se voc no se
esqueceu de marcar a opo "Mdulo pronto" em qualquer um dos mdulos da aplicao. Observe que o ttulo do projeto primeiro mdulo da rvore - s aparece na cor definida para mdulo pronto quando todos os demais mdulos da rvore
estiverem marcados como prontos.
A interface para a gerao de programas fontes aparece representada na figura 10.48. Esta janela est dividida em
duas partes: a primeira delas, a de mdulos auxiliares, esto contidos os mdulos genricos que so sempre gerados pelo
GAS para apoiar a aplicao e na segunda so agrupados os mdulos efetivamente definidos pelo projetista. Em ambas as
partes, a gerao de mdulos pode ser ligada ou desligada pelo projetista a seu critrio. Naturalmente, na primeira vez que
uma aplicao gerada, nenhum mdulo pode ser desligado, sob pena da aplicao no compilar corretamente.
Na interface para escolha dos mdulos definidos para gerao, o projetista tem um preview idntico rvore do projeto,
facilitando assim a escolha ou no de mdulos para gerao.
293
Figura 10.48
Clique sobre o boto Prossegue para disparar a gerao dos programas fontes. Durante esta fase, o GAS criar
tambm o arquivo de ajuda on-line para a aplicao.
H a possibilidade de proteo de determinados mdulos da rvore para no serem gerados, mesmo que o projetista
clique o boto "Gerar todos" no mdulo de gerao. Recurso para evitar a gerao indevida de determinados mdulos,
principalmente em projetos muito grandes;
294
Figura 10.49
Clique sobre o boto Prossegue desta tela para disparar a gerao dos executveis. Se o Visual Basic estiver instalado
corretamente em seu equipamento, todos os programas executveis da nossa aplicao estaro disponveis para execuo
aps esse processo. O Captulo 11 - Utilizando a aplicao gerada, a seguir, aborda os aspectos da operao da
aplicao que acabamos de criar.
Captulo
XI
Captulo 11 - Utilizando a aplicao gerada
296
11
11.1
11.2
Figura 11.1
Se o arquivo de dados existir no diretrio informado, este ser utilizado pela aplicao; caso contrrio, a aplicao o
criar automaticamente. No diretrio informado, para o nosso exemplo, sero manipulados os seguintes arquivos:
Cabe ressaltar que, ao ser solicitado ao usurio o caminho do banco de dados para aplicaes que fazem uso da rotina
de backup, de extrema importncia para o funcionamento dessa rotina que a indicao desse diretrio seja feita no padro
UNC (\\servidor\ compartilhamento\...). Esse caminho, gravado no arquivo .INI do aplicativo, passado no arquivo de
configuraes do backup para que o servio, instalado em um servidor, possa acessar o banco de dados.
Devido utilizao do Microsoft Jet Engine v3.6, os aplicativos gerados pelo GAS so compatveis com bancos de
dados MS-Access 2000 e verses anteriores.
297
Caso o aplicativo utilizasse o SQL Server ou Oracle como banco de dados, a tela da figura 11.2 seria apresentada
para indicao do diretrio no qual se encontra presente o arquivo INI das consultas criadas por meio do construtor de
consultas da aplicao final.
Figura 11.2
11.3
298
Figura 11.3
Na primeira vez que a aplicao executada, o projetista dever entrar no aplicativo, informando o usurio e senha
determinados por meio da moldura intitulada "Senha default da aplicao", presente na aba Miscelnea da definio do
projeto no GAS. Para maiores informaes, consulte o tpico Definindo os dados genricos do projeto do Captulo 5 Operando o GAS. Este usurio no tem restries na operao da aplicao e, por isso, importante efetuar o
credenciamento dos seus usurios e descredenciar esse usurio, procedimento que ser demonstrado mais adiante neste
captulo. Ao ativar a aplicao, a tela principal da aplicao, representada na figura 11.4 aparecer:
299
Figura 11.4
11.4
Operando a aplicao
Antes de iniciarmos a descrio da operao da aplicao, vamos conhecer o funcionamento de algumas teclas.
Tecla
300
Seta esquerda
Seta direita
HOME
END
DEL
ENTER
TAB
BACKSPACE
Se esta a primeira vez que a aplicao est sendo utilizada, para maior facilidade, aconselhvel que os dados das
tabelas e de parmetros sejam digitados primeiro, pois so informaes imprescindveis para o funcionamento da aplicao,
visto que os demais mdulos referenciam as tabelas em validaes, relacionamentos, etc. Para este nosso exemplo, vamos
assumir que a implantao ainda no foi efetuada; portanto,temos que digitar alguns registros fictcios nos arquivos.
Tecla
F2
Seta esquerda
301
Seta direita
HOME
END
DEL
ENTER
TAB
BACKSPACE
F5
CONTROL + HOME
CONTROL + END
CONTROL
movimentao
Seta
de
302
PageUp
PageDown
digite os dados dos registros a seguir, observando que, a cada registro digitado, o boto de gravao ou o atalho
CTRL-S deve ser acionada para efetivar a gravao do mesmo.
Cd. do fornec.
Nome do fornec.
Contato
JOO DA SILVA
Telef. do fornec.
111-11-111-1111
Ramal
111
Fax
101-01-010-1010
Cd. do fornec.
Nome do fornec.
Contato
MRCIO
Telef. do fornec.
222-22-222-2222
Ramal
Fax
212-12-121-2121
Cd. do fornec.
Nome do fornec.
Contato
PEDRO ANTONIO
Telef. do fornec.
333-33-333-3333
Ramal
333
Fax
323-23-232-3232
Cd. do fornec.
Nome do fornec.
Contato
MARLENE
Telef. do fornec.
444-44-444-4444
303
304
Ramal
Fax
434-34-343-4343
Cd. do fornec.
Nome do fornec.
Contato
JORGE
Telef. do fornec.
555.55.555-5555
Ramal
555
Fax
545-45-454-5454
Nome da moeda
Dlar
Sigla da moeda
US$
305
Cdigo
Descri. do prod.
Unidade
Un
Quant. mnima
200
Preo de custo
2,30
Preo indexado
0,23
Lucro bruto
75
Cdigo
Descri. do prod.
Unidade
Un
Quant. mnima
200
Preo de custo
2,30
306
Preo indexado
0,23
Lucro bruto
75
Cdigo
Descri. do prod.
Unidade
Un
Quant. mnima
200
Preo de custo
7,50
Preo indexado
0,75
Lucro bruto
60
Cdigo
Descri. do prod.
Unidade
Un
Quant. mnima
100
Preo de custo
12,50
Preo indexado
1,25
Lucro bruto
80
Cdigo
Descri. do prod.
Borracha macia
Unidade
Un
Quant. mnima
400
Preo de custo
6,00
Preo indexado
0,60
Lucro bruto
70
Cdigo
Descri. do prod.
Borracha bicolor
Unidade
Un
Quant. mnima
300
Preo de custo
7,80
Preo indexado
1,00
Lucro bruto
50
307
308
Cdigo
Descri. do prod.
Unidade
Un
Quant. mnima
1.000
Preo de custo
10,00
Preo indexado
1,00
Lucro bruto
70
Cdigo
Descri. do prod.
Unidade
Un
Quant. mnima
1.000
Preo de custo
12,50
Preo indexado
1,25
Lucro bruto
70
Cdigo
Descri. do prod.
Unidade
Un
Quant. mnima
1.000
Preo de custo
15,00
Preo indexado
1,50
Lucro bruto
70
Cdigo
10
Descri. do prod.
Unidade
Un
Quant. mnima
30
Preo de custo
18,00
Preo indexado
1,80
Lucro bruto
90
309
Ao digitar os registros acima, voc deve ter percebido que o cursor no estacionou nos campos "Quantidade em
estoque" e "Data ltima atualizao" para serem digitados. Isto ocorreu porque, na fase do projeto, esses campos foram
definidos com atributo de "no editvel" e as modificaes ocorrero somente pelas movimentaes de entrada, sada e
ajustes de estoque. Para executar esta tarefa, foram definidos alguns processamentos.
As informaes do campo "Referncia tcnica" (campo do tipo memo) no so relevantes para o nosso exemplo,
podendo ser digitadas quaisquer informaes. Entretanto, para a entrada de informaes em campos do tipo memo, o
usurio poder posicionar o cursor no campo e digitar uma quantidade imensa de caracteres. As teclas utilizadas para
edio deste tipo de campo so as mesmas exibidas na tabela que explanamos anteriormente com a diferena de que a
tecla ENTER ser utilizada para terminar o pargrafo digitado no campo e no para aceitar e mover o cursor para o campo
seguinte. Para passar para o prximo campo a tecla TAB pode ser utilizada.
310
Caso o micro do usurio final possuir um scanner ou qualquer outro dispositivo de captura de imagens conectado, o
usurio poder ainda digitalizar as imagens diretamente para o campo!
Figura 11.5
311
boto de cancelamento
312
Figura 11.6
313
importante lembrar que a excluso de um grupo acarretar na excluso de todos os usurios que estejam cadastrados
sob o mesmo. O grupo ADMINISTRAO no pode ser excludo, visto que somente usurios deste grupo podem cadastrar
novos grupos ou modificar as permisses de acesso de um grupo existente.
314
Figura 11.7
selecione o grupo ao qual o novo usurio ir pertencer. Lembre-se de que os usurios "herdam" as permisses
designadas ao grupo;
clique sobre o boto de incluso, que j conhecemos;
digite o nome do novo usurio no campo "Novo usurio";
digite a senha do novo usurio;
redigite a senha para efeito de conferncia;
digite, se desejar, uma observao sobre o novo usurio;
clique sobre o boto de gravao.
315
Data - Informe uma data qualquer. bom lembrar que dever haver um registro na tabela de indexadores com esta data,
pois a validao deste campo a existncia de um registro com o valor do ndice nesta data para que se possa efetuar o
clculo do valor indexado.
Fornecedor - Para este campo, basta abrir a lista e selecionar o nome do fornecedor. Na fase do projeto, definimos este
campo para apresentar uma tabela estrangeira (lista externa). Para esta Nota Fiscal, vamos inserir o fornecedor ATILA
FABRIL LTDA. Observe que o campo Valor no pode ser digitado. Na fase do projeto, definimos este campo como "no
editvel" e criamos um processamento para atualiz-lo com os valores dos itens da Nota Fiscal que sero digitados.
A primeira parte desta janela recebe os dados da Nota Fiscal propriamente dita e a segunda, composta de um grid, se
destina a receber os dados dos itens constantes desta Nota Fiscal. Portanto, aps a digitao dos dados da Nota Fiscal,
teremos que digitar os dados de seus itens que, para exemplificar, podem ser os da tabela que aparece a seguir. Para iniciar
a digitao dos itens, basta clicar na primeira coluna (campo) da primeira linha do grid.
Cdigo
Quantidade
Valor
Borracha bicolor
500
1000
Borracha macia
500
800
200
4000
O primeiro campo, a exemplo do fornecedor que informamos para Nota Fiscal, deve ser selecionado da lista. medida
que os dados acima so digitados, alguns aspectos interessantes podem ser observados:
o valor da Nota Fiscal vai sendo calculado e exibido no campo destinado para isto. Durante o projeto, definimos um
processamento para executar esta tarefa;
316
se, por ventura, a janela de produtos estiver aberta na tela e exibindo o item que est sendo digitado, poderemos
observar que a quantidade em estoque vai sendo atualizada com a adio da quantidade do item que est sendo digitado.
Isto se deve aos processamentos que definimos na fase do projeto;
o dado "Valor total" no grid no um campo da tabela de itens da NF. Trata-se de uma frmula que estabelecemos na
fase do projeto que , automaticamente, atualizada quando o item digitado;
diversos registros so digitados para uma s Nota Fiscal, caracterizando o relacionamento 1- N (um para N) que
definimos na fase do projeto.
Para encerrar a digitao de Notas Fiscais, basta clicar sobre o boto de gravao e fechar a sua janela.
Figura 11.8
As explicaes que veremos a seguir, para o arquivo de produtos, so vlidas para qualquer um dos arquivos da
aplicao.
Existem diversos botes inseridos na barra de ferramentas que podem ser utilizados como recursos de operao. Na
verdade, so atalhos para opes de menu , pois todos tm uma opo correspondente no menu da aplicao. importante
notar que alguns desses botes podero estar habilitados ou desabilitados, dependendo da situao de operao.
317
Figura 11.9
Um boto de dois estgios existente na barra de ferramentas serve para alternar esses dois modos de visualizao.
O operador do sistema poder, ainda, fazer uso da hot-key F9 para alternar a forma de visualizao referida
anteriormente.
Quando o referido boto exibido em estado normal, a visualizao tela a tela estar vigorando. J quando aparece
ligado (em baixo), aciona a visualizao em grade.
318
O operador do sistema poder, ainda, fazer uso do atalho CTRL-I para incluir novos registros na tabela ativa.
O operador do sistema poder, ainda, fazer uso do atalho CTRL-G para grafar da mesma forma como executada pelo
boto acima mencionado. Para marcar mais de uma coluna na grade, clique sobre uma coluna, retenha o boto e arraste o
ponteiro do mouse para outras colunas adjacentes.
319
Outro mtodo para filtrar informaes em consultas ou janelas de dados (visualizadas na forma de grid) a filtragem
dinmica. Para utilizar esse mtodo, basta preencher o campo localizado sobre as colunas do grid.
O operador do sistema poder, ainda, fazer uso da hot-key CTRL-F para filtrar ou ordenar da mesma forma como
executada pelo boto acima mencionado.
A barra de rolagem a seguir tem por finalidade efetuar a navegao dentro de uma tabela, obedecendo-se a ordem
estabelecida na lista que aparece ao lado dessa barra:
barra de navegao
A opo "A definir..." permite ao usurio estabelecer seu prprio critrio de ordenao. Ao clicar sobre esta opo, a
janela de ordenao de registros ser exibida, como mostrado na Figura 11.10, para que sejam selecionados os campos que
comandaro a ordenao.
320
Figura 11.10
O operador do sistema poder, ainda, fazer uso das hot-keys F5, F6, F7 e F8 para, respectivamente, acessar o primeiro
registro, registro anterior, registro seguinte e ltimo registro, analogamente utilizao da barra de navegao.
321
322
Figura 11.11
323
Figura 11.12
Informe o nome pelo qual esta consulta ser identificada no construtor de consultas que aparece na figura 11.11.
11.4.10.2.1.2 Tabelas
Selecione uma ou mais tabelas na lista Tabelas. Ao clicar sobre uma tabela, os seus campos so exibidos na lista "
Campos a mostrar".
324
Clique sobre um ou mais campos da tabela selecionada, que deseja visualizar na consulta. Se desejar exibir campos de
outras tabelas, clique sobre as outras tabelas e, em seguida, sobre os seus campos a serem inseridos na consulta.
11.4.10.2.1.4 Coluna avulsa
Utilize essa opo caso queira criar colunas extras (avulsas) em sua consulta, bastando fazer uso das listas "
Contedo da coluna" e "Ttulo para a coluna".
Esse recurso proporciona uma enorme flexibilidade na definio de frmulas ou valores pr-fixados a serem inseridos
na consulta. O usurio do aplicativo final gerado poder, por exemplo, exibir mais de um contedo por coluna
(concatenao), como mostrado no exemplo a seguir:
A lista "Funo agregada" contm as funes que fazem parte da linguagem SQL. So elas:
Mdia
Somar
Contar
Mnimo
Para que as informaes sejam extradas corretamente do banco de dados, o uso dessas funes implica na utilizao
do recurso de agrupamento a ser explicado mais adiante. Alm dessas funes SQL, aparecem tambm nesta lista outras
funes colocadas para flexibilizar a elaborao da nova coluna, como Dia, Ms, Ano, Data e AnoMs.
325
Podemos utilizar este recurso para criar um registro de resumo para cada grupo definido. Por exemplo, se voc agrupar
os registros de sada de produtos por produto, ser exibido apenas um registro por produto, contendo a totalizao de todas
as suas sadas.
11.4.10.2.2.2 Ordenado por
O usurio poder ainda utilizar-se da opo "A definir...", mostrada na lista de ndices, para estabelecer seu prprio
critrio de ordenao. Ao clicar sobre esta opo, a janela de ordenao de registros ser exibida para que sejam
selecionados os campos que comandaro a ordenao.
11.4.10.2.3 Seleo
Pode-se especificar que sejam exibidos somente os primeiros registros retornados por uma consulta.
326
o nmero digitado poder ser tratado como quantidade absoluta de registros ou percentual, dependendo da opo que
for selecionada (Registros ou Porcento).
11.4.10.2.3.2 Seleo de registros/Unio de tabelas
Esta opo refere-se ao estabelecimento de uma condio para que os registros sejam exibidos pela consulta, isto ,
somente os registros que atenderem condio informada faro parte da consulta. Assim, poderemos criar grficos, somas
de colunas e relatrios com um grupo especfico de registros. Para estabelecer uma condio de filtragem, proceda do
seguinte modo:
abra a lista "Nome do campo" para que sejam exibidos os nomes dos campos que fazem parte da consulta;
Operando
Significado
igual a
<>
diferente de
>
maior que
>=
maior ou igual a
<
menor que
<=
menor ou igual a
LIKE
327
operador de padres
clique no campo Valor e informe o argumento que dever ser comparado com o valor contido no campo selecionado
(no utilize aspas para valores literais constantes).
At este ponto foi estabelecida apenas uma condio para a consulta. Para a criao de mais de uma condio, clique
sobre o boto intitulado Concatena, selecionando a seguir um dos operadores E/OU, antes de iniciar a montagem do
prximo critrio de seleo de registros. J a opo "Unir tabelas" deve ser utilizada sempre que se desejar relacionar duas
tabelas cujos campos devero ser exibidos na consulta. Neste caso, o campo Valor ser transformado em uma lista que
poder ser aberta para a seleo de um campo a ser comparado, sempre com o operador de igualdade (=) com o campo da
primeira tabela selecionada.
Para gravar uma consulta, clique sobre o boto de gravao que j conhecemos.
O usurio final poder ainda utilizar a opo "Permitir que outros usurios visualizem esta consulta" caso
queira compartilhar com outros usurios as consultas por ele elaboradas.
marque as colunas que se deseja apagar, clicando sobre o seu ttulo e arrastando o mouse para marcar mais de uma;
clique com o boto direito do mouse para que seja apresentado o menu da figura 11.13:
328
Figura 11.13
clique sobre a opo "Apagar colunas" para apagar as colunas que estiverem marcadas.
O operador do sistema poder, ainda, fazer uso do atalho CTRL-L para apagar as colunas da mesma forma como
executada pela opo de menu acima mencionada.
329
Figura 11.14
330
O usurio dever selecionar um ndice da lista ndices, clicar num dos operadores e, finalmente, informar, em Contedo,
o valor a ser localizado no campo.
Se o ndice for composto de mais de um campo, outras chaves de pesquisa se abriro para que possam receber valores
a pesquisar. Para iniciar a pesquisa, clique sobre o boto de confirmao. O registro encontrado ser exibido na janela ativa.
O boto a seguir tem por finalidade limpar e reiniciar uma pesquisa.
Figura 11.15
Para montar um grfico da quantidade mnima de cada produto, deve-se proceder conforme se segue:
selecione as colunas que se localizam entre as "Descrio do produto" e "Quantidade mnima", clicando sobre rea de
ttulo de uma das colunas e arrastando-a at a rea de ttulo da outra;
331
selecione as colunas "Descrio do produto" e "Quantidade mnima" da mesma forma aplicada acima;
clique sobre o boto de apresentao grfica que j exibimos e um grfico semelhante ao da figura 11.16, a seguir,
ser apresentado.
Figura 11.16
332
Figura 11.17
Altere os dados que julgar conveniente, como, por exemplo, tipo, ttulo, cores, etc. Quando encontrar o aspecto
desejado, clique sobre o boto de confirmao. Caso deseje restaurar a forma original do grfico, basta clicar sobre o boto
a seguir:
Um dilogo padro do Windows ser apresentado para solicitar um nome de arquivo sob o qual o grfico deve ser
gravado.
333
Captulo
XII
Captulo 12 - O GAS como ferramenta de desenvolvimento
12
335
12.1
12.1.1 DDMM
DDMM(ExpC)
Retorna True (-1) se a data especificada no argumento string ExpC, no formato Dia/Ms, vlida.
Exemplo:
If DDMM("01/08") Then
Print "Data vlida..."
End If
Data vlida...
12.1.2 DDMMAA
DDMMAA(ExpC)
Retorna True (-1) se a data especificada no argumento string ExpC, no formato Dia/Ms/ Ano, vlida.
Exemplo:
If DDMMAA("01/08/00") Then
Print "Data vlida..."
End If
Data vlida...
12.1.3 Existe
Existe (ExpC)
336
Exemplo:
Arquivo$ = "C:\APLIC\ESTOQUE\ESTOQUE.INI"
If Not Existe(Arquivo$) Then
Print "O arquivo "; Arquivo$; " no foi encontrado!"
End If
12.1.4 Extenso
Extenso(Valor[,NaoMoeda]
[,NomeSing][,NomePlur])
Retorna a frase, por extenso, correspondente a Valor. Se a flag NaoMoeda for passada como True, Valor ser tratado
como uma quantidade inteira qualquer, podendo serem agregadas palavras para definir unidades, como, por exemplo,
Habitantes, Peas, etc. Os parmetros opcionais NomeSing e NomePlur correspondem ao nome da moeda corrente com que
se deseja retornar a frase.
12.1.5 GDV1
GDV1(ExpC)
Retorna o Dgito Verificador (DV), de mdulo 11, do argumento ExpC.
Exemplo:
x$="0002"
Print GDV1$(x$)
12.1.6 GDV2
GDV2(ExpC)
Retorna dois Dgitos Verificadores (DV), de mdulo 11, do argumento ExpC. Primeiramente, calculado o primeiro dgito
que incorporado ao argumento e, em seguida, calculado o segundo dgito.
Exemplo:
x$="184173611"
Print GDV2$(x$)
337
12.1.7 GDvCb
GDvCb(ExpC)
Retorna um dgito verificador do argumento string ExpC. Esta funo deve ser utilizada para padro EAN 8, EAN 13 ou
UPC-A.
Exemplo:
x$ = "000000000001"
x$ = x$ + GDvCb(x$)
MsgBox "O nmero composto com o seu dgito verificador : " + x$
12.1.8 GravaNoIni
GravaNoIni(ExpC1, ExpC2, ExpC3, ExpC4)
Esta procedure executa a gravao de uma informao do tipo caractere no arquivo de configurao (.INI) do GAS ou
das aplicaes por ele geradas. O argumento ExpC1 contm o nome da seo onde ser gravada a informao, sendo
criada (entre colchetes) caso no exista. ExpC2 contm o nome do item que conter a informao (tambm criado, se no
existir). ExpC3 contm a informao a ser gravada e, finalmente, ExpC4 contm o nome completo (drive, diretrio e nome) do
arquivo .INI. Para gravar informaes numricas no arquivo, utilize a funo Str$( ) do VB no argumento ExpC3.
Exemplo:
12.1.9 HaNaString
HaNaString(ExpN1, ExpC1, ExpC2, ExpN2)
Retorna a posio da primeira ocorrncia da expresso caractere ExpC2 dentro de ExpC1, a partir da posio ExpN1.
Se ExpN2 for passada com o valor True (-1), a pesquisa ser efetuada, caractere a caractere, de ExpC2
independentemente da ordem das mesmas.
Exemplos:
Alvo$="Palavra"
Oque$="lavra"
Print HaNaString(1, Alvo$, Oque$, False)
3 'posio de "lavra" em "Palavra"
338
Agora,
12.1.10 LoadGasPicture
LoadGasPicture(ExpN)
Retorna o caminho e nome do arquivo, identificado no resource por ExpN, para onde a imagem foi extrada.
12.1.11 LoadGasString
LoadGasPicture(ExpN)
Retorna o caminho e nome do arquivo, identificado no resource por ExpN, para onde a imagem foi extrada.
12.1.12 LPad
LPad(ExpC1, ExpN, ExpC2)
Retorna a string em ExpC1 "completada" esquerda com o caractere passado em ExpC2, forando um tamanho igual a
ExpN.
Exemplo:
Ltda
12.1.13 MMAA
MMAA(ExpC)
Retorna True (-1) se a data especificada no
argumento string ExpC, no formato Ms/Ano,
vlida.
Exemplo:
339
If MMAA("08/00") Then
Print "Data vlida..."
End If
Data vlida...
12.1.14 NMes
NMes(ExpC)
Retorna o nome do ms correspondente data especificada em ExpC.
Exemplo:
Print NMes$("01/08/00")
Agosto
12.1.15 NSem
NSem(ExpC)
Retorna o nome do dia da semana correspondente data especificada em ExpC.
Exemplo:
Print
Tera
NSem$("01/08/00")
12.1.16 PegaIntDoIni
PegaIntDoIni(ExpC1, ExpC2, ExpN, ExpC3)
Esta funo retorna uma informao do tipo numrico (inteiro), que esteja gravada no arquivo de configurao (.INI) do
GAS ou das aplicaes por ele geradas. O argumento ExpC1 dever conter o nome da seo existente no arquivo .INI,
sempre includa entre colchetes. O argumento ExpC2 contm o nome do item cuja informao se deseja pegar. J o
agumento ExpN contm o valor a ser assumido (default) caso o valor no seja recuperado e, finalmente, o argumento ExpC3
dever conter o nome completo (drive, diretrio, nome) do arquivo .INI.
Exemplo:
340
Cor=15
etc...
Dim QCor As Integer
QCor = PegaIntDoIni("Geral",
Print QCor
15
"Cor",
0,"C:\AP\EST.INI")
12.1.17 PegaSequencia
PegaSequencia([ExpC1], ExpC2, ExpC3, V1, V2)
Esta funo serve para incrementar o valor de um campo do tipo seqencial em uma tabela. O argumento ExpC1
opcional, contendo o nome do arquivo MDB. ExpC2 o nome da tabela que contm o campo seqencial, enquanto ExpC3 o
nome do campo seqencial. V1 o valor para servir como default do campo e V2 o valor a ser utilizado para incrementar o
campo.
12.1.18 PegaStrDoIni
PegaStrDoIni(ExpC1, ExpC2, ExpC3)
Esta funo retorna uma informao do tipo caractere, que esteja gravada no arquivo de configurao (.INI) do GAS ou
das aplicaes por ele geradas. O argumento ExpC1 dever conter o nome da seo existente no arquivo .INI; o argumento
ExpC2 contm o nome do item cuja informao se deseja pegar e, finalmente, o argumento ExpC3 contm o nome completo
(drive, diretrio, nome) do arquivo .INI.
Exemplo:
"Dir",
"C:\AP\EST.INI")
12.1.19 PTab
ExpC1.PTab( ExpC2, ArrV)
Esta funo executa uma pesquisa indexada no recordset especificado em ExpC1, utilizando o ndice de nome ExpC2.
Os argumentos a serem pesquisados so passados no arranjo ArrV, do tipo variant. Caso seja encontrado o registro, esta
funo retorna True, deixando o ponteiro no registro encontrado. Se o registro no for encontrado, esta funo retorna
False.
Exemplo:
i =
Fornecedores.Ptab(
"Cdigo",
CodFor)
341
12.1.20 RAt
RAt(ExpC1, ExpC2)
Retorna a posio da ltima ocorrncia da expresso caractere ExpC2 dentro de ExpC1. Esta funo semelhante
funo InStr() do Visual Basic; porm, a posio pesquisada de trs para a frente.
Exemplo:
Alvo$="Computador"
Oque$="o"
Print Rat(Alvo$, Oque$)
9
12.1.21 Retira
Retira (ExpC1, ExpC2, ExpN)
Retira (remove) todas as ocorrncias de ExpC2 dentro de ExpC1. Se a expresso ExpN for passada com o valor True (1), a remoo ser efetuada caractere a caractere de ExpC2.
Exemplo:
Alvo$="abacadabra"
Oque$="bac"
Print Retira$(Alvo$, Oque$, False)
aadabra 'removida a palavra "bac"
Agora,
12.1.22 RPad
RPad(ExpC1, ExpN, ExpC2)
Retorna a string ExpC1 "completada" direita com o caractere passado em ExpC2, forando um tamanho igual a ExpN.
Exemplo:
342
12.1.23 Substitui
Substitui(ExpC1, ExpC2, ExpC3, ExpN)
Substitui todas as ocorrncias de ExpC2 em ExpC1 por ExpC3. Se o argumento ExpN for passado como True (-1), a
substituio ser feita caractere a caractere, ou seja, cada caractere de ExpC2 ser substitudo pelo caractere
correspondente em ExpC3. No existindo um caractere correspondente em ExpC3, o caractere de ExpC2 ser removido,
resultando numa string que poder ser maior ou menor, dependendo dos argumentos.
Exemplo:
Alvo$="abacadabra"
Oque$="bac"
PeloQue$="***"
Print Substitui$(Alvo$, Oque$, PeloQue$, False)
a***adabra ' "bac" foi substitudo por "***"
Agora,
Print Substitui$(Alvo$, Oque$, PeloQue$, True)
*****d**r* ' a, b, c foram substudos por *
12.1.24 ValBrasil
ValBrasil(ExpC)
Esta funo til quando se quer pegar o valor numrico de uma string passada em ExpC, no formato brasileiro, no
aceitvel pela funo VAL() do Visual Basic, com vrgulas separando as decimais e pontos separando os milhares.
Exemplo:
Valor$="1.234,56"
Print ValBrasil(Valor$)
1234.56 ' retorna o valor numrico exato da expresso
12.1.25 VCGC
VCGC(ExpC)
Retorna True (-1) se o argumento passado em ExpC um nmero do Cadastro Geral de Contribuintes (CGC vlido) ou
False (0) se no o for. O argumento ExpC poder conter ou no, pontos, barras, hfens, etc...
Exemplo:
CGC$="44.990.901/0001-41"
343
If VCGC(CGC$) Then
Print "O GCG informado invlido!
End If
O CGC informado invlido!
12.1.26 VDV1
VDV1(ExpC)
Retorna True (-1) se o DV (dgito verificador) de 1 dgito, mdulo 11, vlido para a expresso ExpC. O argumento ExpC
poder conter ou no, pontos, barras, hfens, etc..
Exemplo:
Numero$="0001-8"
If Not VDV1(Numero$) Then
Print "Nmero invlido!"
End If
Nmero invlido!
12.1.27 VDV2
VDV2(ExpC)
Retorna True (-1) se o DV (dgito verificador) de 2 dgitos, mdulo 11, vlido para a expresso ExpC. O argumento
ExpC poder conter ou no, pontos, barras, hfens, etc..
Exemplo:
Numero$="184.173.611-21"
If Not VDV2(Numero$) Then
Print "Nmero invlido!"
End If
Nmero invlido!
12.1.28 VDvCB
VDvCB(ExpC)
Retorna True (-1) se o DV (dgito verificador) vlido para a expresso string ExpC (padres EAN 8, EAN 13 ou UPC-A).
Exemplo:
344
x$ = "0000000000017"
If VDvCB(x$) Then
MsgBox "O cdigo vlido!"
Else
MsgBox "O cdigo est incorreto!"
End If
12.1.29 VHORA
VHora(ExpC)
Retorna True (-1) se a hora passada em ExpC representa uma hora vlida.
Exemplo:
Hora$="10:25:60"
If Not VHora(Hora$) Then
Print "Hora ilegal!"
End If
Hora ilegal!
12.1.30 VUF
VUf(ExpC)
Retorna True (-1) se ExpC representa uma Unidade da Federao vlida. Esta funo no case sensitive, ou seja,
minsculas so tratadas como se fossem maisculas e vice-versa.
Exemplo:
Estado$="DF"
If Not VUf(Estado$) Then
Print "Estado invlido!"
End If
Estado invlido!
12.2
Variveis de sistema
Nos programas fontes da aplicao so criadas algumas variveis de sistema para controlar alguns aspectos da sua
operao. Essas variveis podem ser testadas pelo projetista, para auxiliar a tomada de decises, dentro de fragmentos de
programas, validaes, condies, etc que tenha escrito. Algumas tm abrangncia Global (so vistas em qualquer ponto da
aplicao), enquanto outras tm escopo a nvel do formulrio, onde so criadas, funcionando como se fossem propriedades
do form. Outras, ainda, so vistas apenas nas rotinas onde so criadas (abrangncia Local).
Para minimizar a possibilidade de conflito com variveis que o projetista possa vir a criar, as variveis criadas pelo GAS
dentro dos programas fontes so prefixadas por vg (Varivel do GAS) .
A seguir, esto listadas as variveis mais importantes:
345
12.2.1.1 vgPwUsuario
Do tipo caractere, essa varivel contm o nome do usurio, dentro do plano de senhas, que est acessando a aplicao
no momento.
12.2.1.2 vgPwGrupo
Do tipo caractere, essa varivel contm o nome do grupo a que est vinculado, dentro do plano de senhas, o usurio
que est operando a aplicao.
12.2.1.3 vgPwSenha
Do tipo caractere, essa varivel contm a senha do usurio que est acessando a aplicao no momento.
12.2.1.4 vgPwObS
Do tipo caractere, essa varivel contm uma informao qualquer que se deseje vincular ao operador.
12.2.1.5 vgNomeDB
Do tipo caractere, essa varivel armazena o nome completo (caminho e nome) do arquivo MDB que armazena os dados
da aplicao.
12.2.1.6 vgDBAtual
Do tipo numrico, essa varivel corresponde ao nmero do banco de dados atualmente em uso, caso mais de um banco
de dados esteja sendo manipulado pela aplicao.
12.2.1.7 vgDirDb
Do tipo caractere, essa varivel contm o nome do diretrio onde existe o arquivo de dados MDB ou o nome do servidor
SQL ou Oracle utilizado. Esta varivel, caso necessrio, j conter a contra-barra "\" agregada ao final de seu contedo.
Poder, ainda, tornar-se um arranjo se, porventura, existirem mais de um banco de dados MDB ou servidores SQL e Oracle
integrados aplicao.
12.2.1.8 vgDirExe
Do tipo caractere, essa varivel contm o diretrio onde reside o programa executvel (.EXE) da aplicao. Esta varivel
j tem a contra-barra ("\") agregada ao final de seu contedo.
12.2.1.9 vgDB
Do tipo database, essa varivel armazena um objeto do tipo database relativo ao banco de dados manipulado pela
aplicao.
346
12.2.1.10 vgNomeIni
Do tipo caractere, essa varivel armazena o nome do arquivo de inicializao (.INI) da aplicao.
12.2.1.11 vgNomeSistema
Do tipo caractere, essa varivel armazena o nome (ttulo da aplicao).
12.2.1.12 vgProjetista
Do tipo caractere, essa varivel contm o nome do projetista.
12.2.1.13 vgBotoesOk
Do tipo booleano ou flag, essa varivel tem o valor True (verdadeiro) se os botes da barra j tiverem sido acertados
(habilitados ou desabilitados) para atender situao do momento.
12.2.1.14 vgAtencao
Do tipo caractere, essa varivel contm a string "ATENO!" para ser utilizada em ttulos de caixas de mensagens.
12.2.1.15 vgImpConv
Do tipo booleano ou flag, essa varivel tem o valor True se a impressora padro do Windows uma impressora
convencional (no um fax, um modem, etc.) para impresso de consultas.
12.2.1.16 vgCtHint
Do tipo control, essa varivel armazena um objeto do tipo control e contm o controle por sobre o qual o mouse est
sendo movimentado. utilizada para identificar qual "dica" ser exibida.
12.2.1.17 vgBarraFerr
Do tipo booleano, essa varivel assume True se a barra de ferramentas est visvel na aplicao.
12.2.1.18 vgAjudaAtiva
Do tipo booleano, essa varivel contm True se a ajuda ativa deve ser exibida.
12.2.1.19 vgNomeEstacao
Do tipo caractere, se em ambiente de rede, essa varivel contm o nome da estao onde a aplicao est rodando.
12.2.1.20 vgRsPwGrupo
Do tipo recordset, essa varivel armazena um objeto do tipo recordset criado a partir da tabela de grupos de usurios no
plano de senhas.
347
12.2.1.21 vgRsPwUsuario
Do tipo recordset, essa varivel armazena um objeto do tipo recordset criado a partir da tabela de usurios no plano de
senhas.
12.2.1.22 vgRsPwTabelas
Do tipo recordset, essa varivel armazena um objeto do tipo recordset criado a partir da tabela que armazena os nomes
das tabelas e permisses dentro do plano de senhas.
12.2.1.23 vgTipoAcrescDesc
Do tipo numrico (inteiro), essa varivel corresponde ao tipo de acrscimo/desconto (Valor ou Porcentagem) aplicado
ao cupom fiscal ou item corrente. Deve-se lembrar, no entanto, que o acrscimo s aplicvel ao cupom fiscal. O aplicativo
final no s controlar o emprego dessa varivel para o cupom ou item, visto que ela aplicvel a ambos, como tambm ir
inicializar (zerar) seu contedo para cada cupom/item em particular.
12.2.1.24 vgAcrescDesc
Do tipo numrico (inteiro), essa varivel identifica se o cupom fiscal corrente ser acrescido ou descontado em seu
valor original (Acrscimo ou Desconto). O aplicativo final ir inicializar (zerar) seu contedo para cada cupom em
particular.
12.2.1.25 vgValorAcrescDesc
Do tipo numrico (preciso dupla), essa varivel corresponde, independente de estar sendo representado em Valor ou
Porcentagem, ao valor do acrscimo/desconto utilizado para o cupom fiscal ou item corrente. O aplicativo final no s
controlar o emprego dessa varivel para o cupom ou item, visto que ela aplicvel a ambos, como tambm ir inicializar
(zerar) seu contedo para cada cupom/item em particular.
12.2.1.26 vgQtdItem
Do tipo numrico (inteiro), essa varivel corresponde quantidade do item corrente. O aplicativo final ir inicializar
(zerar) seu contedo para cada item em particular.
12.2.1.27 vgValorTroco
Do tipo numrico (preciso dupla), essa varivel corresponde ao valor de troco verificado no pagamento do cupom fiscal
corrente. Se a Ao Forma Pgto for programada pelo projetista, esta ser executada primeiramente para, s ento, o
contedo da varivel em questo ser inicializado (zerado).
12.2.1.28 vgValorSubtotal
Do tipo numrico (preciso dupla), essa varivel corresponde ao valor de subtotal (a pagar) verificado para o cupom
fiscal corrente, desconsiderando o eventual desconto/acrscimo estabelecido. Aps a insero de todos os itens no
referido cupom, o valor do subtotal no mais se altera at que o cupom fiscal seja fechado. O aplicativo final ir inicializar
(zerar) seu contedo para cada cupom em particular.
348
12.2.1.29 vgNumeroCupom
Do tipo caractere (string), essa varivel corresponde ao nmero do cupom fiscal corrente, tendo seu valor resgatado a
partir da impressora fiscal na abertura do cupom fiscal. Seu valor inicializado na abertura de quaisquer mdulos tipo cupom
fiscal, caso haja algum cupom aberto. No entanto, somente para a terceira forma de compatibilizao com a Emisso de
Cupom Fiscal a ser descrita mais adiante nesse captulo, seu valor ser limpo (zerado). Caso haja cupons fiscais abertos,
seu valor ser reinicializado com o nmero do cupom aberto no momento.
12.2.1.30 vgTotalPago
Do tipo numrico (preciso dupla), essa varivel corresponde ao valor total pago at o momento para o cupom fiscal
corrente, totalizando-se o pagamento efetuado por intermdio de cada uma das formas de pagamento utilizadas. O aplicativo
final ir inicializar (zerar) seu contedo para cada cupom em particular.
12.2.1.31 vgItemAtual
Do tipo numrico (inteiro), essa varivel corresponde ao nmero do item corrente, dentre aqueles j utilizados para o
cupom fiscal atualmente aberto. O aplicativo final ir inicializar (zerar) seu contedo para cada cupom em particular.
12.2.1.32 vgMoeda
Do tipo caractere, essa varivel corresponde ao smbolo da moeda corrente contida internamente na impressora fiscal,
sem, no entanto, englobar o $. Veja o exemplo de seu contedo: R, US, etc. Seu valor ser resgatado a partir da impressora
fiscal na abertura de quaisquer mdulos tipo cupom fiscal. Cabe ressaltar que a vgMoeda s estar disponvel se for
utilizada, em qualquer mdulo do sistema, a picture box de simulao de fita de impressora fiscal (propriedade Retorno ECF =
Sim), independente do modo de compatibilizao com ECF adotado.
12.2.2.1 vgSituacao
Do tipo numrico, essa varivel contm um valorque indica a situao atual em que se encontra um formulrio (form).
Para facilitar o teste desses valores, foram criadas algumas constantes fceis de memorizar:
ACAO_NAVEGANDO
ACAO_INCLUINDO
ACAO_EDITANDO
ACAO_EXCLUINDO
ACAO_EM_PROGRESSO
349
12.2.2.2 vgCaracteristica
Do tipo numrico, essa varivel assume valores que identificam a caracterstica de um form da aplicao. Para facilitar o
teste desses valores, foram criadas algumas constantes fceis de memorizar:
F_COMUM
F_DADOS
F_COM_PAI
F_COM_FILHO
F_COM_PAI_E_FILHO
F_GRAFICO
F_BROWSE
F_RELATORIO
F_VARIAVE
12.2.2.3 vgTipo
Do tipo numrico, essa varivel assume valores que identificam o tipo do formulrio ao qual se deseja referir. Para
facilitar o teste desses valores, foram criadas algumas constantes fceis de memorizar:
TP_COMUM
TP_TABELA
TP_PARAMETROS
TP_GRAFICO
TP_CONFGRAF
TP_BROWSE
TP_INFODB
TP_SELEQUERY
TP_RELATORIO
350
TP_SENHAS
TP_HELP
TP_CALC
TP_CALE
TP_VARIAVEL
12.2.2.4 vgUltimoFiltro
Do tipo caractere, essa varivel contm a expresso de filtragem que foi utilizada por ltimo dentro deste formulrio.
12.2.2.5 vgUltimoTabIndex
Do tipo numrico, essa varivel contm o maior nmero da propriedade tabindex existente no formulrio dentre os
controles possveis de receberem dados digitados.
12.2.2.6 vgFormID
Do tipo numrico, essa varivel contm o nmero identificador deste formulrio.
12.2.2.7 vgTb
Do tipo recordset, essa varivel contm um objeto recordset do tipo table (tabela) que contm a tabela bsica vinculada
ao formulrio.
12.2.2.8 vgTbFiltro
Do tipo recordset, essa varivel contm um objeto recordset do tipo dynaset que contm a tabela bsica vinculada ao
formulrio.
12.2.2.9 vgTemInclusao
Do tipo booleano, essa varivel contm True se permitida a incluso de registros neste formulrio e,
conseqentemente, False se no.
12.2.2.10 vgTemExclusao
Do tipo booleano, essa varivel contm True se permitida a excluso de registros neste formulrio e,
conseqentemente, False se no.
12.2.2.11 vgTemProcura
Do tipo booleano, essa varivel contm True se permitida a pesquisa de registros neste formulrio e,
conseqentemente, False se no.
351
12.2.2.12 vgTemFiltro
Do tipo booleano, essa varivel contm True se permitida a filtragem de registros neste formulrio e,
conseqentemente, False se no.
12.2.2.13 vgTemAlteracao
Do tipo booleano, essa varivel contm True se permitida a alterao de registros neste formulrio e,
conseqentemente, False se no.
12.2.2.14 vgTemCondicoesEsp
Do tipo booleano , essa varivel contm True se tem, pelo menos, uma condio especial (para incluir, alterar ou excluir
registros) neste formulrio e, conseqentemente, False se no.
12.2.2.15 vgEmBrowse
Do tipo booleano, essa varivel contm True se o formulrio atual estiver sendo visualizado em uma grade e,
conseqentmente, False se estiver sendo visualizado em modo tela a tela.
12.2.2.16 vgCpRel???
As variveis que iniciam com este prefixo so variveis que armazenam os contedos dos campos de relacionamento
com o formulrio pai. Os caracteres "???" so substitudos pelos nomes dos respectivos campos de relacionamentos e seus
tipos tambm variam de acordo com os tipos desses campos.
12.2.2.17 vgRegLancado
Do tipo booleano , essa varivel contm True se o registro corrente, que est sendo mostrado na janela de dados, foi
criado por um lanamento (no foi digitado).
12.2.3.1 vgNParc
Do tipo numrico, essa varivel criada em todos os mdulos que geram lanamentos, desde que a quantidade desses
lanamentos seja diferente de 1. Esta varivel indica o nmero da parcela que est sendo gerada no momento do
lanamento. Em vista disto, existe a possibilidade de se utilizar o nmero da parcela (esta varivel) para criar uma frmula
nos campos a serem lanados, conforme o exemplo a seguir, que calcula a data de vencimento a cada 30 dias.
Date + 30 * vgNParc
12.2.3.2 vgCodLan
Do tipo numrico, essa varivel criada em todos os mdulos que geram lanamentos e contm uma estrutura de
controle do lanamento.
352
12.3
As aplicaes geradas pelo GAS so capazes de controlar no s a gerao desses lanamentos como tambm a sua
manuteno. Vamos ver, agora, como que a aplicao controla quais registros foram gerados por meio de lanamentos e
a partir de qual arquivo foram originados. Sempre que um lanamento definido no projeto, o GAS cria, automaticamente,
dois campos especiais nas estruturas das tabelas envolvidas:
um campo invisvel e seqencial (de incremento automtico) de nome INT~LAN criado dentro da tabela geradora do
lanamento para servir de ligao com o registro lanado na tabela alvo.
um campo invisvel de nome COD~LAN criado dentro da tabela alvo do lanamento, para conter as informaes
exibidas pela figura 12.1:
Figura 12.1
Campo
Nmero
Valor
3.452
Valor
1.500,00
Data
01/08/00
Parcelas
Vendedor
PEDRO
INT~LAN
00000001
353
Por intermdio da sada de uma Nota Fiscal, desejamos gerar, na tabela de Contas a Pagar e Receber, dois
lanamentos: um deles lanando um pagamento da comisso do vendedor e um outro lanando o valor recebido em 3
parcelas. Note que so DOIS lanamentos distintos em uma mesma tabela e, um deles, com mltiplos registros na tabela-alvo
(3 no nosso exemplo).
Aps a sada da Nota Fiscal acima, a nossa tabela de Contas a Pagar e a Receber ficaria conforme exibido na tabela a
seguir:
Data
Not
Valor
HIST.
CD-LAN
01/08/00
15,00
Comiss
048-0000 0001-001
01/08/00
500,00
NF 3452
048-0000 0001-001-001
01/09/00
500,00
NF 3452
048-0000-0001-001-002
01/10/00
500,00
NF 3452
048-0000 0001-001-003
Observe que os valores disponibilizados nos campos (colunas Nat, Valor e Histrico) dependem do que foi definido, na
fase do projeto, para esses lanamentos. Os registros gerados por um lanamento podem ser modificados ou excludos pelo
usurio diretamente da tela definida para a tabela e isto pode no ser desejvel. Caso queira impedir essas manutenes, a
dica utilizar a varivel de sistema vgRegLancado para montar uma condio especial de alterao ou excluso do registro.
Esta expresso poder ser definida por meio da interface de montagem de expresses (a mesma utilizada para estabelecer
354
Not
VgRegLancado
Outro aspecto que merece ser abordado para lanamentos que as modificaes efetuadas sobre registros gerados
por lanamentos podero se perder, caso a tabela geradora desses lanamentos seja modificada, pois quando h uma
alteraco na tabela de origem do lanamento, os campos da tabela alvo do lanamento so refeitos.
12.4
355
356
Cabe ressaltar que as excluses de triggers (integridades relacionais), tabelas e defaults executadas inicialmente no
script de criao do banco so exclusivamente necessrias para que se garanta o marco da inicializao do banco de
dados, evitando, assim, possveis erros em funo de triggers, tabelas e defaults criados anteriormente no mesmo banco.
/* Criao de default */
/*------------------------------------------------------------*/
CREATE DEFAULT defZero AS 0
GO
...
/*------------------------------------------------------------*/
/* Criao de Tabelas, Indices e Atribuio de Default */
/* Produtos em estoque */
/*------------------------------------------------------------*/
CREATE TABLE [Produtos em estoque] (
Cdigo varchar (8) NOT NULL,
[Descrio do produto] varchar (30) NOT NULL,
Unidade varchar (2) NOT NULL,
[Referncia tcnica] text NOT NULL,
[Quantidade em estoque] int NOT NULL,
[Quantidade mnima] smallint NOT NULL,
[Preo de custo] decimal (12, 2) NOT NULL,
[Preo indexado] decimal (10, 2) NOT NULL,
[Lucro bruto] decimal (6, 2) NOT NULL,
Perecvel bit NOT NULL,
[Localizao do produto] smallint NOT NULL,
[Foto do produto] image NULL,
[Data ltima atualizao] datetime NULL,
[quick~rs] timestamp NULL,
CONSTRAINT Cdigo PRIMARY KEY CLUSTERED
(
Cdigo
) WITH FILLFACTOR = 90
)
GO
...
/*------------------------------------------------------------*/
/* Criao de triggers */
/*------------------------------------------------------------*/
CREATE TRIGGER Fornecedores_UPD ON Fornecedores FOR UPDATE AS
IF UPDATE([Cdigo do fornecedor])
BEGIN
IF (SELECT COUNT(*) FROM deleted INNER JOIN [Notas fiscais] ON
deleted.[Cdigo do fornecedor] = [Notas fiscais].[Cdigo do
fornecedor]) > 0
BEGIN
2008 GAS Tecnologia
357
SET NOCOUNT ON
UPDATE [Notas fiscais]
SET [Notas fiscais].[Cdigo do fornecedor] = (SELECT
inserted.[Cdigo do fornecedor] FROM inserted INNER JOIN
Fornecedores ON inserted.[Cdigo do fornecedor] =
Fornecedores.[Cdigo do fornecedor])
FROM deleted INNER JOIN [Notas fiscais] ON deleted.[Cdigo do
fornecedor] = [Notas fiscais].[Cdigo do fornecedor]
END
END
GO
...
Excludas as triggers, tabelas e defaults, garantindo o marco concreto de inicializao do referido banco, o script
automaticamente executar a criao das entidades acima relacionadas, como tambm informa o cdigo descrito
imediatamente acima. Para assegurar a incorruptibilidade do banco de dados, recomendamos que se faa o backup do
banco de dados antes do script ser utilizado na adaptao do referido banco. Os ambientes SQL Server e Oracle oferecem
utilitrios para a execuo e restaurao do backup.
12.5
Se existir plano de senhas no projeto, o GAS gera nas aplicaes um mdulo de manuteno de senhas que permite o
cadastramento de novos Grupos, desde que o usurio que esteja operando a aplicao pertena ao grupo denominado
ADMINISTRAO. A tela da figura 12.2 permite o cadastramento e personalizao dos grupos.
Figura 12.2
358
Usurios, permisses para cada uma das tabelas existentes e visualizao para cada item de menu da aplicao podem
tambm ser cadastrados. Esse ltimo recurso permite ao projetista elaborar aplicativos com um elevado grau de
personalizao, pois um grupo de usurios denominado FINANCEIRO, por exemplo, no apenas ter restrio de acesso,
mas tambm de visualizao aos itens de menu, relacionando-se apenas com os itens pertinentes ao seu grupo.
Cada usurio cadastrado est sempre vinculado a um determinado grupo. As permisses, referentes s tabelas,
designadas para os grupos so:
visualizao de dados;
modificao de dados;
incluso de registros;
excluso de registros.
Figura 12.3
Usurios que no pertenam ao grupo ADMINISTRAO tm a permisso apenas de alterar as suas respectivas
senhas. Para acessar uma aplicao gerada com esquema de segurana, o usurio dever entrar com o seu nome
(identificador) e com a sua senha, por intermdio de uma janela de dilogo criada na aplicao, como mostra o exemplo da
figura 12.4:
359
Figura 12.4
o grupo ADMINISTRAO criado automaticamente dentro de plano de senhas, com um nico usurio de nome
SUPERVISOR. A partir da, novos grupos e usurios podem ser acrescentados. As permisses so sempre dadas ao
GRUPO, sendo que os usurios cadastrados neste grupo "herdam" suas permisses. O grupo ADMINISTRAO, que tem
permisses irrestritas, nunca pode ser apagado e o usurio SUPERVISOR, dentro deste grupo, s pode ser apagado se
existir um outro usurio cadastrado neste grupo.
12.6
Raciocine que as empresas no fazem duplicao de cadastros e que, com certeza, a sua aplicao ter de estar
integrada a algumas tabelas j criadas e usadas por outras aplicaes (fornecedores, clientes, produtos, etc.). Para voc
criar mais campos nessas tabelas, vai ter que justificar muito bem. mais ou menos o que acontecia nas empresas,
utilizando bancos de dados de mainframes, antes do boom dos microcomputadores. Aplicaes desenvolvidas para esses
ambientes esto em um patamar mais elevado, significando que, no momento de negociar o seu desenvolvimento, so
bastante mais caras.
360
Quando uma empresa decide pela utilizao de um banco corporativo, ela deve inicialmente adquirir o engine do banco
de dados e comprar as licenas necessrias para que os micros da rede possam acess-lo. Isso quer dizer que, o engine
instalado em apenas um micro da rede, intitulado servidor, que deve utilizar sistema operacional Windows NT 4.0/2000. As
outras estaes que iro acessar este servidor apenas devem receber a informao de onde se encontra o servidor. Numa
aplicao do GAS, isto acontece quando ela executada pela primeira vez. Esta informao armazenada em um arquivo .
INI que se encontra no diretrio da aplicao. Todas as aplicaes desenvolvidas na empresa devero estar utilizando o
mesmo servidor, onde diversos bancos de dados podero existir.
Do ponto de vista do desenvolvimento de aplicao com o GAS para SQL Server e Oracle, a filosofia a mesma
empregada para aplicaes para o Jet Engine (MDB). A diferena bsica que, nesses bancos de dados corporativos, o
projetista dever trabalhar, provavelmente, com vrios bancos de dados para buscar informaes a serem utilizadas pela
sua aplicao. Para que o GAS possa gerar aplicaes para esses bancos de dados, basta escolher o tipo na janela de
definio da estrutura do mesmo. Um benefcio imediato dessa facilidade que o projetista vai poder fazer a sua aplicao
utilizando o Jet Engine (MDB) na sua prpria casa, escritrio ou mesmo, em separado, na prpria empresa do cliente.
Poder testar o prottipo do seu sistema, apresent-lo a quem for de interesse e, quando tudo estiver de acordo, vai
precisar apenas ajustar essa opo para gerar para o SQL Server ou Oracle. Diferentemente de aplicaes que utilizam o
Jet Engine (MDB), o banco de dados das aplicaes geradas para SQL Server e Oracle no ser criado
automaticamente. O GAS gerar um script com instrues SQL a ser passado ao DBA que o executar no servidor.
Normalmente, o DBA cria o banco de dados diretamente nesse servidor e, utilizando as ferramentas SQL Query Analyser
(SQL Server) ou SQL Plus (Oracle), executa o script gerado pelo GAS para criar as tabelas, ndices e triggers para este
banco de dados. O DBA dever estar ciente de que esse script que o GAS gera,contm instrues para apagar tabelas,
ndices e triggers existentes e recri-las com estrutura vazia. Isto significa que, sempre que o script for executado, um
banco de dados vazio ser criado e todos os dados se perdero! Nos casos de modificao de estrutura, onde se pretende
preservar dados existentes, o projetista dever marcar a opo para que o GAS gere os fontes do Programa Adaptador
que, ao ser compilado e executado, ir comparar a nova estrutura com a estrutura existente no servidor. O prprio
adaptador gerar um script (ADAPTA.SQL) que, de maneira semelhante para criao de banco de dados, dever ser
executado pelo DBA. Neste caso, altamente recomendvel que se faa um backup do banco de dados antes de executar
o script, para que se possa retornar a uma situao anterior, caso necessrio. Aplicaes SQL Server ou Oracle geradas
pelo GAS exigem ADO 2.5 e respectivamente o SQL Server 7.0 SP2 e Oracle 8.1.x.
12.7
Os controles utilizados pelo GAS dentro dos programas criados so diversos, dependendo da situao e do que o JET,
SQL Server e Oracle permitem:
em algumas situaes, todo o banco de dados dever ser bloqueado ao acesso de outros usurios (aberto em modo
exclusivo), como no caso de execuo da rotina de reparao do banco de dados ou em caso de existir processamento
simultneo em diversas tabelas ao mesmo tempo. Esta a forma mais restritiva de sua utilizao.
361
na maioria dos casos, os bloqueios de acesso a outros usurios ocorrem em uma tabela inteira, o que menos
restritivo. As tabelas podem ser abertas com proibio para leitura, impedindo que seus dados sejam examinados por outros
usurios ou, ainda, com proibio somente para gravao de dados nesta tabela. Os bloqueios de tabelas inteiras ocorrem
normalmente quando se faz necessria uma atualizao total de uma tabela por um determinado processamento.
a forma menos restritiva o bloqueio a nvel de registro, que ocorre quando um registro individual esteja sofrendo um
processo de atualizao qualquer como na edio. Deixar que dois usurios atualizem um mesmo registro ao mesmo tempo
pode redundar em desastre. Portanto, as rotinas de edio de registros devem estar providas das instrues para bloquear
o registro em edio ao acesso de outros usurios. O JET, SQL Server e Oracle fazem o tratamento de dados em "pginas"
(normalmente de 2.048 bytes) de cada vez. O resultado disto que, salvo em rarssimas ocasies em que o tamanho do
registro tenha exatamente 2K, esses sistemas de gerenciamento de banco de dados no bloqueiam individualmente um
registro e sim TODOS os registros que estejam em uma mesma pgina. Por exemplo, uma tabela que tenha um tamanho de
registro igual a 230 bytes, teriam 9 registros bloqueados de uma s vez. Quando uma pgina bloqueada por um usurio,
outros usurios no podem modificar quaisquer registros dessa pgina (embora possam ler esses registros). Para o
bloqueio de "pginas" de dados, esses sistemas de gerenciamento de banco de dados permitem dois tipos de bloqueio:
o bloqueio pessimista, que mantm a pgina bloqueada a partir do momento em que o mtodo EDIT (edio) invocado
at o momento em que gravado no banco de dados pelo mtodo UPDATE (atualizao).
o bloqueio otimista, utilizado nos programas criados pelo GAS, que bloqueia a pgina de dados somente durante a
execuo do mtodo UPDATE (atualizao).
12.8
O campo utilizado para o armazenamento dessas mdias do tipo BLOb (Binary Large Object) e o controle gCpMM cuida,
automaticamente, da sua manipulao. Por exemplo, quando o usurio selecionar a opo de abertura do menu do controle,
o mesmo disponibilizar a mdia e utilizar o programa aplicativo que estiver associado ao mesmo para abrir e executar essa
mdia. Alm disso, se a mdia for do tipo editvel (.DOC, .RTF, .XLS, etc.), quando o aplicativo for fechado, o controle
verificar, automaticamente, se a mdia foi modificada e habilitar os botes de gravao e cancelamento para o usurio
gravar no banco de dados, caso deseje, a nova mdia modificada pelo aplicativo associado. Por esta considervel razo,
todos os bancos de dados manipulados por aplicaes geradas pelo GAS-98 que utilizavam campos do tipo imagem tero de
ser convertidos para o novo formato. A Gas Tecnologia disponibiliza um pequeno utilitrio, que instalado em conjunto com o
GAS, que torna esta operao bastante simples. s executar este conversor (CONVIMG.EXE), antes de qualquer
adaptao no banco de dados, fornecendo as informaes solicitadas para que o aplicativo cuide de toda a transformao
do banco de dados.
362
se a mdia a ser inserida no campo for do tipo BMP, WMF ou DIB (que so os tipos que o Visual Basic aceita gravar no
banco de dados), o campo ser, automaticamente, gravado no formato utilizado pelo Visual Basic como se estivesse
vinculado a um controle Data Control. Isto assegura a compatibilidade com o Crystal Reports;
os demais tipos de imagens (GIF, JPG, TIF, etc.), bem como arquivos de qualquer outro tipo de mdia ou extenso, sero
inseridos no formato proprietrio do GAS;
o projetista que j converteu o banco de dados para o GAS e estiver tendo problemas com relatrios do Crystal
Reports, poder utilizar o referido utilitrio conversor para retornar as imagens ao formato anterior (GAS-98). Neste caso,
dentro de um mesmo campo multimdia, em registros diferentes, no poder haver outro tipo de mdia gravado, alm de
imagens;
no momento da converso do banco de dados do GAS-98 para GAS, se desejar manter a compatibilidade com o
Crystal Reports, o projetista ter de selecionar a opo de tipo de imagem BMP. Neste caso, embora mantenha a
compatibilidade com relatrios do Crystal Reports, o banco de dados no sofrer qualquer reduo de tamanho;
se o projetista desejar assegurar que o seu usurio s carregar mdias do tipo BMP, WMF ou DIB na aplicao, a
propriedade OnlyImageBMP dever ser ajustada para True (o default False) durante a fase de projeto.
As recomendaes de converso aqui abordadas devem ser observadas somente se o projetista estiver tendo
problemas com o Crystal Reports para imprimir as imagens desses campos. Se esses campos no estiverem sendo
utilizados para impresso em relatrios do Crystal Reports, recomendamos veementemente que o projetista converta as
imagens do campo multimdia do GAS para o formato JPG, que proporciona reduo drstica no tamanho do banco de dados
e, conseqentemente, um ganho considervel na performance da aplicao. O G-Reports no afetado pelos formatos das
imagens gravadas no banco de dados.
O campo multimdia dotado, ainda, de dois outros recursos importantes para facilitar a sua manipulao:
foi criada a propriedade MediaName (read only) para permitir obter, programaticamente, o nome da mdia que est
gravada no campo. Observe que o nome da mdia retornado sem nenhum path anexado. Veja um exemplo de utilizao
abaixo:
NomeArqMidia$
MMCampo(0).MediaName
'retorna:
363
Foto1.jpg
foi criado o mtodo ExportMedia para exportar, programaticamente, o arquivo da mdia gravada no campo. Este
mtodo tem um parmetro opcional, que o nome completo (path+nome) do arquivo a ser exportado. Se nenhum nome for
passado como parmetro, a mdia exportada com o nome original, dentro do diretrio temporrio configurado no sistema.
Se passado um nome de arquivo para exportao, este no necessita, obrigatoriamente, ser o mesmo que esteja gravado
no campo. Porm, deve ser tomado cuidado especial com a extenso que designa o tipo de arquivo que est gravado no
campo. Por exemplo, se existir um arquivo BMP gravado no campo multimdia e for passado um parmetro para exportar tal
arquivo como "C:\ARQUIVO.AVI", o arquivo ser exportado corretamente, mas com extenso que no corresponde
corretamente ao seu tipo.
Uma boa prtica obter o nome da mdia gravada por meio da propriedade MediaName e apurar a extenso correta ou,
se a troca de nome no for importante, anexar um path vlido de destino frente do nome. Veja um exemplo de utilizao
abaixo:
MMCampo(0).ExportMedia("C:\Arquivos
MMCampo(0).MediaName)
12.9
Exportados\"
Cabe, ainda, ressaltar que os nomes das tabelas citados nas explanaes abaixo so meramente elucidativos, devendo
o projetista, no entanto, seguir a filosofia de trabalho aqui estabelecida.
12.9.1 A primeira...
A primeira forma de compatibilizao de aplicaes geradas com o GAS com a Emisso de Cupom Fiscal consiste
em disponibilizar, como mostra a figura 12.6 abaixo, as definies de Vendas, Itens de Venda e Pagamento em uma
estrutura nica.
Figura 12.6
Para utilizar dessa primeira forma, o projetista dever guiar-se pelos procedimentos a seguir:
Definidas as estruturas das tabelas referentes Vendas, Itens de Venda e Pagamento na definio da estrutura do
banco de dados, devese inserir na rvore do projeto a janela de dados correspondente tabela de Vendas e duas tabelas
364
em grid correspondentes s tabelas de Itens de Venda e Pagamento. O nico diferencial na definio desses mdulos em
referncia aos convencionais que deve-se marcar a opo "Cupom Fiscal" na aba Geral da janela de dados em questo
(Vendas), estabelecendo devidamente todas as tabelas auxiliares, lanamentos e processos necessrios.
Na definio das tabelas auxiliares da tabela de Vendas, caso o projetista queira, porventura, disponibilizar uma
combobox na qual os dados exibidos (Nome e CGC/CPF, por exemplo) se diferem dos dados a serem capturados (Cdigo), o
projetista no dever se esquecer de selecionar a opo "Forar relacionamento" com a tabela de Clientes. J na definio
das tabelas auxiliares do grid de Itens de Venda, o projetista dever "Forar relacionamento" com a tabela de Produtos em
Estoque, permitindo, assim, um perfeito decremento da quantidade de itens emitidos de seu respectivo registro na tabela de
Produtos em estoque. Agora, na definio das tabelas auxiliares do grid de Pagamento, caso o projetista queira, porventura,
disponibilizar uma combobox na qual os dados exibidos (Descrio da forma de pgto, por exemplo) se diferem dos dados a
serem capturados (Cdigo), o projetista no dever se esquecer de selecionar a opo "Forar relacionamento" com a
tabela de Formas de pagamento.
Com o intuito de proporcionar maior flexibilidade ao projetista, foram criadas diversas variveis de sistema
especialmente para a Emisso de Cupom Fiscal, as quais sero de grande utilidade para a definio dos lanamentos e
processos dos mdulos em questo. Reporte-se ao tpico Variveis de sistema, presente no Captulo 12 - O GAS como
ferramenta de desenvolvimento para obter maiores informaes.
A partir de ento, formata-se a tela de entrada de dados para a referida estrutura. Cabe ressaltar que o nico vnculo
da tabela de Vendas com a Emisso de Cupom Fiscal ocorre por intermdio da opo "Cupom Fiscal" anteriormente citada,
enquanto que os grids de Itens de Venda e Pagamento so vinculados por intermdio de diversas propriedades presentes
na janela de Ferramentas da tela.
Formatada a tela da tabela de Vendas e inseridos os grids necessrios, o projetista poder reparar que, ao selecionar
qualquer um dos grids, aparecero dois novos conjuntos de propriedades: "ECF - Venda item" (a ser definido por meio do
grid Itens de Venda) e "ECF - Forma pgto" (a ser definido por meio do grid Pagamento).
Selecionando-se o grid de Itens de Venda, o projetista dever definir obrigatoriamente, nessa primeira forma de
compatibilizao, as propriedades "Cdigo do item", "Descrio do item", "Qde do item", "Situao tributria", "Tipo de tributo"
e "Valor item unitrio" do grupo "ECF - Venda item".
Se, porventura, no forem definidos contedos para as propriedades "Tipo desconto item" e "Valor desconto item" do
grupo "ECF - Venda item", o operador poder acionar a hot-key SHIFT-F12, durante a insero dos itens de venda, para
conceder um eventual desconto para o item corrente, sendo exibida uma tela como a da figura 12.7 a seguir. O desconto
poder ser alterado a qualquer instante. No entanto, uma vez emitido o item de venda, a modificao do desconto no mais
poder ser executada para o referido item.
Figura 12.7
365
Selecionando-se o grid de Pagamento, o projetista dever definir obrigatoriamente, nessa primeira forma de
compatibilizao, as propriedades "Descrio forma pgto" e "Valor forma de pgto" do grupo "ECF - Forma pgto".
Apresentada a tela acima e se, porventura, no forem definidos contedos para as propriedades "Acrscimo/desconto",
"Tipo acrsc/desc" e "Valor acrsc/desc" do grupo "ECF - Forma pgto", a hot-key SHIFT-F12 poder ser reutilizada pelo
operador do sistema para que seja concedido eventual acrscimo/ desconto para o cupom fiscal corrente, devendo ser
selecionado seu tipo por intermdio das telas subseqentes quela acima apresentada. O acrscimo/desconto poder ser
alterado a qualquer instante. No entanto, uma vez emitida a primeira forma de pagamento e seu respectivo valor, a
modificao do acrscimo/desconto no mais poder ser executada para o cupom corrente.
O operador que estiver em qualquer mdulo vinculado Emisso de Cupom Fiscal por meio dessa forma de
compatibilizao, poder, a qualquer momento, efetuar a abertura de gaveta, pressionando a hot-key CTRL-F12.
O projetista poder, ainda, incluir uma picturebox na tela de entrada de dados para que aquela possa espelhar a
impresso do cupom fiscal pela impressora fiscal. Para isso, basta ajustar a propriedade "Retorno da ECF" da referida
picturebox para 1 - Sim. Para reproduzir melhor a impresso do cupom fiscal na referida picturebox, deve-se dar preferncia
s fontes monoespaadas, como a Courier New, e dimensionar sua largura para 50 posies, largura essa que tambm
utilizada nos cupons fiscais emitidos pela Bematech e que so compatveis com os da Yanco.
Concludos os passos acima relacionados, bastar que sejam inseridas as rotinas de apoio ECF na rvore do projeto,
de forma a facilitar o processo de manuteno da impressora fiscal pelos usurios do sistema.
12.9.2 A segunda...
A segunda forma de compatibilizao de aplicaes geradas com o GAS com a Emisso de Cupom Fiscal consiste em
disponibilizar, como mostra a figura 12.8 abaixo, as definies de Vendas e Itens de Venda em uma estrutura nica,
habilitando um controle interno, via F12, para a efetivao dos pagamentos.
O projetista poder utilizar-se dessa forma de compatibilizao para adequar o sistema gerado TEF - Transferncia
Eletrnica de Fundos Discada. Reporte-se para isso ao tpico Implementando TEF - Transferncia Eletrnica de Fundos
Discada, presente mais adiante neste captulo.
Figura 12.8
Para utilizar dessa segunda forma, o projetista dever guiar-se pelos procedimentos a seguir:
Definidas as estruturas das tabelas referentes Vendas e Itens de Venda na definio da estrutura do banco de
dados, deve-se inserir na rvore do projeto a janela de dados correspondente tabela de Vendas e uma tabela em grid
correspondente de Itens de Venda. O nico diferencial na definio desses mdulos em referncia aos convencionais
366
que deve-se marcar a opo "Cupom Fiscal" na aba Geral da janela de dados em questo (Vendas), estabelecendo
devidamente todas as tabelas auxiliares, lanamentos e processos necessrios.
Na definio das tabelas auxiliares da tabela de Vendas, caso o projetista queira, porventura, disponibilizar uma
combobox na qual os dados exibidos (Nome e CGC/CPF, por exemplo) se diferem dos dados a serem capturados (Cdigo), o
projetista no dever se esquecer de selecionar a opo "Forar relacionamento" com a tabela de Clientes. J na definio
das tabelas auxiliares do grid de Itens de Venda, o projetista dever "Forar relacionamento" com a tabela de Produtos em
Estoque, permitindo, assim, um perfeito decremento da quantidade de itens emitidos de seu respectivo registro na tabela de
Produtos em estoque.
Com o intuito de proporcionar maior flexibilidade ao projetista, foram criadas diversas variveis de sistema
especialmente para a Emisso de Cupom Fiscal, as quais sero de grande utilidade para a definio dos lanamentos e
processos dos mdulos em questo. Reporte-se ao tpico Variveis de sistema, presente no Captulo 12- O GAS como
ferramenta de desenvolvimento para obter maiores informaes.
A partir de ento, formata-se a tela de entrada de dados para a referida estrutura. Cabe ressaltar que o nico vnculo
da tabela de Vendas com a Emisso de Cupom Fiscal ocorre por intermdio da opo "Cupom Fiscal" anteriormente citada,
enquanto que o grid de Itens de Venda vinculado por intermdio de diversas propriedades presentes na janela de
Ferramentas da tela.
Formatada a tela da tabela de Vendas e inserido o grid necessrio tabela de Itens de Venda, o projetista poder
reparar que, ao selecionar o referido grid, aparecero dois novos conjuntos de propriedades: "ECF - Venda item" e "ECF Forma pgto", devendo, nessa segunda forma de compatibilizao com a Emisso de Cupom Fiscal, ambos serem definidos
por meio do grid Itens de Venda.
Como essa segunda forma de compatibilizao no apresenta um grid especfico para os pagamentos, o controle
interno para a efetivao desse (F12) ser disparado por intermdio da definio obrigatria, no prprio grid de Itens de
Venda, da propriedade "Descrio forma pgto" do grupo "ECF - Forma pgto", propriedade tal que tornar-se- habilitada para
o grid de Itens de Venda enquanto outro no for expressamente designado para os pagamentos. Selecionando-se o grid
de Itens de Venda, o projetista dever definir obrigatoriamente, nessa segunda forma de compatibilizao, as propriedades
"Cdigo do item", "Descrio do item", "Qde do item", "Situao tributria", "Tipo de tributo" e "Valor item unitrio" do grupo
"ECF - Venda item", alm da propriedade Descrio forma pgto do grupo "ECF - Forma pgto". Se, porventura, no forem
definidos contedos para as propriedades "Tipo desconto item" e "Valor desconto item" do grupo "ECF - Venda item", o
operador poder acionar a hot-key SHIFT-F12, durante a insero dos itens de venda, para conceder um eventual desconto
para o item corrente, sendo exibida uma tela como a da figura 12.9 a seguir. O desconto poder ser alterado a qualquer
instante. No entanto, uma vez emitido o item de venda, a modificao do desconto no mais poder ser executada para o
referido item.
Figura 12.9
Ao ser acionada a hot-key F12 no grid de Itens de Venda na aplicao final, surgir uma tela como a da figura 12.10 a
seguir para que o operador do sistema possa definir o pagamento dos itens de venda, sendo apresentadas as descries
367
de formas de pagamento, a partir da tabela de Formas de pagamento, por meio da listbox presente nessa tela. Tambm
devero ser informados, por intermdio do campo Valor do pagamento, os valores referentes a cada uma das formas de
pagamento utilizadas.
Figura 12.10
Caso o projetista deseje suprimir o campo Acrscimo/Desconto da janela de pagamentos, a propriedade Mostra
Acresc/Desc poder para isso ser utilizada. O projetista poder ainda vincul-la a um campo lgico especfico em uma tabela
de parmetros, deixando a cargo do usurio do aplicativo final gerado tomar a deciso de exibir ou no. Caso o campo no
seja exibido, o operador poder acionar uma janela especfica de Acrscimo / Desconto, utilizandose da hot-key SHIFT-F12.
Como supracitado, apresentada a tela acima, a hot-key SHIFT-F12 poder ser reutilizada pelo operador do sistema para
que seja concedido eventual acrscimo/desconto para o cupom fiscal corrente, devendo ser selecionado seu tipo por
intermdio das telas subseqentes quela acima apresentada. O acrscimo/ desconto poder ser alterado a qualquer
instante. No entanto, uma vez emitida a primeira forma de pagamento e seu respectivo valor, a modificao do acrscimo/
desconto no mais poder ser executada para o cupom corrente.
O operador que estiver em qualquer mdulo vinculado Emisso de Cupom Fiscal por meio dessa forma de
compatibilizao, poder, a qualquer momento, efetuar a abertura de gaveta, pressionando a hot-key CTRL-F12.
O projetista poder, ainda, incluir uma picturebox na tela de entrada de dados para que aquela possa espelhar a
impresso do cupom fiscal pela impressora fiscal. Para isso, basta ajustar a propriedade "Retorno da ECF" da referida
picturebox para 1 - Sim. Para reproduzir melhor a impresso do cupom fiscal na referida picturebox, deve-se dar preferncia
s fontes monoespaadas, como a Courier New, e dimensionar sua largura para 50 posies, largura essa que tambm
utilizada nos cupons fiscais emitidos pela Bematech e que so compatveis com os da Yanco. Concludos os passos acima
relacionados, bastar que sejam inseridas as rotinas de apoio ECF na rvore do projeto, de forma a facilitar o processo de
manuteno da impressora fiscal pelos usurios do sistema.
12.9.3 A terceira
A terceira forma de compatibilizao de aplicaes geradas com o GAS com a Emisso de Cupom Fiscal consiste em
disponibilizar, como mostra a figura 12.11 abaixo, um processo prdefinido para efetuar toda essa tarefa.
O projetista poder utilizar-se dessa forma de compatibilizao para adequar o sistema gerado TEF - Transferncia
Eletrnica de Fundos Discada. Reporte-se para isso ao tpico Implementando TEF - Transferncia Eletrnica de Fundos
Discada, presente mais adiante neste captulo.
368
Figura 12.11
Para utilizar dessa terceira forma, o projetista dever guiar-se pelos procedimentos a seguir:
Definidas as estruturas das tabelas referentes Vendas e Itens de Venda na definio da estrutura do banco de
dados, deve-se inserir na rvore do projeto o processo pr-definido responsvel por tal compatibilizao. O nico diferencial
na definio desse mdulo em referncia aos processos pr-definidos convencionais que deve-se marcar a opo
"Cupom Fiscal" na aba Geral do mdulo em questo, fato que proporcionar a possibilidade de se definir lanamentos e
processos a partir do denominado cabealho do processo prdefinido. Assim sendo, deve-se estabelecer devidamente no
s as tabelas auxiliares, mas tambm todos os lanamentos e processamentos necessrios, tais como Lanamento da
Venda, Lanamento do item, Processo de atualizao do total da venda, etc.
Com o intuito de proporcionar maior flexibilidade ao projetista, foram criadas diversas variveis de sistema
especialmente para a Emisso de Cupom Fiscal, as quais sero de grande utilidade para a definio dos lanamentos e
processos do mdulo em questo, como mostra as telas das figuras 12.12, 12.13 e 12.14 a seguir. Reporte-se ao tpico
Variveis de sistema, presente no Captulo 12 - O GAS como ferramenta de desenvolvimento para obter maiores
informaes.
Figura 12.12
Figura 12.13
Figura 12.14
A partir de ento, formata-se a tela do referido processo pr-definido, como mostra a tela da figura 12.11, viabilizando
a entrada de dados para a Emisso de Cupom Fiscal. Cabe ressaltar que o vnculo do processo pr-definido em questo
com a ECF ocorre por intermdio de diversas propriedades presentes na janela de Ferramentas da tela e por meio da opo
"Cupom Fiscal" anteriormente citada.
No decorrer da formatao da tela, dever ser inserido pelo menos um gMask para que sejam definidos os dois novos
conjuntos de propriedades: "ECF - Venda item" e "ECF - Forma pgto". Como poderemos constatar mais adiante, de forma a
auxiliar no estabelecimento das tabelas auxiliares do mdulo em questo, sugerimos a definio da propriedade Apelido para
o gMask principal. Sugerimos, ainda, ao projetista que insira gMasks adicionais contendo frmulas para representarem
variveis importantes ao operador, tais como Quantidade dos itens, Subtotal, etc.
369
pagamentos. Assim sendo, o controle interno para a efetivao dos pagamentos (F12) ser disparado por intermdio da
definio obrigatria, no prprio gMask que comandar a compatibilizao, da propriedade "Descrio forma pgto" do grupo
"ECF - Forma pgto", propriedade tal que sempre habilitar-se- para tal gMask quando utilizada essa terceira forma de
compatibilizao.
Selecionando-se o gMask que comandar a definio dos conjuntos de novas propriedades, o projetista dever definir
obrigatoriamente, nessa terceira forma de compatibilizao, as propriedades "Cdigo do item", "Descrio do item", "Situao
tributria", "Tipo de tributo" e "Valor item unitrio" do grupo "ECF - Venda item", alm da propriedade "Descrio forma pgto"
do grupo "ECF - Forma pgto", conforme elucidado acima.
Se, porventura, no forem definidos contedos para as propriedades "Tipo desconto item" e "Valor desconto item" do
grupo "ECF - Venda item", o operador poder acionar a hot-key SHIFT-F12, durante a insero dos itens de venda, no gMask
principal na aplicao final para conceder um eventual desconto para o item corrente, sendo exibida uma tela como a da
figura 12.15 a seguir. O desconto poder ser alterado a qualquer instante. No entanto, uma vez emitido o item de venda, a
modificao do desconto no mais poder ser executada para o referido item.
Figura 12.15
Se, porventura, no for definido contedo para a propriedade "Qde do item", tambm do grupo "ECF - Venda Item", o
operador poder acionar a hot-key * (asterisco), no gMask principal na aplicao final, aps a digitao da referida
quantidade, indicando, assim, a quantidade dos itens de venda.
Ao ser acionada a hot-key F12, ainda no gMask principal na aplicao final, surgir uma tela como a da figura 12.16 a
seguir para que o operador do sistema possa definir o pagamento dos itens de venda, sendo apresentadas as descries
de formas de pagamento, a partir da tabela de Formas de pagamento, por meio da listbox presente nessa tela. Tambm
devero ser informados, por intermdio do campo Valor do pagamento, os valores referentes a cada uma das formas de
pagamento utilizadas.
Figura 12.16
Caso o projetista deseje suprimir o campo Acrscimo/Desconto da janela de pagamentos, a propriedade Mostra
Acresc/Desc poder para isso ser utilizada. O projetista poder ainda vincul-la a um campo lgico especfico em uma tabela
de parmetros,deixando a cargo do usurio do aplicativo final gerado tomar a deciso de exibir ou no. Caso o campo no
seja exibido, o operador poder acionar uma janela especfica de Acrscimo / Desconto, utilizandose da hot-key SHIFT-F12.
Como supracitado, apresentada a tela acima, a hot-key SHIFT-F12 poder ser reutilizada pelo operador do sistema para
que seja concedido eventual acrscimo/desconto para o cupom fiscal corrente, devendo ser selecionado seu tipo por
intermdio das telas subseqentes quela acima apresentada. O acrscimo/ desconto poder ser alterado a qualquer
instante. No entanto, uma vez emitida a primeira forma de pagamento e seu respectivo valor, a modificao do acrscimo/
370
O operador que estiver em qualquer mdulo vinculado Emisso de Cupom Fiscal por meio dessa forma de
compatibilizao, poder, a qualquer momento, efetuar a abertura de gaveta, pressionando a hot-key CTRL-F12.
O projetista poder, ainda, incluir uma picturebox na tela de entrada de dados para que aquela possa espelhar a
impresso do cupom fiscal pela impressora fiscal. Para isso, basta ajustar a propriedade "Retorno da ECF" da referida
picturebox para 1 - Sim. Para reproduzir melhor a impresso do cupom fiscal na referida picturebox, deve-se dar preferncia
s fontes monoespaadas, como a Courier New, e dimensionar sua largura para 50 posies, largura essa que tambm
utilizada nos cupons fiscais emitidos pela Bematech e que so compatveis com os da Yanco.
Caso queira, o projetista poder fazer uso das propriedades Ao Cancela Cupom e Ao Cancela Item (consulte o
Captulo 13 - Propriedades dos objetos de tela), prevendo, por exemplo, o cancelamento de cupons e itens de venda no
prprio banco de dados, respectivamente, dentre outras providncias que o projetista julgar necessrias.
Aps a formatao da tela em questo, o projetista dever retornar, ento, definio das tabelas auxiliares deste
mdulo para que possa selecionar a opo "Forar relacionamento" do gMask (Apelido) para a tabela de Produtos em
estoque (Cdigo), permitindo, assim, um perfeito decremento da quantidade de itens emitidos de seu respectivo registro na
tabela de Produtos em estoque.
Concludos os passos acima relacionados, bastar que sejam inseridas as rotinas de apoio ECF na rvore do projeto,
de forma a facilitar o processo de manuteno da impressora fiscal pelos usurios do sistema.
12.9.4 A quarta...
A quarta forma de compatibilizao de aplicaes geradas com o GAS com a Emisso de Cupom Fiscal consiste em
disponibilizar, como mostram as figuras 12.17 e 12.18 abaixo, oramentos para que sejam emitidos, s ento e por
intermdio de relatrios, os cupons fiscais.
Figura 12.17
Figura 12.18
O projetista dever utilizar a estrutura de tabelas Oramentos, Itens do Oramento e Pagamento do Oramento (em uma
estrutura nica) e Vendas, Itens de Venda e Pagamento da Venda (tambm em uma estrutura nica), como mostra a figura
12.19 a seguir.
371
Figura 12.19
Nessa quarta forma, o projetista poder adotar os mais diversos caminhos. Estaremos expondo o mais completo de se
utilizar nessa quarta forma de compatibilizao com a Emisso de Cupom Fiscal, cabendo ao projetista avaliar os mdulos
que julga imprescindveis. Assim, o projetista dever guiar-se pelos procedimentos a seguir:
Definidas as estruturas das tabelas referentes aos Oramentos, Itens do Oramento, Pagamento do Oramento,
Vendas, Itens de Venda e Pagamento da Venda na definio da estrutura do banco de dados, deve-se inserir na rvore do
projeto as janelas de dados correspondentes s tabelas de Oramentos e Vendas, bem como as tabelas em grid
correspondentes s demais tabelas aqui envolvidas. O projetista dever definir tais mdulos de modo convencional, no
devendo selecionar a opo "Cupom Fiscal" para os mdulos acima relacionados, como ocorre com as primeiras formas de
compatibilizao com a Emisso de Cupom Fiscal. Alm disso, dever estabelecer devidamente todas as tabelas auxiliares,
lanamentos e processos necessrios.
A estrutura referente aos Oramentos funcionar de forma independente da estrutura de Vendas, no efetuando
quaisquer lanamentos ou processos nesta ltima. Se, porventura, o operador do sistema quiser converter um oramento
qualquer em venda efetiva, aquele poder utilizar de um processo pr-definido elaborado pelo projetista, emitindo o cupom
fiscal ao seu trmino. A figura 12.18 reflete parte desse processo, o qual detalharemos mais adiante com maior
profundidade.
Cabe, aqui, uma relevante ressalva ao que acima expomos: fica a critrio do projetista fazer uso ou no de um
processo pr-definido para converter os oramentos em vendas efetivas. Visto que o GAS cede total abertura para o
desenvolvimento de seus aplicativos, o projetista pode gerar dependncia entre as estruturas de Oramentos e Vendas.
Para exemplificar, o projetista poderia converter automaticamente os oramentos em vendas efetivas por intermdio de
lanamentos e processos definidos diretamente nos referidos mdulos (abas Lanamentos e Processos, respectivamente),
ficando a emisso do cupom fiscal, depois de incluso o referido oramento (e, portanto, criada a venda efetiva), a cargo do
operador do sistema, bastando para isso acessar o mdulo de emisso de cupom fiscal. Compare a figura 12.17 com a
12.18 e repare que a primeira reflete parte do processo aqui ressaltado.
Depois da relevante ressalva supracitada, voltemos ao caminho enriquecido de recursos dessa quarta forma de
compatibilizao. Na definio das tabelas auxiliares da tabela de Oramentos e Vendas, caso o projetista queira,
porventura, disponibilizar uma combobox na qual os dados exibidos (Nome e CGC/CPF, por exemplo) se diferem dos dados a
serem capturados (Cdigo), o projetista no dever se esquecer de selecionar a opo "Forar relacionamento" com a
tabela de Clientes. J na definio das tabelas auxiliares do grid de Itens de Venda, o projetista dever "Forar
relacionamento" com a tabela de Produtos em Estoque, permitindo, assim, o correto decremento da quantidade de itens
emitidos de seu respectivo registro na tabela de Produtos em estoque. Agora, na definio das tabelas auxiliares do grid de
Pagamento do Oramento e Pagamento da Venda, caso o projetista queira, porventura, disponibilizar uma combobox na qual
os dados exibidos (Descrio da forma de pgto, por exemplo) se diferem dos dados a serem capturados (Cdigo), o
projetista no dever se esquecer de selecionar a opo "Forar relacionamento" com a tabela de Formas de pagamento.
372
Caso o projetista no queira fazer uso de processos pr-definidos para converter os Oramentos em Vendas,
utilizando de lanamentos e processos definidos diretamente nos referidos mdulos (abas Lanamentos e Processos,
respectivamente), o projetista dever "Forar relacionamento" com a tabela de Produtos em Estoque, na definio das
tabelas auxiliares do grid de Itens do Oramento, permitindo, assim, o correto decremento da quantidade de itens emitidos de
seu respectivo registro na tabela de Produtos em estoque.
Com o intuito de proporcionar maior flexibilidade ao projetista, foram criadas diversas variveis de sistema
especialmente para a Emisso de Cupom Fiscal, as quais sero de grande utilidade para a definio dos lanamentos e
processos dos mdulos em questo. Reporte-se ao tpico Variveis de sistema, presente no Captulo 12 - O GAS como
ferramenta de desenvolvimento para
obter maiores informaes.
A partir de ento, formata-se a tela de entrada de dados para as referidas estruturas. Cabe ressaltar que tais mdulos
no tm quaisquer vnculos com a Emisso de Cupom Fiscal. Como descreveremos mais adiante, o projetista dever
disponibilizar relatrios e sub-relatrios, fazendo uso de diversas propriedades presentes na janela de Ferramentas da tela,
para proporcionar a compatibilizao do aplicativo final com a Emisso de Cupom Fiscal.
Formatada a tela da tabela de Oramentos e Vendas, o projetista dever inserir, na rvore do projeto, os mdulos
responsveis pela Emisso de Cupom Fiscal propriamente dita: 1.quatro processos pr-definidos, os quais convertero os
Oramentos, Itens do Oramento e Pagamento do Oramento em Vendas, Itens de Venda e Pagamento da Venda,
respectivamente. O primeiro dos processos pr-definidos servir apenas de cabealho para os demais, permitindo o acesso
do operador do sistema converso aqui abordada. A estrutura dever assemelhar-se com aquela disponibilizada na figura
12.18, estrutura tal que detalharemos com mais profundidade a seguir. 2.um relatrio e dois sub-relatrios do GReports para
que as vendas efetivas sejam emitidas como Cupom Fiscal. Tais subrelatrios sero vinculados aos grupos de propriedades
referentes Emisso de Cupom Fiscal, como veremos mais adiante. A estrutura de relatrios e sub-relatrios em questo
dever ser inserida aps os processos pr-definidos de converso e sob o processo pr-definido como cabealho dos
demais, como mostra a tela representada pela figura 12.18 ao topo desse tpico.
Ressaltamos, aqui, que o projetista no necessita expressamente disponibilizar tabelas auxiliares e nem deve, muito
menos, selecionar a opo "Cupom Fiscal" para o cabealho, visto que estamos abordando a quarta forma de
compatibilizao com a Emisso de Cupom Fiscal. No entanto, ao formatar a tela do cabealho, tela essa que ceder acesso
ao operador do sistema execuo aos processos e emisso do cupom fiscal, o projetista poder disponibilizar uma
combobox para que sejam exibidos os oramentos existentes e para que seja selecionado aquele que ser convertido
efetivamente em venda. Para que o projetista possa estabelecer, mais adiante, a necessria condio para processar o
registro, deve-se definir um contedo para a propriedade Apelido, como mostra a figura 12.20 a seguir. Caso contrrio,
todos os oramentos sero convertidos em vendas efetivas ao acionar o mdulo de converso em questo. Figura 12.20
Inserido o primeiro processo pr-definido abaixo daquele denominado cabealho, o projetista dever estabelecer todas
as informaes necessrias, inclusive as tabelas auxiliares, lanamentos e processos para o mdulo em questo, como
mostram as figuras 12.21, 12.22 e 12.23 a seguir. O projetista poder, ainda, habilitar o processo pr-definido para alterar o
campo (flag) Convertido em venda da tabela de Oramentos para que, dessa forma, mantenha-se o controle necessrio
sobre a referida converso.
373
Figura 12.21
Figura 12.22
Figura 12.23
Alm dos parmetros acima especificados, o projetista dever estabelecer, na aba Opes do mdulo em questo,
uma condio para que, por intermdio da combobox disponibilizada durante a formatao da tela, somente os oramentos
selecionados sejam convertidos em vendas efetivas. Para efetuar tal processo, basta clicar sobre o boto extensor (com
reticncias) do campo "Condio para processar o registro". Na tela de montagem da expresso, o campo Campo dever
ser preenchido com o campo da tabela bsica que representa o nmero do oramento (em nosso caso, Orcamento![Nmero
do oramento]), enquanto que no campo "Segundo operando" dever ser selecionado o apelido dado combobox
disponibilizada na tela (em nosso caso, Numero_do_orcamento), complementando com o Operador = (igual).
Abaixo deste mdulo, devero ser inseridos dois outros processos pr-definidos que serviro para que os Itens do
Oramento e Pagamento do Oramento sejam convertidos. Da mesma forma como o item anterior, o projetista dever
estabelecer todas as informaes necessrias, inclusive as tabelas auxiliares, lanamentos e processos para os mdulos
em questo, como mostram as figuras 12.24, 12.25, 12.26, 12.27, 12.28 e 12.29 a seguir:
Figura 12.24
Figura 12.25
Figura 12.26
Figura 12.27
Figura 12.28
Figura 12.29
374
Acessando a aba Opes de cada um dos mdulos em questo, o projetista dever estabelecer a expresso que
define a ligao dos mesmos com o processo pr-definido pai, selecionando os devidos campos que se encontram nas
listas "Cps do filho" e "Cps do pai", como mostram as figuras 12.30 e 12.31 abaixo.
Figura 12.30
Figura 12.31
A partir de ento, o projetista dever definir a estrutura de relatrio e sub-relatrios do GReports responsvel pela
emisso, como Cupons Fiscais, das vendas efetivas. O nico diferencial na definio do relatrio principal em referncia aos
relatrios convencionais que deve-se marcar a opo "Cupom Fiscal" na aba Geral do mdulo em questo. Acessando a
aba Opes de cada um dos sub-relatrios durante suas respectivas definies, o projetista dever estabelecer a
expresso que define a ligao dos mesmos com o relatrio pai, selecionando os devidos campos que se encontram nas
listas "Cps do filho" e "Cps do pai", como mostram as telas das figuras 12.32 e 12.33 a seguir. Para todos os mdulos da
estrutura aqui citada, o projetista poder estabelecer, ainda, as devidas tabelas auxiliares que, porventura, julgar
necessrias, tais como Clientes, Produtos em Estoque, Formas de Pagamento, etc.
Figura 12.32
Figura 12.33
Durante a formatao do relatrio principal, devero ser inseridos apenas dois subrelatrios, por intermdio do boto
apresentado a seguir, presente na tela de Ferramentas de relatrio. Inseridos os sub-relatrios necessrios, o projetista
poder reparar que, ao selecionar qualquer um dos sub-relatrios, aparecero dois novos conjuntos de propriedades: "ECF
- Venda item" e "ECF - Forma pgto", cada um deles definidos por subrelatrios diferentes.
BOTO
Selecionando-se o primeiro sub-relatrio, o projetista dever definir obrigatoriamente, nessa quarta forma de
compatibilizao, as propriedades "Cdigo do item", "Descrio do item", "Qde do item", "Situao tributria", "Tipo de tributo"
e "Valor item unitrio" do grupo "ECF - Venda item".
375
Selecionando-se o segundo sub-relatrio, o projetista dever definir obrigatoriamente, nessa quarta forma de
compatibilizao, as propriedades "Descrio forma pgto" e "Valor forma de pgto" do grupo "ECF - Forma pgto".
Nessa quarta forma de compatibilizao com a Emisso de Cupom Fiscal, o operador do aplicativo final no poder
fazer uso das hotkeys SHIFT-F12, para definio de acrscimo - cupom fiscal - e desconto - cupom fiscal e item de cupom,
F12, para definio das formas e valores de pagamento, e CTRL-F12, para abertura de gaveta, visto que tais definies no
so estabelecidas durante a emisso propriamente dita e, sim, por intermdio de tabelas ou rotinas, acessveis ou no ao
operador, especificadas pelo projetista em tempo de projeto. Da mesma forma, o projetista no poder disponibilizar uma
picturebox na tela de entrada de dados para que aquela possa espelhar a impresso do cupom fiscal pela impressora fiscal.
Diferente do que ocorre com as formas anteriores de compatibilizao, a emisso nessa quarta forma no ocorre de modo
on-line e, sim, somente quando acessada a estrutura de processos pr-definidos e relatrios responsveis por tal emisso.
Concludos os passos acima relacionados, bastar que sejam inseridas as rotinas de apoio ECF na rvore do projeto,
de forma a facilitar o processo de manuteno da impressora fiscal pelos usurios do sistema.
Para utilizar-se da TEF Discada, tanto em tempo de projeto como no aplicativo final gerado, o projetista dever fazer uso,
ou mesmo necessitar por diversas vezes, dos gerenciadores padro para TEF Discada, fornecidos pelas operadoras de
crdito. Informaes a esse respeito, podero ser obtidas junto quelas operadoras, bem como informaes de instalao e
utilizao. Para implementar a TEF Discada, o projetista dever primeiramente utilizar-se da propriedade "TEF/Cheque
Eletrnico", que indicar se a forma de pagamento necessitar ou no de comunicao com os gerenciadores padro. O
segundo passo para habilitar a utilizao da TEF Discada a insero do mdulo "Configuraes para TEF" na rvore do
projeto, mdulo o qual abordaremos mais adiante.
A indicao da propriedade em questo poder ser efetuada por intermdio, por exemplo, de um campo da tabela
Formas de pagamento, funo, constante ou varivel. Reporte-se ao Captulo 13 - Propriedades dos Objetos de Tela
para obter maiores informaes sobre a propriedade em questo. Em nosso exemplo, como mostra a figura 12.34,
acresceremos o campo TEF Cheque eletrnico na tabela de Formas de pagamento.
Figura 12.34
Uma vez que o operador j poder determinar quais formas de pagamento faro comunicao com os gerenciadores
padro, essa comunicao ser habilitada automaticamente, no aplicativo final gerado, quando selecionada uma dessas
formas de pagamento, como mostrado na figura 12.35 a seguir.
Figura 12.35
376
Ao selecion-las, caso exista mais de um gerenciador padro instalado, o operador poder selecionar, na lista de
gerenciadores apresentados, aquele que deseja utilizar. Escolhido o gerenciador, ser apresentada tela como a das figuras
12.36 e 12.37.
Figura 12.36
Figura 12.37
Aberta a interface do gerenciador padro, o operador ter acesso a todas as funes operacionais do mesmo, ficando
a cargo do gerenciador a comunicao com a operadora de crdito.
Cabe ressaltar que a forma de pagamento Cheque eletrnico funciona apenas como consulta, no impedindo que,
mesmo no caso de uma resposta negativa para o cheque em questo, o operador d continuidade venda em andamento.
Conforme exigncia das administradoras de crdito para compatibilizao com TEF, o aplicativo final gerado se
responsabilizar pela exibio de toda e qualquer mensagem de retorno do gerenciador padro utilizado, sendo que, em
algumas das vezes, deixar a mensagem em exibio por no mnimo 5 segundos, dependendo do tipo e status da transao
realizada. O mdulo "Configuraes para TEF", citado anteriormente, viabilizar o acesso s configuraes
administrativas do gerenciador padro, permitindo incluir, excluir, acessar e configurar esses gerenciadores, como mostra a
tela da figura 12.38.
Figura 12.38
377
Figura 12.39
378
12.10.7 Leitura X
Este mdulo permite ao operador da aplicao final imprimir o relatrio "X", cuja funo principal a de gerar um parecer
exato do movimento dirio da impressora at o momento em que emitido.
12.10.8 Reduo Z
Este mdulo permite ao operador da aplicao final emitir um relatrio "Z", cuja funo principal a de gerar um parecer
do movimento dirio da impressora at o momento em que emitido, alm de efetuar a gravao efetiva de todos os
totalizadores na memria no voltil.
12.10.9 Sangria
Este mdulo permite ao operador da aplicao final retirar quantias do caixa, efetuando, para isso, a abertura de gaveta
automaticamente.
12.10.10Suprimentos
Este mdulo permite ao operador da aplicao final inserir quantias no caixa para que possam servir de troco, etc,
efetuando, para isso, a abertura de gaveta automaticamente.
12.10.11Cancela item
Este mdulo permite ao operador da aplicao final cancelar os ltimos 100 itens impressos do cupom fiscal corrente,
sendo 0 (zero) o ltimo item vendido, como mostra a tela da figura 12.40 a seguir.
Figura 12.40
12.10.12Cancela cupom
Este mdulo permite ao operador da aplicao final cancelar exclusivamente o atual ou ltimo cupom emitido, sendo
imprescindvel que o operador abra (disponha visualmente), na aplicao final, o cupom fiscal a ser cancelado. Um outro
cancelamento s poder ser solicitado aps a emisso de um outro cupom.
Captulo
XIII
Captulo 13 - Propriedades dos objetos de tela
380
13
13.1
Algumas propriedades podem ser ajustadas diretamente na prpria lista. Outras possuem um boto extensor marcado
com reticncias (...) que pode ser utilizado para ativar algum dilogo padro, como, por exemplo, para seleo de fontes,
cores ou mesmo para ativar o Editor de Programas do GAS, usado para escrever alguma funo a ser integrada ao
cdigo fonte a ser gerado.
Se mais de um controle estiver selecionado simultaneamente, a lista de propriedades espelhar somente aquelas
propriedades que so comuns aos objetos selecionados. A seguir, em ordem alfabtica, aparece a descrio de todas as
propriedades existentes, os objetos a que se aplicam, tipo de valor que armazenam e para que servem. Para todas as
propriedades que tenham Evento por categoria, o Editor de Programas do GAS poder ser utilizado para criar rotinas ou
trechos de programa para executar uma determinada tarefa e sero acionadas aps a execuo dos procedimentos
normais gerados pelo GAS, excetuando-se aqui apenas a Ao FormUnload, a qual acionada antes da execuo dos
procedimentos normais gerados pelo GAS. Algumas propriedades do objeto gMask so dependentes da propriedade Tipo
de dado; por isso, algumas podero no estar disponveis em determinado momento. O mesmo pode acontecer com relao
ao objeto Painel, quando este for utilizado como fundo da tela, sobre o qual os demais controles so colocados.
Lista de propriedades
Propriedade
381
Descrio
Esta propriedade determina o nmero de abas em uma mesma carreira para o controle
tab. Se esta propriedade tiver um nmero menor do que o que estiver ajustado para a
propriedade Qde de abas, mais de uma carreira de abas aparecer no controle tab.
Ao aps alterao
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada logo aps a alterao de registros no form ou grid. Alm disso, podero ser
invocados formulrios presentes na aplicao, inclusive para emisso de relatrios, ou
executadas aes pr-definidas como "Enviar E-Mail", "Abrir WebPage", "Executar arquivo",
etc.
Ao aps excluso
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada logo aps a excluso de registros no form ou grid. Alm disso, podero ser
invocados formulrios presentes na aplicao, inclusive para emisso de relatrios, ou
executadas aes pr-definidas como "Enviar E-Mail", "Abrir WebPage", "Executar arquivo",
etc.
Ao aps incluso
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada logo aps a incluso de registros no form ou grid. Alm disso, podero ser
invocados formulrios presentes na aplicao, inclusive para emisso de relatrios, ou
executadas aes pr-definidas como "Enviar E-Mail", "Abrir WebPage", "Executar arquivo",
etc.
Ao Cancela Cupom
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada quando o cancelamento de cupons de venda for acionado, aps a execuo dos
procedimentos normais gerados pelo GAS em aplicaes que utilizam da Emisso de Cupom
Fiscal. Disponvel apenas para o terceiro modo de compatibilizao com ECF (consulte o
tpico Definindo mdulos para impressora fiscal do Captulo 12 - O GAS como ferramenta de
desenvolvimento), esta propriedade permite ao projetista programar, por exemplo, o
cancelamento de cupons de venda no prprio banco de dados dentre outras providncias
que o projetista julgar necessrias.
Ao Cancela Item
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada quando o cancelamento de itens de venda for acionado, aps a execuo dos
procedimentos normais gerados pelo GAS em aplicaes queutilizam da Emisso de Cupom
Fiscal. Disponvel apenas para o terceiro modo de compatibilizao com ECF (consulte o
tpico Definindo mdulos para impressora fiscal do Captulo 12- O GAS como ferramenta de
desenvolvimento), esta propriedade permite ao projetista programar, por exemplo, o
cancelamento de itens de venda no prprio banco de dados dentre outras providncias que
o projetista julgar necessrias.
Ao Change
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada quando o evento Change do controle acionado
Ao Forma Pgto
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada aps serem definidas todas as informaes referentes ao cupom fiscal em
aplicaes que utilizam da Emisso de Cupom Fiscal, para que se possa, por exemplo,
gravar no banco de dados determinadas informaes referentes forma de pagamento e
outras que o projetista julgar necessrias. Cabe ressaltar que tal ao recebe as variveis
vgDescricao, do tipo caractere (string), e vgValor , do tipo numrico (preciso dupla). A
primeira corresponde descrio da forma de pagamento atualmente em uso no pagamento
do cupom fiscal, enquanto a segunda corresponde ao valordo pagamento de cada uma das
formas de pagamento utilizadas no cupom fiscal corrente.
382
Ao FormActivate
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada quando este evento do form acionado. Essa propriedade s estar disponvel
no painel de fundo sobre o qual os outros objetos so disponibilizados
Ao Formload
Ao FormResize
Ao FormUnload
Ao GotFocus
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada dentro do evento GotFocus do controle
Ao KeyDown
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada dentro do evento KeyDown do gMask
Ao KeyPress
Ao no Clique
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada dentro do evento ButtonClick (que o clique no boto extensor do gMask) e no
evento Click do boto. No caso do gDbGrid, refere-se ao clique no extensor da coluna
(campo) selecionada.
Ao PrepBotoes
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
ativada quando este evento executado. O evento PrepBotoes ocorre sempre que
alterado o status dos botes da barra de ferramentas da aplicao gerada.
Ao Reposition
Esta propriedade pode ser preenchida com uma expresso em Visual Basic para ser
executada sempre que o recordset tem seu ponteiro de registros modificado, ou seja,
quando ele altera de um registro para outro.
Ao ltimo campo
Dentre as aes disponveis podemos optar por "Salvar e incluir", o que bastante til
para formulrios em que a incluso de registro ocorrer de forma contnua e seqencial. O
usurio ter uma agilidade muito maior para essa ao;
Acrscimo/Desconto
Esta propriedade determina o campo ou controle por intermdio do qual ser determinado
acrscimo ou desconto para cupons fiscais em aplicaes que utilizam da Emisso de
Cupom Fiscal. As possibilidades so: 0 - Acrscimo e 1 (ou quaisquer outros valores) Desconto. Uma vez estabelecido um contedo para essa propriedade, deve-se
obrigatoriamente determinar contedos para as propriedades Tipo acrsc/desc e Valor
acrsc/desc.
Alinhamento
Altura
383
Determina a posio onde dever aparecer o ttulo do objeto. Se o objeto for do tipo label,
existem 3 tipos de alinhamento que so Esquerda, Direita e Centro. Caso o objeto for do tipo
boto, existem mais duas possibilidades: Em baixo e Em cima. Ainda sobre o boto, se a
propriedade configurada no for Centro e se uma das propriedades de figura estiver
designada, a figura deslocada em sentido contrrio a uma distncia definida pela
propriedade Distncia ttulo.
Determina a altura que o controle dever ter.
Altura da etiqueta
Altura da linha
Esta propriedade determina a altura, em pixels, de cada uma das linhas (registro) de um
grid. Deve-se observar que o Visual Basic ir limitar o seu nmero ao tamanho da fonte
utilizada.
Esta propriedade determina a altura que dever ter as abas do controle tab.
ngulo
Esta propriedade determina, em graus, o ngulo a ser utilizado para dispor a informao
contida no controle, podendo variar de 0 (normal) at 359 graus.
Aparncia
Apelido
Auto ajuste
Avano da barra
Avano do boto
BD estrangeiro
Esta propriedade o nome do banco de dados que fornecer os dados para encher a
lista a ser apresentada no objeto. No caso do gDbGrid, refere-se coluna (campo)
selecionada.
Campo
Esta propriedade contm o nome do campo da tabela em definio que dever ser
associado ao objeto. Ao ser selecionada esta propriedade, todas as propriedades de
atributos referentes a este campo sero automaticamente preenchidas; porm, no so
disponibilizadas para modificao. Qualquer modificao necessria nesses atributos
dever ser efetuada por intermdio da interface de definio do banco de dados. Em
384
mdulos do tipo form avulso e telascomplementares, esta propriedade servir somente para
preencher as propriedades de atributos, sendo a propriedade Campo automaticamente
removida aps a sua definio. No caso do gDbGrid, refere-se coluna (campo)
selecionada.
Campo a capturar
Esta propriedade o nome do campo que ter o seu valor gravado no banco de dados,
independentemente de figurar ou no na lista de campos estrangeiros. No caso do gDbGrid,
refere-se coluna (campo) selecionada.
Campo a mostrar
Esta propriedade contm os nomes dos campos a serem apresentados em uma lista
externa. Clique no boto extensor desta propriedade e escolha um ou mais campos para
fazer parte desta lista. No caso do gDbGrid, refere-se coluna (campo) selecionada..
Esta propriedade contm o nome dos campos utilizados para comandar a ordem de
apresentao da lista de campos estrangeiros. Clique no boto extensor desta propriedade
e escolha um ou mais campos para fazer parte desta lista. No caso do gDbGrid, refere-se
coluna (campo) selecionada.
O projetista ainda poder ordenar um campo de forma descendente, bastando para isso
selecionar na lista o campo com sinal de menos frente.
Caracter esquerda
Esta propriedade tem por finalidade definir um caractere a ser utilizado para preencher a
parte esquerda do campo, forando um tamanho igual ao que foi definido pela propriedade
"Tamanho mximo". Normalmente, utilizada para forar zeros ou espaos esquerda de
um valor do tipo caracter. No caso do gDbGrid, refere-se coluna (campo) selecionada.
Chanfro externo
Esta propriedade serve para designar o tipo de chanfro a ser aplicado do lado externo
do objeto painel disponibilizado na tela. Os valores possveis so Alto-relevo, Baixo-relevo
ou Nenhum.
Chanfro interno
A exemplo da propriedade anterior, esta serve para designar o tipo de chanfro a ser
aplicado do lado interno do objeto painel colocado na tela. Os valores possveis so Altorelevo, Baixo-relevo ou Nenhum.
Cdigo do item
Coluna atual
Condio alterar
Esta propriedade deve ser preenchida com uma expresso ou funo em Visual Basic
que retorne um valor lgico (True ou False), indicando se o registro atualmente na tela pode
ou no ser alterado. Normalmente, o Editor de Programas do GAS utilizado para criar esta
funo. Esta condio avaliada dentro do evento Reposition do DataControl. No caso do
objeto Painel, esta propriedade se aplica somente para o painel de fundo, sobre o qual so
dispostos os outros objetos.
Condio excluir
Esta propriedade deve ser preenchida com uma expresso ou funo em Visual Basic
que retorne um valor lgico (True ou False), indicando se o registro atualmente na tela pode
ou no ser excludo. Esta condio avaliada a cada registro disponibilizado na tela,
habilitando ou desabilitando o boto de excluir (e a opo de menu correspondente) na barra
de ferramentas. Normalmente, o Editor de Programas do GAS utilizado para criar esta
385
Condio incluir
Esta propriedade deve ser preenchida com uma expresso ou funo em Visual Basic
que retorne um valor lgico (True ou False), indicando se registros podem ser ou no
includos na tabela atual. Normalmente, o Editor de Programas do GAS utilizado para criar
esta funo. Esta condio avaliada dentro do evento Reposition do DataControl. No caso
do objeto Painel, esta propriedade se aplica somente para o painel de fundo, sobre o qual
so colocados os outros objetos.
Contorno
Cor da borda
Esta propriedade tem por finalidade designar uma cor para ser utilizada na borda do
objeto.
Cor da sombra
Esta propriedade especifica a cor da sombra a ser projetada pelo texto, caso a
propriedade Tamanho sombra esteja ajustada para um nmero maior do que zero.
Cor do contorno
Caso a primeira propriedade esteja ajustada para 1 (sim), esta propriedade determina a
cor a ser utilizada para colorir o contorno das letras.
Cor do enchimento
Esta propriedade serve para designar uma cor a ser utilizada para encher a rea interna
do objeto. Esta propriedade s ser aplicada se a propriedade Enchimento tiver um valor
diferente de Transparente.
Cor do fundo
Esta propriedade serve para designar uma cor a ser utilizada para encher o fundo do
objeto (backcolor).
Cor do ttulo
Esta propriedade serve para designar uma cor a ser utilizada no texto do ttulo do objeto.
Esta propriedade define a cor de fim do logotipo lateral. Ser proporcionado um efeito de
"dgrad" no referido logotipo se escolhida uma segunda cor para incio do logotipo.
Esta propriedade define a cor de incio do logotipo lateral. Ser proporcionado um efeito
de "dgrad" no referido logotipo se escolhida uma segunda cor para fim do logotipo.
Esta propriedade serve para designar uma cor a ser utilizada para encher o formato do
ttulo do objeto, quando o objeto gMask contiver o cursor (foco). Esta propriedade no
oferecer qualquer efeito se a propriedade Enchimento tiver valor definido com Transparente
ou se a propriedade Ttulo no tiver sido definida.
Esta propriedade serve para designar uma cor a ser utilizada para encher o formato do
ttulo do objeto, quando o objeto gMask no contiver o cursor (foco). Esta propriedade no
oferecerqualquer efeito se a propriedade Enchimento tiver valor definido com Transparente
386
Esta propriedade determina o campo de uma tabela (deve haver vnculo com tabela) por
intermdio do qual sero determinadas as descries de formas de pagamento em
aplicaes que utilizam da Emisso de Cupom Fiscal, sendo de preenchimento obrigatrio.
Direo
Designa um sentido para traar a linha, dentro da rea que a define. Os valores
possveis so: Horizontal, Vertical, Diagonal para baixo, Diagonal para cima.
Distncia carreiras
Esta propriedade tem por finalidade informar a distncia vertical, em milmetros, entre uma
etiqueta e a que est sua direita.
Distncia colunas
Esta propriedade define a distncia horizontal, em milmetros, entre uma etiqueta e outra,
que esteja imediatamente abaixo.
Esta propriedade tem por finalidade informar a distncia, em milmetros. entre um registro
e outro do relatrio. importante ressaltar que, se existirem outras informaes impressas
entre umregistro e outro (como por exemplo, um subrelatrio), esta medida ser aplicada
sempre aps estas informaes ter sido impressas.
Define a distncia a ser observada entre o ttulo e a figura utilizada no objeto (no caso de
boto) ou caixa de texto (no caso do gMask).
Duplicatas
Esta propriedade tem por finalidade informar a quantidade de etiquetas idnticas que
devem ser impressas para cada registro lido do banco de dados, ou seja, a quantidade de
etiquetas a ser impressa para o mesmo produto.
Editar em grade
Editvel
Enchimento
Define o padro a ser utilizado para encher o formato utilizado no objeto. Os valores
possveis so Slido, Transparente, Linha horizontal, Linha vertical, Diagonal para cima,
Diagonal para baixo, Em cruz, Diagonal em cruz. Se esta propriedade for designada como
Transparente, apenas uma borda contornando o objeto ser visvel.
Esquerda
Estilo
387
Estilo da borda
Exibir textura
Expande figura
Expandir
Expresso
Esta propriedade tem por finalidade definir a expresso que comandar a quebra.
Extensor
Figura
Esta propriedade serve para designar o nome de um arquivo do tipo .BMP, .ICO ou .WMF
que contm a figura a ser apresentada no objeto. Quando esta propriedade designada, o
GAS copia esta figura para o diretrio de figuras indicado no campo identificado como
"Diretrio para figuras do projeto", disponvel na aba cones da Definio do projeto. Esse
diretrio poder reunir ainda as figuras e cones de todos os projetos desenvolvidos,
promovendo uma melhor padronizao dos sistemas desenvolvidos. Para um melhor
detalhamento, consulte o tpico Definindo os cones a utilizar na aplicao presente no
Captulo 5 deste manual. Em se tratando do objeto Tab, esta propriedade ser aplicada na
aba selecionada. Ao alterar quaisquer uma das figuras ou cones da aplicao, o projetista
poder visualizar o arquivo selecionado no painel de preview apresentado na tela de
seleo de arquivo que se abrir, facilitando assim sua identificao. A opo "Zoom"
promover o redimensionamento da figura para o tamanho exato do painel de preview. O
projetista ainda poder utilizar o Editor de cones do GAS para elaborar cones que melhor
atendam s suas necessidades. Para um melhor detalhamento da sua utilizao, consulte o
tpico Utilizando o Editor de cones presente no Captulo 5 deste manual.
Desativado
Esta propriedade serve para designar o nome de um arquivo do tipo .BMP, .ICO ou .WMF
que contm a figura a ser apresentada no boto quando o mesmo estiver desativado. As
mesmas observaes descritas para a propriedade Figura, referentes ao diretrio de
figuras, o painel de preview e o Editor de cones tambm so vlidas para essa propriedade.
Figura em baixo
Esta propriedade serve para designar o nome de um arquivo do tipo .BMP, .ICO ou .WMF
que contm a figura a ser apresentada no boto quando o mesmo estiver sendo
pressionado com o mouse. As mesmas observaes descritas para a propriedade Figura,
referentes ao diretrio de figuras, o painel de preview e o Editor de cones tambm so
vlidas para essa propriedade.
Figura iluminado
Esta propriedade serve para designar o nome de um arquivo do tipo .BMP, .ICO ou .WMF
388
que contm a figura a ser apresentada no boto quando o mouse estiver passando por cima
do mesmo. Esta propriedade s tem efeito se a propriedade Estilo estiver ajustada para
InterNet. As mesmas observaes descritas para a propriedade Figura, referentes ao
diretrio de figuras, o painel de preview e o Editor de cones tambm so vlidas para essa
propriedade.
Figura transparente
Filtro
Esta propriedade serve para selecionar os registros que aparecero dentro de uma lista
externa. Se esta propriedade no for utilizada, todos os registros da tabela estrangeira
associada sero mostrados e disponibilizados para seleo. Quando se tratar do controle
gDBGrid, esta propriedade se aplicar coluna selecionada.
Filtro inicial
Fonte
Fonte do ttulo
Logotipo
Esta propriedade define a fonte que estar sendo utilizada no logotipo lateral do
formulrio. Podero ser utilizadas apenas fontes True Type.
Formato
Esta propriedade designa a forma que ter o objeto. No caso do gMask, este formato
ser
aplicado na forma que envolve o ttulo. Os valores possveis so Retngulo, Quadrado,
Oval, Crculo, Retngulo arredondado e Quadrado arredondado.
Frmula
Esta propriedade deve ser preenchida com uma expresso que retorne um valor
caracter a ser exibido no objeto. Normalmente, esta propriedade serve para mostrar
resultados de clculos que envolvam campos das tabelas. No caso do objeto imagem,
somente campos do tipo multimdia podero ser disponibilizados.
389
Grupo
Esta propriedade designa um nome utilizado para agrupar vrios objetos gMask. Esta
propriedade estar disponvel somente se a propriedade Tipo de dado for designada como
Optativo. A finalidade desta propriedade permitir que somente um item deste grupo esteja
selecionado a um determinado momento.
Imprimir
Esta propriedade tem por finalidade estabelecer o momento em que a informao dever
ser impressa, devendo ser observada com bastante ateno, pois a que, provavelmente,
levantar maior quantidade de dvidas. As opes so: Como mscara de pgina, Incio da
pgina, Incio do relatrio, A cada registro, Fim do relatrio, Fim da pgina, Como mscara
QuebraN, Incio Quebra N, A cada registro da Quebra N e Fim da quebra N. Para maiores
detalhes sobre cada uma dessas opes, consulte o Captulo 5 - Operando o GAS.
Inicializar
Item do grupo
Esta propriedade serve para designar um valor a ser retornado e testado no cdigo
fonte, quando o objeto for selecionado. Este valor ser gravado no banco de dados.
Junta separadores
Esta propriedade determina a maneira como ser feita a interseo dos separadores
estabelecidos pelas propriedades Separador esq e Separador topo. As possibilidades so
Nenhum, Horizontal e Vertical.
Largura
Largura coluna
Largura da borda
Esta propriedade designa a largura a ser aplicada na borda do objeto. No caso do painel,
esta propriedade utilizada para estabelecer a largura entre os chanfros interno e externo.
Largura da etiqueta
Largura do chanfro
Esta propriedade estabelece a largura a ser aplicada nos chanfros interno e externo do
objeto painel.
Largura logotipo
Esta propriedade tem por finalidade definir a expessura do logotipo lateral do formulrio
Limpar campo
Lista\Pesquisa
390
Margem
Esta propriedade estabelece a lista a ser apresentada no objeto. Os itens devem ser
digitados, lado a lado, separados pelo caractere "|" (pipe). Esta lista s ser aberta se a
propriedade Extensor estiver definida. Nos objetos nos quais esta propriedade definida,
no podem ser digitadas informaes diretamente e as setas cursoras podem ser utilizadas
para efetuar a rolagem dos itens.
esquerda
Margem horizontal
Margem
superior
Esta propriedade define a medida vertical, em milmetros, da primeira posio til do papel
at a primeira etiqueta.
Margem vertical
Mscara
Mensagem final
Mensagem inicial
Mensagem
promocional
Esta propriedade determina o campo ou controle por intermdio do qual ser determinada
a mensagem promocional, de at 492 caracteres, em aplicaes que utilizam da Emisso de
Cupom Fiscal, no sendo, entretanto, de preenchimento obrigatrio.
Mensagem validao
Modal
Esta propriedade, que est disponvel somente no painel do fundo, serve para
estabelecer o modo como a tela ser apresentada. Se esta propriedade for designada para
"Sim", o usurio no poder clicar fora desta tela enquanto ela estiver sendo apresentada,
ficando a execuo da aplicao temporariamente suspensa at que esta tela seja
resolvida.
391
Nome do controle
Designa um nome a ser utilizado em uma associao com o controle dentro do cdigo do
programa. Esta associao permite que o projetista se refira a qualquer uma das
propriedades do controle associado por intermdio do nome desta propriedade, a qual s
necessria se o projetista estiver utilizando o Editor de Programas do GAS para escrever
cdigo de programa.
Omitir se igual
Esta informao utilizada para inibir a impresso de informaes iguais nos registros
subseqentes. , normalmente, utilizada em agrupamentos de registros para inibir
informaes repetitivas. As opes so: No, No relatrio, Na pgina e Em quebra N. Para
maiores detalhes sobre cada uma dessas opes, consulte o Captulo 5- Operando o GAS.
Ordem
Esta propriedade estabelece a ordem a ser obedecida para a impresso dos registros de
relatrios elaborados pelo G-Reports. Vrios campos podem ser concatenados para formar
a expresso de ordenao do relatrio. Para os grids, esta propriedade estabelece a ordem
de exibio dos registros listados.
Ordem de impresso
Esta propriedade estabelece a ordem a ser obedecida para a impresso dos subrelatrios ou quebras existentes em relatrios elaborados pelo G-Reports. Para exemplificar,
mesmo que um subrelatrio esteja visualmente situado abaixo de outro, aquele que estiver
situado mais prximo ao rodap do relatrio poder ser impresso antes que o sub-relatrio
de cima o seja, devendo designar uma ordem de impresso concernente a esta
necessidade. Caso seja informado um valor para esta propriedade que extrapole, de acordo
com o nmero de sub-relatrios ou quebras, um nmero vlido, o GAS ir ajustar,
automaticamente, o referido valor. Para os labels e textos 3D, essa propriedade estabelece
sua ordem de apresentao, o que proporciona enorme facilidade na determinao da ordem
de clculo de frmulas.
Ordem do tab
Orientao
Esta propriedade determina se um objeto receber ou no foco por meio da tecla TAB.
Caso essa propriedade esteja definida como "No" para um objeto, mesmo com a
propriedade "Ordem do TAB" definida, este no receber o foco do cursor por meio da tecla
TAB.
Permitir repetio
Esta propriedade habilita os campos para os quais o usurio final poder utilizar a
repetio automtica do registro anteriormente digitado. Esta funo especialmente til
392
quando se faz digitaes de informaes que podem estar repetidas em diversos registros,
como cidade, Estado, etc. Para utilizar esse recurso, basta que o projetista selecione os
campos de repetio e altere a propriedade Permitir repetio para "Sim". Uma vez que, na
aplicao final gerada, os dados estejam presentes na tela, basta que o operador pressione
o boto de repetio de campos mostrado a seguir para aproveitar estes dados. Quando
esta funo no for mais desejada, basta pressionar o boto novamente.
Pos mx p/ dados
Esta propriedade determina a posio mais baixa da folha a ser considerada para
imprimir informaes que no sejam ajustadas como mscara de pgina, isto , estabelece o
limite para se imprimir informaes que variam de posio (impressas a cada registro).
Normalmente, esta propriedade j vem ajustada igual altura til da pgina do relatrio. O
ajuste dessa propriedade para um nmero um pouco menor, possibilida a insero de
rodaps nas pginas.
Posio
Posio do ttulo
Determina a posio na qual o ttulo dever ser posicionado em relao caixa de texto.
Os valores possveis so Em cima, Em baixo, esquerda e direita.
Pr-validao
Esta propriedade deve ser preenchida com uma expresso ou funo em Visual Basic
que retorne um valor lgico (True ou False), indicando se o objeto corrente pode ou no ser
acessado durante a operao da aplicao. Esta condio avaliada quando o cursor sai
do objeto (evento LostFocus). Pode-se utilizar o Editor de Programas do GAS para criar esta
funo.
Qde de abas
Determina a quantidade de abas que o objeto tab ir apresentar. Se esta propriedade for
designada com um valor maior do que o valor da propriedade Abas por linha, o controle ir
apresentar mais de uma carreira de abas.
Qde de carreiras
Qde de colunas
Qde do item
Esta propriedade determina o campo ou controle por intermdio do qual ser determinada
a quantidade de itens de venda em aplicaes que utilizam da Emisso de Cupom Fiscal, no
sendo, entretanto, de preenchimento obrigatrio. Se e somente se no for informado um
campo ou controle para indicar a quantidade de itens de venda, o controle desse campo
ser efetuado de forma interna ao sistema, devendo ser acionada a tecla * (asterisco) pelo
operador do sistema logo aps a digitao da referida quantidade.
Retorno da ECF
393
dimensionar sua largura para 50 posies, largura essa que tambm utilizada nos cupons
fiscais emitidos pela Bematech e que so compatveis com os da Yanco.
Saltar pgina
Esta propriedade determina se, aps a impresso de um registro ou quebra, uma pgina
dever ser saltada. importante observar que, aps inseridas as quebras, as propriedades
inerentes aos campos, especialmente a propriedade "Imprimir...", podem apresentar a
necessidade de serem alteradas para atender s necessidades.
Salvar filtro
Separador esq
Determina se o boto ir apresentar uma linha separadora sua esquerda, linha tal que
poder ser utilizada na separao de grupos de botes que tenham finalidades semelhantes.
Separador topo
Esta propriedade determina se o boto ir apresentar uma linha separadora na sua parte
superior, linha tal que poder ser utilizada na separao de grupos de botes que tenham
finalidades semelhantes.
Situao tributria
Esta propriedade determina o campo ou controle por intermdio do qual ser determinada
a situao tributria (Isento, Sujeito a ISS, Sujeito a ICMS, Substituio tributria, etc) dos
itens de venda em aplicaes que utilizam da Emisso de Cupom Fiscal, sendo de
preenchimento obrigatrio.
Tabela
Esta propriedade dever conter o nome de uma tabela inserida na estrutura do projeto
em mdulos do tipo Tabela em grid. Quando esta propriedade designada, o GAS preenche
automaticamente o objeto gDbGrid inserido na tela com os campos desta tabela, exceto os
campos definidos como de ligao com o mdulo-pai.
Tabela estrangeira
Esta propriedade dever conter o nome de uma tabela do banco de dados selecionado
na propriedade "BD estrangeiro", cujos campos sero exibidos em uma lista externa.
Tamanho da sombra
Esta propriedade determina o tamanho, em pixels, da sombra a ser projetada pelo texto.
Tamanho do papel
Esta propriedade determina o tamanho do papel (tipo utilizado pela maioria das
impressoras - A4, Letter, etc.), influenciando as propriedades "Altura til" e "Largura til" do
papel.
Tamanho mximo
Esta propriedade serve para determinar a quantidade de caracteres que podem ser
digitados em um objeto gMask. Esta propriedade desprezada caso a propriedade
"Mscara" for designada com um valor que no contenha o caractere "@".
394
formas de compatibilizao com a ECF. A ela podem ser atribudos os seguintes valores: 0
(zero) - forma de pagamento normal, em que no h necessidade de comunicao com o
gerenciador padro, como ocorre em pagamento em dinheiro, tickets, etc;
1 - forma de pagamento vinculada s vendas com carto de crdito ou dbito e que,
portanto, necessitaro de comunicao com o gerenciador padro;
2 - forma de pagamento vinculada s consultas de cheque eletrnico e que, portanto,
necessitaro de comunicao com o gerenciador padro.
Ressaltamos o termo consultas de cheque eletrnico em funo dessa forma de
pagamento funcionar apenas como consulta, no impedindo que, mesmo no caso de uma
resposta negativa para o cheque em questo, o operador d continuidade venda em
andamento.
Texto de ajuda
Esta propriedade dever conter a frase a ser utilizada como ajuda do objeto, quando o
mouse estaciona sobre o mesmo. O caracter "|" (pipe) pode ser utilizado para forar a
quebra de linha.
Textura
Esta propriedade permite a definio de uma textura de fundo para todos os formulrios
da aplicao final, correspondendo propriedade Tile do Visual Basic.
Tipo
Tipo acrsc/desc
Esta propriedade determina o campo ou controle por intermdio do qual ser determinado
o tipo de acrscimo ou desconto dos cupons fiscais em aplicaes que utilizam da Emisso
de Cupom Fiscal, no sendo, entretanto, de preenchimento obrigatrio. As possibilidades
so: 0 - Valor e 1 (ou quaisquer outros valores) - Porcentagem. Uma vez estabelecido um
contedo para essa propriedade, deve-se obrigatoriamente determinar contedos para as
propriedades "Acrscimo/desconto" e "Valor acrsc/desc".
Tipo da borda
Tipo de dado
Tipo de tributo
Esta propriedade determina o campo ou controle por intermdio do qual ser determinado
o tipo de tributo a ser aplicado aos itens de venda em aplicaes que utilizam da Emisso de
Cupom Fiscal, no sendo, entretanto, de preenchimento obrigatrio. As possibilidades so: 0
- ISS e 1 (ou quaisquer outros valores) - ICMS.
Esta propriedade determina o campo ou controle por intermdio do qual ser determinado
o tipo de desconto dos itens de venda em aplicaes que utilizam da Emisso de Cupom
Fiscal, no sendo, entretanto, de preenchimento obrigatrio. As possibilidades so: 0 - Valor
e 1 (ou quaisquer outros valores) - Porcentagem. Uma vez estabelecido um contedo para
essa propriedade, deve-se obrigatoriamente determinar contedo para a propriedade "Valor
desconto item".
Ttulo
395
Esta propriedade determina um texto que ser exibido como ttulo do objeto selecionado.
Ttulo da coluna
Esta propriedade determina um texto que ser exibido no ttulo da coluna selecionada no
objeto gDbGrid.
Ttulo logotipo
Esta propriedade determina um texto que ser exibido como ttulo do logotipo lateral do
form.
Topo
Totalizador
Transparente
Se esta propriedade estiver ajustada para Sim, determina que o objeto apresentar
transparncia em relao ao seu container. Se estiver designada para No, o objeto ser
opaco.
Validao
Esta propriedade deve ser preenchida com uma expresso ou funo em Visual Basic
que retorne um valor lgico (True ou False), indicando se a informao digitada no objeto
ou no vlida. Esta condio avaliada no momento em que o usurio clica sobre o boto de
gravao ou sobre o boto de prosseguir (em forms que no tenham vinculao direta com
dados). Pode-se utilizar o Editor de Programas do GAS para criar tal funo.
Valor acrsc/desc
Esta propriedade determina o campo ou controle por intermdio do qual ser determinado
o valor do desconto ou acrscimo dos cupons fiscais em aplicaes que utilizam da Emisso
de Cupom Fiscal, no sendo, entretanto, de preenchimento obrigatrio. Uma vez estabelecido
um contedo para essa propriedade, deve-se obrigatoriamente determinar contedos para
as propriedades "Acrscimo/desconto" e "Tipo acrsc/desc".
Esta propriedade determina o campo ou controle por intermdio do qual ser determinado
o valor do desconto dos itens de venda em aplicaes que utilizam da Emisso de Cupom
Fiscal, no sendo, entretanto, de preenchimento obrigatrio. Uma vez estabelecido um
contedo para essa propriedade, deve-se obrigatoriamente determinar contedo para as
propriedade "Tipo desconto item". Se e somente se no for informado um campo ou controle
para indicar o valor de desconto dos itens de venda, o controle desse campo ser efetuado
de forma interna ao sistema, devendo ser acionada a tecla F11 pelo operador do sistema
para que, ento, seja efetuada a digitao do referido desconto.
Esta propriedade determina o campo ou controle por intermdio do qual ser determinado
o valor pago por intermdio de cada uma das formas de pagamento utilizadas nas vendas
em aplicaes que utilizam da Emisso de Cupom Fiscal, sendo de preenchimento
obrigatrio.
Valor inicial
Esta propriedade designa uma expresso a ser utilizada como default para o contedo
do objeto. O projetista dever estar atento ao designar esta propriedade, pois o valor
retornado tem de ser compatvel ao valor estabelecido na propriedade "Tipo de dado". Podese utilizar o Editor de Programas do GAS para criar tal funo.
Esta propriedade determina o campo ou controle por intermdio do qual ser informado o
valor unitrio de cada um dos itens de venda em aplicaes que utilizam da Emisso de
396
Estabelece um valor mximo aceitvel pelo controle, quando utilizada barra de rolagem.
Valor mnimo
Estabelece um valor mnimo aceitvel pelo controle, quando utilizada barra de rolagem.
Visvel
Esta propriedade deve ser preenchida com uma expresso ou funo em Visual Basic
que retorne um valor lgico (True ou False), indicando se o objeto ser ou no visvel ao
usurio. Esta condio avaliada quando o cursor sai do objeto (evento LostFocus). Podese utilizar o Editor de Programas do GAS para criar esta funo.
Visualizar em grade
Captulo
XV
Captulo 15 - Extra
398
15
Captulo 15 - Extra
15.1
15.1.1.1 No Clipper
So pblicas, sendo vistas em todos os mdulos da aplicao, podendo ser declaradas com o termo STATIC para
indicar que as variveis nela declaradas tero seus valores preservados. Os valores so retornados utilizando-se a
palavrachave RETURN seguida da expresso que se deseja retornar.
Captulo 15 - Extra
399
[instruoes]
[NomeFunc = expresso]
End Function
400
15.1.8 Operadores
Os operadores em VB funcionam da mesma maneira que no CLIPPER, ressaltando apenas que no existem no VB os
operadores INLINE (:=), INCREMENTO (+= e ++) e DECREMENTO (-= e -- ). O operador Not Equal (!=) tem o seu
corrrespondente <> (diferente de) em VB. Tambm os operadores NOT, AND e OR no necessitam dos pontos no incio e no
final no VB.
A estrutura em VB, a seguir, corresponde estrutura DO.. WHILE ... SKIP ... ENDDO do CLIPPER para ler um arquivo:
Do While Not objeto.EOF
[Instrues]
[objeto.MoveNext]
[Exit Do]
Loop
A estrutura em VB, a seguir, corresponde mesma estrutura IF... ELSEIF... ELSE... ENDIF do CLIPPER:
If a = 1 Then
[Instrues]
Else If a=2 Then
[Instrues]
Else
[Instrues]
End If
Captulo 15 - Extra
401
402
FCREATE( )
Open
FILE( ) Existe *
FIND
Objeto.Recordset.FindNext
FOPEN( )
Open "Arq" For Binary As # Area
FOUND( )
Objeto.Recordset.Nomatch = False
FREAD Get # Area
FREADSTR( )
Get # Area
FRENAME( )
Name Arq1 As Arq2
FSEEK( ) Seek
FWRITE( )
Put # Area
GETENV( )
Environ
GO BOTTOM
Objeto.Recordset.MoveLast
GO TOP Objeto.Recordset.MoveFirst
INPUT
InputBox
KEYBOARD
SendKeys
LASTREC( )
Collection object
LOCATE Objeto.Recordset.FindNext
LOWER( )
Lcase
MEMOREAD( )
GetChunk
NOTE
Rem ou '
PACK
CompactDataBase
PADR( ) RPad *
PADL( ) LPad *
PCOL( ) Printer.CurrentX
PROCEDURE
Sub
PROW( ) Printer.CurrentY
QUIT
End
RAT( ) Rat *
RECCOUNT( )
Collection Object
RELEASE
ReDim
RENAME Name
REPLICATE
String function
RUN
Shell
SEEK
Seek
SET
ALTERNATE TO/ON
Open X For Output |
Append As # n
SKIP
Objeto.Recordset.MoveNext
SKIP -1 Objeto.Recordset.MovePrevious
SQRT
SQR
STRTRAN( )
Substitui *
STUFF( ) Substitui *
SUBSTR( )
Mid
TIME( ) Now
UPPER( )
Ucase
DateDiff
ChDrive
DDMM *
DDMMAA *
Date Statement
MkDir
2008 GAS Tecnologia
Captulo 15 - Extra
403
MMAA( )
MMAA *
MTAB( ) Campo tipo Lista Interna
MTAB( ) Parse *
PARSE( )
PTab *
PWORD( )
Permitido *
RMDIR( )
RmDir
USEARQ( )
AbreBancoDados *
VDV1( ) VDV1 *
VDV2( ) VDV2 *
VHORA VHora *
VUF( ) VUf *
15.2
Glossario
Este pequeno glossrio tem a finalidade de proporcionar alguns termos de uso corrente nas aplicaes Windows. Os
termos que aparecem sublinhados tambm possuem entradas neste glossrio, no singular ou no plural.
15.2.1 Alias
um nome alternativo dado a um campo ou expresso para ser utilizado na clusula SELECT de uma instruo SQL, no
intuito de faz-la mais curta, mais significativa ou, ainda, para evitar conflitos na sua execuo.
15.2.2 ANSI
ANSI significa American National Standards Institute. uma tabela ou conjunto de caracteres (8 bits) usado pelo
Windows para permitir a representao de at 256 caracteres (0 - 255). Os primeiros 128 caracteres (0 - 127)
correspondem basicamente s letras encontradas no teclado. Os demais caracteres representam caracteres especiais,
como letras de alfabeto internacional, acentos, smbolos de moedas e fraes.
15.2.3 Aplicao
Uma aplicao ou sistema aplicativo um conjunto de cdigos e elementos visuais que trabalham juntos em um s
programa. So elaboradas com o objetivo de executar operaes inter-relacionadas de modo a permitir a organizao de
informaes que possam ser rapidamente recuperadas, consultadas, processadas, listadas, etc.
15.2.5 Argumento
Um valor qualquer que passado a uma funo ou sub-rotina para ser por ela utilizado e, s vezes, transformado.
404
15.2.10 ASCII
ASCII significa American Standard Code for Information Interchange. uma tabela ou conjunto de caracteres (7 bits)
usado largamente para representar letras e smbolos encontrados nos teclados. O conjunto de caracteres ASCII representa
os primeiros 128 caracteres da tabela ANSI. Certos tipos de arquivos so normalmente denominados arquivos ASCII em
virtude de s conterem esses tipos de caracteres e, ainda, cada uma de suas linhas, serem terminadas com os caracteres
de cdigo 13 e 10 (retorna ao incio e nova linha).
15.2.11 Asterisco
O caractere (*) utilizado como "curinga" em expresses SQL que contenham a clusula LIKE para aceitar qualquer
seqncia de caracteres. Por exemplo, a expresso LIKE "*cidade*" aceita qualquer nome contendo a palavra "cidade". O
asterisco pode tambm ser utilizado para incluir todos os campos existentes nas tabelas envolvidas em uma query SQL. Por
exemplo, SELECT * FROM MinhaTab retorna todos os campos (colunas) da tabela MinhaTab.
Captulo 15 - Extra
405
Ultimamente o modelo relacional em se firmado como padro para projetos de bancos de dados. Isto se deve ao prprio
poder do modelo relacional e, ainda, por proporcionar uma interface padro chamada SQL (Structured Query Language) que
permite muitas ferramentas e produtos diferentes de bancos de dados trabalharem em conjunto, de maneira consistente e de
fcil aprendizado. Um banco de dados pode conter diversos objetos, como tabelas, ndices, relaes, queries, etc.
15.2.18 Bit
Abreviao de "binary digit" (ou dgito binrio). a menor unidade de dados que um computador pode armazenar. Bits
so expressos por valores 1 e 0.
15.2.19 Bitmap
uma imagem representada por pixels e armazenada como uma coleo de bits, na qual cada bit corresponde a um
pixel. Em sistemas a cores, mais de um bit corresponde a cada pixel. Um arquivo bitmap tem normalmente a extenso .BMP.
15.2.20 Bookmark
uma string gerada pelo sistema identificando o registro que est contido na propriedade Bookmark de um objeto
recordset. Se o valor da propriedade Bookmark for designado para uma varivel, podese posteriormente tornar este registro
novamente corrente, designando para a propriedade Bookmark o valor desta varivel.
406
15.2.23 Campo
uma diviso do registro. Nos projetos do GAS, um campo possui diversos atributos como nome, tamanho, tipo, etc. Em
uma tabela, os campos correspondem s suas colunas e os registros s suas linhas.
Caractere
Exemplo
Localiza
pes*
*
*dico
?
p?lha
Captulo 15 - Extra
1#3
[]
p[ai]lha
p[!ai]lha
p[a-c]lha
407
15.2.31 Classe
a definio formal de um objeto. A classe atua como um gabarito a partir do qual uma instncia de um objeto criada
em tempo de execuo. A classe define as propriedades de um objeto e os mtodos usados para controlar o
comportamento do mesmo.
408
15.2.37 Clipboard
uma localizao temporria de memria, usada para transferir texto, grficos e cdigo entre janelas ou aplicaes. No
GAS tambm utilizada para transferncia de definies inteiras de tabela, janelas de dados, etc.
15.2.39 Compilao
o processo de transformao de instrues escritas em uma linguagem de programao qualquer, existente em um
programa fonte, em uma linguagem numrica, que diretamente executada pelo processador da mquina. O programa
utilitrio que executa esta tarefa o compilador, cujo resultado um programa executvel (.EXE).
15.2.41 Controle
um objeto que pode ser colocado em uma janela que tem o seu prprio conjunto de propriedades e eventos. Os
controles so usados para receber informaes do usurio, mostrar informaes e disparar eventos. Os controles podem
ser manipulados utilizando-se os mtodos disponveis para o mesmo. Alguns controles so interativos (respondem a aes
do usurio), enquanto outros so estticos (acessados somente via cdigo do programa).
Captulo 15 - Extra
409
que antes chamava de controle OLE. Uma vez adicionado a um projeto do Visual Basic, estes aparecem na sua caixa de
ferramentas (toolbox), podendo ser utilizados como se fossem controles internos do prprio Visual Basic.
15.2.48 Default
Significa "padro" e corresponde a uma informao ou situao que ser assumida pelo programa quando esta no for
obtida durante a sua execuo.
15.2.49 DLL
um tipo de biblioteca dinmica (Dynamic Link Library) contendo funes e sub-rotinas reutilizveis. Desde que exista
em uma DLL, uma funo ou sub-rotina pode ser invocada pelo programa para executar uma tarefa qualquer, bastando que
410
seja declarada previamente. Essas bibliotecas se apresentam em arquivos com extenso .DLL.
15.2.50 Domnio
Tambm denominado de escopo, domnio um conjunto de registros definidos por uma tabela, query ou expresso SQL.
O termo escopo tambm utilizado para especificar a abrangncia de uma varivel. Por exemplo, uma varivel que tenha
escopo Global "vista" em qualquer parte da aplicao. Uma varivel Local somente pode ser referida dentro da rotina onde
foi definida.
15.2.51 Dynaset
um tipo de recordset que retorna um conjunto dinmico de ponteiros para um banco de dados. A exemplo de um
recordset do tipo table ou snapshot, um dynaset retorna dados em registros (linhas) e campos (colunas). Diferentemente de
um recordset tipo table, um dynaset pode ser resultante de uma query que junta duas ou mais tabelas. Os registros em um
dynaset podem ser atualizados.
15.2.52 Equi-join
um tipo de relacionamento onde registros de duas tabelas so combinados e adicionados ao objeto recordset somente
se existirem valores iguais nos campos de ligao entre elas. Em Visual Basic, equi-join referido como sendo inner-join.
15.2.53 Etiqueta
um tipo de mdulo que pode ser inserido nos projetos do GAS. Este tipo de mdulo tratado e definido da mesma
maneira como tratado o mdulo do tipo relatrio.
15.2.54 Evento
uma ao reconhecida por um objeto, como um clique de mouse ou uma tecla pressionada, e para o qual podem ser
programadas instrues a serem executadas (cdigo). Eventos podem ocorrer como resultado de uma ao do usurio ou
pelo cdigo do programa ou, ainda, podem ser disparados pelo sistema.
15.2.56 Exclusive
Indica se um banco de dados ou tabela pode ser compartilhado por outros usurios em um ambiente multiusurio. Se o
banco de dados ou tabela for aberto em modo exclusivo, no poder ser compartilhado.
15.2.57 Filtro
um conjunto de critrios aplicados a registros de modo a criar um subconjunto destes. Os filtros usados nas
aplicaes do GAS utilizam queries SQL.
Captulo 15 - Extra
411
15.2.58 Form
Quer dizer "formulrio". uma janela ou caixa de dilogo. Forms so recipientes (containers) de controles. Um form para
interface de documentos mltiplos (MDI) pode tambm atuar como recipiente de outros forms (filhos) e de outros controles.
15.2.59 Frmula
Durante o desenvolvimento de um projeto por meio do GAS, uma frmula pode ser definida tanto como sendo o resultado
de uma operao envolvendo campos numricos de uma ou mais tabelas, bem como sendo um campo de uma tabela
qualquer (campo estrangeiro) que mostrado em uma janela de digitao. Para definir uma frmula a ser colocada na janela
de digitao de dados, o projetista dever designar a propriedade frmula de um controle do tipo label, painel ou frame.
15.2.63 Grade
um objeto para visualizao e digitao de tabelas, que possibilita a visualizao de diversos registros ao mesmo
tempo. A Gas Tecnologia desenvolveu um controle OCX (gDbGrid) constitudo de uma grade onde podem ser digitadas
informaes com diversos recursos de edio. Este recurso implementado nas aplicaes geradas sempre que
necessrio.
15.2.64 Grupo
uma coleo de usurios de uma aplicao, identificada por um nome de grupo e por um identificador pessoal.
Permisses designadas a um grupo se aplicam a todos os usurios deste grupo.
15.2.65 Handle
um valor inteiro definido pelo ambiente de operao (Windows) e usado por um programa para identificar e acessar um
objeto, como, por exemplo, um form ou controle.
412
15.2.66 cone
a representao grfica de um objeto ou conceito, comumente usado para representar aplicaes em estado
minimizado dentro do Windows. Essencialmente, um cone um bitmap com um tamanho mximo de 32 x 32 pixels. Nomes de
cones tm a extenso .ICO.
15.2.67 ndice
uma referncia cruzada dinmica de campos (colunas) de uma ou mais tabelas, que permite a recuperao rpida de
registros especficos de uma tabela. medida que registros so adicionados, atualizados ou apagados, o sistema de
gerenciamento do banco de dados atualiza automaticamente o ndice para refletir as mudanas. Quando utilizado em um
recordset do tipo table, o ndice atual determina a ordem sob a qual os registros so retornados no recordset. Uma tabela
pode ter diversos ndices associados. O termo ndice pode tambm se referir subscrio de um arranjo ou varivel
indexada.
15.2.70 Instncia
Qualquer conjunto de objetos que compartilha a mesma classe. Por exemplo, mltiplas instncias de uma classe Form
compartilham o mesmo cdigo de programa e so carregados com os mesmos controles que foram projetados na classe do
Form. Em tempo de execuo da aplicao, propriedades individuais dos controles em cada instncia podem ser ajustadas
com valores diferentes.
15.2.71 Janela
um recipiente para os controles utilizados em uma aplicao. Sempre existe uma janela ativa dentro de uma aplicao.
Seu ttulo aparece normalmente em uma cor diferente das demais.
Captulo 15 - Extra
413
15.2.75 Join
uma operao de banco de dados que combina alguns ou todos os registros de duas ou mais tabelas, com um equijoin, outer-join ou self-join. Geralmente, um join se refere associao entre um campo de uma tabela e um outro campo, do
mesmo tipo de dado, em uma outra tabela. Um join criado por meio de uma instruo SQL.
15.2.76 keyword
Palavra chave. uma palavra ou smbolo reconhecido como parte da linguagem de programao, como, por exemplo,
uma instruo, um nome de funo, um operador, etc.
15.2.77 keyword
Durante a definio de um projeto de sistema atravs do GAS, podem ser definidos processos especiais sobre as
diversas tabelas do banco de dados. Um deles o lanamento que se constitui na criao de um ou mais registros vazios
dentro da tabela alvo seguido do preenchimento dos campos dos novos registros com informaes contidas em frmulas ou
informaes contidas em outras tabelas. O lanamento semelhante ao processamento, s que, com este ltimo, no ocorre
a criao de novos registros. Um processamento anlogo a uma edio de registros e um lanamento anlogo a uma
incluso de registros.
414
15.2.81 Mscara
um conjunto de caracteres associados ao campo, que serve para controlar o tipo e a posio de dgitos que sero
inseridos pelo usurio. Os caracteres especiais especificados nas mscaras so:
ponto de exclamao (!) - significa que o caractere que for digitado nesta posio ser transformado para maisculo,
aceitando qualquer tipo de caractere;
letra maiscula (A) - significa que o caractere que for digitado nesta posio s poder ser alfabtico, acentuado ou
no, impedindo a insero de dgitos numricos;
nmero nove (9) - significa que somente dgitos numricos podero ser digitados no campo em uma determinada
posio;
caractere (# ) - funciona de maneira idntica ao nmero 9 com a diferena que espaos tambm podero ser digitados;
letra maiscula (N) - significa que somente dgitos numricos ou caracteres alfabticos podero ser digitados nesta
posio;
letra maiscula (X) - significa que qualquer caractere poder ser digitado na posio;
caractere arroba (@) - usado, na primeira posio da mscara, em conjunto com qualquer um dos acima
especificados. Quando este caractere figura na mscara, o caractere seguinte a este servir para todos os caracteres
digitados no campo. Por exemplo: @! (tudo maisculo), @A (tudo alfabtico), etc. Combinaes podem ser feitas, como por
exemplo: @!@A (tudo o que for digitado no campo s poder ser alfabtico e em maisculas).
Existem alguns tipos de caracteres (insertveis) que podem ser colocados na mscara para serem automaticamente
inseridos no campo, no sendo necessrio que o usurio os digite. Esses caracteres so: o hfem, o ponto, barras,
parnteses, colchetes e chaves. Por exemplo, na mscara de telefone (999)999-9999 o usurio s precisar digitar os
nmeros. Mantendo compatibilidade com as aplicaes geradas pelo GAS-DOS, as mscaras de campos do tipo caractere
preenchidas totalmente com o caractere 9, a aplicao preencher com zeros esquerda. Se preenchidas totalmente com
#, a aplicao preencher automaticamente com espaos esquerda. Por exemplo:
o caractere "1" com mscara "9999" resultar em "0001"
o caractere "1" com mscara "####" resultar em " 1"
Se no for desejvel este efeito, o projetista poder trocar o tipo deste campo para numrico.
15.2.82 MDI
a abreviao de "Multiple Document Interface" (ou interface de mltiplos documentos). um tipo de interface no
ambiente Windows na qual diversos forms (filhos) ficam contidos em um nico form (MDI form). O MDI Form uma janela que
faz o background de uma aplicao de mltiplos documentos. Um form MDI o recipiente dos forms filhos de uma aplicao.
Este tipo de interface proporciona um alto padro de qualidade aplicao, uma vez que os forms so agrupados em um s
recipiente na rea de cliente, podendo ali serem organizados, manipulados e minimizados, dando grande flexibilidade de
operao aplicao. Tanto o GAS quanto as aplicaes por ele geradas possuem este tipo de interface.
15.2.83 Menu
Este tipo de mdulo estabelece uma ponte ou bifurcao de acessos para outros mdulos do projeto. Abaixo deste tipo
de mdulo, podem ser inseridos diversos outros.
Captulo 15 - Extra
415
15.2.84 Mtodo
um procedimento interno que atua sobre um objeto.
15.2.85 Modal
Veja tpico Janela Modal.
15.2.86 Mdulo
Um mdulo nos projetos do GAS corresponde a um tipo de entidade que se agrega ao projeto de sistema. Os mdulos
so colocados hierarquicamente em uma estrutura denominada rvore do projeto (ou modelador). Os mdulos que podem
ser colocados na rvore do projeto so: menu, janela de dados, relatrio, etiqueta, consulta, rotina avulsa, programa
executvel, formulrio avulso, formulrio existente, processo pr-definido e, ainda, a linha separadora. Em Visual Basic, um
mdulo um item de projeto, com a extenso .BAS, contendo declaraes de variveis de escopo global (pblicas), funes
externas residentes em bibliotecas DLL, as Windows API, e ainda o cdigo fonte de funes e procedures pblicas, que
podem ser chamadas de qualquer ponto da aplicao.
15.2.87 Objeto
a combinao de cdigo (programas) e dados que possam ser tratados como uma unidade, como, por exemplo, um
controle, um form ou uma aplicao. Cada objeto definido como uma classe.
15.2.88 OLE
Abreviao de Object Linking and Embedding (Ligao e Embutimento de Objetos). a tecnologia que habilita a criao
de aplicaes que contenham componentes de vrias outras.
15.2.91 Permisses
um ou mais atributos que especificam o tipo de acesso que um usurio tem aos registros. Permisses podem ser
designadas, dentre outras aes, para incluir, alterar, visualizar e excluir registros.
416
15.2.92 Pixel
Abreviao de "picture element" (ou elemento de figura). Um ponto que representa a menor unidade de medida grfica
sobre uma tela. Um pixel dependente do padro de vdeo, ou seja, as dimenses dos elementos da tela variam com o
sistema e com a resoluo.
15.2.93 Procedure
uma sequncia que contm instrues ou cdigo de programa que executam como uma unidade. Uma Function, Sub ou
Property so tipos de procedures.
15.2.94 Processamentos
Um processamento se caracteriza pela alterao de campos de uma tabela a partir de informaes que estejam sendo
digitadas em outra tabela. A tabela que sofre o processamento denominada de tabela-alvo e o campo que sofre o
processamento chamado de campo-alvo. O processamento semelhante ao lanamento sendo diferente apenas no fato
de que, neste ltimo, existe a criao de novos registros na tabela-alvo. Um processamento anlogo a uma edio de
registros, e um lanamento anlogo a uma incluso de registros.
15.2.97 Projeto
Todas as aplicaes definidas por meio do GAS so tratadas como projeto de sistema, o qual se constitui de um
conjunto de informaes necessrias construo de uma aplicao que so armazenadas e utilizadas no momento
apropriado.
15.2.98 Property
um tipo de procedure que cria e manipula propriedades de um mdulo Classe. Uma procedure do tipo Property inicia
com a instruo Property Let, Property Get ou Property Set e termina com a instruo End Property.
15.2.99 Propriedade
um determinado atributo de um objeto. Propriedades definem caractersticas dos objetos, tais como cor, tamanho e
localizao na tela ou um estado do objeto, tais como habilitado ou desabilitado.
Captulo 15 - Extra
417
15.2.100Query
uma instruo formalizada a um banco de dados para retornar um conjunto de registros ou realizar uma ao
especfica em um conjunto de registros determinados.
15.2.101Query de ao
uma query que move ou altera dados. Queries de ao podem adicionar, apagar ou atualizar registros. Em contraste,
queries de seleo retornam registros de dados.
15.2.102Query de parmetro
uma query que requer um ou mais valores (parmetros) informados pelo usurio para ser executada, como, por
exemplo, o nome de uma cidade. Uma query de parmetro no estritamente um outro tipo de query, sendo mais uma
flexibilizao de queries.
15.2.103Query de seleo
uma query que questiona sobre os dados armazenados nas tabelas e retorna um objeto recordset sem mudar os
dados. Uma vez que os dados do recordset so recuperados, consultas e alteraes podem ser feitas sobre os dados das
tabelas envolvidas. Em contraste, queries de ao podem mudar os dados e no retornar registros.
15.2.104Recordset
um conjunto lgico de registros. Existem 3 tipos de recordset: Dynaset, Snapshot e Table.
15.2.105Registro
Em uma tabela, todos os dados existentes para um determinado item chamado de registro. Por exemplo, em um
conjunto de cartes de clientes, cada carto corresponde a um registro contendo todas as informaes de um cliente em
particular. Cada item de informao dentro de um registro chamado de campo. Um carto de cliente possui campos para
nome, telefone, endereo, etc.
15.2.106Registro corrente
o registro em um recordset que voc pode usar para modificar ou examinar seus dados, ou seja, o registro que est
sendo correntemente acessado. Existem diversos mtodos para se movimentar no banco de dados, alterando o registro
corrente.
15.2.107Relao
Um banco de dados pode conter mltiplas tabelas e essas tabelas podem ser relacionadas umas com as outras por meio
de campos em comum. Uma vez relacionadas duas tabelas, os seus campos esto disponveis para seremacessados,
independentemente de qual tabela pertencem. O relacionamento de tabelas feito normalmente para evitar a duplicao
desnecessria de informaes no banco de dados, conforme explicado no item normalizao. Um relacionamento pode ser
1-1 (1 registro de uma tabela corresponde a um nico registro da tabela estrangeira) ou 1-N (cada registro da tabela
corresponde a N registros da tabela estrangeira, tambm denominada pai-filho).
418
15.2.108Relatrio
Um relatrio um tipo de mdulo que pode ser colocado na rvore do projeto. Para estabelecer definies dos relatrios
(layout), o projetista poder fazer uso do G-Reports ou Cristal Reports, invocando-os por meio do GAS.
15.2.110Rotina avulsa
Uma rotina avulsa um fragmento de cdigo fonte na linguagem Visual Basic que o projetista labora, utilizando o Editor
de Programas do GAS, de forma que integre automaticamente o projeto da aplicao gerada.
15.2.111Self join
um join no qual registros de uma tabela so combinados com outros registros da mesma tabela nos quais existam
valores similares nos campos de ligao. Uma self-join pode ser um equi-join ou um outer-join. Uma self-join til quando se
deseja formular perguntas hierrquicas, como uma query que mostre os gerentes e as pessoas que se reportam a cada um
deles.
15.2.112Separador
Veja tpico Linha Separadora.
15.2.113Servidor OLE
Tambm chamado de Servidor de Automao OLE, uma aplicao que disponibiliza seus objetos a outras aplicaes.
15.2.114Snapshot
uma cpia esttica de um conjunto de registros recuperados de um banco de dados e copiado para a memria. Um
objeto tipo recordset pode ser criado a partir de uma tabela bsica, de uma query ou de um outro recordset. Por serem
apenas cpias de registros, os snapshots no podem ser atualizados.
15.2.115SQL
SQL significa Structured Query Language (linguagem estruturada para pesquisa). Esta linguagem utiliza comandos como
SELECT (selecione), UPDATE (atualize), DELETE (apague) contendo clusulas como WHERE (na qual...), GROUP BY
(agrupado por) e ORDER BY (ordenado por...). Essas instrues, quando aplicadas a um objeto recordset, permitem a
pesquisa e atualizao de seus registros.
15.2.116Sub
um tipo de procedure que realiza uma tarefa especfica dentro de um programa; porm, no retorna qualquer valor
explcito. Uma Sub inicia com uma instruo Sub e termina com uma instruo End Sub.
Captulo 15 - Extra
419
15.2.117Tabela
uma unidade bsica de armazenamento em um banco de dados relacional. Uma tabela pode ser vista como um
conjunto de linhas e colunas, semelhantes a uma planilha, onde cada linha corresponde a um registro e cada coluna
corresponde a um campo.
15.2.118Tabela-alvo
Uma tabela alvo referida durante a fase de definio do projeto como sendo uma tabela destinatria de uma validao,
processamento ou lanamento, a partir de informaes geralmente contidas em outras tabelas do banco de dados.
15.2.119Tabela anexada
uma tabela existente em um outro banco de dados que ligada ao banco de dados nativo do Visual Basic. Os dados
das tabelas anexadas permanecem nos bancos de dados externos, onde podem ser manipulados por outras aplicaes.
No possvel utilizar tabelas anexadas em um objeto recordset do tipo table.
15.2.120Tabela ANSI
Veja tpico ANSI.
15.2.121Tabela ASCII
Veja tpico ASCII.
15.2.122Tabela bsica
uma tabela que serve como ponto de partida para a montagem de conjuntos de registros pelas queries. Em algumas
fases da definio de projetos do GAS, uma tabela-bsica precisa ser definida.
15.2.123Tabela estrangeira
uma tabela de um banco de dados que contm chaves estrangeiras. Geralmente, as tabelas estrangeiras so usadas
para estabelecer ou forar uma integridade referencial. A tabela estrangeira , normalmente, o lado "N" de um
relacionamento 1-N. Um exemplo de tabela estrangeira uma tabela de cdigos de estados para pedidos de clientes.
15.2.124Tipo de campo
a caracterstica do campo que identifica o tipo e formato de dados que o mesmo pode armazenar.
420
pela ECT.
Captulo 15 - Extra
421
15.2.142Tipo de campo UF
um campo do tipo caractere destinado a armazenar valores de Unidades da Federao (UF).
422
15.2.144Tipo de dado
a caracterstica de uma varivel que determina que espcie de dado ela pode armazenar. Tipos de dados incluem byte,
lgico (booleano), preciso simples, preciso dupla, inteiro, longo, dinheiro, data, string, objeto, variant (default) e tipos
definidos pelo prprio programador, bem como tipos especficos de objetos, como por exemplo, database (banco de dados),
table (tabela), etc.
Captulo 15 - Extra
423
15.2.158Update
o processo que salva as mudanas dos dados em um registro. At que um registro seja salvo, as mudanas so
armazenadas em um registro temporrio chamado copy buffer. A clusula UPDATE em uma instruo SQL muda valores dos
dados em um ou mais registros (linhas) em uma tabela.
15.2.159Usurio
Um usurio qualquer pessoa que esteja utilizando uma determinada aplicao. Em sistemas gerados pelo GAS que
contenham esquemas de segurana, usurios podem ser cadastrados dentro de grupos, herdando as permisses inerentes
a este.
424
15.2.160Validao
o processo de verificao se uma certa informao fornecida em um campo atende a certas condies ou limitaes.
15.2.161Varivel
Tecnicamente, uma localizao de memria que contm um dado que pode ser modificado durante a execuo de um
programa. Cada varivel tem um nome sob o qual identificada como nica dentro do seu nvel de atuao. O tipo de dado
armazenado pode ou no ser especificado. Os nomes de variveis necessitam comear com uma letra e no podem conter
pontos ou caracteres embutidos e usados para especificar tipo. Devem tambm ser nicas dentro da sua rea de atuao e
no podem ter mais de 255 caracteres.
15.2.162Visual Basic - VB
Linguagem de programao de aplicaes para o ambiente Windows, desenvolvida pela Microsoft Corporation, baseada
na linguagem Basic (Beginners All Purpose Simbolic Instructions Code), composta de elementos visuais (controles) e cdigo
(programas).
15.2.163Windows API
A interface de programao de aplicao (API) se constitui de funes, mensagens, estrutura de dados, tipos de dados
e instrues que voc pode usar quando cria aplicaes que rodam no ambiente Windows.
15.2.164Windows metafile
um arquivo que armazena uma imagem como objetos grficos (linhas, crculos, polgonos) ao invs de pixels. Existe
dois tipos de metafiles: padro e implementado. Arquivos metafile do tipo padro possuem usualmente a extenso (.WMF)
enquanto os arquivos metafile implementados possuem a extenso .EMF. Arquivos metafile preservam a imagem de uma
maneira mais precisa do que os pixels.
15.2.165Workgroup
um grupo de usurios em um ambiente multiusurio que compartilha dados de um mesmo sistema de banco de dados.