Вы находитесь на странице: 1из 425

GAS 2007

GAS 2007 - Manual do Usurio

2008 GAS Tecnologia

GAS 2007 - Manual do Usurio


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

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

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.

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

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.

Heber & Evandro & Danilo & Silvano

Contents

ndice
0

I Captulo 1- Introduo

24

1 Caractersticas
...................................................................................................................................

2 O que ...................................................................................................................................
ha de novo

II Captulo 2 - Instalao e requisitos

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

III Captulo 3 - Conceitos preliminares

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

IV Captulo 4: Guia rpido para criar um


aplicao
1 Via expressa
...................................................................................................................................

34

36
36

Abrir um novo..........................................................................................................................................................
projeto
36
2008 GAS Tecnologia

GAS 2007 - Manual do Usurio


Configurar a rvore
..........................................................................................................................................................
Default
37
Definir o projeto
.......................................................................................................................................................... 37
Inserir as janelas
..........................................................................................................................................................
de dados
38
Definir as janelas
..........................................................................................................................................................
de dados inseridas
38
Geral
......................................................................................................................................................... 38
Tabelas auxiliares
......................................................................................................................................................... 38
Lanamentos
......................................................................................................................................................... 38
Processos......................................................................................................................................................... 38
Inserir outros..........................................................................................................................................................
mdulos, se necessrio
39
Verificar rvore
..........................................................................................................................................................
do projeto
39
Acionar a gerao
..........................................................................................................................................................
de programas fontes e executvel
39

41

V Captulo 5 - Operando o GAS


1 Abertura
...................................................................................................................................
ou criao de um projeto

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

2008 GAS Tecnologia

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

Menu pop-up ..........................................................................................................................................................


da rvore
59
Inserindo um ..........................................................................................................................................................
mdulo na rvore do projeto
59
Mundando posies
..........................................................................................................................................................
de mdulos na rvore do projeto
60
Copiando definies
.......................................................................................................................................................... 60
Apagando um..........................................................................................................................................................
mdulo na rvore
61
Definio da soluo
.......................................................................................................................................................... 61
Aba estrutura
.........................................................................................................................................................
da soluo
61
Definio do banco
.........................................................................................................................................
de dados
63
Definio das tabelas
......................................................................................................................................... 66
Definio dos campos
......................................................................................................................................... 67
Definio dos ndices
......................................................................................................................................... 69
Definio das integridades
......................................................................................................................................... 71
Sistemas multi-empresa
......................................................................................................................................... 72
Aba icones.........................................................................................................................................................
da soluo
73
Aba dados.........................................................................................................................................................
genericos
75
Aba miscelnia
......................................................................................................................................................... 76
Criando uma
.........................................................................................................................................................
tela inicial para a aplicao
78
Inserindo uma nova
.........................................................................................................................................
figura
79
Removendo uma.........................................................................................................................................
figura
79
2008 GAS Tecnologia

GAS 2007 - Manual do Usurio


Alterando o tamanho
.........................................................................................................................................
da tela inicial
79
Alterando a cor e.........................................................................................................................................
o aspecto da moldura
80
Aba histrico
......................................................................................................................................................... 80
Aba instalao
......................................................................................................................................................... 0
Formatao de..........................................................................................................................................................
tela da soluo
81
Gerenciamento
.........................................................................................................................................................
de projetos
81
Formatao da
..........................................................................................................................................................
tela do projeto
82
Desenhando
.........................................................................................................................................................
a barra de ferramentas da aplicao
82
Estabelecendo
.........................................................................................................................................................
uma ao para um boto
84
Menus POP-UP em
.........................................................................................................................................
botes
85
Colocando.........................................................................................................................................................
um logotipo lateral na janela da aplicao
85
Ttulo logotipo ......................................................................................................................................... 86
Fonte logotipo ......................................................................................................................................... 86
Largura logotipo ......................................................................................................................................... 86
Cor incio do logotipo
......................................................................................................................................... 86
Cor final do logotipo
......................................................................................................................................... 86
Colocando.........................................................................................................................................................
uma imagem como fundo da janela da aplicao
86
Colocando.........................................................................................................................................................
uma figura transparente no interior do formulrio
87
Encolhendo e..........................................................................................................................................................
expandindo mdulos da rvore
88
Definindo mdulos
..........................................................................................................................................................
na rvore do projeto
89
Definindo um
.........................................................................................................................................................
mdulo do tipo "Menu"
89
Definindo um
.........................................................................................................................................................
mdulo tipo janela de dados
91
Desenhando telas
.........................................................................................................................................
para entrada de dados
100
Colocando campos
...................................................................................................................................
na tela
100
Definindo atributos
...................................................................................................................................
de campos
101
Pr-validao ................................................................................................................................... 101
Validao
................................................................................................................................... 101
Validao imediata
................................................................................................................................... 103
Mensagem
................................................................................................................................... 103
Valor inicial
................................................................................................................................... 103
Visvel
................................................................................................................................... 103
Colocando frmulas
.........................................................................................................................................
nas telas
103
Estabelecendo .........................................................................................................................................
condies especiais
104
Condio para ...................................................................................................................................
incluir
104
Condio para ...................................................................................................................................
excluir
104
Condio para ...................................................................................................................................
alterar
104
Definindo.........................................................................................................................................................
uma tabela em grid
104
Colocando um grid
.........................................................................................................................................
na tela
107
Caractersticas .........................................................................................................................................
e propriedade do controle GRID
107
Propriedades do
...................................................................................................................................
grid
109
Definindo.........................................................................................................................................................
uma rotina avulsa
111
Definindo.........................................................................................................................................................
um processo pr-definido
112
Cabealho do processo
.........................................................................................................................................
pr-definido
112
Cupom fiscal ................................................................................................................................... 113
Processo pr-definido
......................................................................................................................................... 114
Definindo.........................................................................................................................................................
uma consulta
116
Contedos
......................................................................................................................................... 117
Grupos e ordenao
......................................................................................................................................... 118
Seleo
......................................................................................................................................... 118
Criao de filtragem
................................................................................................................................... 119
Unio de tabelas
................................................................................................................................... 119
Definindo.........................................................................................................................................................
um relatrio ou etiqueta
120
Geral
......................................................................................................................................... 120
Nome do .RPT ................................................................................................................................... 121
2008 GAS Tecnologia

Contents

Tabela bsica ................................................................................................................................... 121


Apelido
................................................................................................................................... 121
Cupom fiscal ................................................................................................................................... 121
Tabelas auxiliares
.........................................................................................................................................
e Contedo
121
Formatao de .........................................................................................................................................
relatrios
122
Criando um relatrio
.........................................................................................................................................
padro
122
Criando uma janela
.........................................................................................................................................
de previso (preview) para o relatrio
122
Formatando um.........................................................................................................................................
relatrio
124
Propriedades do
...................................................................................................................................
relatrio
124
Seleo de controles
...................................................................................................................................
com "retngulo de seleo"
126
Mltiplos filtros ................................................................................................................................... 126
Colocando um campo
...................................................................................................................................
no relatrio
127
Inserindo sub-relatrios
................................................................................................................................... 131
Colocando um totalizador
...................................................................................................................................
no relatrio
131
Colocando uma...................................................................................................................................
quebra no relatrio
132
Imprimindo um ...................................................................................................................................
cdigo de barra em relatrio ou etiqueta
132
Imprimindo valores
...................................................................................................................................
em cores diferentes no relatrio
133
Formatando etiquetas
......................................................................................................................................... 134
Definindo.........................................................................................................................................................
um programa executvel
134
Ttulo no menu ......................................................................................................................................... 135
Programa executvel
......................................................................................................................................... 135
Mdulo pronto ......................................................................................................................................... 135
Integrando
.........................................................................................................................................................
um formulrio existente ao projeto
135
Ttulo no menu ......................................................................................................................................... 135
Nome do formulrio
......................................................................................................................................... 135
Mdulo pronto ......................................................................................................................................... 135
Criando um
.........................................................................................................................................................
formulrio avulso no projeto
136
Geral e Tabelas.........................................................................................................................................
auxiliares
137
Criando uma
.........................................................................................................................................................
tela complementar
137
Boto continua ......................................................................................................................................... 138
Boto cancela ......................................................................................................................................... 138
Nmero de cpias
......................................................................................................................................... 138
Destino do relatrio
......................................................................................................................................... 138
Formato do arquivo
......................................................................................................................................... 138
Arquivo de sada
......................................................................................................................................... 138
Impressora padro
......................................................................................................................................... 138
Critrio
......................................................................................................................................... 138
Boto Filtra
......................................................................................................................................... 138
Configura impressora
......................................................................................................................................... 139
Definindo.........................................................................................................................................................
mdulos para impressora fiscal
139
Mdulos de
.........................................................................................................................................................
apoio Emisso de Cupom Fiscal e TEF
139
Definindo.........................................................................................................................................................
rotina de backup para a aplicao
139
Aba "Geral"
......................................................................................................................................... 140
Aba "Armazenamento"
......................................................................................................................................... 141
Aba "Notificao"
......................................................................................................................................... 142
Aba "Agendamento"
......................................................................................................................................... 143

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

2008 GAS Tecnologia

GAS 2007 - Manual do Usurio


Boto procura
......................................................................................................................................................... 148
Boto procura/substitui
......................................................................................................................................................... 148
Boto de .........................................................................................................................................................
sincronia
149
Botes para
.........................................................................................................................................................
desfazer/refazer modificaes
149
Botes para
.........................................................................................................................................................
manipular as endentaes do cdigo
149
Botes para
.........................................................................................................................................................
manipular comentrios
149
Opes de configurao
..........................................................................................................................................................
do Editor de Programas
150
Ajuste de.........................................................................................................................................................
cores
151
Endentao
......................................................................................................................................................... 151
Fonte
......................................................................................................................................................... 151

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

VI Captulo 6 - Gerao de programas fontes

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

VII Captulo 7 - Gerao de executveis


1 Estabelecendo
...................................................................................................................................
uma ao ps-compilao

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

2008 GAS Tecnologia

10

GAS 2007 - Manual do Usurio


FAZ_EXE.BAT.......................................................................................................................................................... 172
FAZ_HLP.BAT.......................................................................................................................................................... 172
FAZ_RES.BAT.......................................................................................................................................................... 173

175

VIII Captulo 8 - Gerao da documentao


1 Editar
...................................................................................................................................
gabaritos

175

Regras para ..........................................................................................................................................................


a edio de gabaritos
175
GABPRO.DOC
......................................................................................................................................................... 175
GABMAN.DOC
......................................................................................................................................................... 176
INICIO.HTM
.........................................................................................................................................................
/ CORPO.HTM / INDEX.HTM
176
Criar o documento
.......................................................................................................................................................... 176
Editar documento
.......................................................................................................................................................... 176
Compilar
.......................................................................................................................................................... 176
Visualizar .......................................................................................................................................................... 176
Dicas para otimizar
..........................................................................................................................................................
a documentao
177
Captura de
.........................................................................................................................................................
telas
177
Resoluo
......................................................................................................................................................... 177
Aparncia......................................................................................................................................................... 177
Momento.........................................................................................................................................................
certo
177
A documentao
..........................................................................................................................................................
gerada
177
Projeto fsico
......................................................................................................................................................... 177
Manual do
.........................................................................................................................................................
usurio da aplicao
178
Arquivo de
.........................................................................................................................................................
ajuda para a aplicao final
178
Diretivas .........................................................................................................................................................
de substituio
179
Para substituio
.........................................................................................................................................
textual
179
Analista
................................................................................................................................... 179
APELIDO_TAB_AUXILIAR
................................................................................................................................... 179
rvore
................................................................................................................................... 179
CAMPO_ATRIB................................................................................................................................... 179
CAMPO_UNIAO................................................................................................................................... 179
COND_ALTERACAO
................................................................................................................................... 179
COND_DIRETA ................................................................................................................................... 179
COND_EXCLUSAO
................................................................................................................................... 180
COND_EXC_LANC
................................................................................................................................... 180
COND_INCLUSAO
................................................................................................................................... 180
COND_INC_LANC
................................................................................................................................... 180
COND_INVERSA
................................................................................................................................... 180
CONS_SQL ................................................................................................................................... 180
CONS_TITULO ................................................................................................................................... 180
CP_ALVO_LANC
................................................................................................................................... 180
CP_ALVO_PROC
................................................................................................................................... 180
CP_APELIDO ................................................................................................................................... 180
CP_CAMPO_ESTRANGEIRO
................................................................................................................................... 180
CP_CASAS_DECIMAIS
................................................................................................................................... 181
CP_LST_INTERNA
................................................................................................................................... 181
CP_MASCARA................................................................................................................................... 181
CP_MSG_AJUDA
................................................................................................................................... 181
CP_NOME
................................................................................................................................... 181
CP_SEQUENCIA................................................................................................................................... 181
CP_TABELA_ESTRANGEIRA
................................................................................................................................... 181
CP_TAMANHO ................................................................................................................................... 181
CP_TIPO
................................................................................................................................... 181
DATA
................................................................................................................................... 181

2008 GAS Tecnologia

Contents

11

DESCRICAO ................................................................................................................................... 181


DESC_BD
................................................................................................................................... 181
DESC_TAB
................................................................................................................................... 182
FORM_DIRETA ................................................................................................................................... 182
FORM_INVERSA
................................................................................................................................... 182
INDICE_AUXILIAR
................................................................................................................................... 182
IND_CHAVES ................................................................................................................................... 182
IND_NOME
................................................................................................................................... 182
INT_CP1
................................................................................................................................... 182
INT_CP2
................................................................................................................................... 182
INT_NOME
................................................................................................................................... 182
INT_TABELA ................................................................................................................................... 182
JANELA
................................................................................................................................... 182
JANELA_MDI ................................................................................................................................... 182
MSG VALIDACAO
................................................................................................................................... 183
MSG_CRIT_RELACAO
................................................................................................................................... 183
MSG_MENU ................................................................................................................................... 183
NOME_BD
................................................................................................................................... 183
NOME_EMPRESA
................................................................................................................................... 183
NOME_EXECUTAVEL
................................................................................................................................... 183
NOME_FORM ................................................................................................................................... 183
PRE-VALIDACAO
................................................................................................................................... 183
Q_LANCAMENTOS
................................................................................................................................... 183
REL_SQL
................................................................................................................................... 183
REL_TITULO ................................................................................................................................... 183
TABELA_AUXILIAR
................................................................................................................................... 183
TABELA_BASICA
................................................................................................................................... 184
TAB_ALVO_LANC
................................................................................................................................... 184
TAB_ALVO_PROC
................................................................................................................................... 184
TB_APELIDO ................................................................................................................................... 184
TB_NOME
................................................................................................................................... 184
TITULO_JANELA
................................................................................................................................... 184
TITULO_PROJETO
................................................................................................................................... 184
TIT_LANCAMENTO
................................................................................................................................... 184
TIT_PROCESSAMENTO
................................................................................................................................... 184
VALIDACAO ................................................................................................................................... 184
VALOR INICIAL................................................................................................................................... 184
VALOR_LANC ................................................................................................................................... 184
Para substituio
.........................................................................................................................................................
de imagens
185
BMP_BAJUDA ......................................................................................................................................... 185
BMP_BANTERIOR
......................................................................................................................................... 185
BMP_BAPAGACOL
......................................................................................................................................... 185
BMP_BCANCELA
......................................................................................................................................... 185
BMP_BCONFGRAF
......................................................................................................................................... 185
BMP_BCONFIMP......................................................................................................................................... 185
BMP_BCONSULTA
......................................................................................................................................... 185
BMP_BEXCLUI ......................................................................................................................................... 185
BMP_BFILTRO ......................................................................................................................................... 185
BMP_BFINALIZA......................................................................................................................................... 185
BMP_BGRADE ......................................................................................................................................... 186
BMP_BGRAFA ......................................................................................................................................... 186
BMP_BGRAVA ......................................................................................................................................... 186
BMP_BIMPRE ......................................................................................................................................... 186
BMP_BINCLUI ......................................................................................................................................... 186
2008 GAS Tecnologia

11

12

GAS 2007 - Manual do Usurio


BMP_BINFODB ......................................................................................................................................... 186
BMP_BPRIMEIRO......................................................................................................................................... 186
BMP_BPROCURA
......................................................................................................................................... 186
BMP_BREPARA......................................................................................................................................... 186
BMP_BSEGUINTE
......................................................................................................................................... 186
BMP_BSENHA ......................................................................................................................................... 186
BMP_BTOTALIZA
......................................................................................................................................... 186
BMP_BULTIMO ......................................................................................................................................... 187
BMP_CBOIND ......................................................................................................................................... 187
ICONE_APLICACAO
......................................................................................................................................... 187
TELA_INICIAL ......................................................................................................................................... 187
Indicativos
.........................................................................................................................................................
ou flags
187
AC_ALTERACAO
......................................................................................................................................... 187
AC_EXCLUSAO......................................................................................................................................... 187
AC_FILTRAGENS
......................................................................................................................................... 187
AC_INCLUSAO ......................................................................................................................................... 188
AC_PESQUISAS......................................................................................................................................... 188
CP_AJUDA
......................................................................................................................................... 188
CP_INVISIVEL ......................................................................................................................................... 188
CP_LISTAEXT ......................................................................................................................................... 188
CP_LISTAINT ......................................................................................................................................... 188
CP_NUMERICO ......................................................................................................................................... 188
CP_SEQUENCIAL
......................................................................................................................................... 188
CRITICAR
......................................................................................................................................... 188
DEIXAR_NA_SENHA
......................................................................................................................................... 188
EXC_LANC
......................................................................................................................................... 188
FORCAR_RELACAO
......................................................................................................................................... 188
IND_PRIMARIO ......................................................................................................................................... 189
IND_UNICO
......................................................................................................................................... 189
INT_1-N
......................................................................................................................................... 189
MONOUSUARIO......................................................................................................................................... 189
MULTIUSUARIO......................................................................................................................................... 189
QDE_CAMPOS ......................................................................................................................................... 189
QDE_BD
......................................................................................................................................... 189
QDE_CAMPOS_ALVO
......................................................................................................................................... 189
QDE_CONSULTAS
......................................................................................................................................... 189
QDE_CP_TAB_BASICA
......................................................................................................................................... 189
QDE_INDICES ......................................................................................................................................... 189
QDE_INTEGRIDADES
......................................................................................................................................... 189
QDE_INT_CPS ......................................................................................................................................... 190
QDE_JANELAS ......................................................................................................................................... 190
QDE_LANCAMENTOS
......................................................................................................................................... 190
QDE_PROCESSOS
......................................................................................................................................... 190
QDE_RELATORIOS
......................................................................................................................................... 190
QDE_TABELAS......................................................................................................................................... 190
QDE_TAB_AUXILIAR
......................................................................................................................................... 190
TB_PARAMETROS
......................................................................................................................................... 190
TEM_AJUDA ......................................................................................................................................... 190
TEM_ATRIBUTOS
......................................................................................................................................... 190
TEM_BAJUDA ......................................................................................................................................... 190
TEM_BANTERIOR
......................................................................................................................................... 190
TEM_BAPAGACOL
......................................................................................................................................... 191
TEM_BCANCELA
......................................................................................................................................... 191
TEM_BCONFGRAF
......................................................................................................................................... 191
2008 GAS Tecnologia

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

GAS 2007 - Manual do Usurio


TEM_MINFODB ......................................................................................................................................... 195
TEM_MPRIMEIRO......................................................................................................................................... 195
TEM_MPROCURA
......................................................................................................................................... 195
TEM_MREPARA......................................................................................................................................... 196
TEM_MSEGUINTE
......................................................................................................................................... 196
TEM_MSENHA ......................................................................................................................................... 196
TEM_MSG_VALIDACAO
......................................................................................................................................... 196
TEM_MTOTALIZA
......................................................................................................................................... 196
TEM_MULTIMO ......................................................................................................................................... 196
TEM_PARAMETROS
......................................................................................................................................... 196
TEM_PRE-VALIDACAO
......................................................................................................................................... 196
TEM_PROCESSOS
......................................................................................................................................... 196
TEM_QTDEREG ......................................................................................................................................... 196
TEM_RELATORIOS
......................................................................................................................................... 196
TEM_SCRNAV ......................................................................................................................................... 196
TEM_SENHA ......................................................................................................................................... 197
TEM_TAB_AUXILIAR
......................................................................................................................................... 197
TEM_TELAINICIAL
......................................................................................................................................... 197
TEM_VALIDACAO
......................................................................................................................................... 197
TEM_VALOR_INICIAL
......................................................................................................................................... 197
TEM_VALOR_LANC
......................................................................................................................................... 197
UM_BD
......................................................................................................................................... 197
Indicativos
.........................................................................................................................................................
do projetista
197
Comandos
.........................................................................................................................................................
e condies
197
SE
......................................................................................................................................... 197
SE Linear
......................................................................................................................................... 198
REPETE
......................................................................................................................................... 198

IX Captulo 9 - Gerao do Instalador e


Adaptador de Banco

201

1 Criando
...................................................................................................................................
o Instalador da Aplicao

201

2 O Utilitrio
...................................................................................................................................
Adaptador de Arquivos

201

3 O Utilitrio
...................................................................................................................................
Conversor de Arquivos DBF

203

207

X Captulo 10 - Um exemplo prtico


1 Aspectos
...................................................................................................................................
do funcionamento da aplicao

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

XI Captulo 11 - Utilizando a aplicao gerada

296

1 Ativando
...................................................................................................................................
a aplicao gerada

296

2 Informando
...................................................................................................................................
os diretrios de trabalho

296

Dados (com ..........................................................................................................................................................


extenso MDB)
296
Controle (com
..........................................................................................................................................................
extenso LDB)
297
Inicializao ..........................................................................................................................................................
(com extenso INI)
297

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

GAS 2007 - Manual do Usurio


Criando Grupos
......................................................................................................................................................... 311
Removendo
.........................................................................................................................................................
um grupo
313
Alterando.........................................................................................................................................................
permisses de grupos
313
Credenciando
.........................................................................................................................................................
usurios
313
Descredenciando
.........................................................................................................................................................
usurios
314
Digitando Notas
..........................................................................................................................................................
Fiscais de Fornecedores
315
Uilizando os ..........................................................................................................................................................
recursos da aplicao
316
Boto para
.........................................................................................................................................................
alternar visualizao
317
Boto de .........................................................................................................................................................
incluso
318
Boto de .........................................................................................................................................................
apresentao de grfico
318
Boto de .........................................................................................................................................................
procura
318
Boto de .........................................................................................................................................................
filtragem e ordenao
319
Barra de navegao
......................................................................................................................................... 319
Boto de imprimir
......................................................................................................................................................... 320
Boto de .........................................................................................................................................................
consulta
320
Boto de .........................................................................................................................................................
informaes
321
Boto de .........................................................................................................................................................
finalizar
321
Operando com
..........................................................................................................................................................
consultas
321
Vizualizando
.........................................................................................................................................................
uma consulta existente
322
Criando uma
.........................................................................................................................................................
nova consulta
322
Contedos
......................................................................................................................................... 323
Nome da consulta
................................................................................................................................... 323
Tabelas
................................................................................................................................... 323
Campos a mostrar
................................................................................................................................... 324
Coluna avulsa ................................................................................................................................... 324
Grupos e ordenao
......................................................................................................................................... 324
Agrupar por ................................................................................................................................... 325
Ordenado por ................................................................................................................................... 325
Seleo
......................................................................................................................................... 325
Os primeiros ................................................................................................................................... 325
Seleo de registros/Unio
...................................................................................................................................
de tabelas
326
Apagando.........................................................................................................................................................
uma consulta
327
Apagando.........................................................................................................................................................
colunas das grades de consulta
327
Quebra na
.........................................................................................................................................................
impresso de consultas (COPY)
328
Procurando ..........................................................................................................................................................
um registro
329
Trabalhando ..........................................................................................................................................................
com grficos
330
Alterando.........................................................................................................................................................
a forma de visualizao do grfico
331
Gravando.........................................................................................................................................................
um grfico
332
Imprimindo
.........................................................................................................................................................
um grfico
332
Reparao do
..........................................................................................................................................................
banco de dados
333

XII Captulo 12 - O GAS como ferramenta de


desenvolvimento

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

GAS 2007 - Manual do Usurio


vgMoeda ......................................................................................................................................................... 348
De abrangncia
..........................................................................................................................................................
de formulrio
348
vgSituacao
......................................................................................................................................................... 348
vgCaracteristica
......................................................................................................................................................... 349
vgTipo ......................................................................................................................................................... 349
vgUltimoFiltro
......................................................................................................................................................... 350
vgUltimoTabIndex
......................................................................................................................................................... 350
vgFormID......................................................................................................................................................... 350
vgTb
......................................................................................................................................................... 350
vgTbFiltro......................................................................................................................................................... 350
vgTemInclusao
......................................................................................................................................................... 350
vgTemExclusao
......................................................................................................................................................... 350
vgTemProcura
......................................................................................................................................................... 350
vgTemFiltro
......................................................................................................................................................... 351
vgTemAlteracao
......................................................................................................................................................... 351
vgTemCondicoesEsp
......................................................................................................................................................... 351
vgEmBrowse
......................................................................................................................................................... 351
vgCpRel???
......................................................................................................................................................... 351
vgRegLancado
......................................................................................................................................................... 351
De abrangncia
..........................................................................................................................................................
local
351
vgNParc ......................................................................................................................................................... 351
vgCodLan......................................................................................................................................................... 351

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

6 Esquema de compatibilidade do GAS Enterprise com o SQL


Server
...................................................................................................................................
e Oracle

359

7 Sistemas
...................................................................................................................................
com acesso multiusurio

360

8 Consideraes sobre o campo multimdia (gCpMM.OCX) e


digitalizao
...................................................................................................................................
de imagens

361

Compatibilidade
..........................................................................................................................................................
do campo multimdia com o Crystal Reports
362

9 Definindo
...................................................................................................................................
mdulos para impressora fiscal

363

A primeira... .......................................................................................................................................................... 363


A segunda............................................................................................................................................................. 365
A terceira .......................................................................................................................................................... 367
A quarta... .......................................................................................................................................................... 370
Implementando
..........................................................................................................................................................
TEF - Transferncia Eletrnica de Fundos discada
375
Suporte a impressora
..........................................................................................................................................................
Daruma
376

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

XIII Captulo 13 - Propriedades dos objetos de


tela
1 Lista...................................................................................................................................
das propriedades

XIV Captulo 14 - Tutoriais


1 Tutorial
...................................................................................................................................
SQL Server

380
380

0
0

Tutorial SQL Server


.......................................................................................................................................................... 0

2 Tutorial
...................................................................................................................................
Mysql

Passo a passo ..........................................................................................................................................................


MySql
0

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

GAS 2007 - Manual do Usurio


Bit
.......................................................................................................................................................... 405
Bitmap
.......................................................................................................................................................... 405
Bookmark .......................................................................................................................................................... 405
Booleano ou ..........................................................................................................................................................
lgico
405
Caixa de dilogo
.......................................................................................................................................................... 406
Campo
.......................................................................................................................................................... 406
Campo Alvo .......................................................................................................................................................... 406
Campo chave
.......................................................................................................................................................... 406
Campo estrangeiro
.......................................................................................................................................................... 406
Caracteres curinga
.......................................................................................................................................................... 406
Caractere de..........................................................................................................................................................
declarao
407
Chave estrangeira
.......................................................................................................................................................... 407
Chave primria
.......................................................................................................................................................... 407
Classe
.......................................................................................................................................................... 407
Clusula From
.......................................................................................................................................................... 407
Clusula Group
..........................................................................................................................................................
by
407
Clusula Order
..........................................................................................................................................................
by
408
Clusula Select
.......................................................................................................................................................... 408
Clusula Where
.......................................................................................................................................................... 408
Clipboard .......................................................................................................................................................... 408
Cdigo Fonte.......................................................................................................................................................... 408
Compilao .......................................................................................................................................................... 408
Consulta pr-definida
.......................................................................................................................................................... 408
Controle
.......................................................................................................................................................... 408
Controles externos
.......................................................................................................................................................... 408
Controle vinculado
.......................................................................................................................................................... 409
Copy buffer .......................................................................................................................................................... 409
Crystal reports
.......................................................................................................................................................... 409
Data control .......................................................................................................................................................... 409
Data bound .......................................................................................................................................................... 409
Default
.......................................................................................................................................................... 409
DLL
.......................................................................................................................................................... 409
Domnio
.......................................................................................................................................................... 410
Dynaset
.......................................................................................................................................................... 410
Equi-join
.......................................................................................................................................................... 410
Etiqueta
.......................................................................................................................................................... 410
Evento
.......................................................................................................................................................... 410
Event procedure
.......................................................................................................................................................... 410
Exclusive
.......................................................................................................................................................... 410
Filtro
.......................................................................................................................................................... 410
Form
.......................................................................................................................................................... 411
Frmula
.......................................................................................................................................................... 411
Formulrio avulso
.......................................................................................................................................................... 411
Funo (Function)
.......................................................................................................................................................... 411
Funo agregada
.......................................................................................................................................................... 411
Grade
.......................................................................................................................................................... 411
Grupo
.......................................................................................................................................................... 411
Handle
.......................................................................................................................................................... 411
cone
.......................................................................................................................................................... 412
ndice
.......................................................................................................................................................... 412
Inner join .......................................................................................................................................................... 412
Integridade ..........................................................................................................................................................
referencial
412
Instncia
.......................................................................................................................................................... 412
Janela
.......................................................................................................................................................... 412
2008 GAS Tecnologia

Contents

21

Janela modal.......................................................................................................................................................... 412


Janela tipo parmetro
.......................................................................................................................................................... 412
Jet Database..........................................................................................................................................................
Engine
413
Join
.......................................................................................................................................................... 413
keyword
.......................................................................................................................................................... 413
keyword
.......................................................................................................................................................... 413
Left join
.......................................................................................................................................................... 413
Left outer join
.......................................................................................................................................................... 413
Linha separadora
.......................................................................................................................................................... 413
Mscara
.......................................................................................................................................................... 414
MDI
.......................................................................................................................................................... 414
Menu
.......................................................................................................................................................... 414
Mtodo
.......................................................................................................................................................... 415
Modal
.......................................................................................................................................................... 415
Mdulo
.......................................................................................................................................................... 415
Objeto
.......................................................................................................................................................... 415
OLE
.......................................................................................................................................................... 415
Outer join .......................................................................................................................................................... 415
Parmetros ..........................................................................................................................................................
do sistema
415
Permisses .......................................................................................................................................................... 415
Pixel
.......................................................................................................................................................... 416
Procedure .......................................................................................................................................................... 416
Processamentos
.......................................................................................................................................................... 416
Processos ..........................................................................................................................................................
pr-definidos
416
Programa fonte
.......................................................................................................................................................... 416
Projeto
.......................................................................................................................................................... 416
Property
.......................................................................................................................................................... 416
Propriedade.......................................................................................................................................................... 416
Query
.......................................................................................................................................................... 417
Query de ao
.......................................................................................................................................................... 417
Query de parmetro
.......................................................................................................................................................... 417
Query de seleo
.......................................................................................................................................................... 417
Recordset .......................................................................................................................................................... 417
Registro
.......................................................................................................................................................... 417
Registro corrente
.......................................................................................................................................................... 417
Relao
.......................................................................................................................................................... 417
Relatrio
.......................................................................................................................................................... 418
Reparao de..........................................................................................................................................................
banco de dados
418
Rotina avulsa.......................................................................................................................................................... 418
Self join
.......................................................................................................................................................... 418
Separador .......................................................................................................................................................... 418
Servidor OLE.......................................................................................................................................................... 418
Snapshot .......................................................................................................................................................... 418
SQL
.......................................................................................................................................................... 418
Sub
.......................................................................................................................................................... 418
Tabela
.......................................................................................................................................................... 419
Tabela-alvo .......................................................................................................................................................... 419
Tabela anexada
.......................................................................................................................................................... 419
Tabela ANSI .......................................................................................................................................................... 419
Tabela ASCII.......................................................................................................................................................... 419
Tabela bsica
.......................................................................................................................................................... 419
Tabela estrangeira
.......................................................................................................................................................... 419
Tipo de campo
.......................................................................................................................................................... 419
Tipo de campo
..........................................................................................................................................................
carto de crdito
419
2008 GAS Tecnologia

21

22

GAS 2007 - Manual do Usurio


Tipo de campo
..........................................................................................................................................................
CEP
419
Tipo de campo
..........................................................................................................................................................
CGC
420
Tipo de campo
..........................................................................................................................................................
Cdigo de Barras
420
Tipo de campo
..........................................................................................................................................................
CPF
420
Tipo de campo
..........................................................................................................................................................
data
420
Tipo de campo
..........................................................................................................................................................
email
420
Tipo de campo
..........................................................................................................................................................
Fone
420
Tipo de campo
..........................................................................................................................................................
Fone com DDD
420
Tipo de campo
..........................................................................................................................................................
Hora
420
Tipo de campo
..........................................................................................................................................................
Lista Interna
420
Tipo de campo
..........................................................................................................................................................
Lgico
421
Tipo de campo
..........................................................................................................................................................
Memo
421
Tipo de campo
..........................................................................................................................................................
Multimdia
421
Tipo de campo
..........................................................................................................................................................
Numrico
421
Tipo de campo
..........................................................................................................................................................
Optativo
421
Tipo de campo
..........................................................................................................................................................
Rotativo
421
Tipo de campo
..........................................................................................................................................................
UF
421
Tipo de campo
..........................................................................................................................................................
WebPage
422
Tipo de dado.......................................................................................................................................................... 422
Tipo de dado..........................................................................................................................................................
Binrio Longo
422
Tipo de dado..........................................................................................................................................................
Booleano
422
Tipo de dado..........................................................................................................................................................
Byte
422
Tipo de dado..........................................................................................................................................................
Data/hora
422
Tipo de dado..........................................................................................................................................................
Dinheiro
422
Tipo de dado..........................................................................................................................................................
Inteiro
422
Tipo de dado..........................................................................................................................................................
Lgico
422
Tipo de dado..........................................................................................................................................................
Longo
423
Tipo de dado..........................................................................................................................................................
Memo
423
Tipo de dado..........................................................................................................................................................
Preciso Dupla
423
Tipo de dado..........................................................................................................................................................
Preciso Simples
423
Tipo de dado..........................................................................................................................................................
String
423
Tipo de dado..........................................................................................................................................................
Variant
423
Update
.......................................................................................................................................................... 423
Usurio
.......................................................................................................................................................... 423
Validao .......................................................................................................................................................... 424
Varivel
.......................................................................................................................................................... 424
Visual Basic ..........................................................................................................................................................
- VB
424
Windows API.......................................................................................................................................................... 424
Windows metafile
.......................................................................................................................................................... 424
Workgroup .......................................................................................................................................................... 424

Index

2008 GAS Tecnologia

Captulo

I
Captulo 1- Introduo

24

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo

II
Captulo 2 - Instalao e requisitos

26

GAS 2007 - Manual do Usurio

Captulo 2 - Instalao e requisitos

2.1

Instalao do GAS no equipamento


O GAS pode ser adquirido opcionalmente em CD-ROM ou mesmo atravs de download diretamente da pgina da Gas
Tecnologia na Internet: http://www.suportegas.com.br, ou solicite pelo email suporte@gastecnologia.com.br.
A instalao do GAS no equipamento compreende duas fases distintas. A primeira delas, a instalao propriamente
dita, que segue os procedimentos padro de instalao de aplicaes no ambiente Windows, com a cpia de arquivos para
o disco rgido do microcomputador e criao de uma pasta e atalhos para ativao do programa. A segunda, implica na
habilitao da cpia do GAS, para que possa funcionar corretamente.

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

Habilitao e registro da cpia


Caso no tenha selecionada a habilitao via plugue, na primeira vez que for utilizar o GAS, necessrio um contato
com a Gas Tecnologia para o registro e a obteno da contra-senha necessria habilitao da cpia que acaba de ser
instalada no equipamento. Esta operao necessria somente na primeira vez em que o GAS for instalado no equipamento.
Opcionalmente, conforme citado anteriormente, o GAS poder seguir acompanhado de um plugue, a ser conectado na porta
paralela (impressora) ou em uma porta USB do microcomputador, habilitando o produto sem necessitar de contacto
telefnico e proporcionando, assim, a utilizao / instalao do GAS.

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

Requisitos para instalao e execuo


Para executar o GAS, necessrio o ambiente Windows 32 bits em um microcomputador com, pelo menos, 40 MB de

2008 GAS Tecnologia

Captulo 2 - Instalao e requisitos

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.

2008 GAS Tecnologia

Captulo

III
Captulo 3 - Conceitos preliminares

Captulo 3 - Conceitos preliminares

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

Componentes de um projeto GAS


Todas as aplicaes definidas atravs do GAS so tratadas como projeto de sistema. Um projeto de sistema constitui-se
de um conjunto de informaes necessrias construo de uma aplicao, que so organizadas e armazenadas para
serem utilizadas no momento apropriado. O GAS possui recursos para se desenvolver no conceito de Multi-Projetos, neste
caso, cada projeto gerado ser uma aplicao, e o desenvolvimento destes projetos estaro dentro de uma soluo.
Tambm possvel gerar um aplicativo que funcione como soluo para o controle dos projetos.

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.

2008 GAS Tecnologia

30

GAS 2007 - Manual do Usurio

Figura 3.1

O primeiro item da Arvore, trata-se das configuraes globais e da definio da soluo(Multi-Projetos


voc pode em uma soluo ter vrios projetos, ou seja, criar um aplicativo totalmente modular.

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.

2008 GAS Tecnologia

Captulo 3 - Conceitos preliminares

31

Figura 3.2

3.2.2

Mdulos que podem ser inseridos em cada projeto


Diversos tipos de mdulos podem ser inseridos no projeto, podendo alguns, inclusive, conter
mdulos subordinados. Destacamos os seguintes tipos de mdulos:

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 .

2008 GAS Tecnologia

32

3.2.2.3

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 3 - Conceitos preliminares

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.2.10 Formulrio avulso


Forms podem ser desenhados dentro do prprio ambiente do GAS para serem integrados aplicao. Normalmente esta
opo utilizada para que o projetista insira mdulos especiais elaborados por ele mesmo.

3.2.2.11 Formulrio existente


Um mdulo de formulrio existente pode ser inserido na rvore para permitir que o projetista reutilize objetos de interface
que j tenha sido elaborada para outras aplicaes.

3.2.2.12 Linha separadora


Este tipo de mdulo, como o seu prprio nome indica, no significa nada mais alm de uma linha separadora de itens de
menu. Uma vez que a modelagem da estrutura da rvore do projeto (ver tpico Modelador, neste captulo) implica na
estruturao do prprio menu da aplicao, este mdulo foi criado para permitir que uma linha seja inserida para separar
opes, onde o projetista julgar necessrio.

3.2.2.13 Apoio impresso fiscal


Ao gerar o aplicativo final, estes mdulos auxiliaro o usurio no processo de manuteno da impressora fiscal, sendo
os dispositivos por intermdio dos quais efetivar-se-o diversas operaes fiscais, como por exemplo, abrir e fechar caixa,
mudar horrio de vero, sangria, cancelar itens impressos, etc.

3.2.3

Opes que podem ser inseridas na rvore


Existem outras opes que podem ser inseridas na rvore do projeto que no correspondem a mdulos propriamente
ditos. Existem apenas para completar a estrutura de menu que qualquer aplicao padro Windows deve ter.

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.

2008 GAS Tecnologia

34

3.2.3.3

GAS 2007 - Manual do Usurio

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

Como so organizadas as informaes


As informaes digitadas nas aplicaes so organizadas em um arquivo contendo tabelas, ndices, registros e campos,
alm de outros objetos. Uma tabela pode ter diversos registros que, por sua vez, podem ter diversos campos. Apenas para
fazer uma analogia entre um arquivo magntico e um arquivo fsico, poderamos tomar como exemplo um conjunto de cartes
de clientes, que representa uma tabela. Cada carto, com os dados do cliente representa um registro e cada informao do
cliente, como nome, telefone, etc., representa um campo. Se fosse elaborada uma lista ordenada onde constasse que o
carto do cliente tal o de nmero N, esta lista estaria representando um ndice. Uma consulta a esta lista permitiria que se
pegasse o ensimo carto de cliente de um conjunto sem ter de percorrer todos os cartes.

2008 GAS Tecnologia

Captulo

IV
Captulo 4: Guia rpido para criar um aplicao

36

GAS 2007 - Manual do Usurio

Captulo 4: Guia rpido para criar um aplicao

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

Abrir um novo projeto


Ao acessar o GAS, ser exibida a tela de Projetos do GAS, a qual permitir a criao de um novo projeto (baseado ou
no em gabaritos existentes), selecionar um projeto existente ou, ainda, projetos que tenham sido recentemente abertos,
como verificamos nas figuras abaixo:

Figura 4.1

Figura 4.2

2008 GAS Tecnologia

Captulo 4: Guia rpido para criar um aplicao

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

Configurar a rvore Default


Sempre que um novo projeto criado, o GAS monta uma rvore com opes default para o mesmo. Nela j so
disponibilizadas as opes normais da interface padro Windows, como por exemplo, os menus Arquivo, Editar, Exibir,
Janelas, Ajuda, etc. Tambm so disponibilizados alguns mdulos genricos que podero ou no estar presentes na
aplicao final, como, por exemplo, o plano de senhas e as informaes sobre o BD. De acordo com a necessidade,
preserve ou retire esses mdulos da rvore do projeto. O tpico Apagando um Mdulo da rvore 61 descreve como
isto pode ser feito.

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

2008 GAS Tecnologia

38

GAS 2007 - Manual do Usurio

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

Inserir as janelas de dados


Normalmente, algumas das tabelas que foram criadas na definio da estrutura do banco de dados, no passo anterior,
estaro vinculadas a uma janela de dados inserida na rvore do projeto. Este o ponto em que a digitao e manuteno de
dados acionada a partir da aplicao final.
O tpico Inserindo um Mdulo na rvore do Projeto 59 mostra como voc pode inserir janelas de dados na
rvore do projeto. Se desejar, voc poder inserir mdulos do tipo menu para agrupar outras tabelas. Poder criar, por
exemplo, um menu de nome "Movimentao" e inserir logo abaixo, todas as tabelas que esto envolvidas neste processo.

4.1.5

Definir as janelas de dados inseridas


Para definir uma janela de dados inserida na rvore, basta clicar com o boto direito do mouse sobre o seu ttulo na
rvore e selecionar a opo "Define o mdulo selecionado", abrindo a interface de definio, que efetuada em cinco
etapas (dependendo da aplicao, nem todas so necessrias) apresentadas nas abas intituladas:

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

2008 GAS Tecnologia

Captulo 4: Guia rpido para criar um aplicao

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

Inserir outros mdulos, se necessrio


Alguns mdulos so comuns em quase todas as aplicaes, como, por exemplo, relatrios e consultas. Esses mdulos,
se existirem, devem ser inseridos na rvore da mesma maneira que foram inseridas as janelas de dados, devendo ser
definidos em seguida. Os tpicos Definindo um relatrio ou etiqueta 120 e Definindo uma consulta 116 abordam os
aspectos dessas definies.

4.1.7

Verificar rvore do projeto


Quando julgar que a aplicao j est completamente definida, o projetista dever visualizar a rvore do projeto e
verificar se existe algum mdulo ainda por definir. Os mdulos ainda no definidos aparecem em cor diferente dos mdulos
j prontos, caso o projetista tenha assim configurado.
Se existir algum mdulo ainda no definido, o projetista dever selecionar este mdulo e verificar os fatores ainda a
definir. Em alguns mdulos voc ter de marcar explicitamente a opo mdulo pronto para dizer ao GAS que o mdulo
est pronto para ser gerado, segundo o seu critrio.

4.1.8

Acionar a gerao de programas fontes e executvel


A gerao de programas fontes e executvel deve ser acionada por intermdio dos botes apropriados existentes na
barra de ferramentas do GAS ou por intermdio, respectivamente, das opes "Gerar fontes..." e "Criar executveis..." do
menu "Arquivo".

Boto gerar fontes

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.

2008 GAS Tecnologia

Captulo

V
Captulo 5 - Operando o GAS

Captulo 5 - Operando o GAS

Captulo 5 - Operando o GAS

5.1

Abertura ou criao de um projeto

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

A barra de ferramentas do GAS


A interface do GAS foi projetada de modo a apresentar o mnimo de complexidade possvel com um mximo de eficincia.
Alguns poucos botes dispostos na barra de ferramentas so suficientes para acessar todos os recursos necessrios
criao de aplicaes em Visual Basic. A barra de ferramentas , na verdade, um atalho para as opes mais importantes
que constam do menu e, por isso, todas as funes programadas nos botes existentes na barra de ferramentas pussuem
um atalho correspondente na estrutura de menus. A barra de ferramentas pode, opcionalmente, ser ocultada ou mostrada.
Os botes da barra de ferramentas so apresentados a seguir. Observe, dependendo da situao da operao, alguns
deles podero estar desabilitados por no se aplicar ao contexto do momento.

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

2008 GAS Tecnologia

42

GAS 2007 - Manual do Usurio

a aplicao detalha os aspectos da gerao de fontes.

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

Finalmente, este boto um atalho para o abandono da operao do GAS.

5.2.1

Botes de controle do editor de programas


Se a janela ativa for o Editor de Programas do GAS, os seguintes botes estaro ativos na barra de ferramentas:

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

2008 GAS Tecnologia

44

GAS 2007 - Manual do Usurio

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

A barra de status do GAS


Como forma de projetar uma interface ainda mais amigvel, encontra-se disponibilizada no rodap do aplicativo uma
barra de status, a qual informa o estgio de progresso do processo efetuado no corrente momento, como criao e
carregamento de projetos, gerao de fontes, dentre outros. Quando a referida barra de progresso se encontrar na cor
azul, o processo tem a possibilidade de ser interrompido. Tal procedimento no pode ser efetuado quando esta barra de
progresso se apresentar na cor vermelha.

5.4

As opes de menu do GAS


A seguir, vamos conhecer as opes disponveis no menu do GAS. Como j vimos, a barra de ferramentas serve de
atalho para algumas dessas opes que so mais utilizadas. A estrutura de menus do GAS segue os padres Windows,
razo pela qual sero abordadas somente as opes especficas da sua operao.

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:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Abrir projeto existente


Esta opo serve para abrir um projeto j existente. Existe um boto com funo correspondente na barra de
ferramentas.

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

Salvar como gabarito


A qualquer momento da definio de um projeto com o GAS, esta opo pode ser ativada para salvar todas as
definies como um gabarito de nome a ser especificado. Uma vez que um gabarito tenha sido salvo, pode-se utilizar a
opo "Abrir gabarito..." explicada anteriormente, para aproveitar todas as definies existentes.

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:

2008 GAS Tecnologia

46

GAS 2007 - Manual do Usurio

5.4.1.9.1 Documentao do projeto

Esta opo exibe a interface de criao da documentao para a aplicao gerada.


5.4.1.9.2 Criar programa instalador

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:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

48

5.4.2.5

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.15 Editor de cones


Esta opo aciona o Editor de cones do GAS para permitir sua utilizao.

5.4.2.16 Editar cdigo de programa


Esta opo ativa o Editor de Programas do GAS. Este recurso pode ser utilizado em diversos pontos da definio do
projeto.

5.4.2.17 Formatar relatrio


Esta opo ativa a interface de formatao do relatrio ou etiqueta que est selecionado na rvore.

5.4.2.18 Formatar tela


Esta opo aciona o Editor de Recursos para a formatao da tela de digitao para a janela de dados selecionada na
rvore.

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

Opes para personalizar as operaes do GAS


Existem diversas opes na operao do GAS que podem ser personalizadas para satisfazer as preferncias do
projetista. Uma vez configuradas, essas opes so guardadas pelo GAS para serem assumidas nas prximas sees.
Essas opes aparecem nos dois menus Exibir e Opes mencionados no tpico anterior. Algumas delas so do tipo liga/
desliga, enquanto outras necessitam de definies mais detalhadas.

5.5.1

Opes do menu Exibir


A figura a seguir apresenta este menu:

2008 GAS Tecnologia

50

GAS 2007 - Manual do Usurio

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.

O tpico Utilizando o Banco de Campos

5.5.1.3

161

explica a utilizao deste recurso.

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Texto exemplo na tela


Esta opo serve para alterar ligar e desligar a apresentao de texto exemplo dentro dos campos dispostos nas telas e
relatrios. Este recurso auxilia a avaliao dos tamanhos dos campos a serem deixados para o usurio digitar nas telas,
auxiliando tambm a visualizao de labels disponibilizados em relatrios. O texto a ser apresentado como exemplo pode ser
determinado por meio da opo Configuraes a ser abordado um pouco mais adiante, neste captulo.

5.5.2

Opes do menu Opes


No menu de opes, podem ser configurados outros aspectos da interface do GAS. A figura a seguir apresenta este
menu:

2008 GAS Tecnologia

52

GAS 2007 - Manual do Usurio

Figura 5.6
Neste menu, temos:

5.5.2.1

Opes da tela padro


Por meio desta opo, o projetista estabelece os parmetros para a criao da tela padro, disponvel no Editor de
Recursos. O tpico Definindo Opes da Tela Padro 159 aborda os detalhes desta operao.

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

Todas as informaes digitadas sero transformadas em maisculas.


5.5.2.2.3 Minsculas

Tudo o que for digitado ser transformado para letras minsculas.


5.5.2.2.4 Nenhum

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:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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 -

2008 GAS Tecnologia

54

GAS 2007 - Manual do Usurio

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:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

2008 GAS Tecnologia

56

GAS 2007 - Manual do Usurio

5.5.2.3.3.1 Cores das rguas

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

rvore ou modelador de projetos


O modelador do projeto o mdulo por meio do qual o projetista define a hierarquia do seu projeto. O mdulo modelador
se constitui de uma lista hierrquica representando a rvore do projeto.

2008 GAS Tecnologia

58

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

5.7.1

59

Menu pop-up da rvore


Clicando-se com o boto direito do mouse sobre um mdulo da rvore, um menu pop-up apresentado com algumas
opes aplicveis ao mdulo, podendo ser utilizadas como atalhos para as algumas das operaes descritas a seguir.

5.7.2

Inserindo um mdulo na rvore do projeto


Para inserir um mdulo na rvore, o projetista dever proceder conforme segue:
Selecione, na rvore, o mdulo sob o qual deseja inserir o novo mdulo. Observe que, nem todos os mdulos podem
ter subordinados na rvore. Somente os mdulos Ttulo do Projeto, Menus, Janelas de Dados, Relatrios do
G-Reports e Processos pr-definidos podem ter mdulos inseridos de forma subordinada;
Selecione as opes de menu "Editar/Inserir" ou clique diretamente sobre o boto de inserir existente na barra de
ferramentas, caso esta esteja visvel ou, ainda, clique com o boto direito do mouse sobre o mdulo, selecionando a
opo "Insere novo mdulo abaixo" existente no menu pop-up que surgir;

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.

2008 GAS Tecnologia

60

5.7.3

GAS 2007 - Manual do Usurio

Mundando posies de mdulos na rvore do projeto


Os mdulos inseridos na rvore podem ter suas posies alteradas, utilizando-se as operaes de drag and drop
(arrastar e soltar) disponveis no modelador do projeto. Para trocar a posio de um mdulo e de todos os seus mdulos
subordinados, proceda como segue:
Clique com o boto esquerdo do mouse sobre o mdulo cuja posio deseja alterar, mantendo-o pressionado;
Arraste o mdulo para a nova posio. Observe que nem todo tipo de mdulo suporta itens subordinados e, por isso,
o cone utilizado na operao de arrasto mudar para indicar ao projetista onde o novo mdulo poder ser inserido;
Libere o boto do mouse na posio desejada.
Cuidados especiais devem ser observados ao trocar a posio de janelas de dados, pois este tipo de mdulo pode
possuir tabelas vinculadas com regras de integridade no banco de dados que impedem a sua insero em determinadas
posies da rvore.

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

5.7.5

61

Apagando um mdulo na rvore


Para apagar um mdulo existente na rvore do projeto, proceda da seguinte maneira: selecione o mdulo que deseja
apagar, clicando o mouse sobre o mesmo;
Pressione SHIFT+DEL ou clique sobre o boto de apagamento existente na barra de ferramentas, caso esta esteja
presente, ou, ainda, clique com o boto direito do mouse sobre o mdulo, selecionando a opo "Apaga o mdulo
selecionado" existente no menu pop-up que surgir;

Confirme, quando solicitado, o apagamento do mdulo, clicando no boto Sim.


Observe que a retirada de um mdulo na rvore implica tambm, por conseqncia, na retirada de todos os mdulos que
estejam a ele subordinados!

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

Aba estrutura da soluo


Quando voc cria um projeto novo, ou converte um projeto da verso GAS2003 ou anterior, a soluo criada com
apenas um projeto, visto que apenas apartir do GAS2007 que foi adicionado a opo de se trabalhar com mais de um
projeto na aplicao.
Quando se possui apenas um projeto, a definio da soluo apresentada da seguinte forma:

2008 GAS Tecnologia

62

GAS 2007 - Manual do Usurio

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:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

63

5.7.6.1.1 Definio do banco de dados

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

Nome: o nome fsico que ser dado ao banco de dados;


Apelido: o nome interno da varivel que ser dado ao banco de dados, no cdigo gerado. Caso o
desenvolvedor tenha o interesse de desenvolver rotinas manuais, este nome poder ser utilizado para
referenciar-se ao banco de dados.
Principal - esta opo dever ser marcada para somente um dos bancos de dados definidos, de modo a
informar ao GAS onde estaro as tabelas especiais para gerenciamento de senhas e controles de campos
seqenciais que, porventura, venham a existir nas tabelas.
Multi Empresa - se esta opo estiver marcada, o GAS gerar rotinas na aplicao para realizar o controle
multi empresa para o banco de dados selecionado. Uma vez definido que o banco de dados ter o controle
multi-empresa, ser disponibilizada a opo para determinar quais tabelas estaro sob esse controle. Podese, portanto, trabalhar com apenas algumas das tabelas de um banco com o controle interno para multi
empresa. O controle multi empresa disponibilizado baseado em uma tabela do banco que ser escolhida
como sendo a tabela de empresas que tambm conter o campo "Cod~Emp". Esse mesmo campo ser
criado de forma automtica para todas as tabelas que tiverm o controle multi empresa definido. Assim que o
usurio tentar acessar o sistema ser solicitada a empresa que ir utilizar para trabalhar, e todos os
registros inclusos ou lanados recebero de forma automtica o campo "Cod~Emp" de acordo com essa
empresa selecionada.
Gerar log de atividade - se esta opo estiver marcada, o GAS gerar rotinas na aplicao para criar e
manter um arquivo de log para o banco de dados em definio. No arquivo de log so gravadas diversas
informaes - encriptadas - tais como, nome do usurio, tipo de transao efetuada (execuo de
processos pr-definidos, manipulao de registros, relatrios, etc), data, hora e ainda as informaes dos
campos modificados com seus valores antes e depois das modificaes. Este recurso permite um
gerenciamento perfeito da operao da aplicao. Mediante o acionamento de um visualizador de log
externo (LOGVIEW.EXE) fornecido juntamente com o GAS, o contedo do arquivo de log pode ser visto a
qualquer momento pelo administrador do sistema, utilizando uma senha master definida no campo Senha.
Senha: Caso tenha marcado a opo de Gerar log de atividade, o campo "senha" ser habilitado para que
seja informado a senha para ser utilizada no arquivo de log a ser gerado.

2008 GAS Tecnologia

64

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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:

2008 GAS Tecnologia

66

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

67

5.7.6.1.3 Definio dos campos

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

2008 GAS Tecnologia

68

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

5.7.6.1.4 Definio dos ndices

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:

2008 GAS Tecnologia

70

GAS 2007 - Manual do Usurio

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:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

72

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Aba icones da soluo


O GAS permite ao projetista definir todos os cones a serem utilizados na aplicao final. Por intermdio de uma interface
amigvel, representada na figura a seguir, o projetista poder visualizar uma estrutura com a indicao onde cada cone
ser utilizado.

2008 GAS Tecnologia

74

GAS 2007 - Manual do Usurio

Para efetuar a troca de um cone selecionado, basta proceder conforme segue:


Selecione, na rvore, o cone que deve ser trocado;
Clique sobre o boto Muda cone;
Escolha o cone desejado a partir do dilogo apresentado, confirmando sua troca.
O boto Restaura serve para restabelecer as mudanas que tenham sido efetuadas, retornando as configuraes "de
fbrica" ou default.

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. .

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Aba dados genericos


Quando uma soluo tem mais de um projeto, algumas abas a mais so apresentadas na definio da soluo.

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.

2008 GAS Tecnologia

76

5.7.6.4

GAS 2007 - Manual do Usurio

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-

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

2008 GAS Tecnologia

78

GAS 2007 - Manual do Usurio

cdigo consideravelmente maior, ainda que mais rpido e eficiente.


Usar ttulos amigveis
Se marcada, essa opo habilitar o uso do recurso de ttulo amigvel para os campos, tabelas endices. Esse
recurso facilita a identificao desses itens quando a aplicao estiver sendo executada pelo usurio final,
inclusive em grids (consultas, etc).
Hits: O projetista pode definir se na sua aplicao ter a ajuda on-line sobre cada campo que o usurio posicionar o
cursor.
Estilo balo
Caso esteja selecionada, essa opo habilitar o uso de ajuda (hint) no formato de balo para os campos,
conforme visualizado na figura abaixo.

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

Criando uma tela inicial para a aplicao


comum, nas aplicaes Windows, a utilizao de uma janela mais elaborada, com uma imagem ligada ao contexto da
aplicao para ser exibida ao usurio antes que aparea a sua janela principal. Mais do que uma simples tela de
apresentao, na verdade, uma tcnica ou artifcio chamado splash screen utilizado para permitir a carga inicial da
aplicao, em background, o que, s vezes, pode ser demorada devido abertura de bancos de dados, carga de
formulrios, configuraes, etc., expondo algo agradvel para o usurio. A utilizao desta tcnica passa a impresso de
que a aplicao instantaneamente carregada assim que a tela inicial desaparece. Uma imagem pode ser utilizada como tela
de apresentao ou splash screen da aplicao, sendo definida por meio da aba intitulada "Tela Inicial", conforme mostrado
na figura abaixo.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

Boto para inserir figura


Ao definir a tela inicial, o projetista poder visualizar a imagem selecionada 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 tem a opo de utilizar um diretrio de figuras nico para todos os projetos, o que permite manter uma
melhor padronizao dos sistemas desenvolvidos, alm de evitar a necessidade de replicao desse diretrio para cada um
dos projetos existentes. Esse recurso especialmente vlido para o caso do projetista optar por utilizar a mesma tela inicial
em todos os projetos. Para definir o diretrio unificado de figuras para os projetos, basta indic-lo no campo identificado
como "Diretrio para figuras do projeto", disponvel na aba cones da Definio do projeto.
5.7.6.5.2 Removendo uma figura

Para remover a figura, basta clicar sobre o boto a seguir e confirmar a sua remoo.

Boto para retirar figura


5.7.6.5.3 Alterando o tamanho da tela inicial

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.

2008 GAS Tecnologia

80

GAS 2007 - Manual do Usurio

5.7.6.5.4 Alterando a cor e o aspecto da moldura

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

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;

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

5.7.7

81

Formatao de tela da soluo


Ser possvel formatar uma tela para a soluo, caso seja uma soluo Multi-Projetos. Caso no seja, esta opo no
estar disponivel.
Acessando o menu de formatao de tecla, pressione ALT+T para efetuar a formatao padro da tela.

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.

2008 GAS Tecnologia

82

GAS 2007 - Manual do Usurio

5.7.8

Formatao da tela do projeto

5.7.8.1

Desenhando a barra de ferramentas da aplicao


O GAS disponibiliza na aplicao final uma barra de ferramentas contendo todos os botes e objetos necessrios ao
seu funcionamento. No entanto, se o projetista desejar, poder reconfigur-la totalmente, por meio do Editor de Recursos
que serve tanto para a formatao da barra de ferramentas quanto para a formatao de telas para as janelas de dados,
conforme descrito no tpico Utilizando o Editor de Recursos, neste manual. Para executar a formatao da barra de
ferramentas, proceda conforme se segue:
Selecione o Ttulo do Projeto (primeiro item que aparece na rvore);
Selecione "Editar/Formatar tela" no menu ou clique sobre o boto de formatao de tela, existente na barra de
ferramentas do GAS, caso esteja sendo mostrada ou, ainda, clique com o boto direito do mouse sobre o mdulo,
selecionando a opo "Formata tela" existente no menu pop-up que surgir.

boto para ativar o editor de recursos


Isto ativar o Editor de Recursos do GAS. A janela da figura a seguir apresentada como default para a formatao da
barra de ferramentas da aplicao.

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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;

2008 GAS Tecnologia

84

GAS 2007 - Manual do Usurio

boto para apagar colunas de consultas

boto para configurar impressora.


Disponibilizar, na tela, o controle "Contador de Registros", que apresenta a quantidade de registros existente em uma
tabela ou consulta selecionada na aplicao final. Para utilizar este objeto, basta inser-lo na barra de ferramentas.
Este objeto tem diversas propriedades que podem ser designadas;
Ateno especial deve ser dispensada propriedade Ttulo deste objeto, que ter que conter, obrigatoriamente, o
caractere # , a ser substitudo pela quantidade de registros existente na tabela ou consulta, quando a aplicao final
estiver sendo executada.
Disponibilizar, na barra, novos botes e objetos, que no sejam pr-definidos pelo GAS, programando eventos para
os mesmos;
Retirar da barra de ferramentas um ou mais controles que estejam selecionados, acessando o menu "Editar/Apagar",
pressionando a hot key SHIFT-DEL ou, mais facilmente, clicando na barra de ferramentas sobre o boto a seguir. O
projetista poder, ainda, clicar com o boto direito do mouse sobre o mdulo, selecionando a opo "Apaga o mdulo
selecionado" existente no menu pop-up que surgir:

Boto para apagar seleo

5.7.8.2

Estabelecendo uma ao para um boto


Os novos botes criados pelo projetista durante a formatao da barra de ferramentas ou das janelas de dados no
possuem quaisquer aes prprogramadas. J os botes possveis de serem inseridos na barra de ferramentas da
aplicao (aqueles que o GAS oferece) tm funes prprogramadas geradas pelo GAS, segundo a sua finalidade
especfica. Em qualquer desses tipos de botes, se o projetista desejar, poder elaborar, em sua propriedade "Ao no
clique", uma funo para ser executada da seguinte maneira:
Selecione o boto desejado, que tanto pode ser um novo boto quanto um dos pr-programados que o GAS oferece;
Selecione a propriedade "Ao no clique" deste boto, na janela Ferramentas da tela, representado na figura 5.20;
Ative o Editor de Programas e elabore a funo para ser executada.
No caso dos botes normais da barra de ferramentas, que j possuem uma funo especfica, a rotina que o
projetista escrever para associar propriedade "Ao no clique" ser executada somente se a funo pr-programada
for executada com sucesso.
Apesar dos aplicativos gerados apresentarem interface MDI, os botes que possuem funes pr-programadas
pelo GAS e presentes na barra de ferramentas do aplicativo final podem ser disponibilizados livremente nos formulrios
do referido aplicativo. Com o GAS, tais botes prprogramados sero automaticamente habilitados/desabilitados de
acordo com o status das opes de menu/barra de ferramentas do MDI.
No que se refere a chamadas a janela de dados pormeio de uma Ao no clique de boto, pode-se, inclusive,
efetuar as mais diversas filtragens necessrias, de forma que sejam apresentados somente os dados convenientes.
Em se tratando do boto de abandonar a aplicao (sair), a funo escrita pelo projetista ser disponibilizada na
sub-rotina QueryUnload do formulrio principal, que o penltimo fragmento de cdigo executado pela aplicao, antes

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Colocando um logotipo lateral na janela da aplicao


Um logotipo lateral em cores dgrad com texto, semelhante ao que aparece na figura abaixo, pode ser disponibilizado
em qualquer form definido para a aplicao.

2008 GAS Tecnologia

86

GAS 2007 - Manual do Usurio

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

Informe a frase que ser exibida no logotipo esquerda da janela.


5.7.8.3.2 Fonte 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

Informe a largura a ser aplicada no logotipo.


5.7.8.3.4 Cor incio do logotipo

Selecione a cor inicial para a formao do efeito dgrad do logotipo.


5.7.8.3.5 Cor final do logotipo

Selecione a cor final para a formao do efeito dgrad do logotipo.

5.7.8.4

Colocando uma imagem como fundo da janela da aplicao


Um padro de textura ou imagem pode ser disposto nas janelas da aplicao, conforme exibido na figura abaixo,
ajustando-se a propriedade Textura com um nome de arquivo existente. A propriedade Exibir textura tambm poder ser
manipulada para alterar a disposio da figura definida como textura.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

87

Figura 5.28

5.7.8.5

Colocando uma figura transparente no interior do formulrio


Uma figura transparente pode ser disposta nas janelas da aplicao, conforme exibido na figura abaixo, ajustando-se a
propriedade Figura transparente com um nome de arquivo existente.

2008 GAS Tecnologia

88

GAS 2007 - Manual do Usurio

Figura 5.29
O GAS tomar a cor do primeiro pixel da figura como sendo a cor de transparncia.

5.7.9

Encolhendo e expandindo mdulos da rvore


Os mdulos que possuem subordinados (filhos) apresentam um pequeno quadrado esquerda com os sinais de mais e
menos. O sinal "+" surgir quando os seus subordinados no estiverem visveis e o sinal "-" quando seus subordinados
estiverem visveis. A figura abaixo apresenta um fragmento da rvore (menu Arquivo) na situao contrada:

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

5.7.10 Definindo mdulos na rvore do projeto


Uma vez que um mdulo tenha sido inserido na rvore do projeto, necessrio efetuar a sua definio. Para definir um
mdulo existente na rvore, selecione as opes de menu "Editar/Definir" ou clique diretamente sobre o boto de
propriedades existente na barra de ferramentas, caso esta esteja visvel ou, ainda, clique com o boto direito do mouse
sobre o mdulo, selecionando a opo "Define o mdulo selecionado" existente no menu pop-up que surgir:

Os dilogos que aparecem para solicitar as definies do mdulo variam de acordo com o tipo de mdulo.

5.7.10.1 Definindo um mdulo do tipo "Menu"


Este tipo de mdulo bastante fcil de definir. Sero necessrias ao GAS apenas duas informaes, como mostra a
interface da figura abaixo

Figura 5.32

2008 GAS Tecnologia

90

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

91

5.7.10.2 Definindo um mdulo tipo janela de dados

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.

2008 GAS Tecnologia

92

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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
...

2008 GAS Tecnologia

94

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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;

2008 GAS Tecnologia

96

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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;

2008 GAS Tecnologia

98

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

2008 GAS Tecnologia

100

GAS 2007 - Manual do Usurio

desfazer ou anular completamente a operao efetuada pela mesma.


Para apagar as definies de um processamento, basta selecionar o processamento desejado na lista, clicar sobre o
boto Remove e confirmar a retirada do mesmo. Quando existir mais de um processo, a ordem de execuo dos mesmos
determinada pela sua ordem na lista de processos. Por isso, se desejar modificar esta ordem, utilize as setas (para cima e
para baixo) que aparecem ao lado da lista de processos.
5.7.10.2.1 Desenhando telas para entrada de dados

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

102

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

103

pesquisa e, em seguida, concatenar a expresso montada pelo GAS, clicando sobre o boto a seguir:

boto para concatenar definies.

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.

2008 GAS Tecnologia

104

GAS 2007 - Manual do Usurio

Exemplos:
Str$([Produtos em estoque].Qde * 10)
"Preo: " + Format$(Produtos.Preo, ", "##,##0.00")

5.7.10.2.3 Estabelecendo condies especiais

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.

5.7.10.3 Definindo uma tabela em grid


Este tipo de mdulo pode ser inserido somente abaixo de uma janela de dados ou sob um outro mdulo de tabela em grid,
compondo a parte "N" de um relacionamento 1-N que o projetista preferencialmente dever ter criado na estrutura do banco
de dados. A rigor, uma tabela pode ser exibida 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. Nenhum
outro tipo de mdulo pode ser inserido abaixo de uma tabela em grid, exceto uma outra tabela em grid.
Uma vez que uma tabela seja apresentada em grid na aplicao final gerada, todos os 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 novos 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 no qual exibida a tabela me.
Os passos para adicionar um grid a um projeto, bastante simples, e pode ser feito nesta sequencia:
1 - Inserir uma tabela em grid: Escolha a janela de dados ao qual deseja adicionar o grid, e com o boto direito do mouse,
clique e escolha a opo "adicionar novo modulo". Na sequencia, ser exibido outro menu, com a opo de "tabela em grid".

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

106

GAS 2007 - Manual do Usurio

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;

boto para concatenar definies


Se a ligao for efetuada em funo de mais de um campo, repita os passos anteriores;
O boto a seguir tem por finalidade limpar a expresso, permitindo recomear a sua definio.

boto para limpar definies


Sem ligao com o pai: Esta opo, quando marcada, ignora a ligao com este grid. Esta opo til quando se
tratar de um grid totalmente independente, onde os registros no dependam de um registro pai. O grid ser criado
sem nenhum vinculo com a tabela pai deste modulo.
Aba Lanamentos - Contm as mesmas solicitaes da janela de dados, todas as informaes esto disponveis
em: Definindo um Mdulo - Aba Lanamentos 96
Aba Processos - Contm as mesmas solicitaes da janela de dados, todas as informaes esto disponveis em:
Definindo um Mdulo - Aba Processos 98

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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;

boto para inserir grid na tela


A primeira propriedade que deve ser designada para este objeto Tabela. Clicando no boto extensor desta
propriedade (com reticncias), voc ver todas as tabelas que voc definiu para serem disponibilizadas em grid.
Aps definida esta propriedade, todos os campos do grid sero preenchidos automaticamente com os campos da
tabela selecioda, exceto aqueles utilizados na ligao com o mdulo-pai;
Utilizando os botes da janela Ferramentas da tela, voc poder agora inserir ou apagar colunas do grid, conforme
explicado no tpico Utilizando o Editor de Recursos, mais adiante, neste manual;
Clique em cada uma das colunas (campos) para definir os atributos necessrios, como validao, mensagens, etc.
5.7.10.3.2 Caractersticas e propriedade do controle GRID

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.

2008 GAS Tecnologia

108

GAS 2007 - Manual do Usurio

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);

Algumas caratersticas novas:


1 - Linhas zebradas com configurao das cores;
2 - A barra de filtro possibilitando a filtragem de vrias colunas;
3 - Opo de Soma, Mdia, Mnimo e Mximo para as colunas numricas com habilitao / desabilitao;
4 - Possibilidade de deletar vrias linhas intercaladas simultaneamente;
5 - Arrastar uma coluna para outra posio;
6 - Apagar uma coluna (basta marc-la e teclar DELETE);

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

5.7.10.3.2.1 Propriedades do grid

Com o grid selecionado, pressionado a tecla F4, o projetista tem a disposio o form de Ferramentas da tela:

2008 GAS Tecnologia

110

GAS 2007 - Manual do Usurio

As propriedades exclusivas do componente grid so:


Aparncia(cores): Nesta categoria, possvel definir a aparncia dos itens disponveis no grid

Propriedade

Descrio

Fonte

Esta propriedade determina a fonte da linha referente aos registros do grid.

Fundo barra de filtro

Determina a cor de fundo que ter a barra de filtro

Fundo barra lateral

Determina a cor de fundo da barra lateral esquerda

Fundo barra mximo

Determina a cor de fundo barra mximo

Fundo barra mdia

Determina a cor de da propriedade em questo

Fundo barra mnimo

Determina a cor de da propriedade em questo

Fundo
somatrio

barra

Determina a cor de da propriedade em questo

Fundo barra status

Determina a cor de da propriedade em questo

Fundo coluna

Determina a cor de da propriedade em questo

Fundo coluna ativa

Determina a cor de da propriedade em questo

Fundo clula

Determina a cor de da propriedade em questo

Fundo clula edio

Determina a cor de da propriedade em questo

Fundo clula selec.

Determina a cor de da propriedade em questo

Fundo clula zebra

Determina a cor de da propriedade em questo

Fundo grid

Determina a cor de da propriedade em questo

Fundo linha

Determina a cor de da propriedade em questo

Fundo ttulo coluna

Determina a cor de da propriedade em questo

Fundo ttulo grid

Determina a cor de da propriedade em questo

Fundo ttulo colunas

Determina a cor de da propriedade em questo

Linha de grid

Determina a cor de da propriedade em questo

Texto barra filtro

Determina a cor de da propriedade em questo

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

Texto barra mdia

Determina a cor de da propriedade em questo

Texto barra mnimo

Determina a cor de da propriedade em questo

Texto barra mximo

Determina a cor de da propriedade em questo

Texto barra status

Determina a cor de da propriedade em questo

Texto
somatrio

barra

111

Determina a cor de da propriedade em questo

Texto coluna

Determina a cor de da propriedade em questo

Texto coluna ativa

Determina a cor de da propriedade em questo

Texto clula

Determina a cor de da propriedade em questo

Texto clula selec.

Determina a cor de da propriedade em questo

Texto clula edio

Determina a cor de da propriedade em questo

Texto clula zebra

Determina a cor de da propriedade em questo

Texto linha

Determina a cor de da propriedade em questo

Texto ttulo coluna

Determina a cor de da propriedade em questo

Texto ttulo grid

Determina a cor de da propriedade em questo

Texto ttulo colunas

Determina a cor de da propriedade em questo

Auto incluir registro

Determina a cor de da propriedade em questo

Outras propriedades, esto disponveis no Captulo 13 - Lista de Propriedades

380

5.7.10.4 Definindo uma rotina avulsa


Para definir uma rotina avulsa a ser integrada a um projeto do GAS, o projetista utiliza a interface da figura a seguir,
devendo proceder conforme segue:
Informe o ttulo a ser oferecido ao usurio da forma que dever ser exibido no menu. O caractere "&" poder ser
utilizado para criar o atalho para esta opo de menu - a letra que o precede ser o atalho e aparecer sublinhada no
menu;

2008 GAS Tecnologia

112

GAS 2007 - Manual do Usurio

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;

boto para ativar o Editor


Elabore a rotina em Visual Basic;
Marque a opo mdulo pronto, quando acabar de elaborar a sua rotina para informar ao GAS que este mdulo
poder ser gerado, quando for solicitada a gerao de fontes.

5.7.10.5 Definindo um processo pr-definido


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., percorrendo uma mesma tabela quantas vezes se fizer necessrio e efetuando processos diferentes a cada
passagem. Telas complementares podem ser criadas para serem apresentadas antes dos processos, de modo a permitir o
estabelecimentos de filtros e condies de processos e lanamentos.
Mesmo que no haja uma tela definida para o processo pr-definido em questo, o projetista poder definir mensagens a
serem exibidas no incio e fim do processamento. Para isso, basta defin-las respectivamente por meio das propriedades
Mensagem inicial e Mensagem final do painel de fundo da tela do processo prdefinido. Para obter maiores detalhes,
consulte o Captulo 13- Propriedades dos objetos de tela. Um processo pr-definido definido em duas etapas:
5.7.10.5.1 Cabealho do processo pr-definido

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

114

GAS 2007 - Manual do Usurio

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,

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

116

GAS 2007 - Manual do Usurio

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 .

5.7.10.6 Definindo uma consulta


Esta definio efetuada por meio de uma interface com trs abas. A primeira delas, denominada Geral definida da
mesma forma como utilizado para os mdulos descritos anteriormente.
A segunda aba, denominada "Tabelas auxiliares", a exemplo do que foi descrito no tpico Cabealho do processo
pr-definido, ainda h pouco neste captulo, s dever ser utilizada se uma tela complementar tiver sido definida
anteriormente. O tpico Criando uma tela complementar, citado mais adiante neste captulo, descreve os passos
necessrios para esta operao.
A terceira aba, que aparece na figura abaixo, serve para acessar a interface de montagem da expresso que define a
consulta (SQL), devendo-se, para isso, clicar sobre o boto Cria, conforme mostra a figura abaixo:

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

2008 GAS Tecnologia

118

GAS 2007 - Manual do Usurio

para maiores detalhes sobre esses termos.


5.7.10.6.2 Grupos e ordenao

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Para estabelecer uma seleo, o projetista dever proceder conforme se segue:


Marque a opo Filtrar;
Selecione um campo na lista "Nome do Campo";
Selecione o operador desejado na lista Operadores;
Informe, na lista Valor, o valor a ser comparado.
Desta lista podem tambm ser selecionados campos das tabelas que estejam relacionadas para utilizar como valor de
comparao (vide Unio de tabelas mais adiante, neste tpico).
Em "Os primeiros...", o projetista poder informar um nmero e selecionar uma das opes. Isto permitir que os
primeiros N registros ou N porcento dos registros que atendem expresso SQL sejam considerados;
5.7.10.6.3.2 Unio de tabelas

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.

2008 GAS Tecnologia

120

GAS 2007 - Manual do Usurio

5.7.10.7 Definindo um relatrio ou etiqueta


H duas maneiras de se formatar relatrios para serem integrados s aplicaes criadas pelo GAS.
A primeira delas, mantida ainda nesta verso do GAS apenas por questes de compatibilidade com verses
anteriores, consiste na utilizao do programa Crystal Reports. Este programa formatador de relatrios acompanhava
o Visual Basic at a sua verso 5.0. A partir do lanamento do Visual Basic 6.0, este programa deixou de ser
fornecido nos discos do Visual Basic, tendo, por isso, de ser adquirido separadamente, caso o projetista deseje
fazer uso dessa ferramenta. Informaes sobre os aspectos de sua operao podem ser encontradas na
documentao fornecida juntamente com aquele produto. Quando este tipo de formatao utilizada, o GAS faz toda
a interface de escolha de tabela, montagem de recordsets, fitros, etc. e dispe o projetista no controle do Crystal
Reports, para que este possa dar forma ao relatrio. Uma vez terminada essa tarefa, o GAS far a integrao de
menu necessria ativao do referido relatrio, previamente denominado pelo projetista e gravado sob a forma de
um arquivo de extenso .RPT. altamente recomendvel que se utilize o segundo mtodo de formatao de relatrio,
a ser descrito a seguir, uma vez que a Gas Tecnologia poder, em futuras verses do GAS, retirar este tipo de
interface sem prvio aviso.
A segunda maneira de se formatar relatrios e etiquetas para as aplicaes geradas por meio da utilizao do GReports que integrado ao GAS. Os relatrios so criados de modo semelhante formatao das telas da aplicao,
que descrito no tpico Utilizando o Editor de Recursos neste manual. Os relatrios e etiquetas formatados,
utilizando-se desse mtodo, so integrados aplicao na forma de programa fonte Visual Basic.
O projetista poder, opcionalmente, definir os relatrios G-Reports com base em expresso SQL para definir
a query a ser utilizada no relatrio. Esse recurso proporciona uma flexibilidade enorme na elaborao dos
relatrios, uma vez que o projetista poder utilizar todo o poder da linguagem SQL, como funes agregadas,
juno de tabelas, ordenao por campo de outra tabela, etc. O conjunto de dados (recordset) a ser utilizado
como base do relatrio poder ser totalmente flexibilizado.
Para habilitar a utilizao de relatrios Crystal Reports, o projetista dever habilitar a opo "Habilitar Crystal Reports",
presente nas opes de configurao do GAS.
Quanto definio de relatrios, neste tpico, trataremos dos dois tipos de relatrio; porm, com respeito sua
formatao, abordaremos somente o segundo mtodo, nativo do GAS. Durante a instalao do GAS, so tambm instalados
diversos exemplos de aplicaes com relatrios. altamente recomendvel que se observe como os mesmos foram criados
e as propriedades aplicadas aos objetos na rea de formatao. Nas explicaes que se seguiro, o termo relatrio dever
ser entendido como relatrio e etiqueta, a menos que sejam feitas ressalvas para detalhar um ou outro fato. Relatrios so
inseridos na rvore do projeto de modo semelhante aos demais mdulos, bastando selecionar o mdulo sob o qual se deseja
inserir o relatrio ou etiqueta, clicar o boto apropriado para insero de mdulos, selecionar o tipo relatrio ou etiqueta e
escolher o mtodo GReports ou Crystal Reports.
5.7.10.7.1 Geral

A interface da figura abaixo destinada definio de algumas das informaes dos relatrios, as quais sero
abordadas a seguir.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

122

GAS 2007 - Manual do Usurio

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:

boto para formatar relatrio


O GAS saber distinguir o formatador de relatrios que dever ativar. Caso um relatrio do tipo Crystal Reports tenha
sido definido e, se o relatrio estiver sendo acessado pela primeira vez, antes de invocar o Crystal Reports, o GAS
apresenta um dilogo informando qual o banco de dados e query a ser utilizada, bem como o nome do arquivo RPT a ser
gravado. Nas demais oportunidades, quando este relatrio estiver sendo acessado para qualquer alterao que se fizer
necessria, o GAS no mais apresentar este dilogo.
Ainda com respeito aos relatrios do Crystal Reports, convm observar que, em tempo de projeto, na maioria das vezes,
o banco de dados da aplicao ainda no existe! Por isso, o GAS sempre cria um banco de dados temporrio, de nome
DBTEMP.MDB, com a estrutura at o momento definida, para que o Crystal Reports possa ter as referncias de que
necessita. Portanto, uma boa idia deixar a definio dos relatrios para uma fase mais ao final do projeto, quando toda a
estrutura do banco de dados j estiver completamente definida, no necessitando mais de modificaes. Os detalhes da
utilizao do Crystal Reports devem ser obtidos na prpria documentao daquele programa utilitrio.
5.7.10.7.4 Criando um relatrio padro

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.

boto para tela padro


Ao acionar o boto para gerar a tela padro, o GAS cria um relatrio padro na rea de formatao, tentando alocar
tantos campos quanto possvel. Este relatrio pode ento ser utilizado como ponto de partida para a formatao do relatrio
desejado.
5.7.10.7.5 Criando uma janela de previso (preview) para o relatrio

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.

boto para criar previso do relatrio


Tal procedimento poder ser efetuado, selecionando-se o relatrio em questo e clicandose o boto apropriado na barra
de ferramentas do GAS. a partir dessa tela, exibida na figura 5.52, que a janela de previso acionada.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

124

GAS 2007 - Manual do Usurio

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

Altura e largura til do


ajustada automaticamente pelo GAS. Todas as impressoras trabalham com uma rea til do
papel
papel que obtida por meio dos descontos das quatro margens (topo, esquerda, direita e fundo),
onde a impressora no consegue imprimir informaes (espao deixado para tracionamento do papel,
etc). Essas margens variam de acordo com a marca e modelo da impressora. O GAS assume para a

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Esta propriedade semelhante anterior. O que as diferencia o fato de que, na anterior, um


"IF..." criado permitindo maior flexibilidade, sendo porm mais lenta. J nesta, a expresso de
filtragem ser incorporada expresso SQL do relatrio (clusula WHERE). Por isso, este filtro
limitado aos seguintes detalhes:
O primeiro operando da expresso tem que ser um campo da tabela bsica do relatrio;
O segundo operando pode ser qualquer um dos campos das tabelas relacionadas, campos
recebidos na tela, etc.

Distncia entre registros

Informe a distncia, em milmetros, entre um registro e outro do relatrio. Observe que, se


existirem outras informaes impressas entre um registro e outro (como, por exemplo, um
subrelatrio), esta medida ser aplicada sempre aps estas informaes terem sido impressas.

Fonte

Estabelece a fonte default para os objetos a serem disponibilizados no relatrio. Logicamente,


podem ser alteradas, posteriormente, em nvel do prprio objeto.

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

Estabelece a posio do papel a ser utilizada durante a formatao e impresso do relatrio. As


opes so retrato (vertical) e paisagem (horizontal).

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

2008 GAS Tecnologia

126

GAS 2007 - Manual do Usurio

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.

5.7.10.7.6.2 Seleo de controles com "retngulo de seleo"

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;

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

127

5.7.10.7.6.4 Colocando um campo no relatrio

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

2008 GAS Tecnologia

128

GAS 2007 - Manual do Usurio

label, como, por exemplo, mscara, imprimir, largura, etc.


Cor do fundo - Utilize esta propriedade se desejar imprimir a informao dentro de um retngulo em cor
diferente. Normalmente, esta propriedade utilizada em conjunto com a propriedade "Tipo de borda" para que
informaes sejam impressas em um retngulo colorido.
Esquerda - Distncia em milmetros do controle em relao borda esquerda do papel (incio da rea til).
Expandir - Estabelece se a informao contida no label ir ser truncada na largura deixada pelo projetista para o
mesmo ou se ser expandida de modo a imprimir toda a informao. Se esta propriedade for ajustada para Sim,
nos campos que no forem do tipo memo, o texto ser impresso na totalidade de sua largura, independentemente
de se sobrepor a outro campo que estiver frente. Em campos do tipo memo, esta expanso considerada
verticalmente.
Fonte do ttulo - Estabelece a fonte a ser utilizada para imprimir a informao.
Frmula - Utilize esta propriedade para exibir frmulas envolvendo campos, operaes aritmticas,
concatenao de strings, ou, at mesmo, criar funes complexas em Visual Basic, utilizando o editor do GAS,
as quais retornem valores a serem impressos no relatrio.
Imprimir - Tem por finalidade estabelecer o momento em que a informao dever ser impressa. Esta
propriedade deve ser observada com bastante ateno, pois a que, provavelmente, levantar maior quantidade
de dvidas. As opes so:
1. Como mscara de pgina - Se esta opo for selecionada, a informao ser impressa de maneira
esttica na pgina. Informaes impressas como mscara de pgina so dispostas antes de qualquer outra
informao. Por isso, esta ajustagem deve ser utilizada sempre quando a informao for esttica e for
aparecer em um ponto fixo de cada uma das pginas do relatrio, como, por exemplo, uma linha, uma
imagem no vinculada a campo, um texto que o projetista queira imprimir em todas as pginas naquela
posio, ttulo do relatrio, cabealho de colunas, rodaps, etc.;
2. Incio da pgina - Utilizada para imprimir informaes uma nica vez em cada pgina, diferindo da opo
anterior pelo aspecto de poder ser impressa em posio varivel. utilizada normalmente para informaes
do tipo, por exemplo, "Saldo da pgina anterior";
3. Incio do relatrio - Esta opo deve ser escolhida se a informao deve ser impressa, uma nica vez, no
incio do relatrio (somente na primeira folha), logo aps o cabealho. Da segunda folha em diante, essa
informao suprimida e todas as informaes subseqentes ajustadas com posio varivel "sobem", ou
seja, so impressas mais acima, ocupando o seu lugar;
4. A cada registro - Esta a informao que deve ser utilizada para imprimir contedos de campos oriundos
do banco de dados. Observe cuidados especiais ao utilizar esta opo em relatrios que possuam quebras.
Neste caso, se esta opo for utilizada, a informao ser impressa como se fosse um cabealho de
quebra (semelhante opo 7, como mscara da quebra);
5. Fim do relatrio - Utilize esta opo para informaes que sero impressas, uma nica vez, na ltima
folha do relatrio. Normalmente, utilizada para impresso de dados como "Total Geral", por exemplo,
podendo ter posio varivel, o que possibilita a sua impresso logo abaixo da ltima informao impressa;
6. Fim da pgina - Semelhante ao anterior; porm, considerando a pgina do relatrio. Normalmente, utilizado
para dados como "Total da Pgina", por exemplo, podendo tambm ter posio varivel;
7. Como mscara Quebra N - Se o relatrio contiver quebras, este ajuste deve ser utilizado para imprimir
informaes estticas pertencentes quebra, como, por exemplo, o cabealho da quebra;

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

130

GAS 2007 - Manual do Usurio

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:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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;

boto para inserir subrelatrio


Vincule uma tabela ao sub-relatrio, por meio da propriedade Tabela. Note que esta propriedade pode ser preenchida
somente com as tabelas inseridas na rvore abaixo do mdulo pai.
Posicione os campos dessa tabela na rea de formatao do sub-relatrio, ajustando as suas propriedades conforme
necessrio. Essas propriedades so semelhantes s descritas nos tpicos acima. Vale salientar que a facilidade do
relatrio padro poder tambm ser utilizada para o posicionamento dos campos no subrelatrio, bastando selecionar
a rea de formatao do subrelatrio e acionar a gerao do relatrio padro.
5.7.10.7.6.6 Colocando um totalizador no 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;

2008 GAS Tecnologia

132

GAS 2007 - Manual do Usurio

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:

boto para inserir quebra no relatrio


Defina as suas propriedades que so, praticamente, as mesmas j descritas para os demais objetos com exceo de:
Expresso
Defina a expresso que comandar a quebra;
Saltar pgina
Designa se uma pgina deve ser saltada a cada quebra.
importante observar que, aps inseridas as quebras, as propriedades inerentes aos campos, especialmente a
propriedade Imprimir... pode apresentar a necessidade de ser alterada para atender s necessidades.
5.7.10.7.6.8 Imprimindo um cdigo de barra em relatrio ou etiqueta

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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;

2008 GAS Tecnologia

134

GAS 2007 - Manual do Usurio

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.

5.7.10.8 Definindo um programa executvel


Se o projetista desejar acionar um programa executvel de algum ponto do menu da aplicao, onde tenha inserido na
rvore do projeto, esta definio deve ser efetuada, na interface da figura 5.55, da seguinte maneira:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

5.7.10.9 Integrando um formulrio existente ao projeto


Enter topic text here.
5.7.10.9.1 Ttulo no menu

Informe um ttulo para que este formulrio seja acionado na aplicao.


5.7.10.9.2 Nome do formulrio

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.

2008 GAS Tecnologia

136

GAS 2007 - Manual do Usurio

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

Valor a ser atribudo

vgSituacao

ACAO_NAVEGANDO

vgCaracteristica

F_COMUM

vgTipo

TP_COMUM

vgFormID

(um nmero negativo qualquer)

5.7.10.10 Criando um formulrio avulso no projeto


Para criar um formulrio avulso no projeto de uma aplicao, o projetista dever, aps inser-lo na rvore do projeto,
utilizar a interface da figura 5.57 a seguir:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

5.7.10.11 Criando uma tela complementar


A criao de telas complementares serve para propocionar um meio de captao de variveis cujos contedos so
utilizados em alguns tipos de mdulos gerados pelo GAS, como, por exemplo, relatrios, etiquetas, processos pr-definidos,
consultas, etc. Para a criao deste tipo de tela, o projetista deve proceder de maneira semelhante descrita para a criao
de janelas para entrada de dados, exposta anteriormente neste captulo, contando com as facilidades do Editor de
recursos cuja operao descrita, um pouco mais adiante, neste captulo sob o ttulo Utilizando o Editor de Recursos.
Algumas diferenas bsicas devem, no entanto, serem observadas:
As telas complementares no apresentam campos do banco de dados na lista para serem posicionados na tela. As
variveis devem ser recebidas por meio do objeto gMask, exibido a seguir, que pode ser inserido na tela e ter as
suas propriedades designadas;

boto para inserir o objeto gMask


A propriedade Campo, ao ser atribuda ao objeto gMask, no vincula o campo selecionado a nenhuma tabela do
banco de dados, servindo apenas para captar as caractersticas desse campo, como mscaras, validaes, etc.
Ao invs da lista de campos existente nas janelas para entrada de dados, apresentada uma lista contendo dois
objetos pr-programados, que podem ser disponibilizados na tela:

2008 GAS Tecnologia

138

GAS 2007 - Manual do Usurio

5.7.10.11.1 Boto continua

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

139

5.7.10.11.10 Configura impressora

Este boto, se inserido na tela, permite ao usurio ativar o dilogo padro do Windows para configurar impressoras.

5.7.10.12 Definindo mdulos para impressora fiscal


A compatibilidade dos aplicativos gerados pelo GAS com a Emisso de Cupom Fiscal e TEF - Transferncia
Eletrnica de Fundos Discada fora disponibilizada de forma a oferecer a maior flexibilidade possvel ao projetista. O
Captulo 12- O GAS Como Ferramenta de Desenvolvimento retrata as mais diversas formas de se implementar a
Emisso de Cupom Fiscal e TEF Discada s aplicaes geradas.

5.7.10.13 Mdulos de apoio Emisso de Cupom Fiscal e TEF


Os mdulos de apoio Emisso de Cupom Fiscal e TEF Discada tm por finalidade proporcionar maior flexibilidade na
manuteno da impressora fiscal, efetuando diversas operaes fiscais, tais como fechamento de caixa, alterao de
horrio de vero, sangria, cancelamento de itens, etc. O Captulo 12- O GAS Como Ferramenta de Desenvolvimento
335 retrata a funcionalidade de cada um dos mdulos de apoio Emisso de Cupom Fiscal e TEF Discada presentes,
opcionalmente, nas aplicaes geradas com o GAS.

5.7.10.14 Definindo rotina de backup para a aplicao


O projetista poder definir rotina de backup do banco de dados da aplicao final de modo fcil e intuitivo.
A execuo do servio pode ser feita diretamente da aplicao, com isto, o projetista oferece maior controle ao usurio
de seus sistemas, visto que possvel ativar e desativar o servio de backup, bem como visualizar se o mesmo encontra-se
ativo.
Para habilitar tal rotina, o projetista dever inserir, sob o menu Arquivo da rvore do projeto, a opo Configuraes
de backup, como mostra a figura abaixo.

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

2008 GAS Tecnologia

140

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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"

Diretrio para backup


Esse campo designa o diretrio no qual sero gravados os backups agendados. A critrio do usurio do aplicativo final
gerado, os arquivos debackup criados podero ser gravados pelo servio em um outro servidor (storage), bastando indicar
adequadamente o caminho nesse campo.
Arquivo de backup
Esse campo designa as primeiras letras do nome do arquivo de backup. Os demais caracteres que formaro o nome do
arquivo sero estabelecidos de acordo com a periodicidade do mesmo. Para exemplificar a nomenclatura utilizada para
esses nomes, suponha que esse campo seja preenchido com a informao "bkp_estoque_bd" e que ainda no tenha sido
feito nenhum backup dirio ou mensal. Assim sendo, o nome do arquivo de backup dirio do dia 20/05/2003 ser
"bkp_estoque_bd-D0001-2003-05-20.zip". J o arquivo de backup do ms de maio de 2003 ser "bkp_estoque_bd-M001MES-05-2003.zip".
Armazenar backups... Semanalmente, Mensalmente, Anualmente Essa opo determina quais sero as periodicidades

2008 GAS Tecnologia

142

GAS 2007 - Manual do Usurio

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"

Enviar e-mail de notificao


Essa opo determina se o envio de notificao de backup estar habilitado ou no. Essa notificao se faz muito
pertinente por reunir diversas informaes, como horrio de incio e fim do backup, aes realizadas no decorrer do
processo, etc. A notificao, em caso de erros ocorridos durante a execuo do backup, tambm rene informaes que
levaram ocorrncia dos problemas.
Servidor SMTP
Esse campo permite designar o servidor de envio de mensagens que permita o envio da notificao.
Enviar para

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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"

Dia da semana / Horrio


Por meio desses dois campos, o usurio pode personalizar os horrios e dias para execuo do backup, podendo este
ser realizado em dias e horrios especficos durante a semana ou mesmo diariamente. plenamente possvel estabelecer
mltiplos horrios, em dias diferentes ou no, para que o backup seja efetuado.
Para inserir um novo agendamento, o usurio dever clicar no boto de insero de agendamento mostrado a seguir e
definir o dia da semana e horrio em que o backup ser efetuado.

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

Utilizando o editor de cones


O GAS dispe de um editor que pode ser utilizado pelo projetista para personalizar os cones de sua aplicao. Este

2008 GAS Tecnologia

144

GAS 2007 - Manual do Usurio

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:

boto para ativar o editor de cones


Ao abrir o Editor de cones, a tela a seguir ser apresentada:

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

2008 GAS Tecnologia

146

GAS 2007 - Manual do Usurio

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

Utilizando o editor de programas


O GAS dispe de um editor que pode ser utilizado pelo projetista para elaborar suas prprias rotinas avulsas e funes
que sero integradas aplicao. Este editor acionado selecionando-se o menu "Editar/Editar cdigo de programa", pela
tecla F9 (hot key), aplicando-se um duplo clique em um campo onde seja possvel o seu acionamento ou, ainda, por meio da
barra de ferramentas, clicando-se no boto que aparece a seguir: boto para ativar o editor de programas Este recurso
importante no s para elaborar rotinas avulsas a serem integradas ao projeto como tambm em diversos pontos da sua
definio, como, por exemplo, no estabelecimento de validaes e pr-validaes de campos, condies especiais, etc.
Caso o projetista defina no Editor de Programas do GAS uma funo com o mesmo nome de uma funo gerada
automaticamente, o cdigo fonte do aplicativo ser gerado com a funo definida pelo projetista e no mais com a funo
default. Esse recurso vlido para as janelas de dados, processos pr-definidos, relatrios, etiquetas, consultas,
formulrios avulsos e mdulos (modulo.bas e modulo2.bas). O Editor de Programas do GAS apresenta algumas facilidades
para auxiliar o projetista, como, por exemplo, capitalizao automtica de palavras-chaves, utilizao de cores diferentes
para apresentar comentrios, texto e palavraschaves da sintaxe do Visual Basic. Possui tambm recursos de clipboard alm
de procura e substituio de texto, bem como a manipulao de endentao e comentrios.
A utilizao do Editor de Programas do GAS requer que o projetista tenha algum conhecimento da linguagem Visual
Basic. Quando o projetista posiciona o cursor em um campo da definio do projeto onde possa haver a necessidade de
edio, o Editor de Programas poder ser invocado com um duplo-clique do mouse sobre este campo. Se o Ttulo do Projeto
ou uma Janela de Dados estiver selecionada na rvore do projeto e o projetista acionar o editor, uma tela semelhante da
figura 5.60 aparecer:

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Declaraes de variveis ou funes externas


A primeira rea de edio serve para o projetista declarar variveis e constantes que tero escopo (sero "vistas")
dentro do mdulo que estiver selecionado na rvore. No caso de ser este o Ttulo do Projeto, essas variveis ou constantes
tero escopo global dentro do projeto, devendo, portanto, serem declaradas com as palavras Public, Public Const, etc.,
sendo disponibilizadas em um mdulo (.BAS) da aplicao. Nesta rea tambm tm que ser declaradas quaisquer funes
externas, residentes em DLL (Windows API). Se o mdulo selecionado for uma janela de dados, as variveis sero vistas
somente dentro deste mdulo, podendo ser declaradas com a palavra Dim, sendo inserida na rea de declaraes do
mdulo.
Exemplos:
Public Const MAX_MOD = 3'declara constante pblica
Public DirAplic As String'declara varivel pblica
Dim QdeModulos As Integer'declara varivel de mdulo

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

Funes e rotinas globais


Finalmente, a terceira rea de edio deve ser utilizada para a criao das funes e rotinas (sub)

2008 GAS Tecnologia

148

GAS 2007 - Manual do Usurio

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

Controles do editor na barra de ferramentas


Sempre que o editor invocado, a barra de ferramentas do GAS apresenta um grupo de botes exclusivamente para
serem utilizados na operao do editor:

5.9.4.1

Boto procura
Tem por finalidade ativar o dilogo de procura de texto no editor, representado na figura 5.61:

boto para ativar pesquisa de texto

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:

boto para ativar pesquisa/substituio de texto

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

boto para ativar/desativar sincronia do mdulo

5.9.4.4

Botes para desfazer/refazer modificaes


Tm por finalidade desfazer e refazer, de modo ilimitado, quaisquer alteraes que tenham sido efetuadas no Editor de
Programas do GAS.

boto para desfazer modificaes

boto para refazer modificaes

5.9.4.5

Botes para manipular as endentaes do cdigo


Tm por finalidade endentar ou retirar a endentao de cada uma das linhas do bloco selecionado, proporcionando uma
facilidade maior na formatao das estruturas da linguagem definidas diretamente pelo projetista.

boto para endentar linhas de cdigo definidas pelo projetista

boto para retirar a endentao das linhas de cdigo definidas pelo projetista

5.9.4.6

Botes para manipular comentrios


Tm por finalidade comentar ou retirar o comentrio de cada uma das linhas do bloco selecionado. Caso o projetista no
tenha selecionado algum bloco de linhas e pressione o boto de inserir comentrio, o caracter de comentrio (apstrofo)

2008 GAS Tecnologia

150

GAS 2007 - Manual do Usurio

ser includo no incio da linha indicada.

boto para comentar linhas de cdigo definidas pelo projetista

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

Opes de configurao do Editor de Programas


Caso o projetista queira, adaptaes podero ser efetuadas no Editor de Programas, bastando para isso ativar o menu
de opes com o boto direito do mouse e selecinar a opo "Propriedades". Uma vez acionada a opo, a tela da figura
5.64 ser exibida.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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

Utilizando o Editor de Recursos


O Editor de Recursos do GAS uma interface que permite a criao das janelas da aplicao final. Essas janelas podem
ser, tanto a janela principal - MDI (mais especificamente a sua Barra de Ferramentas) quanto qualquer uma das Janelas de
Dados, utilizadas para a digitao e edio de informaes nas tabelas da aplicao. Para utilizar o Editor de Recursos,
selecione a opo de menu "Editar/Formatar tela" ou clique sobre o boto a seguir, existente na barra de ferramentas do
GAS, caso esteja sendo exibida. boto para ativar o Editor de Recursos
Se o primeiro item da rvore (Soluo) estiver selecionado no momento e esta soluo possuir mais de um projeto, o
projetista poder executar a formatao da tela de soluo, que ir acessar os aplicativos dos projetos inclusos na
soluo, funcionando como um "gerente" dos mdulos criados. Consulte o tpico Desenhando a tela da soluo para
obter maiores detalhes.

2008 GAS Tecnologia

152

GAS 2007 - Manual do Usurio

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.

5.10.1 As ferramentas de formatao de tela


A janela Ferramentas da tela, representada na figura 5.65, um componente do Editor de Recursos do GAS. Trata-se de
uma janela flutuante, que fica sempre por cima das demais, a partir da qual o projetista pode selecionar os controles e
campos que deseja inserir na tela, bem como designar suas propriedades, dentre outras facilidades.

Figura 5.65

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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:

boto para ligar/desligar categorizao

O Captulo 13- Propriedades dos objetos de tela trata exclusivamente dessas propriedades.

5.10.1.1 Selecionando um controle na tela


Para selecionar um controle na tela em formatao, basta clicar sobre o controle desejado. Quando um controle fica
selecionado, oito pequenos objetos quadrados aparecem nos seus cantos e bordas. Uma vez selecionado um controle,
pode-se alterar a sua posio, designar suas propriedades, retir-lo da tela, etc.

5.10.1.2 Selecionando mltiplos controles na tela


Mltiplos controles podem ser selecionados, de uma s vez, para serem trabalhados em conjunto. Para selecionar
diversos controles de uma s vez, proceda conforme se segue:
Clique sobre um dos controles, selecionando-o;
Pressione a tecla CTRL, retendo-a;
Clique sobre os demais controles que deseja selecionar.
Os mltiplos controles selecionados apresentam, cada um deles, um retngulo que os contorna. Outra forma de
selecionar mltiplos controles clicar sobre o boto especial para selecionar todos os controles, explicado mais adiante
neste tpico.
Existem controles disponibilizados na tela que so capazes de conter outros controles, sendo, por isso, chamados de
containers. Esses controles so o Tab, Frame e o Painel. S possvel selecionar mltiplos controles que tenham um
container comum, ou seja, que estejam posicionados dentro do mesmo container.
Tambm possvel utilizar o mouse, mantendo pressionado o boto de seleo e arrastando o mesmo sobre os objetos,
de forma a criar um "retangulo de seleo" e em seguida liberando o boto. Desta forma, os controles que estiverem nesta
rea sero selecionados. Caso estes controles estejam dentro de um frame ou outro objeto, utilize o mesmo procedimento
com a tecla "Control" pressionada, que a seleo abranger o que est dentro do objeto em questo apenas.

5.10.1.3 Retirando controles da tela


Controles que tenham sido inseridos na tela podem ser retirados da seguinte maneira:

2008 GAS Tecnologia

154

GAS 2007 - Manual do Usurio

Selecione um ou mais controles;


Pressione as teclas SHIFT+DEL ou clique sobre o boto a seguir, existente na barra de ferramentas do GAS;

boto para apagar seleo


Confirme a retirada do boto, quando solicitado.

5.10.1.4 Alterando a posio de controles


Uma vez selecionados, os controles podem ser movidos para outros pontos da tela, utilizando-se a operao conhecida
como drag and drop (arrastar e soltar). Para alterar a posio de um ou mais controles selecionados, proceda conforme se
segue:
Clique com o boto esquerdo do mouse sobre um dos controles selecionados, mantendo o boto pressionado;
Arraste o mouse para a posio desejada;
Libere o boto do mouse.
Uma outra maneira de alterar a posio de um ou mais controles selecionados manter a tecla CTRL pressionada e
acionar as setas cursoras.

5.10.1.5 Alterando o tamanho de um controle


Para alterar o tamanho de um controle, posicione o mouse em um dos seletores da borda do controle e mova o mouse
com o boto pressionado. Uma outra maneira de alterar o tamanho de um ou mais controles selecionados ao mesmo tempo
manter a tecla SHIFT pressionada e acionar as setas cursoras.

5.10.1.6 Colocando controles pr-programados na tela


Colocando controles pr-programados na tela Quando o GAS apresenta a barra de ferramentas para ser formatada,
disponibiliza automaticamente, como default, diversos controles com funes pr-programadas. Qualquer uma das janelas
de dados, relatrios, consultas, etc., definidas no projeto pode ter um boto de acesso na barra de ferramentas, alm da
opo de menu que o GAS dispe automaticamente para ativ-la. Um boto de acesso deste tipo pode ser inserido
selecionando-se, na lista da figura 5.65, o recurso que se deseja acessar por meio do novo boto.
Dependendo do tipo de mdulo, esta lista poder estar apresentando campos de tabelas.
Ao selecionar a janela de dados, um boto criado na barra de ferramentas bastando que o projetista modifique, se
desejar, as demais propriedades deste boto.
Se estiver formatando uma barra de ferramentas, o projetista visualizar nesta lista somente os botes e outros objetos
que podem ser nela inseridos. Para maiores detalhes sobre a formatao da barra de ferramentas, consulte o tpico
Desenhando a barra de ferramentas da aplicao neste captulo.
Se estiver formatando uma tela para entrada de dados, os campos definidos na tabela bsica estaro nela disponveis
para seleo. Uma vez que os campos estejam posicionados, o GAS insere um check antes do nome do campo para indicar
que esse j est posicionado na tela, como mostra a figura 5.66 a seguir.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

5.10.1.7 Colocando um controle na tela


Diversos outros controles podem ser inseridos na tela que esteja sendo formatada. Dependendo do tipo de mdulo
selecionado na rvore, alguns deles podem no estar disponveis. A figura 5.67 apresenta os objetos que podem ser
inseridos. A funo de cada um deles, seguindo a ordem da esquerda para a direita, ser descrita a seguir.

Figura 5.67

5.10.1.7.1 Tab ou abas

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.

2008 GAS Tecnologia

156

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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).

5.10.1.8 Designando propriedades para controles


A grade de propriedades tem por finalidade alterar o comportamento e aspecto dos controles que so inseridos na tela
durante a sua formatao. Quando um controle selecionado, o contedo desta grade se altera para espelhar as
propriedades possveis de serem designadas para ele. Se o projetista selecionar mltiplos controles, esta grade apresentar
apenas as propriedades que so comuns aos controles selecionados, podendo uma propriedade ser designada para os
controles selecionados, de uma s vez. O Captulo 13- Propriedades dos objetos de tela trata exclusivamente dessas
propriedades.

5.10.1.9 Definindo um campo no-editvel


A definio de um campo no editvel (que o usurio nunca pode digitar) possvel selecionando-se o controle tipo
textbox correspondente ao campo e designando a sua propriedade Editvel para o valor No.

5.10.1.10 Definindo condio de visibilidade de campos


Por meio da propriedade Visvel pode-se estabelecer uma condio segundo a qual o campo ser visvel ou no. Este
recurso tem inmeras possibilidades e muito til, por exemplo, para esconder um campo de um usurio ou grupo de
usurios, utilizando-se na expresso da condio o nome do usurio ou nome do grupo de usurios. Esta condio poder
tambm envolver campos das tabelas relacionadas para que um campo aparea ou no quando o contedo de um campo
qualquer apresentar um determinado valor.

5.10.1.11 Controles de formatao


Na janela de formatao da tela existem, ainda, alguns controles que auxiliam o trabalho de formatao. A figura 5.68
mostra esses controles, que sero explicados a seguir, pela ordem:

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.

2008 GAS Tecnologia

158

GAS 2007 - Manual do Usurio

5.10.1.11.4 Criao de tela padro

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.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

159

5.10.1.11.11 Alinha pelo topo

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.10.1.12 Exibindo e ocultando as ferramentas


A janela de Ferramentas da tela pode ser ocultada ou exibida, de acordo com a necessidade do projetista. Para exibir ou
ocultar esta janela, marque a opo de menu "Exibir/Ferramentas da tela" ou pressione a tecla F4.

5.10.1.13 Usando o Clipboard de tela


Durante a formatao de telas o projetista poder necessitar efetuar cpias de controles de um projeto para outro, de
uma tela para outra de um mesmo projeto ou, ainda, de um container para outro de uma mesma tela. As operaes normais
de clipboard podem ser utilizadas para cortar, copiar, colar e apagar controles que estejam selecionados. Para essas
operaes, pode-se utilizar as teclas de atalho padro do Windows (CTRL+X, CTRL+C, CTRL+V e tecla DEL,
respectivamente) ou, ainda, os botes de clipboard da barra de ferramentas do GAS, representados na figura a seguir:

5.11

Definindo opes da tela padro


Como j vimos, durante a criao da barra de ferramentas ou de telas para entrada de dados, o projetista poder
solicitar ao GAS a criao de uma tela padro por meio do boto:

2008 GAS Tecnologia

160

GAS 2007 - Manual do Usurio

boto para montar tela padro


Na criao de uma tela padro, o GAS tenta posicionar os campos da tabela ou botes da barra de ferramentas, de
acordo com algumas especificaes que o projetista pode estabelecer. Essas especificaes so efetuadas a partir do
dilogo da figura 5.69, que pode ser acionado selecionado-se a opo de menu "Opes/Opes da tela padro" ou, ainda,
clicando com o boto direito do mouse sobre o boto de criao da tela padro, exibido neste tpico.

Figura 5.69

5.11.1 Disposio dos campos


Selecione a direo desejada para que o GAS tente posicionar os campos na tela (na horizontal ou na vertical). Observe
que, aps a criao da tela padro, nem todos os campos podem ter sido posicionados. Isto porque o GAS disponibilizar
campos na janela, enquanto esses puderem ser totalmente visualizados na tela, parando logo que um deles no puder ser
fixado. Se a opo "Recalcular tamanho da tela" estiver marcada, o GAS ter mais liberdade para executar esta tarefa.

5.11.2 Disposio dos ttulos


Selecione a posio na qual o GAS dever dispor os labels (rtulos) que contm os ttulos dos campos. As opes
disponveis so: "Acima do campo" e "Ao lado do campo" ( esquerda).

5.11.3 Dimenses das imagens


Informe a quantidade de pixels que o GAS dever considerar para dimensionar a altura e largura iniciais dos campos de
contedo imagem (do tipo multimdia), quando a tabela bsica de uma janela de dados tiver um ou mais campos deste tipo.

5.11.4 Dimenses memo/texto


A exemplo da opo de dimensionamento de imagens, informe a quantidade de pixels a serem considerados para
dimensionar a altura e a largura iniciais da rea de digitao de campos do tipo memo, caso existam na tabela cuja janela de
dados ser formatada.

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

161

5.11.5 Margens e distncias


Nestas opes podem ser definidos alguns aspectos que o GAS dever respeitar:

5.11.5.1 Maior controle


Especifique a quantidade mxima de pixels a ser considerada na altura e largura para alocar um controle na tela.

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.11.5.3 Margem esquerda


Especifique a distncia, em pixels, a ser considerada entre a borda esquerda da tela e os controles alocados na tela.

5.11.5.4 Margem do topo


Especifique a distncia, em pixels, a ser considerada entre a borda superior da tela e os controles alocados na tela.

5.11.6 Quantidade de colunas


Informe a quantidade mxima de colunas de campos que o GAS dever criar na janela padro.

5.11.7 Recalcular o tamanho da tela


Se esta opo estiver marcada, o GAS ir, caso necessrio, ajustar o tamanho da janela segundo a quantidade de
campos alocados na tela. Se esta opo no estiver marcada, o projetista dever dimensionar manualmente o tamanho
desejado. Neste caso, a rea definida ser respeitada pelo GAS.

5.11.8 Fonte dos ttulos


Determina a fonte default para os objetos (Labels) a serem inseridos nas telas e relatrios, sendo utilizadas apenas as
fontes True Type. A propriedade Fonte do ttulo dos labels pode ser alterada individualmente durante a formatao.

5.11.9 Fonte dos campos


Determina a fonte default de digitao para os campos a serem inseridos nas telas, sendo utilizadas apenas as fontes
True Type. A propriedade Fonte pode ser alterada individualmente durante a formatao. Existem ainda trs botes que o
projetista poder utilizar para Aceitar, Cancelar ou, ainda, Restaurar as configuraes "de fbrica".

5.12

Utilizando o banco de campos


De vez em quando, durante a definio do projeto, o projetista poder ter a necessidade de se referir a campos de
outras tabelas no preenchimento de informaes, como, por exemplo, validaes, frmulas para processamentos e
lanamentos, etc. Alm disso, poder haver necessidade de referenciar variveis, constantes e funes (function e sub)
presentes no projeto. Com essa finalidade, o GAS disponibiliza um banco de campos para captura sempre que detectar esta

2008 GAS Tecnologia

162

GAS 2007 - Manual do Usurio

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

Utilizando o Dirio de Bordo


O Dirio de Bordo um livro de notas criado para reunir, em um s lugar, todas as anotaes que o projetista deseje ou

2008 GAS Tecnologia

Captulo 5 - Operando o GAS

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.

5.13.1 Apresentando e ocultando


Para apresentar ou ocultar o Dirio de Bordo, selecione "Arquivo/Dirio de Bordo" a partir do menu ou clique sobre o
boto correspondente na barra de ferramentas, caso esta esteja visvel.

boto para abrir e fechar o Dirio de Bordo

5.13.2 Mostrando o dirio em zoom


O Dirio de Bordo pode ser apresentado em zoom, selecionando-se a opo de menu "Exibir/Dirio em zoom".
Quando o Dirio de Bordo exibido em zoom, ocupar toda a rea de cliente do GAS. Para exib-lo em tamanho normal,
basta desmarcar esta opo.

5.13.3 Abrindo e folheando


Para abrir o Dirio de Bordo, deve-se aplicar um duplo-clique sobre a capa do livro. As sees podem ser acessadas
aplicando um clique sobre as etiquetas correspondentes, enquanto as pginas podero ser alternadas aplicando um clique
nas pequenas dobras (orelhas) existentes nas mesmas.

5.13.4 Navegando no texto


As pginas do Dirio de Bordo no possuem barras de rolagem, razo pela qual o projetista dever utilizar as teclas de
setas, para cima e para baixo, para navegar no texto.

5.13.5 Imprimindo o contedo


O contedo do dirio de bordo pode ser enviado para a impressora padro do Windows, selecionando-se as opes
"Arquivo/Utilitrios/ Imprimir Dirio de Bordo".

2008 GAS Tecnologia

Captulo

VI
Captulo 6 - Gerao de programas fontes

Captulo 6 - Gerao de programas fontes

165

Captulo 6 - Gerao de programas fontes


Uma vez que todo o projeto da aplicao tenha sido definido, o GAS habilitar o boto para que o projetista possa
disparar a gerao dos programas fontes necessrios ao funcionamento da aplicao.

boto para ativar a gerao de programas fontes


Os programas fontes gerados podem estar distribudos em diversos mdulos, gravados em arquivos com as extenses:

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.

2008 GAS Tecnologia

166

6.7

GAS 2007 - Manual do Usurio

.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

.HHK .HHP .HHC .HTM


Contm informaes a partir das quais ser gerado por compilao o arquivo de ajuda on-line da aplicacao (.CHM).

6.9

Disparando a gerao de fontes


Por intermdio do dilogo da figura 6.1, o projetista poder disparar a gerao dos programas fontes. Eventualmente, a
gerao de mdulos pode ser desligada, desmarcando-se a opo correspondente. Os botes existentes na borda
esquerda desta janela servem para marcar ou desmarcar todos os mdulos, respectivamente.
Existe tambm 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. Este recurso para evitar a gerao indevida de determinados
mdulos, principalmente em forms que foram feitas alteraes manuais e o projetista deseja preservar ese item.
Por este motivo, ao clicar no boto de "desmarcar", a seguinte mensgem ser apresentada:

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.

2008 GAS Tecnologia

Captulo 6 - Gerao de programas fontes

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.

2008 GAS Tecnologia

168

6.9.1

GAS 2007 - Manual do Usurio

Histrico de gerao de fontes


O projetista pode 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;

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.

2008 GAS Tecnologia

Captulo

VII
Captulo 7 - Gerao de executveis

170

GAS 2007 - Manual do Usurio

Captulo 7 - Gerao de executveis

7.1

Estabelecendo uma ao ps-compilao


Antes de disparar a criao dos executveis, o projetista poder configurar uma ao para o GAS executar aps a
gerao dos executveis.
A opo selecionada gravada no arquivo do projeto de modo que, da prxima vez em que esta janela for acionada, a
mesma opo ser oferecida.

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

Gerar, executar e sair do GAS


O GAS proceder de maneira semelhante ao descrito no item anterior; porm, finalizando a sua operao e no mais
assumindo o controle.

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.

2008 GAS Tecnologia

Captulo 7 - Gerao de executveis

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

Arquivo resource da aplicao


O utilitrio resource compiler do Windows (RC.EXE) ser ativado para compilar o arquivo resource de mesmo nome do
projeto e com a extenso .RC gerado pelo GAS, gerando um arquivo com a extenso .RES. Este utilitrio uma aplicao

2008 GAS Tecnologia

172

GAS 2007 - Manual do Usurio

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

Arquivo de ajuda on-line


O utilitrio compilador de ajuda HTML Help Workshop (HHC.EXE) ser ativado para compilar o arquivo de ajuda on-line.
Aps a sua execuo, o GAS verificar se o arquivo de ajuda com o mesmo nome da aplicao e com a extenso .CHM foi
criado.

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

Disparando a gerao dos executveis


Assim que o projetista clicar sobre o boto Prossegue, o GAS ir invocar os programas compiladores para compilar o
que for necessrio. O VB para compilar os projetos, o RC.EXE para compilar o arquivo resource, o HHC.EXE para compilar o
arquivo de ajuda on-line. Se a compilao de algum desses programas falhar, o GAS apresentar uma mensagem e no
tentar compilar as partes restantes.

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.

2008 GAS Tecnologia

Captulo 7 - Gerao de executveis

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.

2008 GAS Tecnologia

Captulo

VIII
Captulo 8 - Gerao da documentao

Captulo 8 - Gerao da documentao

175

Captulo 8 - Gerao da documentao


Alm de gerar a aplicao na forma de programas fontes, o GAS pode gerar, por opo de menu, a sua documentao
tcnica e de usurio, bem como o arquivo de ajuda on-line da aplicao final. As janelas que fazem parte da interface fixa da
aplicao, como montagem de consultas, pesquisas, entre outras, bem como todas as janelas que o projetista tenha definido
para a aplicao, so automaticamente capturadas e inseridas na documentao pelo GAS sem qualquer interferncia
manual do projetista.
Para gerar a documentao do projeto, o GAS utilizar como base os arquivos-gabaritos (GABMAN.DOC, GABPRO.
DOC, etc). A abertura desses arquivos assim como todo o processo de alterao feita via OLE, utilizando-se automao
direta com o MS-Word. 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 opes de documentao podem ser
acessadas atravs das opes de menu Arquivo/Utilitrios. O arquivo de ajuda on-line tambm gerado e apresentado nas
opes de gerao de executveis, juntamente com os programas fontes da aplicao.

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

Regras para a edio de gabaritos


Para a gerao da documentao das aplicaes, o GAS sempre utiliza gabaritos pr-estabelecidos em arquivos no
formato DOC compatveis com o MS-Word, exceo daqueles referentes ajuda on-line, que so de formato HTM. Esses
gabaritos so criados dentro da pasta onde o GAS instalado e so em nmero de trs:

8.1.1.1

GABPRO.DOC
Contm a formatao do Projeto Fsico ou especificao do sistema criado.

2008 GAS Tecnologia

176

8.1.1.2

GAS 2007 - Manual do Usurio

GABMAN.DOC
Contm o texto utilizado para o Manual do Usurio da aplicao final.

8.1.1.3

INICIO.HTM / CORPO.HTM / INDEX.HTM


Contm o texto de ajuda on-line da aplicao.
Opcionalmente, o projetista poder fazer uso dos arquivos-gabaritos GABMANE.DOC, GABPROE. DOC (verso em
espanhol), GABMANI.DOC e GABPROI.DOC (verso em ingls).
Clicando sobre o boto para editar um gabarito, o GAS ir ativar o editor e disponibilizar o texto pertinente em uma janela.
Durante a edio do gabarito, o projetista dever ter conhecimento de diversas diretivas que o GAS utiliza para substituo
de textos e imagens que ele captura da prpria aplicao, bem como indicativos, comandos e condies de insero. Os
tpicos Diretivas de Substituio, Indicativos ou Flags e Comandos e Condies, neste captulo, relacionam esses
componentes.
Os gabaritos referentes ao Projeto Fsico e Manual do Usurio, GABPRO.DOC e GABMAN.DOC respectivamente, j
possuem um ndice analtico dos assuntos constantes nos mesmos. Caso venha a inserir novos tpicos nesses gabaritos e
desejar que os mesmos constem neste ndice, o projetista ter que aplicar nesses tpicos os estilos Ttulo 1, Titulo 2, ... Ttulo
N (de 1 a 9), para que o MS-Word os reconhea automaticamente. Ao elaborar esses gabaritos, a Gas Tecnologia j criou
teclas de atalhos (Alt-1, Alt-2, ... Alt-N ) para aplicar os respectivos estilos. Observe tambm que este ndice pode
necessitar de atualizao, conforme descrito nos tpicos Projeto Fsico e Manual do Usurio.

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

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

177

e cancelar as operaes.

8.1.6

Dicas para otimizar a documentao


A seguir, algumas dicas importantes para auxiliar a otimizao e padronizao da documentao criada para a
aplicao:

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.

2008 GAS Tecnologia

178

GAS 2007 - Manual do Usurio

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

Manual do usurio da aplicao


A documentao da aplicao final criada pelo GAS a partir do arquivo GABMAN.DOC. As diretivas de substituio e
os indicativos, bem como os comandos e condies existentes neste arquivo, asseguram a insero no arquivo resultante
somente dos tpicos existentes na aplicao que foi definida pelo projetista. 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
no manual.
Sempre que gerar esta documentao, pelas mesmas razes explicadas para o Projeto Fsico, o projetista dever
seguir os mesmos passos descritos para aquela documentao.

8.1.7.3

Arquivo de ajuda para a aplicao final


Ao gerar os programas fontes, o GAS cria, paralelamente, arquivos contendo o texto de ajuda pertinente operao
aplicao gerada. Aps o processo de compilao, um arquivo de extenso .CHM (padro HTML) criado para oferecer
recursos de hipertexto padro do Windows. Para criar o arquivo de ajuda, o GAS utiliza de arquivos que contm diretivas
substituio, indicativos e comandos e condies, de modo a permitir que sejam gerados apenas os tpicos existentes
aplicao e definidos pelo projetista.

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.

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

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.

8.1.7.4.1 Para substituio textual

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

Nome do analista ou projetista


8.1.7.4.1.2 APELIDO_TAB_AUXILIAR

Apelido da tabela auxiliar.


8.1.7.4.1.3 rvore

rvore hierrquica do projeto.


8.1.7.4.1.4 CAMPO_ATRIB

Nome ou apelido do campo definido na tela


8.1.7.4.1.5 CAMPO_UNIAO

Campo de unio de relacionamentos.


8.1.7.4.1.6 COND_ALTERACAO

Condio de alterao de registros.


8.1.7.4.1.7 COND_DIRETA

Condio para execuo da frmula direta de processo.

2008 GAS Tecnologia

180

GAS 2007 - Manual do Usurio

8.1.7.4.1.8 COND_EXCLUSAO

Condio para excluso de registros.


8.1.7.4.1.9 COND_EXC_LANC

Condio para excluso de lanamentos.


8.1.7.4.1.10 COND_INCLUSAO

Condio para incluir registros.


8.1.7.4.1.11 COND_INC_LANC

Condio para que um lanamento seja feito.


8.1.7.4.1.12 COND_INVERSA

Condio para execuo de frmula inversa de processo.


8.1.7.4.1.13 CONS_SQL

Expresso que define uma consulta SQL.


8.1.7.4.1.14 CONS_TITULO

Ttulo da consulta SQL.


8.1.7.4.1.15 CP_ALVO_LANC

Campo alvo de lanamento.


8.1.7.4.1.16 CP_ALVO_PROC

Campo alvo de processamento.


8.1.7.4.1.17 CP_APELIDO

Apelido de campo.

8.1.7.4.1.18 CP_CAMPO_ESTRANGEIRO

Nome do campo estrangeiro de uma relao.

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

8.1.7.4.1.19 CP_CASAS_DECIMAIS

Quantidade de casas decimais de campo numrico.


8.1.7.4.1.20 CP_LST_INTERNA

Lista de opes de um campo do tipo lista interna


8.1.7.4.1.21 CP_MASCARA

Mscara do campo
8.1.7.4.1.22 CP_MSG_AJUDA

Mensagem de ajuda (hint) do campo


8.1.7.4.1.23 CP_NOME

Nome do campo definido no banco de dados


8.1.7.4.1.24 CP_SEQUENCIA

Seqncia do campo
8.1.7.4.1.25 CP_TABELA_ESTRANGEIRA

Tabela estrangeira para lista externa


8.1.7.4.1.26 CP_TAMANHO

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

Descrio do banco de dados

2008 GAS Tecnologia

181

182

GAS 2007 - Manual do Usurio

8.1.7.4.1.31 DESC_TAB

Descrio de tabela
8.1.7.4.1.32 FORM_DIRETA

Frmula direta de processamento


8.1.7.4.1.33 FORM_INVERSA

Frmula inversa de processamento


8.1.7.4.1.34 INDICE_AUXILIAR

Nome do ndice auxiliar de uma relao


8.1.7.4.1.35 IND_CHAVES

Chaves do ndice
8.1.7.4.1.36 IND_NOME

Nome do ndice de uma tabela


8.1.7.4.1.37 INT_CP1

Campo da tabela bsica de uma relao


8.1.7.4.1.38 INT_CP2

Campo da tabela estrangeira de uma relao


8.1.7.4.1.39 INT_NOME

Nome de uma integridade


8.1.7.4.1.40 INT_TABELA

Tabela estrangeira de uma integridade


8.1.7.4.1.41 JANELA

Janela definida para entrada de dados


8.1.7.4.1.42 JANELA_MDI

Janela MDI definida para a aplicao

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

8.1.7.4.1.43 MSG VALIDACAO

Mensagem de validao de campo


8.1.7.4.1.44 MSG_CRIT_RELACAO

Mensagem de crtica de relao forada


8.1.7.4.1.45 MSG_MENU

Mensagem a aparecer no menu


8.1.7.4.1.46 NOME_BD

Nome do banco de dados


8.1.7.4.1.47 NOME_EMPRESA

Nome da empresa usuria da aplicao


8.1.7.4.1.48 NOME_EXECUTAVEL

Nome do programa executvel da aplicao


8.1.7.4.1.49 NOME_FORM

Nome de form a ser gerado para o mdulo


8.1.7.4.1.50 PRE-VALIDACAO

Expresso de pr-validao de campo


8.1.7.4.1.51 Q_LANCAMENTOS

Quantidade de lanamentos a serem feitos


8.1.7.4.1.52 REL_SQL

Expresso SQL que define um relatrio


8.1.7.4.1.53 REL_TITULO

Ttulo do relatrio
8.1.7.4.1.54 TABELA_AUXILIAR

Nome da tabela auxiliar

2008 GAS Tecnologia

183

184

GAS 2007 - Manual do Usurio

8.1.7.4.1.55 TABELA_BASICA

Nome da tabela bsica em uma relao


8.1.7.4.1.56 TAB_ALVO_LANC

Tabela alvo de um lanamento


8.1.7.4.1.57 TAB_ALVO_PROC

Tabela alvo de um processamento


8.1.7.4.1.58 TB_APELIDO

Apelido de uma tabela


8.1.7.4.1.59 TB_NOME

Nome da tabela
8.1.7.4.1.60 TITULO_JANELA

Ttulo de uma janela de dados


8.1.7.4.1.61 TITULO_PROJETO

Ttulo do projeto
8.1.7.4.1.62 TIT_LANCAMENTO

Ttulo de um lanamento definido


8.1.7.4.1.63 TIT_PROCESSAMENTO

Ttulo de um processo definido


8.1.7.4.1.64 VALIDACAO

Expresso de validao de campo


8.1.7.4.1.65 VALOR INICIAL

Valor inicial (default) de um campo


8.1.7.4.1.66 VALOR_LANC

Valor a ser lanado em um campo

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

8.1.7.5

185

Para substituio de imagens


As diretivas de substituio de imagens podem ser utilizadas exatamente como as diretivas de substituio textuais e
servem para inserir na documentao as imagens de telas e objetos que tenham sido definidos no projeto para a aplicao.
Uma vez encontrada uma diretiva de substituio de imagem, o GAS monta em background o objeto necessrio, captura a
sua imagem e a insere no texto, exatamente na posio indicada pela diretiva.
A lista a seguir apresenta essas diretivas:

8.1.7.5.1 BMP_BAJUDA

Boto de ajuda on-line


8.1.7.5.2 BMP_BANTERIOR

Boto de movimentao para registro anterior


8.1.7.5.3 BMP_BAPAGACOL

Boto de apagar coluna na grade


8.1.7.5.4 BMP_BCANCELA

Boto de cancelar
8.1.7.5.5 BMP_BCONFGRAF

Boto de configurar grfico


8.1.7.5.6 BMP_BCONFIMP

Boto de configurar impressora


8.1.7.5.7 BMP_BCONSULTA

Boto de criar consultas


8.1.7.5.8 BMP_BEXCLUI

Boto de excluso
8.1.7.5.9 BMP_BFILTRO

Boto de filtrar registros


8.1.7.5.10 BMP_BFINALIZA

Boto de finalizar operaes

2008 GAS Tecnologia

186

GAS 2007 - Manual do Usurio

8.1.7.5.11 BMP_BGRADE

Boto de visualizar em grade


8.1.7.5.12 BMP_BGRAFA

Boto de construir grficos


8.1.7.5.13 BMP_BGRAVA

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

Enter topic text here.


8.1.7.5.17 BMP_BPRIMEIRO

Boto de movimentao para o primeiro registro


8.1.7.5.18 BMP_BPROCURA

Boto de pesquisa de registros


8.1.7.5.19 BMP_BREPARA

Boto de reparar banco de dados


8.1.7.5.20 BMP_BSEGUINTE

Boto de movimentao para registro seguinte


8.1.7.5.21 BMP_BSENHA

Boto de manuteno de senhas


8.1.7.5.22 BMP_BTOTALIZA

Boto de totalizar coluna na grade

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

187

8.1.7.5.23 BMP_BULTIMO

Boto de movimentao para o ltimo registro


8.1.7.5.24 BMP_CBOIND

Combobox de ndices de navegao


8.1.7.5.25 ICONE_APLICACAO

cone utilizado na aplicao


8.1.7.5.26 TELA_INICIAL

Imagem utilizada na tela inicial

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

Se foi definida possibilidade de alterao na tabela


8.1.7.6.2 AC_EXCLUSAO

Se foi definida possibilidade de excluso na tabela


8.1.7.6.3 AC_FILTRAGENS

Se foi definida possiblidade de executar filtragens

2008 GAS Tecnologia

188

GAS 2007 - Manual do Usurio

8.1.7.6.4 AC_INCLUSAO

Se foi definida possiblidade de incluso na tabela


8.1.7.6.5 AC_PESQUISAS

Se foi definida possibilidade de pesquisas na tabela


8.1.7.6.6 CP_AJUDA

Se texto de ajuda (dica) foi definido para o campo


8.1.7.6.7 CP_INVISIVEL

Se campo definido como invisvel


8.1.7.6.8 CP_LISTAEXT

Se campo apresentar uma lista externa


8.1.7.6.9 CP_LISTAINT

Se o campo foi definido como lista interna


8.1.7.6.10 CP_NUMERICO

Se tipo do campo numrico


8.1.7.6.11 CP_SEQUENCIAL

Se o campo seqencial
8.1.7.6.12 CRITICAR

Se um relacionamento forado ser criticado


8.1.7.6.13 DEIXAR_NA_SENHA

Se a opo deixar na senha foi marcada


8.1.7.6.14 EXC_LANC

Se a opo excluir o lanamento foi marcado


8.1.7.6.15 FORCAR_RELACAO

Se marcada a opo de forar o relacionamento

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

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

Se o relacionamento foi definido como 1-N


8.1.7.6.19 MONOUSUARIO

Se no foi marcada a opo multiusurio


8.1.7.6.20 MULTIUSUARIO

Se foi marcada a opo multiusurio


8.1.7.6.21 QDE_CAMPOS

Quantidade de campos definidos na tabela


8.1.7.6.22 QDE_BD

Quantidade de bancos de dados com que a aplicao trabalha simultaneamente


8.1.7.6.23 QDE_CAMPOS_ALVO

Quantidade de campos alvo de um lanamento


8.1.7.6.24 QDE_CONSULTAS

Quantidade de consultas definidas no projeto


8.1.7.6.25 QDE_CP_TAB_BASICA

Quantidade de campos da tabela bsica


8.1.7.6.26 QDE_INDICES

Quantidade de ndices da tabela


8.1.7.6.27 QDE_INTEGRIDADES

Quantidade de integridades definidas

2008 GAS Tecnologia

189

190

GAS 2007 - Manual do Usurio

8.1.7.6.28 QDE_INT_CPS

Quantidade de campos para comandar integridade


8.1.7.6.29 QDE_JANELAS

Quantidade de janelas de dados definidas


8.1.7.6.30 QDE_LANCAMENTOS

Quantidade de lanamentos definidos


8.1.7.6.31 QDE_PROCESSOS

Quantidade de processos definidos


8.1.7.6.32 QDE_RELATORIOS

Quantidade de relatrios definidos


8.1.7.6.33 QDE_TABELAS

Quantidade de tabelas definidas


8.1.7.6.34 QDE_TAB_AUXILIAR

Quantidade de tabelas auxiliares definidas


8.1.7.6.35 TB_PARAMETROS

Se a tabela do tipo parmetros de sistema


8.1.7.6.36 TEM_AJUDA

Se tem ajuda on-line na aplicao


8.1.7.6.37 TEM_ATRIBUTOS

Se foram definidos atributos para a tabela bsica


8.1.7.6.38 TEM_BAJUDA

Se o boto de ajuda foi disponibilizado na barra


8.1.7.6.39 TEM_BANTERIOR

Se o boto registro anterior foi disponibilizado na barra

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

8.1.7.6.40 TEM_BAPAGACOL

Se o boto de apagar coluna foi disponibilizado na barra


8.1.7.6.41 TEM_BCANCELA

Se o boto de cancelar foi disponibilizado na barra


8.1.7.6.42 TEM_BCONFGRAF

Se o boto de configurar grfico foi disponibilizado na barra


8.1.7.6.43 TEM_BCONFIMP

Se o boto de configurar impressora foi disponibilizado na barra


8.1.7.6.44 TEM_BCONSULTA

Se o boto de criar consultas foi disponibilizado na barra


8.1.7.6.45 TEM_BEXCLUI

Se o boto de excluso foi disponibilizado na barra


8.1.7.6.46 TEM_BFILTRO

Se o boto de filtrar foi disponibilizado na barra


8.1.7.6.47 TEM_BFINALIZA

Se o boto de finalizar foi disponibilizado na barra


8.1.7.6.48 TEM_BGRADE

Se o boto de visualizar em grade foi disponibilizado na barra


8.1.7.6.49 TEM_BGRAFA

Se o boto de construir grficos foi disponibilizado na barra de ferramentas


8.1.7.6.50 TEM_BGRAVA

Se o boto de gravar foi disponibilizado na barra de ferramentas


8.1.7.6.51 TEM_BIMPRE

Se o boto de impresso foi disponibilizado na barra

2008 GAS Tecnologia

191

192

GAS 2007 - Manual do Usurio

8.1.7.6.52 TEM_BINCLUI

Se o boto de incluso foi disponibilizado na barra


8.1.7.6.53 TEM_BINFODB

Se o boto de informaes do BD foi disponibilizado na barra


8.1.7.6.54 TEM_BOTAO_INTERNET

Se os botes da barra de ferramenta da aplicao tero estilo InterNet


8.1.7.6.55 TEM_BPRIMEIRO

Se o boto primeiro registro foi disponibilizado na barra


8.1.7.6.56 TEM_BPROCURA

Se o boto para pesquisar registros foi disponibilizado na barra.


8.1.7.6.57 TEM_BREPARA

Se o boto de reparar banco de dados foi disponibilizado na barra


8.1.7.6.58 TEM_BROWSE

Se existe algum objeto do tipo grade na aplicao


8.1.7.6.59 TEM_BSEGUINTE

Se o boto prximo registro foi disponibilizado na barra


8.1.7.6.60 TEM_BSENHA

Se o boto de manuteno de senhas foi disponibilizado na barra


8.1.7.6.61 TEM_BTOTALIZA

Se o boto de totalizar foi disponibilizado na barra


8.1.7.6.62 TEM_BULTIMO

Se o boto ltimo registro foi disponibilizado na barra


8.1.7.6.63 TEM_CBOIND

Se disponibilizada na barra a combo de ndices de navegao

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

8.1.7.6.64 TEM_COND_ALT_REG

Se definida condio de alterao de registros


8.1.7.6.65 TEM_COND_EXC_LAN

Se definida condio de excluso de lanamento


8.1.7.6.66 TEM_COND_EXC_PRO

Se definida condio de excluso de processamento


8.1.7.6.67 TEM_COND_EXC_REG

Se definida condio de excluso de registros


8.1.7.6.68 TEM_COND_INC_LAN

Se definida condio de incluso de lanamento


8.1.7.6.69 TEM_COND_INC_PRO

Se definida condio de incluso de processamento


8.1.7.6.70 TEM_COND_INC_REG

Se definida condio de incluso de registros


8.1.7.6.71 TEM_CONSULTAS

Se h consultas definidas no projeto


8.1.7.6.72 TEM_CPMEMO

Se definido algum campo do tipo memo na aplicao


8.1.7.6.73 TEM_CPS_LANCAMENTOS

Se h campos a serem lanados


8.1.7.6.74 TEM_DESC_BD

Se h descrio para o banco de dados


8.1.7.6.75 TEM_DESC_TAB

Se h descrio definida para a tabela

2008 GAS Tecnologia

193

194

GAS 2007 - Manual do Usurio

8.1.7.6.76 TEM_FORMULA_INV_PRO

Se o projetista definiu frmula inversa para o processo


8.1.7.6.77 TEM_GRAFICOS

Se o projetista disponibilizou a apresentao de grficos


8.1.7.6.78 TEM_GRID

Se o projetista definiu uma tabela em grid dentro do projeto


8.1.7.6.79 TEM_INDICES

Se tem ndices definidos para a tabela


8.1.7.6.80 TEM_INTEGRIDADES

Se foi definida alguma integridade


8.1.7.6.81 TEM_LANCAMENTOS

Se h algum lanamento definido


8.1.7.6.82 TEM_MAJUDA

Se colocada opo de ajuda no menu


8.1.7.6.83 TEM_MANTERIOR

Se disponibilizada opo de registro anterior no menu


8.1.7.6.84 TEM_MAPAGACOL

Se disponibilizada opo de apagar colunas no menu


8.1.7.6.85 TEM_MCANCELA

Se disponibilizada a opo de cancelar operaes no menu


8.1.7.6.86 TEM_MCONFGRAF

Se disponibilizada opo de configurar grfico no menu


8.1.7.6.87 TEM_MCONFIMP

Se disponibilizada opo configura impressora no menu

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

8.1.7.6.88 TEM_MCONSULTA

Se disponibilizada opo de menu para criar consultas


8.1.7.6.89 TEM_MEXCLUI

Se disponibilizada opo de excluso de registros no menu da aplicao


8.1.7.6.90 TEM_MFILTRO

Se disponibilizada opo de menu para filtrar registros


8.1.7.6.91 TEM_MFINALIZA

Se disponibilizada opo de finalizar no menu


8.1.7.6.92 TEM_MGRADE

Se disponibilizada opo de menu para visualizar tabelas em grade


8.1.7.6.93 TEM_MGRAFA

Se disponibilizada opo de criar grficos no menu


8.1.7.6.94 TEM_MGRAVA

Se disponibilizada opo de gravao de registros no menu


8.1.7.6.95 TEM_MIMPRE

Se disponibilizada opo de impresso no menu


8.1.7.6.96 TEM_MINCLUI

Se disponibilizada opo de incluso de registros no menu


8.1.7.6.97 TEM_MINFODB

Se o projetista disponibilizou opo de informaes do BD no menu.


8.1.7.6.98 TEM_MPRIMEIRO

Se disponibilizada opo primeiro registro no menu


8.1.7.6.99 TEM_MPROCURA

Se disponibilizada opo de menu para pesquisar registros

2008 GAS Tecnologia

195

196

GAS 2007 - Manual do Usurio

8.1.7.6.100 TEM_MREPARA

Se disponibilizada opo de reparao de banco de dados no menu


8.1.7.6.101 TEM_MSEGUINTE

Se disponibilizada opo prximo registro no menu


8.1.7.6.102 TEM_MSENHA

Se disponibilizada opo de manuteno de senhas no menu


8.1.7.6.103 TEM_MSG_VALIDACAO

Se h mensagem de validao para o campo


8.1.7.6.104 TEM_MTOTALIZA

Se disponibilizada no menu a opo de totalizar registros


8.1.7.6.105 TEM_MULTIMO

Se disponibilizada no menu a opo de ltimo registro


8.1.7.6.106 TEM_PARAMETROS

Se h tabela de parmetros na aplicao


8.1.7.6.107 TEM_PRE-VALIDACAO

Se h expresso de pr-validao para o campo


8.1.7.6.108 TEM_PROCESSOS

Se algum processamento foi definido


8.1.7.6.109 TEM_QTDEREG

Se disponibilizado o controle contador de registros na barra


8.1.7.6.110 TEM_RELATORIOS

Se definido algum relatrio no projeto


8.1.7.6.111 TEM_SCRNAV

Se colocada opo de navegao na barra

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

197

8.1.7.6.112 TEM_SENHA

Se o plano de senhas foi deixado pelo projetista


8.1.7.6.113 TEM_TAB_AUXILIAR

Se definida alguma tabela auxiliar


8.1.7.6.114 TEM_TELAINICIAL

Se definida uma tela inicial para a aplicao


8.1.7.6.115 TEM_VALIDACAO

Se h validao definida para o campo


8.1.7.6.116 TEM_VALOR_INICIAL

Se h valor inicial definido para o campo


8.1.7.6.117 TEM_VALOR_LANC

Se definido valor a lanar no campo alvo


8.1.7.6.118 UM_BD

Se a aplicao trabalha com um nico banco de dados

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

2008 GAS Tecnologia

198

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 8 - Gerao da documentao

@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

2008 GAS Tecnologia

199

Captulo

IX
Captulo 9 - Gerao do Instalador e Adaptador de Banco

Captulo 9 - Gerao do Instalador e Adaptador de Banco

201

Captulo 9 - Gerao do Instalador e Adaptador de Banco


Alm de gerar todos os programas fontes da aplicao propriamente dita, o GAS gera tambm alguns programas
auxiliares ou utilitrios para complementar a aplicao.

9.1

Criando o Instalador da Aplicao


Escrever programas de instalao para aplicaes em Windows requer um pouco mais do que conhecimentos normais
de programao. uma tarefa que, embora aparentemente simples, pode se tornar um pesadelo pela quantidade de
informaes que envolve. Quem se habilitar a escrever este tipo de programa ter de lidar com o Registry do Windows (uma
espcie de cartrio que a Microsoft criou para ns...), Windows API, estampas de verso dentro de programas, alm de uma
srie de outras informaes no muito bem documentadas. Felizmente, o GAS possui opo que pode tornar este trabalho
mais intuitivo, no qual, virtualmente, tem-se apenas que seguir algumas intrues.
So dois passo para criar a instalao, um na definio do projeto, e outra na criao da instalao.
A definio, ser feita conforme mencionado na definio do projeto: Aba Instalao.
Na tela de gerao de fontes, utilize a opo para gerar o programa instalador.

9.2

O Utilitrio Adaptador de Arquivos

Figura 9.1

Sempre que o GAS detectar a existncia de alteraes na


estrutura do banco de dados definido para a aplicao, como
por exemplo, a insero e retirada de tabelas ou campos ou,
ainda, alterao de tamanho de campos, o mesmo criar
automaticamente um programa utilitrio adaptador de arquivos
de nome ADAPTA, totalmente independente, no momento de
gerar os programas fontes da aplicao, podendo o projetista
selecionar a sua compilao por intermdio da janela de gerao

2008 GAS Tecnologia

202

GAS 2007 - Manual do Usurio

de executveis (consulte o Captulo 7 - Gerao de Executveis).


Em se tratando de base de dados JET, uma vez compilado, o
programa executvel deste utilitrio pode ser levado, juntamente
com o novo arquivo .DEF, para o equipamento do usurio da
aplicao, realizando a adaptao do .MDB existente. A presena
do arquivo .DEF se faz necessria, pois nele est contida a nova
estrutura do banco de dados para a qual o arquivo MDB
existente ser convertido. De forma anloga ao executvel
adaptador de arquivos (MDB), quando utilizado o GAS Enterprise
com o SQL Server, MySQL, Firebird ou Oracle, gerado o
arquivo-script ADAPTA.SQL, a ser executado via Query Analyzer
ou SQL Plus, ferramentas respectivamente do SQL Server e
Oracle, para que ento a adaptao necessria seja efetivada.
Para os outros bancos, veja os aplicativos para este fim com
seus
respectivos
fabricantes.
Para
assegurar
a
incorruptibilidade do banco de dados, recomendamos que se
faa o backup do banco de dados antes que o script seja
utilizado na adaptao do referido banco. Em geral, o prprio
SGBD oferece utilitrio para a execuo e restaurao de
backup.
Se mais de um arquivo de dados estiver sendo utilizado pela aplicao, o projetista dever executar este utilitrio para
adaptar cada um deles.
A operao do adaptador de arquivos bastante simples, no requerendo maiores detalhes. Ao ser executado, em sua
verso para JET, tal utilitrio apresenta a janela da figura 9.2:

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:

2008 GAS Tecnologia

Captulo 9 - Gerao do Instalador e Adaptador de Banco

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

O Utilitrio Conversor de Arquivos DBF


Por opo de menu, o GAS poder gerar um programa utilitrio para converter arquivos de dados do formato DBF para o
formato MDB. Este conversor permite o total aproveitamento dos dados manipulados por uma
aplicao DOS que utilize este tipo de arquivo. Para utilizar esta opo, deve-se proceder conforme segue: carregue,
no GAS, o projeto da aplicao que ir manipular os dados convertidos;
Selecione Arquivo/Utilitrios/Gerar conversor de arquivos DBF... no menu, procedimento que permitir a visualizao de
tela semelhante da figura 9.5:

2008 GAS Tecnologia

204

GAS 2007 - Manual do Usurio

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;

2008 GAS Tecnologia

Captulo 9 - Gerao do Instalador e Adaptador de Banco

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.

2008 GAS Tecnologia

Captulo

X
Captulo 10 - Um exemplo prtico

Captulo 10 - Um exemplo prtico

10

207

Captulo 10 - Um exemplo prtico


Neste captulo ser demonstrada a utilizao efetiva do GAS na gerao de um sistema exemplo de Controle de
Estoques elaborado somente para efeitos didticos, sendo, no entanto, completamente funcional. Este tipo de sistema foi
escolhido para exemplo devido ao fato de que, pelas suas caractersticas, nos dar a oportunidade de abordar os mais
diversos recursos oferecidos pelo GAS, como a definio de validaes, lanamentos, processamentos, campos no
editveis, plano de senhas, etc.
Durante o processo de instalao do GAS no equipamento, alguns exemplos so, opcionalmente, instalados, inclusive o
exemplo descrito neste captulo. O acompanhamento passo-a-passo deste exemplo proporcionar subsdios para uma
utilizao mais eficiente do GAS. Recomendamos que os profissionais, mesmo com prtica de programao, sigam os
passos para a execuo desta aplicao, ganhando tempo no aprendizado dos diversos recursos disponveis.
O primeiro passo para a criao de uma aplicao a sua concepo: como desejamos que funcione, o que vai e o que
no vai fazer. Existem diversas metodologias para desenvolvimento de projetos de sistemas e seria impossvel, neste
manual, discorrer sobre qualquer uma delas, mesmo porque esse no nosso objetivo. No entanto, qualquer que seja a
metodologia empregada, o GAS ser sempre uma ferramenta inestimvel para a construo completa da aplicao final, com
seus programas fontes, documentao e ajuda on-line.
Vamos entender como o nosso exemplo de Controle de Estoques ser estruturado. Nossa aplicao exemplo
manipular um banco de dados com 9 tabelas. Nas explicaes seguintes, a sigla NF significa Nota Fiscal.
Fornecedores - Dados dos Fornecedores
Indexadores - Indexadores financeiros
Parmetros - Parmetros da aplicao
Notas fiscais - Dados genricos das NFs
Itens da NF - Itens digitados das NFs
Sadas de mercadoria - Sadas de estoque
Produtos em estoque - Cadastro de produtos
Movimentao de produtos - Histrico entradas/sadas
Contas a pagar - Contas a pagar (valores das NFs)

10.1

Aspectos do funcionamento da aplicao


A entrada de produtos em estoque ser efetuada mediante a digitao da NF de fornecedor na tabela Notas Fiscais. A
cada item de produto digitado na tabela de Itens da NF, as quantidades recebidas sero creditadas no estoque (tabela
Produtos em Estoque) e o valor do item ser operado com a quantidade recebida e acumulado no valor total da NF (tabela
Notas Fiscais).
Com as operaes acima, ilustraremos a criao de processamentos de campos em tabelas estrangeiras, a partir de
digitao de informaes em outras tabelas. Aps a digitao de uma NF, um registro de pagamento criado na tabela de
Contas a Pagar, no valor total da NF digitada. Tambm, na tabela de Movimentao de produtos, criado (caso no exista
ainda) um registro para cada item digitado e os seus campos so atualizados com as quantidades recebidas. Durante a

2008 GAS Tecnologia

208

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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.

2008 GAS Tecnologia

210

GAS 2007 - Manual do Usurio

Figura 10.2

10.2.1 Dados genricos


Informe os dados necessrios, na aba "Dados Genricos", para que se torne igual ao que aparece na Figura 10.2.
Clique sobre o boto Grava para salvar essas informaes, que so os dados genricos do projeto.

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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.3 Banco de dados


Clique sobre a lista intitulada "Banco de dados" e, em seguida, acione o boto de adicionar. Informe o nome ESTOQUE no
campo destinado ao nome do banco de dados.
A opo Principal deve ser marcada no caso da aplicao manipular mais de um banco de dados, o que no o caso
do nosso exemplo. O banco de dados marcado como principal ser aquele em que o GAS criar as tabelas de apoio ao
sistema, que so as tabelas de senhas e a tabela de controle de seqenciais. Em nosso exemplo tambm no faremos uso
de senha para impedir o acesso do banco de dados por aplicativos externos, bem como optaremos, por motivos meramente
didticos, pelo tipo de banco Access (MDB) ao invs de SQL Server ou Oracle.

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

2008 GAS Tecnologia

212

GAS 2007 - Manual do Usurio

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

Tabela que contm os dados dos fornecedores


de mercadorias controladas pelo sistema

Indexadores

Contm os indexadores financeiros utilizados


pelo sistema

Notas Fiscais

Dados da NF de recebimento de mercadorias

Itens da NF

Dados de quantidade e preo dos itens


recebidos por meio da NF

Contas a Pagar

Informaes de contas a pagar de


recebimento de mercadorias

Movimentao de

Tabela para armazenar dados de

produtos

histrico de entrada e sada de


mercadorias

Produtos em

Cadastro com os dados dos produtos

estoque

que so manipulados pela aplicao

Sadas de

Informaes das sadas (baixas) de

mercadorias

mercadorias do estoque

Parmetros do

Parmetros utilizados pelo sistema

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

213

10.2.4.1 Campos da tabela


Agora que todas as tabelas esto criadas, selecione cada uma delas e defina os seus campos. Os quadros a seguir
indicam as informaes que devem ser digitadas para os campos de cada tabela. As regras para a entrada dessas
informaes so:
selecione a tabela na lista Tabelas;
clique sobre a lista Campos;
clique no boto de adicionar;
digite as informaes dos campos;
clique sobre o boto de gravao para efetivar as informaes.
Observe que, quando um campo j tiver sido definido anteriormente em uma tabela, basta selecion-lo na combobox
destinada a receber o nome do campo.
10.2.4.1.1 Fornecedores

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

2008 GAS Tecnologia

Informe ou selecione

informe ou selecione

Nome

Nome do fornecedor

Tipo

Caractere

214

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

informe ou selecione

Nome

Data

Tipo

Data

Apelido

Data

Mscara

999-99-#999-9999

216

GAS 2007 - Manual do Usurio

Atributo

informe ou selecione

Nome

Valor

Tipo

Numrico

Apelido

Valor

Tamanho

12

Decimais

Mscara

999.999.999,99

10.2.4.1.3 Parmetros do Sistema

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

Tamanho

Mscara

@!

217

10.2.4.1.4 Produtos em estoque

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

2008 GAS Tecnologia

informe ou selecione

informe ou selecione

218

GAS 2007 - Manual do Usurio

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,

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

informe ou selecione

Nome

Preo indexado

Tipo

Numrico

Apelido

Preco_indexado

Tamanho

10

220

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

Data ltima atualizao

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.

2008 GAS Tecnologia

222

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

10.2.4.1.6 Notas fiscais

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

2008 GAS Tecnologia

Informe ou selecione

Nome

Nmero da NF

Tipo

Numrico

Apelido

Numero_da_nf

Tamanho

Mscara

999

224

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

Informe ou selecione

Nome

Nmero da NF

Tipo

Numrico

Apelido

Numero_da_nf

Tamanho

Mscara

999

226

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

Informe ou selecione

Nome

Data

Tipo

Data

228

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

229

10.2.4.1.9 Sadas de mercadorias

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

2008 GAS Tecnologia

Informe ou selecione

Nome

Data

Tipo

Data

230

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

231

At este ponto, j efetuamos as definies das tabelas e seus campos. Vamos, agora, definir os ndices e integridades
entre as tabelas.

10.2.4.2 ndices das tabelas


Primeiramente vamos definir os ndices. As regras de criao de ndices so semelhantes s utilizadas para os campos,
ou seja:

selecione uma tabela na lista Tabelas;


clique na lista ndices;
clique no boto de adicionar;
digite as informaes;
clique sobre o boto de gravao.

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

2008 GAS Tecnologia

Tipo

Campos

Lanamento

Primrio nico

Nmero do lanamento

Tipo

nico

Nmero da NF

232

GAS 2007 - Manual do Usurio

10.2.4.2.2 Fornecedores

Definiremos tambm dois ndices:

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

Para indexadores, basta um ndice simples por meio do campo Data:

Ttulo

Data

Tipo

Primrio nico

Campos

Data

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

10.2.4.2.5 Movimentao de produtos

Para esta tabela, definiremos um ndice composto pelos campos "Cdigo do Produto" e Data:

Ttulo

Tipo

Cdigo e data

Primrio nico

Campos

Cdigo
Data

10.2.4.2.6 Notas fiscais

A tabela "Notas Fiscais" conter apenas um ndice simples pelo campo "Nmero da NF":

2008 GAS Tecnologia

Ttulo

Tipo

Nmero da NF

Primrio nico

Campos

Nmero da nf

233

234

GAS 2007 - Manual do Usurio

10.2.4.2.7 Parmetros do sistema

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.

10.2.4.2.8 Produtos em estoque

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

10.2.4.2.9 Sadas de mercadorias

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

(marcar opo de invisibilidade)

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.

2008 GAS Tecnologia

236

GAS 2007 - Manual do Usurio

Podemos, finalmente, criar as integridades de relacionamentos da aplicao.

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

Tipo

1-1

Tabela e campo
estrangeiro

Produtos em
Cdigo

estoque/

Cp tab bsica

Cdigo

238

GAS 2007 - Manual do Usurio

10.2.4.3.3 Produtos em estoque

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

10.2.4.3.4 Sadas de mercadorias

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.

10.2.4.4 Tela inicial


Clique sobre a aba intitulada "Tela inicial" para criar uma tela de apresentao para esta nossa aplicao exemplo,
como mostra a tela da figura 10.5. Voc poder clicar sobre o boto de adicionar imagem e selecionar um arquivo qualquer
de extenso .BMP ou .ICO por meio de um dilogo padro do Windows.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

239

Figura 10.5

Feche, agora, a janela de definio do projeto.

10.2.5 Inserindo as janelas de dados


Agora, cada uma das tabelas que foram definidas na estrutura do banco de dados precisam ser inseridas na rvore do
projeto para que sejam definidos mais alguns aspectos, como, por exemplo, validao de campos, telas para entrada de
dados, etc. Para facilitar estas explicaes, vamos inser-las, uma a uma, nas posies corretas e, depois, selecionaremos
cada uma delas para entrarmos com as definies pertinentes. Vamos clicar, agora, sobre o pequeno quadrado com o sinal
de menos (-) esquerda dos nomes dos mdulos Arquivo, Editar e Exibir. Isto far com que esses mdulos ocultem os seus
subordinados, facilitando as explicaes seguintes.
Para inserir mdulos na rvore do projeto, devemos primeiro selecionar o mdulo de nvel maior, sob o qual inseriremos o
novo mdulo.
Primeiramente, vamos agrupar as tabelas de Fornecedores e Indexadores abaixo de um menu, que intitularemos Tabelas.
Proceda conforme se segue:
selecione o ttulo do projeto - primeiro mdulo da rvore;
clique no boto de insero de mdulos e selecione o tipo Menu;
a janela representada na figura 10.6 aparecer.

2008 GAS Tecnologia

240

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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:

2008 GAS Tecnologia

242

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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 Definindo as janelas de dados


Comearemos definindo as duas janelas de dados que esto sob o menu Tabelas.

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:

boto de definio de mdulo

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.

2008 GAS Tecnologia

244

GAS 2007 - Manual do Usurio

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:

boto para ativar o Editor de Recursos

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

Vamos iniciar a insero dos campos na janela de digitao:


abra a lista Campos, situada na janela de ferramentas de tela, e clique sobre o primeiro campo: "Cdigo do
fornecedor";

2008 GAS Tecnologia

246

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

Para montar a nossa expresso de validao, faa o seguinte:


selecione a a opo Vazio;
clique sobre a opo "Negar condio";
clique sobre o boto de concatenao:

boto de concatenao

2008 GAS Tecnologia

248

GAS 2007 - Manual do Usurio

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:

boto para aceitar definies

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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.

boto para criar tela padro

2008 GAS Tecnologia

250

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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:

2008 GAS Tecnologia

252

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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.

2008 GAS Tecnologia

254

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

Cdigo

Validao

Not Vazio(Codigo)

Mensagem

Cdigo no pode ser vazio

Descrio do produto

Validao

Not Vazio(Descricao_do_produto)

Mensagem

Descrio no pode ser vazio!

Quantidade Mnima

Validao

Not Vazio(Quantidade_minima)

Mensagem

Quantidade mnima ilegal!

Valor inicial

Preo de custo

2008 GAS Tecnologia

Validao

Preco_de_custo > 0

Mensagem

Preo de custo deve ser maior que zero

255

256

GAS 2007 - Manual do Usurio

Preo indexado

Validao

Not Vazio(Preco_indexado)

Mensagem

Preo indexado no pode ser vazio!

Lucro bruto

Validao

Lucro_bruto > 0 AND Lucro_bruto <= 100

Mensagem

Lucro bruto ilegal!

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".

10.2.6.4 Entradas de produtos


Definiremos, agora, a janela de "Entradas de produtos" que corresponde aos dados gerais das Notas Fiscais de
fornecedores. Aplique um clique com o boto direito do mouse sobre o item "Entradas de produtos" na rvore do projeto,
selecione a opo "Define o mdulo selecionado" e informe os dados da aba Geral, conforme aparece na figura 10.23.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

258

GAS 2007 - Manual do Usurio

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;

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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:

2008 GAS Tecnologia

260

GAS 2007 - Manual do Usurio

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:

PegaSequencia("Contas a pagar", "Nmero de Lanamento", 1, 1)

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

262

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

Informao

263

Contedo

Tabela auxiliar

Produtos em estoque

Forar relacionamento

ndice

Cdigo

Campo par unir as tabelas

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.

2008 GAS Tecnologia

264

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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.

2008 GAS Tecnologia

266

GAS 2007 - Manual do Usurio

Figura 10.30

A partir desta tela, vamos criar um lanamento procedendo da seguinte maneira:


clique em Adiciona para criar um novo lanamento;
para Ttulo, informe Movimentao;
na lista "Tabela alvo", selecione "Movimentacao_de_produtos";
digite 1 no campo Quantidade;

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:

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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:

2008 GAS Tecnologia

268

GAS 2007 - Manual do Usurio

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:

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

Produtos_em_estoque![Quantidade em estoque] + Quantidade_entrada

Frmula inversa

Produtos_em_estoque![Quantidade em estoque] - Quantidade_entrada

2008 GAS Tecnologia

270

GAS 2007 - Manual do Usurio

Informao

Contedo a informar/selecionar

Ttulo

ltima atualizao

Tabela alvo

Produtos_em_estoque

Campo alvo

Data ltima atualizao

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

Frmula direta

Movimentacao_de_produtos!Entradas + Quantidade_entrada

Frmula inversa

Movimentacao_de_produtos!Entradas - Quantidade_entrada

Informao

271

Contedo a informar/selecionar

Ttulo

Atualiza contas a pagar

Tabela alvo

Contas_a_pagar

Campo alvo

Valor

Frmula direta

Contas_a_pagar!Valor + (Quantidade_entrada * Valor)

Frmula inversa

Contas_a_pagar!Valor - (Quantidade_entrada * Valor)

Informao

Contedo a informar/selecionar

Ttulo

Valor da NF

Tabela alvo

Notas_fiscais

Campo alvo

Valor

Frmula direta

Notas_fiscais!Valor + (Quantidade_entrada * Valor)

Frmula inversa

Notas_fiscais!Valor - (Quantidade_entrada * Valor)

Terminados os processamentos, aproveite para clicar sobre a primeira aba Geral e marcar a opo "Mdulo pronto",

2008 GAS Tecnologia

272

GAS 2007 - Manual do Usurio

clicando no boto Grava posteriormente.

10.2.6.6 Colocando o grid na tela


Agora que j efetuamos as definies do mdulo "Itens da nf", necessitamos oferecer uma maneira do usurio inserir os
dados. Como definimos que este mdulo seria do tipo Tabela em grid, teremos que inserir um objeto gDbGrid na tela do
mdulopai. Portanto, selecione na rvore do projeto o mdulo "Entrada de produtos" e preparemos a tela de digitao dos
dois mdulos ao mesmo tempo. Primeiramente, vamos criar a tela do mdulo pai que so os dados de notas fiscais. Clique
sobre o boto de formatao da tela, j conhecido, na barra de ferramentas do GAS e formate uma tela semelhante que
aparece na figura 10.33. Lembre-se de que voc pode utilizar o boto de tela padro (wizard) para cri-la, como j vimos
anteriormente.

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

que o GAS oferece, automaticamente, valores default para a maioria dessas informaes.

Nmero da NF

Mensagem

No pode ser vazio!

Data

Validao

Not VAzio(Data)

Mensagem

Data ilegal!

Valor inicial

Date

Cdigo do fornecedor

2008 GAS Tecnologia

Validao

Not Vazio(Codigo do fornecedor)

Mensagem

Cdigo no pode ser vazio!

273

274

GAS 2007 - Manual do Usurio

Valor

Validao

(retirar as informaes sugeridas)

Mensagem

(retirar as informaes sugeridas)

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.

boto para inserir grid na 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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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;

boto para inserir coluna aps a selecionada

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.

2008 GAS Tecnologia

276

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

278

GAS 2007 - Manual do Usurio

informaes, clicando no boto Grava.

10.2.6.8 Sada de mercadorias


Agora, necessitamos definir o mdulo responsvel pela movimentao de sada de produtos em estoque. Aplique um
clique com o boto direito do mouse no item "Sada de mercadorias", na rvore do projeto, selecione a opo "Define o
mdulo selecionado" e informe os dados que aparecem na figura 10.38:

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

Contedo a informar / selecionar

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

Tabela auxiliar

Produtos em estoque

Forar relacionamento

ndice

Cdigo

Campo p/ unir tabelas

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

Contedo a informar / selecionar

Tabela auxiliar

Movimentao de produtos

Forar relacionamento

ndice

Cdigo e Data

Cdigo(Codigo)
Campo p/ unir tabelas
Data

Clique na aba Lanamentos e proceda conforme se segue:

clique em Adiciona para criar um novo lanamento;

2008 GAS Tecnologia

280

GAS 2007 - Manual do Usurio

para Ttulo, informe Movimentao;

na lista de nome "Tabela alvo", selecione o campo "Movimentacao_de_produtos";


em Quantidade, informe o nmero 1 para criarmos apenas um registro;
acione a tela da figura 10.39, clicando no boto extensor (com reticncias) do campo "Condio incluso lanamento"
e, em seguida, na aba "Em Tabelas".

Figura 10.39

selecione a tabela "Movimentacao_de_produtos", a partir desta tela;


em "Campos disponveis", clique sobre o campo Cdigo da tabela bsica;
clique no campo Data;
marque a opo "Negar condio";
clique sobre o boto de concatenar que j conhecemos;
clique sobre o boto de confirmao para aceitar as informaes.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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:

2008 GAS Tecnologia

282

GAS 2007 - Manual do Usurio

Informao

Contedo a informar / selecionar

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

Contedo a informar / selecionar

Ttulo

ltima atualizao

Tabela alvo

Produtos_em_estoque

Campo alvo

Data ltima atualizao

Frmula direta

Date

Informao

Contedo a informar / selecionar

Ttulo

Movimenta sada

Tabela alvo

Movimentacao_de_produtos

Campo alvo

Sadas

Frmula direta

Movimentacao_de_produtos!Sadas + Quantidade_de_saida

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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

2008 GAS Tecnologia

284

GAS 2007 - Manual do Usurio

categoria Ttulo, para "Descrio do produto".

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

Cdigo no pode ser vazio!

Data

Validao

Not Vazio(Data)

Mensagem

Data ilegal!

Valor Inicial

Date

Quantidade de sada

Quantidade_de_saida > 0 AND

Validao

Quantidade_de_saida <=
Produtos_em_estoque![Quantidade
estoque]

em

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

Mensagem

Quantidade ilegal ou insuficiente!

Valor inicial

285

Valor

Validao

Valor > 0

Mensagem

Valor tem que ser maior do que zero!

No esquea de marcar a opo "Mdulo pronto", na aba Geral da interface de definio de janelas de dados e de
gravar as informaes.

10.2.6.9 Parmetros do sistema


Temos uma ltima tabela para definir. Trata-se da tabela "Parmetros do sistema" que, como voc deve se lembrar,
foi inserida sob o menu Arquivo. Para definir a janela correspondente a esta tabela, voc ter que expandir o mdulo
Arquivo (clicando sobre o objeto marcado com "+" esquerda desta opo) e inserir as informaes que aparecem na tela
da figura 10.42 a seguir:

2008 GAS Tecnologia

286

GAS 2007 - Manual do Usurio

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.

10.2.6.10 Movimentao dos produtos


Mais uma janela de dados temos que definir. Aplique um clique com o boto direito do mouse no item "Movimentao de
produtos", na rvore do projeto, selecione a opo "Define o mdulo selecionado" e informe os dados constantes da figura
10.43 a seguir:

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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:

2008 GAS Tecnologia

288

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

289

10.2.6.11 Ajuste de estoque


Agora, para ilustrar nosso exemplo prtico, vamos criar na aplicao uma maneira do usurio atualizar a quantidade em
estoque de produtos diretamente sobre a tabela "Produtos em estoque", cuja janela de dados j definimos. Isto demonstrar
que podemos acessar uma mesma tabela de outros pontos da aplicao, disponibilizando apenas os campos que queremos
e, ainda, inibindo certas aes do usurio.
Primeiramente, insira uma nova janela de dados na rvore do projeto, procedendo conforme se segue:
clique sobre o mdulo Movimentao para selecion-lo. Vamos inserir abaixo desta opo de menu;
clique sobre o boto de insero de mdulos na rvore;
selecione o tipo de mdulo "Janela de dados";
quando solicitada a escolha da posio de insero, aplique um duplo-clique sobre "Sada de mercadorias";
clique sobre o mdulo recentemente inserido na rvore e altere o seu nome para &Ajuste de estoque.
Agora, aplique um clique com o boto direito do mouse neste item, na rvore do projeto, selecione a opo "Define o
mdulo selecionado" e informe o que aparece na janela da figura 10.46. Observe que algumas opes de operao foram
alteradas, aparecendo de maneira diferente do que foi definido nas janelas de dados anteriores:
a opo Permitir incluso foi desmarcada. Isto significa que, a partir deste mdulo, o usurio no poder incluir
registros na tabela bsica;
a opo Permitir excluso tambm foi desativada para que o usurio no possa efetuar excluses por esse mdulo.

2008 GAS Tecnologia

290

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

291

de tela padro do GAS.


Para o label que aparece selecionado, voc deve ajustar a sua propriedade Frmula de modo que exiba a descrio do
produto correspondente ao cdigo digitado pelo usurio.

10.2.6.12 Formulrios sem vnculos de dados


Todas as janelas de dados definidas tero a opo de trabalho sem vnculo de dados. Quando definida essa opo, o
formulrio ser aberto sem mostrar nenhum dado da base, sendo sua abertura, portanto, extremamente rpida. Essa opo
extremamente til para formulrios cuja principal funo a incluso de registros (em tabelas com um grande volume de
informaes) ou para formulrios em que sero realizados, obrigatoriamente, filtros para a aquisio de dados;

Um excelente recurso a possibilidade de abrir um form desvinculado dos dados, dando mais velocidade, ideal para
bancos em servidores na internet:

10.2.6.13 Formulrios com alterao bloqueada por default


O projetista poder agora determinar que um formulrio no permita a alterao de seus registros at que o usurio
explicitamente informe que deseja essa funo, tendo, para isso, que pressionar um boto de liberao na barra de
ferramentas. Essa funcionalidade muito til para usurios no muito atentos que, s vezes, alteram um registro de
determinada tabela com o intuito de incluir um novo registro;

2008 GAS Tecnologia

292

GAS 2007 - Manual do Usurio

10.2.7 Gerando os programas fontes


A nossa aplicao est toda definida. Podemos, agora, clicar no boto a seguir para solicitar a gerao de fontes:

boto para gerar os programas fontes

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.

2008 GAS Tecnologia

Captulo 10 - Um exemplo prtico

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;

2008 GAS Tecnologia

294

GAS 2007 - Manual do Usurio

10.2.8 Gerando os programas executveis


Uma vez que os programas fontes tenham sido gerados, a tela da figura 10.49 , automaticamente, apresentada.

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.

2008 GAS Tecnologia

Captulo

XI
Captulo 11 - Utilizando a aplicao gerada

296

11

GAS 2007 - Manual do Usurio

Captulo 11 - Utilizando a aplicao gerada


Para uma melhor compreenso da operao do sistema gerado, as instrues aqui apresentadas correspondem
aplicao gerada como exemplo do captulo anterior denominado Um Exemplo Prtico. bom lembrarmos tambm que o
GAS gera, como parte da documentao da aplicao, o "Manual do Usurio", que contm todas as instrues necessrias
sua operao, conforme descrito no Captulo 8 - Gerao da Documentao.

11.1

Ativando a aplicao gerada


Localize o cone que representa o sistema Estoque no diretrio onde o mesmo fora criado ou outro onde tambm se faa
presente.

11.2

Informando os diretrios de trabalho


Ao ser ativada pela primeira vez ou caso no encontre o arquivo de nome ESTOQUE.INI no mesmo diretrio do aplicativo
Estoque, a aplicao apresenta a tela da figura 11.1, solicitando os diretrios onde iro residir os arquivos de dados:

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.

11.2.1 Dados (com extenso MDB)


o arquivo destinado a armazenar e manipular os dados digitados durante a operao da aplicao.

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.

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

297

11.2.2 Controle (com extenso LDB)


um arquivo auxiliar que controla os bloqueios dos registros acessados pelos usurios do sistema.

11.2.3 Inicializao (com extenso INI)


Este o arquivo de configurao utilizado pela aplicao. Nele sero mantidas as informaes de configurao, tais
como diretrio de trabalho, posio das janelas (forms), etc. Este arquivo criado no diretrio de instalao, ou seja, no
diretrio onde se encontrar o arquivo ESTOQUE.EXE.

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

Informando a senha e acessando a aplicao


Como a aplicao Controle de Estoques foi criada com um plano de senhas, a janela da figura 11.3 apresentada:

2008 GAS Tecnologia

298

GAS 2007 - Manual do Usurio

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:

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

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.

11.4.1 Teclas de controle de edio (janelas)


Durante os processos de digitao e alterao de registros nas janelas, existem diversas teclas com funes especiais.
A tabela a seguir mostra apenas algumas dessas teclas e a sua funcionalidade:

Tecla

2008 GAS Tecnologia

Funo que desempenha

300

GAS 2007 - Manual do Usurio

Seta esquerda

Move o cursor uma posio para a esquerda

Seta direita

Move o cursor uma posio para a direita

Seta para cima ou SHIFT+TAB

Move o cursor para o campo anterior ao que


est sendo digitado

Seta para baixo ou TAB

Move o cursor para o campo seguinte ao que


est sendo digitado

HOME

Move o cursor para o incio do campo em


edio

END

Move o cursor para o final do campo em edio

DEL

Apaga o caractere direita do cursor

ENTER

Aceita o contedo digitado no campo e passa


para o campo seguinte

SHIFT e Seta direita

Seleciona uma parte do contedo do campo


digitado

TAB

para para o campo seguinte

BACKSPACE

Apaga o caractere esquerda do cursor

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.

11.4.2 Teclas de controle de edio (grid)


Durante os processos de digitao e alterao de registros disponibilizados em grid, existem diversas teclas com
funes especiais.
A tecla F2 determina a forma com que o grid ir se portar, no sentido de recepo dos registros. O grid sempre aberto
em modo de navegao e o acionamento da tecla F2 habilita o grid para ser possivel a digitao de uma nova informao ou
alterao de uma informao existente.
A tabela a seguir mostra apenas algumas dessas teclas e a sua funcionalidade, que podem variar de acordo com a
forma em que ele se encontra, entre navegao e pre-edio(F2):

Tecla

Funo que desempenha

Funo que desempenha

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

(em modo navegao)

F2

Habilita a pr-edio no grid.

Seta esquerda

301

(em modo pr edio)

Sem efeito especfico

Move o cursor uma posio para a


Move o cursor uma posio para a
esquerda dentro do grid
esquerda dentro da coluna

Seta direita

Move o cursor uma posio para a


Move o cursor uma posio para a
direita dentro do grid
direita dentro da coluna

Seta para cima

Move o cursor para o registro


Move o cursor para o registro
disponibilizado imediatamente a cima disponibilizado imediatamente a cima
(anterior) ao registro corrente
(anterior) ao registro corrente

Seta para baixo

Move o cursor para o registro


disponibilizado imediatamente a baixo
(posterior) ao registro corrente

Idntica ao modo navegao

HOME

Move o cursor para o incio do grid

Move o cursor para o inicio da coluna

END

Move o cursor para o final do grid

Move o cursor para o final da coluna

DEL

Apaga o registro corrente, desde que a


linha toda esteja selecionada.

Apaga o caractere direita do cursor

ENTER

Sem efeito especfico

Aceita o contedo digitado no campo e


passa para o campo seguinte

SHIFT e Seta direita

Sem efeito especfico

Seleciona uma parte do contedo do


campo digitado

TAB

Muda o foco para o controle seguinte

BACKSPACE

Sem efeito especfico

F5

Atualiza(refresh) o grid, recarregando


os dados.

Idntica ao modo navegao

Apaga o caractere esquerda do


cursor

Sem efeito especfico

CONTROL + HOME

Vai para a primeira coluna do grid.

Idntica ao modo navegao

CONTROL + END

Vai para a ultima coluna do grid.

Idntica ao modo navegao.

Move uma coluna para o lado da seta

Move uma coluna para o lado da seta

CONTROL
movimentao

2008 GAS Tecnologia

Seta

de

302

GAS 2007 - Manual do Usurio

PageUp

Move um pgina acima da coluna atual

Move um pgina acima da coluna atual

PageDown

Move um pgina abaixo da coluna atual

Move um pgina abaixo da coluna atual

11.4.3 Incluindo Fornecedores


selecione o menu Tabelas e clique sobre a opo intitulada Fornecedores;
clique sobre o boto de incluso de registros ou utilize a hot-key CTRL-I:

boto para incluso de registro

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.

boto de gravao de informaes

Cd. do fornec.

Nome do fornec.

INDSTRIAS QUMICAS IQL LTDA

Contato

JOO DA SILVA

Telef. do fornec.

111-11-111-1111

Ramal

111

Fax

101-01-010-1010

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

Cd. do fornec.

Nome do fornec.

ABC CELULOSE S.A.

Contato

MRCIO

Telef. do fornec.

222-22-222-2222

Ramal

2008 GAS Tecnologia

Fax

212-12-121-2121

Cd. do fornec.

Nome do fornec.

XP CELULOSE E DERIVADOS LTDA

Contato

PEDRO ANTONIO

Telef. do fornec.

333-33-333-3333

Ramal

333

Fax

323-23-232-3232

Cd. do fornec.

Nome do fornec.

SANTA MARTA EQUIPAMENTOS

Contato

MARLENE

Telef. do fornec.

444-44-444-4444

303

304

GAS 2007 - Manual do Usurio

Ramal

Fax

434-34-343-4343

Cd. do fornec.

Nome do fornec.

ATILA FABRIL LTDA

Contato

JORGE

Telef. do fornec.

555.55.555-5555

Ramal

555

Fax

545-45-454-5454

Em seguida, feche a janela para encerrar a operao com a tabela de Fornecedores.

11.4.4 Incluindo indexadores


Selecione a tabela Indexadores da mesma forma explanada anteriormente para Fornecedores e pressione o boto de
incluso para digitar apenas a data de hoje e o valor do dlar correspondente data informada, j que, no nosso exemplo,
utilizaremos o indexador Dlar. A seguir, feche a janela para encerrar a operao com a tabela de Indexadores.

11.4.5 Incluindo Parmetros


Selecione "Arquivo/Parmetros do sistema" e digite na tabela de Parmetros as informaes a seguir:

Nome da moeda

Dlar

Sigla da moeda

US$

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

305

Em seguida, feche a janela para encerrar a operao com a tabela de Parmetros.

11.4.6 Incluindo produtos


Agora que j cadastramos os dados das tabelas e dos parmetros da aplicao, vamos digitar alguns registros de
produtos constantes das grades abaixo para facilitar o entendimento da operao da aplicao. Em geral, esta opo
utilizada somente na implantao da aplicao para digitar o resultado do inventrio inicial efetuado no estoque. As
modificaes de estoque sero efetuadas por meio das movimentaes de entrada e sada de mercadorias, conforme
veremos mais adiante.

2008 GAS Tecnologia

Cdigo

Descri. do prod.

Lpis preto nmero 1

Unidade

Un

Quant. mnima

200

Preo de custo

2,30

Preo indexado

0,23

Lucro bruto

75

Cdigo

Descri. do prod.

Lpis preto nmero 2

Unidade

Un

Quant. mnima

200

Preo de custo

2,30

306

GAS 2007 - Manual do Usurio

Preo indexado

0,23

Lucro bruto

75

Cdigo

Descri. do prod.

Caneta BIC Azul

Unidade

Un

Quant. mnima

200

Preo de custo

7,50

Preo indexado

0,75

Lucro bruto

60

Cdigo

Descri. do prod.

Pincel atmico azul

Unidade

Un

Quant. mnima

100

Preo de custo

12,50

Preo indexado

1,25

Lucro bruto

80

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

2008 GAS Tecnologia

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

GAS 2007 - Manual do Usurio

Cdigo

Descri. do prod.

Caderno espiral 100 fls

Unidade

Un

Quant. mnima

1.000

Preo de custo

10,00

Preo indexado

1,00

Lucro bruto

70

Cdigo

Descri. do prod.

Caderno espiral 150 fls

Unidade

Un

Quant. mnima

1.000

Preo de custo

12,50

Preo indexado

1,25

Lucro bruto

70

Cdigo

Descri. do prod.

Caderno espiral 200 fls

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

Unidade

Un

Quant. mnima

1.000

Preo de custo

15,00

Preo indexado

1,50

Lucro bruto

70

Cdigo

10

Descri. do prod.

Grampeador inox modelo 1

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.

2008 GAS Tecnologia

310

GAS 2007 - Manual do Usurio

11.4.6.1 Carregando um campo do tipo multimdia


Na janela de "Produtos em estoque", existe um campo do tipo multimdia que manipulado de uma forma diferente dos
demais. Como no h digitao sobre este campo, existe um boto a ele associado para permitir a insero e retirada dos
arquivos a serem armazenados no banco de dados por meio dele:

clique sobre o boto "Foto do produto";


a partir do dilogo padro de seleo de arquivos, selecione o nome do arquivo desejado;
clique sobre o boto OK.

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!

11.4.6.2 Retirando um arquivo do campo multimdia


Para retirar um arquivo que j esteja no campo multimdia, clique sobre o boto associado a este campo e selecione a
opo "Retirar mdia".

11.4.7 Operando o plano de senhas


Selecione a opo "Arquivo/Manuteno de senhas" para que a aplicao apresente a tela da figura 11.5 a seguir:

Figura 11.5

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

311

11.4.7.1 Alterando a senha


A partir desta janela, qualquer usurio cadastrado, independentemente do grupo a que pertena, est apto a alterar a
prpria senha, bastando:
clicar na aba "Muda Senha";
digitar a senha que est sendo utilizada no campo "Senha atual";
digitar a nova senha a ser utilizada no campo "Nova senha";
redigitar a nova senha a ser utilizada no campo "Redigite a nova senha" para efeito de confirmao;
clicar sobre o boto de gravao a seguir para efetivar a troca de senhas.

boto de gravao de informaes

Se desejar cancelar os dados digitados, clique sobre o boto de cancelamento a seguir:

boto de cancelamento

11.4.7.2 Criando Grupos


O sistema de senhas da aplicao contm um nvel para agrupar usurios denominado Grupo.
Assim, cada usurio dever estar ligado a um grupo, "herdando" as permisses de acesso que so atribudas para o
grupo. Para a operao com grupos, clique na aba Grupos para que a aplicao apresente a tela da figura 11.5 apresentada
a seguir:

2008 GAS Tecnologia

312

GAS 2007 - Manual do Usurio

Figura 11.6

Para cadastrar um novo grupo, proceda conforme se segue:


clique sobre o boto de incluso, que aparece a seguir:

boto para incluso de informaes

digite o nome do novo grupo no campo "Novo grupo";


estabelea as permisses que deseja designar ao novo grupo, marcando ou desmarcando as opes Visualiza, Inclui,
Modifica e Exclui conforme desejado;

clique sobre o boto de gravao para efetivar a incluso do novo grupo.

boto de gravao de informaes

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

313

11.4.7.3 Removendo um grupo


Para remover um grupo j cadastrado no plano de senhas, proceda conforme se segue:
clique sobre o grupo que se deseja remover para selecion-lo;
clique sobre o boto de remover grupo, que aparece a seguir:

boto para excluso de grupos

quando solicitado, confirme a remoo do grupo, clicando sobre o boto Sim.

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.

11.4.7.4 Alterando permisses de grupos


Como j vimos anteriormente, as permisses so designadas a nvel de grupo para que os usurios deste grupo
"herdem" essas permisses. Para modificar permisso de grupo, deve-se proceder conforme se segue:

clique sobre a aba Grupos;


selecione, na lista de grupos, o grupo cujas permisses deseja alterar;
nas abas intituladas Tabelas e Menus, a aplicao disponibilizar os nomes das tabelas e menus existentes e, logo
abaixo, opes de permisses que podem ser designadas. Selecione a tabela desejada, marque as operaes a serem
permitidas e deixe desmarcadas as que sero cerceadas para a tabela ou menu selecionado.

11.4.7.5 Credenciando usurios


Para que uma pessoa possa utilizar esta aplicao, devemos credenci-la como usurio dentro do plano de senhas.
Assim, clique sobre a aba Usurios e a tela da figura 11.7 aparecer:

2008 GAS Tecnologia

314

GAS 2007 - Manual do Usurio

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.

11.4.7.6 Descredenciando usurios


O descredenciamento de usurios pode ser efetuado na mesma janela apresentada na figura 11.6 da seguinte forma:
selecione o usurio a ser descredenciado ou removido do plano de senhas a partir da lista "Usurios do grupo";
clicar sobre o boto de excluso:
clique sobre o boto Sim, quando solicitada a confirmao da excluso do usurio.

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

315

11.4.8 Digitando Notas Fiscais de Fornecedores


Iremos, agora, efetuar algumas operaes de movimentao de estoque. Selecione "Movimentao/Entrada de produtos"
no menu para acessar a digitao de dados da Nota Fiscal de produtos recebidos. Lembre-se que, para iniciar a incluso de
registros, devemos clicar sobre o boto de incluso, que j conhecemos, existente na barra de ferramentas da aplicao:

Nmero da NF - Informe o nmero 1 para esta Nota Fiscal.

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

Caderno espiral 100 fls

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;

2008 GAS Tecnologia

316

GAS 2007 - Manual do Usurio

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.

11.4.9 Uilizando os recursos da aplicao


Agora, aprenderemos como navegar nos registros de uma tabela e como alterar dados j digitados. Veremos, ainda,
alguns recursos disponveis no momento em que estivermos navegando na tabela. Selecione a opo Produtos a partir do
menu e a tela da figura 11.8 aparecer:

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.

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

317

11.4.9.1 Boto para alternar visualizao


Temos duas formas de visualizar uma tabela: tela a tela, conforme figura 11.8, ou em grade, como na figura 11.9.

Figura 11.9

Um boto de dois estgios existente na barra de ferramentas serve para alternar esses dois modos de visualizao.

boto de alternar 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.

2008 GAS Tecnologia

318

GAS 2007 - Manual do Usurio

11.4.9.2 Boto de incluso


O boto para incluir um novo registro na tabela ativa aparece abaixo. Ns j fizemos uso do mesmo quando cadastramos
registros nas tabelas.

boto de incluso de registros

O operador do sistema poder, ainda, fazer uso do atalho CTRL-I para incluir novos registros na tabela ativa.

11.4.9.3 Boto de apresentao de grfico


O boto a seguir tem por finalidade criar um grfico envolvendo uma ou mais colunas da grade.

boto para apresentao de grfico

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.

11.4.9.4 Boto de procura


Clique sobre o boto a seguir para procurar um registro na tabela ativa (ver tpico Procurando um registro).

boto de procura de registros


O operador do sistema poder, ainda, fazer uso do atalho CTRL-P para procurar da mesma forma como executada
pelo boto acima mencionado.

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

319

11.4.9.5 Boto de filtragem e ordenao


Clique sobre o boto a seguir para visualizar somente um grupo de registros da tabela ativa no presente momento,
obedecendo a uma ordenao especfica, com base em quaisquer campos, determinada pelo usurio.

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.

boto de filtragem e ordenao de registros

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.

11.4.9.5.1 Barra de navegao

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

Lista para escolha da ordem da 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.

2008 GAS Tecnologia

320

GAS 2007 - Manual do Usurio

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.

11.4.9.6 Boto de imprimir


Clique sobre o boto a seguir para imprimir a tela do registro corrente, se no formato tela, ou a grade corrente, se no
formato grade. Outras janelas que no sejam de dados podem tambm ser impressas com este boto.

boto para ativar impresso

11.4.9.7 Boto de consulta


Clique sobre o boto a seguir para visualizar uma consulta ou criar uma nova (ver tpico Operando com consultas
neste captulo).

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

321

Boto para a criao de consultas

11.4.9.8 Boto de informaes


Clique sobre o boto que aparece a seguir para obter informaes sobre o banco de dados manipulado pela aplicao.

boto para exibir informaes do banco de dados

11.4.9.9 Boto de finalizar


Clique sobre o boto a seguir para finalizar a operao.

boto para finalizar as operaes

11.4.10 Operando com consultas


Uma consulta uma forma de visualizar registros de diversos arquivos de uma s vez, podendo ser estabelecido um
filtro e/ou uma ordem especial.
Aps prepararmos uma determinada consulta podemos grav-la para posterior visualizao. Assim, veremos como
operar com consultas.
Para acessar a janela de contruo de consultas, clique sobre o boto a seguir na barra de ferramentas ou selecione a
opo de menu "Arquivo/Construo de consultas".

boto para a criao de consultas

A tela da figura 11.11 ser apresentada:

2008 GAS Tecnologia

322

GAS 2007 - Manual do Usurio

Figura 11.11

11.4.10.1 Vizualizando uma consulta existente


Para visualizar uma consulta existente, a partir do construtor de consultas da figura 11.9, devemos selecion-la e clicar
sobre o boto a seguir:

boto para apresentar a coluna selecionada


Uma vez que estejamos visualizando a consulta, podemos contar com diversos recursos:
estabelecer uma seleo e pesquisa de registros;
totalizar uma coluna, se for numrica (consultar o tpico Totalizando uma coluna neste captulo);
construir um grfico a partir de dados da consulta (consultar o tpico Trabalhando com grficos neste captulo);
filtrar informaes dinamicamente com base no campo presente sobre cada uma das colunas;
imprimir os dados da consulta.

11.4.10.2 Criando uma nova consulta


Para criar uma nova consulta e adicion-la ao menu da tela que aparece na figura 11.9, clique com o mouse sobre o
boto a seguir:

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

323

boto para criar a nova consulta

A tela da figura 11.12 apresentada:

Figura 11.12

As seguintes informaes devem ser digitadas:


11.4.10.2.1 Contedos

Apresenta as seguintes opes:


11.4.10.2.1.1 Nome da consulta

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".

2008 GAS Tecnologia

324

GAS 2007 - Manual do Usurio

11.4.10.2.1.3 Campos a mostrar

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:

Fornecedores->Telefone do fornecedor + ' - ' + Fornecedores->Ramal

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.

11.4.10.2.2 Grupos e ordenao

Apresenta as seguintes opes:

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

325

11.4.10.2.2.1 Agrupar por

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

Para especificar a ordenao da consulta, proceda conforme se segue:

abra a lista, clicando sobre o boto direita da lista;

selecione um dos campos;

selecione a opo Ascendente ou Descendente, conforme desejado, na moldura Ordenao;

repita os passos acima para selecionar quantos campos julgar necessrio;

se desejar retirar um campo da ordenao, basta selecion-lo novamente na lista.

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

Apresenta as opes seguintes


11.4.10.2.3.1 Os primeiros

Pode-se especificar que sejam exibidos somente os primeiros registros retornados por uma consulta.

Para tanto, proceda conforme se segue:

2008 GAS Tecnologia

326

GAS 2007 - Manual do Usurio

clique na janela "Os primeiros";

digite o nmero desejado;

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;

selecione o campo desejado para estabelecer uma condio;

abra a lista Operador e selecione um dos operadores:

Operando

Significado

igual a

<>

diferente de

>

maior que

>=

maior ou igual a

<

menor que

<=

menor ou igual a

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

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.

11.4.10.3 Apagando uma consulta


Consultas que tenham sido criadas podem ser retiradas do menu, bastando selecionar a consulta, clicar sobre o boto a
seguir e confirmar o seu apagamento.

boto para apagar a consulta selecionada

11.4.10.4 Apagando colunas das grades de consulta


possvel apagar uma ou mais colunas da grade que exibe registros, sem que se perca os dados das mesmas. Para
tanto, basta efetuar o seguinte:

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:

2008 GAS Tecnologia

328

GAS 2007 - Manual do Usurio

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.

11.4.10.5 Quebra na impresso de consultas (COPY)


Possibilidade de definir quebra ao imprimir qualquer consulta criada pelo usurio na aplicao final, bem como definir
totalizadores para cada nvel de quebra.

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

329

11.4.11 Procurando um registro


Para localizar um registro qualquer dentro de uma tabela, basta selecionar a opo "Editar/ Procurar" no menu ou clicar
sobre o boto de procurar registros, que j exibimos anteriormente neste captulo.
A tela da figura 11.14 aparecer:

Figura 11.14

2008 GAS Tecnologia

330

GAS 2007 - Manual do Usurio

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.

boto para reiniciar a definio da pesquisa

11.4.12 Trabalhando com grficos


Durante a visualizao de uma consulta ou no trabalho em grade, pode-se selecionar colunas da grade e traar grficos
para serem visualizados, impressos ou gravados em disco para utilizar em outras aplicaes. Vamos utilizar, como exemplo,
a consulta representada na tela da figura 11.15 a seguir:

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;

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

331

exclua as colunas selecionadas, fazendo uso do atalho CTRL-L;

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

11.4.12.1 Alterando a forma de visualizao do grfico


Clique com o boto direito do mouse sobre o grfico apresentado e ser exposta a tela da figura 11.17, a qual permitir a
alterao da forma de visualizar o grfico exibido.

2008 GAS Tecnologia

332

GAS 2007 - Manual do Usurio

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:

boto para restaurar uma definio de grfico

11.4.12.2 Gravando um grfico


A imagem de um grfico que esteja sendo apresentada pode ser gravada em disco, em formato .BMP ou .WMF, para
ser exportada para outras aplicaes, por meio do boto de gravao situado na barra de ferramentas ou por meio do atalho
CTRL-S.

Um dilogo padro do Windows ser apresentado para solicitar um nome de arquivo sob o qual o grfico deve ser
gravado.

11.4.12.3 Imprimindo um grfico


Da mesma forma, para imprimir a imagem do grfico na impressora padro do Windows, clique sobre o boto de
impresso que j exibimos neste captulo.

2008 GAS Tecnologia

Captulo 11 - Utilizando a aplicao gerada

333

11.4.13 Reparao do banco de dados


A reparao do banco de dados uma funo de apoio da aplicao que tem por finalidade restabelecer os ndices das
tabelas bem como eliminar os "buracos" deixados por registros que tenham sido apagados (compactao). Esta operao
pode ser necessria quando, devido a causas externas (queda ou pico de energia), o banco de dados for danificado. Esta
operao s pode ser efetuada com o banco de dados fechado, ou seja, sem nenhum usurio estar acessando suas
tabelas. Caso seja necessria, esta operao poder ser ativada por meio da opo de menu "Arquivo/Reparao" ou por
meio do boto exibido a seguir:

boto para reparao do banco de dados

2008 GAS Tecnologia

Captulo

XII
Captulo 12 - O GAS como ferramenta de desenvolvimento

Captulo 12 - O GAS como ferramenta de desenvolvimento

12

335

Captulo 12 - O GAS como ferramenta de


desenvolvimento
O presente captulo voltado para pessoas ligadas rea de informtica, pois apresenta informaes mais tcnicas que
possibilitam ou facilitam a modificao de programas fontes gerados pelo GAS.

12.1

Funes genricas geradas na aplicao


As aplicaes geradas utilizam diversas funes de uso geral que o GAS disponibiliza no mdulo .BAS criado junto com
os programas fontes. Algumas dessas funes, principalmente as de validao de campos, nem sempre so geradas. O
GAS detecta se h necessidade da sua existncia na aplicao quando gera os programas fontes. Todas essas funes
aparecem neste tpico documentadas e, para serem utilizadas, no necessitam quaisquer declaraes especiais.

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)

2008 GAS Tecnologia

336

GAS 2007 - Manual do Usurio

Retorna True (-1) se o arquivo especificado por


ExpC existe no disco.

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$)

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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:

GravaNoIni ("Geral", "Dir", "C:\AP","C:\AP\ESTOQUE.INI")


GravaNoIni ("Geral", "Cor", Str$(15), "C:\AP\ESTOQUE.INI")
Resultado no arquivo .INI
[Geral]
Dir=C:\AP
Cor = 15

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"

2008 GAS Tecnologia

338

GAS 2007 - Manual do Usurio

Agora,

Print HaNaString(1,Alvo$, Oque$, True)


2 'pesquisa caractere a caractere, na qual a letra "a" de "lara"
'foi encontrada na posio 2

Esta funo case sensitive, ou seja, maisculas no correspondem a minsculas.

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:

x$ = "Gas Tecnologia Ltda"


Print LPad$(x$, 40, "*")
********************Gas Tecnologia

Ltda

12.1.13 MMAA
MMAA(ExpC)
Retorna True (-1) se a data especificada no
argumento string ExpC, no formato Ms/Ano,
vlida.

Exemplo:

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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:

Contedo do arquivo .INI


[Geral]
Nome da aplicao=EST
Dir=C:\AP

2008 GAS Tecnologia

340

GAS 2007 - Manual do Usurio

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:

Contedo do arquivo .INI


[Geral]
Nome da aplicao=ESTOQUE
Diretrio=C:\APLIC
etc...
Dim DirAplic As String
DirAplic$ = PegaStrDoIni("Geral",
Print DirAplic$
C:\AP

"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)

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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,

Print Retira$(Alvo$, Oque$, True)


dr remoo feita caractere a caractere de Oque$,
excluindo os caracteres b, a, c

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:

2008 GAS Tecnologia

342

GAS 2007 - Manual do Usurio

x$ = "Gas Tecnologia Ltda"


Print RPad$(x$, 40, "*")
Gas Tecnologia Ltda********************

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"

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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:

2008 GAS Tecnologia

344

GAS 2007 - Manual do Usurio

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:

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

345

12.2.1 De abrangncia global


So as seguintes:

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.

2008 GAS Tecnologia

346

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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.

2008 GAS Tecnologia

348

GAS 2007 - Manual do Usurio

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 De abrangncia de formulrio


So as seguintes:

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

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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

2008 GAS Tecnologia

350

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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 De abrangncia local


So as seguintes:

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.

2008 GAS Tecnologia

352

12.3

GAS 2007 - Manual do Usurio

Como feito o controle de lanamentos?


O GAS permite a definio de lanamentos para serem feitos em outras tabelas da aplicao, durante a digitao de
registros. Um lanamento bastante semelhante a um processamento. Neste ltimo, nenhum registro gerado dentro da
tabela-alvo, sendo que somente os campos de um determinado registro so modificados. Por isso, uma tabela que sofre
processamento sempre est relacionada com a tabela que gerou este processamento por intermdio de relacionamentos
definidos via aba Tabelas Auxiliares. No caso do lanamento, novos registros so inseridos na tabela-alvo e seus campos
imediatamente modificados com os valores estabelecidos, no havendo a necessidade de existir relacionamento entre as
tabelas. No entanto, mesmo assim necessrio que esta tabela seja informada nas Tabelas Auxiliares.

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

Para ilustrar, considere a seguitne tabela de Nota Fiscal:

Campo

Nmero

Valor

3.452

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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

2008 GAS Tecnologia

354

GAS 2007 - Manual do Usurio

condies, validaes, etc.) para ficar assim:

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

Os arquivos de formato .DEF e .SQL


Os arquivos de extenso .DEF possuem um formato texto, proprietrio do GAS, e so por ele criados e utilizados para
controlar as estruturas do banco de dados da aplicao gerada e, ainda, na criao dos utilitrios de Adaptao de
Arquivos e Conversor de DBF para controlar as novas estruturas de dados. O que mostrado a seguir um fragmento do
arquivo .DEF definido para a aplicao Controle de Estoque que faz parte do conjunto de exemplos que acompanha o
GAS:

' esquema para a criao do banco de dados da aplicao ESTOQUE


{
' TABELAS * * * *
TABELA Contas a pagar
{
Campo Nmero de lanamento (Contador) - 9999
Campo Nmero da nf (Inteiro) - 999
Campo Data (Data) - 99/99/99
Campo Valor (Dupla) - 999999999.99
Campo Cod~lan (Texto 20) - Invisvel
Indice Lanamento (Nmero de lanamento Primario)
Indice Nota fiscal (Nmero da nf Unico)
Indice Cod~lan (Cod~lan Unico)
}
...
' RELACOES * * * *
RELACAO Notas fiscais/Itens
{
Base Notas fiscais
Estrangeira Itens da nf
Atributo ESQUERDA + ATUALIZA CASCATA + EXCLUI CASCATA
Campo Nmero da nf / Nmero da nf
}
...
' INTEGRIDADES * * * *
RELACAO PW~Usuarios em PW~Grupo
{
Base PW~Grupos
Estrangeira PW~Usuarios
Atributo ESQUERDA + ATUALIZA CASCATA + EXCLUI CASCATA

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

355

Campo Nome / Grupo


}
}

O fragmento de arquivo acima, apresenta algumas definies:


linhas iniciadas com apstrofe so consideradas comentrios;
as chaves "{" e "}" so utilizadas respectivamente para iniciar e terminar estruturas que definem os elementos do
banco de dados;
as palavras-chaves TABELA, CAMPO, INDICE, INTEGRIDADE, RELACAO, etc., definem os objetos correspondentes
dentro do banco de dados;
a palavra ESQUERDA define o tipo de join utilizado para a juno de tabelas em relacionamentos 1-N (left-join);
ATUALIZA CASCATA significa que os campos da tabela que est relacionada do lado "N" sero atualizados
automaticamente quando campos correspondentes na tabela do lado "1" forem atualizados;
EXCLUI CASCATA significa que os registros da tabela relacionada do lado "N" sero excludos automaticamente (em
cascata) quando registros correspondentes na tabela do lado "1" forem excludos;
as palavras-chaves PRIMARIO e UNICO definem ndices com essas propriedades para a tabela correspondente;
ao lado de cada campo definido em TABELAS, aparece o seu nome no banco de dados e, entre parnteses, o seu tipo
e tamanho (se tipo caractere). A seguir, poder aparecer, aps um hfen, a mscara a ser utilizada para a entrada de dados
neste campo ou, ainda, a palavra INVISIVEL, se o campo foi definido com este atributo.
Ao acessar este arquivo o GAS cria automaticamente um banco de dados, se optado pelo formato JET, correspondente
ao que nele est definido. Usurios experientes do GAS, aps se familializarem com a sua estrutura, podero editar este
arquivo com um editor ASCII qualquer e alterar seus parmetros, se for desejado. Cabe ressaltar que, quando utilizado o
SQL Server ou Oracle, no caso do GAS Enterprise, ser gerado um arquivo-script de extenso .SQL, o qual dever ser
executado via Query Analyzer ou SQL Plus, ferramentas respectivamente do SQL Server e Oracle. Tal script, responsvel
por toda criao da estrutura de um banco SQL Server ou esquema Oracle (tabelas, campos, etc) exemplificado abaixo,
possui semelhana aos arquivos .DEF.

/* Esquema para a criao do banco de dados da aplicao */


/* Banco de dados: ESTOQUE */
/* Seleciona o banco de dados */
Use ESTOQUE
/*------------------------------------------------------------*/
/* Excluso de triggers */
/*------------------------------------------------------------*/
if exists (select * from sysobjects where id =
object_id('Fornecedores_UPD') and sysstat & 0xf = 8)
drop trigger Fornecedores_UPD
GO
...
/*------------------------------------------------------------*/
/* Excluso de tabelas */
/*------------------------------------------------------------*/
if exists (select * from sysobjects where id = object_id('[Contas a

2008 GAS Tecnologia

356

GAS 2007 - Manual do Usurio

pagar]') and sysstat & 0xf = 3)


drop table [Contas a pagar]
GO
...
/*------------------------------------------------------------*/
/* Excluso de default */
/*------------------------------------------------------------*/
if exists (select * from sysobjects where id = object_id('defZero')
and sysstat & 0xf = 6)
drop default defZero
GO
...

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

Captulo 12 - O GAS como ferramenta de desenvolvimento

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

O esquema de segurana utilizado nas aplicaes


O JET, SQL Server e Oracle possuem seus prprios esquemas de segurana para controlar as permisses de acesso
de usurios s tabelas. Este esquema, embora seja bastante abrangente, no permite uma maior flexibilidade para
aplicaes mais complexas como, por exemplo, gerao de processamentos, lanamentos, etc. Por esta razo, optou-se
por no utilizar nas aplicaes geradas pelo GAS o esquema de segurana interno do JET/ SQL Server/Oracle. Em
contrapartida, se a opo de gerar aplicaes com plano de senhas estiver ligada, o GAS cria nas aplicaes o seu prprio
esquema de segurana, oferecendo a devida flexibilidade onde se faz necessria.

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

2008 GAS Tecnologia

358

GAS 2007 - Manual do Usurio

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.

A tela da figura 12.3 permite o cadastramento de usurios dentro dos grupos.

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:

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

359

Figura 12.4

12.5.1 Na primeira vez que a aplicao executada...


o nome do usurio SUPERVISOR e a senha o nome do programa executvel da aplicao, sem a extenso, como,
por exemplo, ESTOQUE. Este nome informado durante a definio do mdulo geral do projeto.

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

Esquema de compatibilidade do GAS Enterprise com o SQL


Server e Oracle
O SQL Server e Oracle, a exemplo de outros bancos de dados corporativos, so bancos de dados que, praticamente,
s existem nas empresas de mdio e grande porte. Esses bancos de dados corporativos no so necessariamente mais
rpidos, sendo sim muito mais confiveis. A filosofia de banco de dados corporativo bastante organizada, tendo uma
pessoa designada especificamente para cuidar do banco de dados (Administrador de Banco de Dados ou DBA) que
gerencia, d manuteno e, sobretudo, autoriza a criao de tabelas e campos em tabelas j existentes e utilizadas por
outras aplicaes da empresa. Normalmente, o desenvolvedor dos aplicativos necessitar solicitar a ele que crie para a sua
aplicao o meio de armazenamento dos dados. Ele, provavelmente, disponibilizar reas de testes, durante a fase de
desenvolvimento e, s quando a sua aplicao estiver bem testada e pronta para ser implantada, ele ligar-la- rea de
produo. Numa corporao, no pense em um banco de dados em separado para a sua aplicao.

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.

2008 GAS Tecnologia

360

GAS 2007 - Manual do Usurio

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

Sistemas com acesso multiusurio


Os sistemas aplicativos criados pelo GAS podem, opcionalmente, ter caractersticas de processamento que permitem
mltiplos usurios acessar simultaneamente os dados. Uma vez estabelecida esta opo, os programas fontes gerados
contero toda a codificao para garantir a funcionalidade necessria. A programao de aplicativos multiusurio requer
cuidados especiais e, dependendo do tipo de aplicativo, pode ser bastante complexa.

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.

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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

Consideraes sobre o campo multimdia (gCpMM.OCX) e


digitalizao de imagens
Os campos do tipo imagem, em verses anteriores ao GAS-2001, eram implementados via vinculao do controle
gPicture a um controle Data Control (data bound), e podiam ser utilizados somente imagens de formato .BMP e .WMF. A partir
do GAS-2001, essas implementaes so efetuadas por meio do controle gCpMM sem vinculao a Data Control, sendo tal
controle capaz de armazenar qualquer tipo de imagem (.BMP, .JPG, .GIF, .TIF, etc), alm de qualquer outro tipo de mdia,
como, por exemplo, .AVI, .MPG, .WAV, .MID, .MP3, etc., e qualquer tipo de documento de aplicativos Windows, como .DOC, .
RTF, .TXT, .HTM, .XLS, .WK1, .GAS, .MDB, etc.

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.

2008 GAS Tecnologia

362

GAS 2007 - Manual do Usurio

12.8.1 Compatibilidade do campo multimdia com o Crystal Reports


Cabe ressaltar que, da forma como as imagens passaram a ser gravadas no campo multimdia do GAS, os bancos de
dados j existentes e utilizados nas aplicaes se tornaram incompatveis com o Crystal Reports. Por essa razo, a Gas
Tecnologia adotou o campo multimdia (gCpMM.OCX) para que funcione da maneira a seguir:

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:

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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\"

Definindo mdulos para impressora fiscal


A compatibilidade dos aplicativos gerados pelo GAS com a Emisso de Cupom Fiscal fora disponibilizada de forma a
oferecer a maior flexibilidade possvel ao projetista. A seguir, exporemos as mais diversas formas de se implementar a
Emisso de Cupom Fiscal s aplicaes geradas.

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

2008 GAS Tecnologia

364

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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

2008 GAS Tecnologia

366

GAS 2007 - Manual do Usurio

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

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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.

2008 GAS Tecnologia

368

GAS 2007 - Manual do Usurio

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.

Ao contrrio da primeira forma de compatibilizao, a terceira no apresenta um controle especfico para os

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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/

2008 GAS Tecnologia

370

GAS 2007 - Manual do Usurio

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.

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.

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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.

2008 GAS Tecnologia

372

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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

2008 GAS Tecnologia

374

GAS 2007 - Manual do Usurio

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".

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

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.

12.9.5 Implementando TEF - Transferncia Eletrnica de Fundos discada


O GAS permite ao projetista implementar a TEF - Transferncia Eletrnica de Fundos Discada nos aplicativos
gerados, quando utilizadas a segunda ou terceira formas de compatibilizao com a ECF, explanadas anteriormente.

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

2008 GAS Tecnologia

376

GAS 2007 - Manual do Usurio

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

12.9.6 Suporte a impressora Daruma


Adicionado suporte impressora fiscal Daruma, mantendo-se compatibilidade com todo o cdigo j existente de
impressora fiscal. Possibilidade tambm de utilizao dessa impressora com mdulos TEF. As rotinas de emisso fiscal
tambm foram remodeladas e tero nomes nicos. Sendo assim, um mesmo cdigo escrito manualmente pelo programador
funcionar para impressoras Bematech, Daruma ou Yanco.

12.10 Mdulos de apoio Emisso de Cupom


Os mdulos de apoio Emisso de Cupom Fiscal, como mostra a tela da figura 12.39 abaixo, tm por finalidade
proporcionar maior flexibilidade na manuteno da impressora fiscal, efetuando diversas operaes fiscais, tais como
fechamento de caixa, alterao de horrio de vero, sangria, cancelamento de itens, etc.

2008 GAS Tecnologia

Captulo 12 - O GAS como ferramenta de desenvolvimento

377

Figura 12.39

12.10.1 Modelo da impressora


Este mdulo permite ao operador da aplicao final selecionar o modelo de impressora fiscal que deseja utilizar, podendo
ser selecionado os modelos Bematech ou Yanco.

12.10.2 Porta de conexo


Este mdulo permite ao operador da aplicao final redirecionar a sada da impressora fiscal para uma determinada porta
de conexo (COM1, COM2, COM3, etc) disponvel.

12.10.3 Horrio de vero


Este mdulo permite ao operador da aplicao final alterar o atributo de horrio de vero da impressora fiscal. A cada
vez que o operador disparar esta opo, ele estar realizando um "chaveamento" entre os horrios de vero e
convencional.

12.10.4 Configuraes para TEF


Este mdulo permite ao administrador da aplicao final incluir, excluir, acessar e configurar os gerenciadores padro
que sero utilizados na comunicao TEF - Transferncia Eletrnica de Fundos Discada. Cabe ressaltar que os
gerenciadores padro devero ser instalados adequadamente, conforme documentao de cada operadora de crdito.
Esses gerenciadores so necessrios em virtude dessa compatibilizao ser efetuada sobre o TEF Discada e no TEF
Dedicada.

12.10.5 Abertura de caixa


Este mdulo permite ao operador da aplicao final efetuar a abertura do caixa, emitindo automaticamente uma Leitura
"X" e enviando o contedo do grande total para a memria fiscal.

12.10.6 Fechamento de caixa


Este mdulo permite ao operador da aplicao final fechar o caixa, caracterizando, assim, o fim do dia. Aps o
acionamento desta opo pelo operador, um relatrio "Z" ser emitido automaticamente, enviando o contedo do grande total
para a memria fiscal e zerando todos os totalizadores parciais. Visto que no h horrio pr-estabelecido para que o caixa
seja fechado, caso isto no seja executado at as 02:00 H do dia seguinte, a Bematech entrar automaticamente em
Reduo Z, cancelando o cupom atual e, obviamente, seus respectivos itens de venda.

2008 GAS Tecnologia

378

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Captulo

XIII
Captulo 13 - Propriedades dos objetos de tela

380

13

GAS 2007 - Manual do Usurio

Captulo 13 - Propriedades dos objetos de tela


No Captulo 5 - Operando o GAS deste manual foi explicada detalhadamente a utilizao do Editor de Recursos do
GAS na elaborao de telas para a entrada de dados e barra de ferramentas. Uma das partes mais importantes do editor de
recursos a sua janela de ferramentas de tela, por intermdio da qual se pode inserir objetos na tela e ajustar as suas
propriedades via lista de propriedades. O objetivo deste captulo descrever esta ltima parte, ou seja, as propriedades que
podem ser designadas para cada tipo de objeto.

13.1

Lista das propriedades


Sempre que um objeto selecionado na tela (ou na combobox que aparece na parte superior da janela de ferramentas
de tela), a lista de propriedades enchida com as propriedades vlidas para este objeto. Esta lista aparece, normalmente,
por default, categorizada segundo a natureza da propriedade. Se o projetista desejar, poder utilizar o boto que aparece a
seguir para mostrlas alfabeticamente ordenadas.

boto para categorizar as propriedades

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.

A seqncia a ser obedecida para o ajuste de propriedades a seguinte:


selecionar um ou mais objetos na tela;
localizar a propriedade na lista e clicar sobre a mesma;
designar o seu valor.

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

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

Propriedade

381

Descrio

Abas por linha

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.

2008 GAS Tecnologia

382

GAS 2007 - Manual do Usurio

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

Semelhante propriedade FormActivate, o diferencial que este evento executado


dentro do evento Form_Load do form criado para o mdulo em definio. Essa propriedade
tambm s estar disponvel no painel de fundo sobre o qual os outros objetos so
disponibilizados

Ao FormResize

Semelhante propriedade FormActivate, o diferencial que este evento executado


dentro do evento Form_Resize do form criado para o mdulo em definio. Essa propriedade
tambm s estar disponvel no painel de fundo sobre o qual os outros objetos so
disponibilizados.

Ao FormUnload

Semelhante propriedade FormActivate, o diferencial que este evento executado


dentro do evento Form_Unload do form criado para o mdulo em definio, antes da
execuo dos procedimentos normais gerados pelo GAS. Essa propriedade tambm s
estar disponvel no painel de fundo sobre o qual os outros objetos so disponibilizados.

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

Semelhante propriedade KeyDown, o diferencial que este evento executado dentro


do evento KeyPress do gMask.

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.

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

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

Esta propriedade determina a altura, em milmetros, das etiquetas existentes no


formulrio a ser impresso.

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.

Altura das abas

Esta propriedade determina a altura que dever ter as abas do controle tab.

Altura til do papel

Esta propriedade determina, nos relatrios elaborados por intermdio do G-Reports, a


altura til do papel, fora da qual a impressora no consegue inserir informaes (espao
deixado para tracionamento do papel, etc).

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

Determina a aparncia do objeto label, que pode ser Plana ou 3D.

Apelido

Determina o apelido para o valor do campo ou frmula vinculada ao controle. O apelido


vai ter o mesmo tipo de dado correspondente ao campo ou frmula. No caso do gDbGrid,
refere-se ao apelido da coluna (campo ou frmula) selecionada

Auto ajuste

Determina se o label ir se ajustar automaticamente para o tamanho do seu ttulo,


determinado pela propriedade Ttulo.

Avano da barra

Determina a quantidade a ser incrementada no valor do controle quando a barra de


rolagem clicada. Este valor dever ser ajustado entre 1 e 32.767, devendo ser definido
com um nmero maior do que o valor da propriedade Avano do boto. No caso do gDbGrid,
refere-se coluna (campo) selecionada.

Avano do boto

Determina a quantidade a ser incrementado no valor do controle quando o boto da barra


de rolagem clicado. Normalmente, este valor deve ser configurado como 1. No caso do
gDbGrid, refere-se coluna (campo) selecionada

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

2008 GAS Tecnologia

384

GAS 2007 - Manual do Usurio

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..

Campo para ordenar

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

Esta propriedade determina o campo ou controle por intermdio do qual sero


determinados os cdigos de itens de venda em aplicaes que utilizam da Emisso de
Cupom Fiscal, sendo de preenchimento obrigatrio.

Coluna atual

Esta propriedade indica a coluna em definio dentro de um objeto gDbGrid


disponibilizado na tela.

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

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

385

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 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 a instruo "IF.." no programa fonte para testar se o registro
ser ou no impresso.

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

Esta propriedade determina se o texto a ser impresso ir apresentar uma linha de


contorno (outline).

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.

Cor fim logotipo

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.

Cor incio 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.

Cor ttulo c/ foco

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.

Cor ttulo s/ foco

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

2008 GAS Tecnologia

386

GAS 2007 - Manual do Usurio

ou se a propriedade Ttulo no tiver sido definida.


Venda item

Esta propriedade determina o campo ou controle por intermdio do qual sero


determinadas as descries de itens de venda em aplicaes que utilizam da Emisso de
Cupom Fiscal, sendo de preenchimento obrigatrio

Descrio forma de pgto

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.

Distncia entre regs

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.

Distncia entre regs

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

Esta propriedade tem por finalidade permitir ou no a modificao e excluso de


registros visualizados em grade, estando disponvel apenas para o painel de fundo sobre o
qual os outros objetos so disponibilizados.

Editvel

Define se o campo associado ao objeto ou coluna atualmente selecionada no gDbGrid


poder ter seu valor modificado por intermdio de digitao pelo usurio da aplicao.

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

Determina a posio da margem esquerda do objeto, em relao ao seu container. Esta


propriedade no est disponvel para o painel de fundo, onde so colocados os demais
objetos na tela.

Estilo

Determina o estilo a ser aplicado no objeto. Em se tratando de boto, os valores


possveis so: Normal ou Internet. Se o objeto for Tab, os valores possveis so Windows 95
ou MS-Office.

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

387

Estilo da borda

Determina o estilo a ser aplicado na borda do objeto selecionado. Os valores possveis


so: Slido, Transparente, Trao, Ponto, Trao-ponto, Trao-Trao-ponto e Slido interno. O
efeito desta propriedade s ser visto se a propriedade Largura da borda for igual ou maior
a 1.

Exibir textura

Define a disposio da figura definida para textura ser exibida no formulrio. Os


valores possveis so Lado-a-lado, Expandido e Centralizado

Expande figura

Determina se a figura disponibilizada sobre o objeto poder ser expandida at o tamanho


total do objeto. O efeito desta propriedade poder causar distoro na imagem, caso no
haja proporcionalidade entre a imagem e as dimenses do objeto.

Expandir

Estabelece se a informao contida no label ir ser truncada na largura deixada pelo


projetista para o mesmo ou se ser expandida de modo a imprimir toda a informao. Se esta
propriedade for ajustada para "Sim", nos campos que no forem do tipo memo, o texto ser
impresso na totalidade de sua largura, independentemente de se sobrepor a outro campo
que estiver frente. Em campos do tipo memo, esta expanso considerada verticalmente.

Expresso

Esta propriedade tem por finalidade definir a expresso que comandar a quebra.

Extensor

Determina se o objeto apresentar o boto extensor direita do objeto. Este boto ,


normalmente, utilizado para apresentar um dilogo extra, como, por exemplo, calculadora ou
calendrio, quando o usurio acion-lo, disparando o evento Ao no clique. Os valores
possveis so: DropDown e Reticncias.

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

2008 GAS Tecnologia

388

GAS 2007 - Manual do Usurio

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

Esta propriedade permite a definio de uma figura transparente a ser inserida, em


tamanho real, no centro do form. O GAS tomar a cor do primeiro pixel da figura como sendo
a cor de transparncia. As mesmas observaes descritas para a propriedade Figura,
referentes ao diretrio de figuras e o painel de preview tambm so vlidas para essa
propriedade.

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

Esta propriedade semelhante anterior. O que as diferencia o fato de que, na


anterior, um "IF..." criado proporcionando maior flexibilidade, sendo, porm, mais lenta. J
nesta, a expresso de filtragem ser incorporada expresso SQL do relatrio (clusula
WHERE) e, por isso, este filtro limitado aos seguintes detalhes:
o primeiro operando da expresso tem que ser um campo da tabela bsica do relatrio;
o segundo operando pode ser qualquer um dos campos das tabelas relacionadas,
campos recebidos na tela, etc.
Para os grids, esta propriedade determina a seleo de registros que sero listados,
possibilitando, por exemplo, a definio de
consultas a tabelas relacionadas ao grid.

Fonte

Fonte do ttulo

Esta propriedade designa os atributos da fonte a ser utilizada no objeto. No caso do


gMask, esta propriedade ser aplicada somente na caixa de texto associada.
Esta propriedade designa os atributos da fonte a ser utilizada no ttulo do objeto.

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.

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

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

Utilizada somente quando a propriedade Totalizador estiver ajustada para uma


opodiferente de "No", essa propriedade determina em que ponto do relatrio a varivel
que controla o totalizador ser inicializada, ou com "0" ou com o valor estabelecido pela
propriedade Valor inicial.

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

Esta propriedade determina a largura do objeto selecionado. Esta propriedade no se


aplica ao painel de fundo.

Largura coluna

Esta propriedade determina a largura da coluna selecionada no objeto gDbGrid.

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

Esta propriedade tem finalidade informar a largura, em milmetros, da etiqueta a ser


utilizada na impresso.

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

Largura til do papel

Esta propriedade determina, nos relatrios elaborados por intermdio do G-Reports, a


largura til do papel, fora da qual a impressora no consegue inserir informaes (espao
deixado para tracionamento do papel, etc).

Limpar campo

Esta propriedade determina se a informao contida no objeto ser apagada, caso a


expresso disponibilizada na propriedade Pr-validao no seja atendida.

Lista\Pesquisa

em modo combobox:, ser aberto junto ao campo, como um combobox


mesmo, mas se ao texto, apenas capturando. Isto pode ser utilizado em um
cadastro de bairro por exemplo, onde mostra os bairros existentes de acordo
com os clientes(Select bairros from clientes group by bairros), mas, se for

2008 GAS Tecnologia

390

GAS 2007 - Manual do Usurio

um novo bairro, o usurio poder digitar a vontade.


e m modo Janela: Ser apresentado um formulrio, como o form de pesquisa, ideal
para muitos registros (ex: tabela de preos).
Lista de opes

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

Esta propriedade define a medida horizontal, em milmetros, da primeira posio til do


papel at a primeira etiqueta.

Margem horizontal

Esta propriedade define a distncia horizontal, em pixels, da primeira posio do texto


at a primeira posio do controle propriamente dito, independente do ngulo aplicado ao
texto do controle.

Margem

superior

Esta propriedade define a medida vertical, em milmetros, da primeira posio til do papel
at a primeira etiqueta.

Margem vertical

Esta propriedade define a distncia vertical, em pixels, da primeira posio do texto at a


primeira posio do controle propriamente dito, independente do ngulo aplicado ao texto do
controle.

Mscara

Esta propriedade estabelece o gabarito de digitao da informao associada ao objeto.


Para maiores detalhes sobre a sua utilizao, consulte o Captulo 1- Introduo.

Mensagem final

Esta propriedade determina o texto a ser apresentado ao usurio ao final da execuo


de um processo pr-definido, no devendo ser utilizada aspas nesta informao.

Mensagem inicial

Esta propriedade determina o texto a ser apresentado ao usurio ao incio da execuo


de um processo pr-definido, no devendo ser utilizada aspas nesta informao. O texto
default apresentado pelo GAS "Esta operao poder ser demorada! Deseja continuar?".

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

Esta propriedade determina o texto a ser apresentado ao usurio caso a expresso


estabelecida na propriedade Validao no seja atendida, no devendo ser utilizada aspas
nesta informao. Voc pode tambm utilizar o Editor de Programas do GAS para escrever
uma funo que retorne um valor caracter para ser aqui utilizado.

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.

Mostra acresc / desc

Esta propriedade determina se o campo Acrscimo / Desconto ser ou no mostrado na


tela de Pagamentos em aplicaes que utilizam a Emisso de Cupom Fiscal. Caso no seja

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

391

exibido, o operador poder acionar uma janela especfica de Acrscimo / Desconto,


utilizando-se da hot-key SHIFT-F12.
Mostrar valor inicial

Esta propriedade estabelece se, na incluso de registros, os valores iniciais de todos os


campos sero ou no exibidos de uma s vez. O valor padro para essa propriedade
"No", o que faz com que os valores iniciais dos campos s sejam exibidos quando estes
recebem o foco. A utilizao dessa propriedade permite, por vezes, automatizar o processo
de entrada de dados, visto que todos os objetos com valor inicial sero preenchidos logo
aps o pressionamento do boto de incluso e antes que qualquer outro campo seja
preenchido.

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

Esta propriedade estabelece a seqncia de acesso aos objetos na tela, quando o


usurio pressiona a tecla tab ou, durante a digitao, a tecla Enter.

Orientao

Esta propriedade, no caso do Tab, determina o sentido em que as abas aparecero. Os


valores possveis so: Em cima, Em baixo, Na esquerda e Na direita. J no caso do gMask,
esta propriedade estar disponvel somente se a propriedade Tipo de dado estiver
designada com tipo Rotativo, servindo para determinar o sentido da barra de rolagem
(Horizontal ou Vertical).

Parar com tab

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

2008 GAS Tecnologia

392

GAS 2007 - Manual do Usurio

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

Esta propriedade designa, para os relatrios, 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
cabealhos ou rodaps (mscara de pgina). Neste caso, dever alterar essa propriedade
para 0 (fixa). Para o painel, essa propriedade determina a posio onde o painel utilizado
como barra de ferramentas da aplicao aparecer posicionado, determinao tambm
vlida para os outros tipos de controles.

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

Esta propriedade define a quantidade de carreiras de etiquetas existentes no formulrio


a ser impresso.

Qde de colunas

Esta propriedade determina a quantidade de colunas apresentadas pelo gDbGrid


disponibilizado na tela.

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

Esta propriedade determina se a picturebox disponibilizada na tela (venda de itens) ir


espelhar exatamente os itens impressos na impressora fiscal em aplicaes que utilizam da
Emisso de Cupom Fiscal. Para reproduzir melhor a impresso do cupom fiscal na referida
picturebox, deve-se dar preferncia s fontes monoespaadas, como a Courier New, e

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

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 colunas grid

Esta propriedade determina se as dimenses intrnsecas ao gDbGrid (largura das


colunas e altura das linhas) sero salvas com base nasdimenses que o usurio definir, em
run-time, para tal controle. Cabe ressaltar que a personalizao das dimenses do gDbGrid
ocorrer a nvel de usurio, proporcionando um grau de customizao mais elevado para o
aplicativo final.

Salvar filtro

Esta propriedade determina se o filtro estabelecido para determinada janela de dados


ser salvo com base nos filtros especificados, em design-time, pelo projetista e, em run-time,
pelo usurio. Cabe ressaltar que a personalizao desses filtros tambm ocorrer a nvel de
usurio, proporcionando um grau de customizao mais elevado para o aplicativo final.

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 "@".

TEF / Cheque eletrnico

Esta propriedade determina se a forma de pagamento necessitar de comunicao ou


no com o gerenciador padro da TEF Discada, quando utilizadas a segunda ou terceira

2008 GAS Tecnologia

394

GAS 2007 - Manual do Usurio

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

Esta propriedade determina se o boto funcionar de maneira convencional ou como


dois estgios, ou seja, quando pressionado, o mesmo poder ficar ou no em baixo relevo
at que um novo clique do mouse seja nele aplicado. Este tipo de boto pode ser utilizado
para apresentar valores do tipo liga/desliga por intermdio de sua propriedade Value.

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

Esta propriedade determina se o objeto, inclusive formulrio, apresentar uma linha de


contorno.

Tipo de dado

Designa o tipo de informao que o objeto ir manipular na aplicao final. As


possibilidades so Caractere, Numrico, Data/hora, Rotativo, Memo, Lgico, Optativo e
Multimdia.

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.

Tipo desconto item

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".

2008 GAS Tecnologia

Captulo 13 - Propriedades dos objetos de tela

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

Serve para determinar a distncia entre a margem do topo do objeto selecionado em


relao ao seu container. Esta propriedade no est disponvel para o painel de fundo sobre
o qual os outros objetos so disponibilizados.

Totalizador

Esta propriedade estabelece o momento em que o contedo (propriedade "Campo" ou


"Frmula") do controle ser totalizado. As possibilidades so: 0 - No ou 1 - A cada registro
(de quebras ou no).

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".

Valor desconto item

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.

Valor forma pgto

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.

Valor item unitrio

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

2008 GAS Tecnologia

396

GAS 2007 - Manual do Usurio

Cupom Fiscal, sendo de preenchimento obrigatrio.


Valor mximo

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

Esta propriedade tem por finalidade permitir ou no a visualizao de uma janela de


dados em forma de grade (F4), estando disponvel apenas para o painel de fundo sobre o
qual os outros objetos so disponibilizados. Quando definida como Sim, mesmo que a janela
de dados no esteja sendo visualizada em grade (F4), disponibilizado um grid no referido
formulrio para que, quando solicitado, tal janela de dados possa ser visualizada no referido
formato. No entanto, a presena do grid no formulrio em questo pode causar certa
lentido, pois necessria a leitura de toda a base de dados para preench-lo, obedecendo
ou no aos filtros estabelecidos pelo projetista. A presena de filtros para abertura de
janelas de dados pode degradar, ainda mais, o desempenho do aplicativo final em tal
processo. Definindo essa propriedade para No, a abertura do formulrio referente janela
de dados tornar-se- mais rpida, visto que no mais ser necessria a leitura de toda a
base de dados e o preenchimento do referido grid, independente dos eventuais filtros que
tenham sido estabelecidos.

2008 GAS Tecnologia

Captulo

XV
Captulo 15 - Extra

398

GAS 2007 - Manual do Usurio

15

Captulo 15 - Extra

15.1

Do Clipper para o VB - Analogias


A Gas Tecnologia no pode ignorar que a maioria das pessoas que trabalhavam e ainda trabalham com bancos de
dados no ambiente MS-DOS, mesmo que no tenham tido a oportunidade de um contato com a ferramenta GAS Pro para
este ambiente (o que ainda est em tempo!), tiveram, pelo menos, bastante contato com a linguagem CA-Clipper da empresa
Computer Associates, detentora de uma imensa faixa do mercado de aplicaes para banco de dados no ambiente MS-DOS
. De repente, aparecem novas tecnologias e o mercado tende para as aplicaes que rodem no ambiente grfico do
Windows. Todo mundo quer conhecer e ter o que h de mais moderno no mercado e, neste momento, nos vem a
necessidade premente do profissional se atualizar para atender demanda e, s vezes, vem-nos aquela sensao de
orfandade, impotncia e frustrao de esquecer tudo o que sabemos e comear de novo, somente com a experincia!
Mas s a experincia j muita coisa! No h por que se desesperar e desanimar! A informtica assim mesmo!
Enquanto, por um lado, mostra-se fascinante e envolvente, por outro, o seu dinamismo no permite acomodaes. O
profissional tem de estar atento s tendncias impostas por quem tem este poder e prosseguir sempre, se quiser continuar
competitivo... Este tpico dedicado aos profissionais que vieram da linguagem CA-Clipper e que no possuem experincia
na linguagem Visual Basic. A GAS Informtica espera que, de alguma forma, essas informaes possam auxiliar aos
usurios do GAS na migrao de suas aplicaes para o ambiente Windows.
No nosso intuito, nem seria possvel, dissecar aqui os detalhes das duas linguagens. Sabemos, no entanto, que a
maior dificuldade em se assimilar uma segunda linguagem saber o que, nesta nova linguagem, corresponde ao que
conhecemos e dominamos na primeira. S assim fica um pouco mais fcil! exatamente isto o que pretendemos com este
tpico: mostrar as principais diferenas, chamando a ateno do projetista para os aspectos cujos detalhes podero buscar
diretamente nos manuais e na ajuda on-line do Visual Basic sem perder muito tempo. Nas explicaes que se seguem, a
sigla VB ser aplicada ao Visual Basic e a sigla CLIPPER ser aplicada ao CA-Clipper. As palavras que aparecerem
sublinhadas devem ser utilizadas para procurar os tpicos correspondentes nos manuais do VB ou mesmo na sua ajuda online (boto LOCALIZAR). Alguns termos tcnicos utilizados no somente neste tpico mas em todo o manual podem estar
definidos no Glossrio existente neste captulo.

15.1.1 Funes e procedures


As funes e procedures do CLIPPER (FUNCTION e PROCEDURE) possuem os seus correspondentes no VB (
FUNCTION e SUB) com algumas diferenas:

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.

15.1.1.2 No Visual Basic


So declaradas PUBLIC ou PRIVATE podendo ser combinadas com STATIC, visando tambm preservar suas
variveis. Quando declaradas como PUBLIC, mesmo que seja dentro de um mdulo do tipo form, podero ser vistas e
referenciadas por outros mdulos. Alm do mais, uma funo deve ser declarada utilizando-se um caractere de declarao,
segundo o tipo de dado que ir retornar. Sua sintaxe geral :
'sintaxe geral - aps o apstrofe em VB tudo comentrio
[Public | Private] [Static] Function NomeFunc [(Par1, ParN)][Astipo]
Dim a As Tipo, b As Tipo
[instrues]
[NomeFunc = expresso]
[Exit Function]

2008 GAS Tecnologia

Captulo 15 - Extra

399

[instruoes]
[NomeFunc = expresso]
End Function

15.1.2 Retornando o valor de uma funo em Visual Basic


As funes em VB no tm a palavra chave RETURN para retornar o valor de uma funo. Para retornar este valor,
basta igualar o nome da funo expresso que se quer retornar, como na penltima linha da funo exemplo mostrado
anteriormente.

15.1.3 Uso de parmetros opcionais


Parmetros opcionais podem ser passados s funes e procedures do VB; porm, devem ser passados em ltimo
lugar na lista de parmetros formais. Procure, na ajuda do VB, as palavras-chaves Optional e ParamArray para se inteirar
dos detalhes.

15.1.4 Chamadas a funes externas


Funes externas no Windows so residentes em arquivos do tipo DLL e devem ser declaradas
dentro de um mdulo do VB com a palavra-chave DECLARE.

15.1.5 Variveis de memria


As variveis de memria em VB tm uma abrangncia muito semelhante do CLIPPER e isto no deve apresentar
muitas dificuldades de assimilao. Devem ser declaradas com as palavras-chaves Dim dentro de uma Function ou de uma
Sub. A maior diferena, no entanto, est nos tipos de variveis, que, no VB, utilizam um caractere de declarao no nome
para distinguir o seu tipo. O projetista dever ter cuidados especiais com os tipos de variveis numricas, pois elas so
distribudas por faixas no VB, dependendo da magnitude dos valores que iro armazenar. O tipo de dado Variant do VB se
assemelha mais s variveis do CLIPPER pois no requer caracteres de declarao e armazenam qualquer tipo de dado.

15.1.6 Arquivos DBF, NTX e DBT versus TABELAS


Enquanto que, no CLIPPER, o banco de dados composto de diversos arquivos de formato DBF, DBT e NTX, o VB trata
o banco de dados em um s arquivo com extenso MDB e dentro deste rmazena o que seria os arquivos DBF (todos
denominados tabelas). Os arquivos do tipo DBT usados para armazenar os textos de campo memo no tm
correspondentes dentro do VB. Os campos memo do VB so armazenados diretamente, como um campo normal de uma
tabela. O que seriam os arquivos NTX so armazenados como objetos do tipo ndice. Outros objetos so tambm
armazenados nos arquivos MDB do VB, como, por exemplo, queries e relaes.

15.1.7 Tipos de campos


Os tipos de campos armazenados nas tabelas do banco de dados se assemelham muito aos do CLIPPER. Os diversos
tipos de campos numricos existentes no VB requerem cuidados especiais devido magnitude do valor que armazenam. Por
esta razo, o utilitrio conversor de arquivos DBF, que o GAS gera por solicitao do projetista, transforma todos os campos
numricos existentes nos arquivos DBF em campos do tipo preciso dupla no arquivo MDB para ter a certeza de que no
ocorrero erros de overflow (estouro). Se desejar, o projetista poder, por sua conta e risco, alter-los para outro tipo.
Campos do tipo memo existem no VB da mesma forma que no CLIPPER; porm, no esto vinculados a arquivos em
separado. Localize o tpico Data Types, dentro da ajuda do VB, para obter maiores detalhes.

2008 GAS Tecnologia

400

GAS 2007 - Manual do Usurio

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.

15.1.9 Estruturas de cdigo


A maioria das estruturas da linguagem CLIPPER tem seu correspondente VB de maneira muito semelhante. A estrutura
em VB, a seguir, corresponde instruo DO... CASE do CLIPPER:
Select Case MinhaVar
Case 1
[Instrues]
Case 2
[Instrues]
Case Else
[Instrues]
End Select

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

Esta estrutura em VB corresponde ao FOR ... NEXT do CLIPPER:


For k = 1 To N [STEP n]
[Instrues]
Exit For
Next

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

15.1.10 Funes do Clipper e do GAS-DOS versus Visual Basic


Diversas funes existentes no CLIPPER no tm mais razo de ser dentro do VB, devido ao ambiente grfico do
Windows e programao voltada a objeto do VB. Algumas, no entanto, podem ser utilizadas exatamente da mesma
maneira como eram utilizadas no CLIPPER e outras, com alguma variao de nome e sintaxe, podem ser utilizadas para se
obter os mesmos resultados. Existem ainda outras funes que a GAS Informtica desenvolveu para suprir a necessidade
de compatibilizao. Essas funes tm o seu cdigo fonte disponibilizado no mdulo principal, de extenso .BAS, que o

2008 GAS Tecnologia

Captulo 15 - Extra

401

GAS gera nas aplicaes.

15.1.10.1 Funes idnticas


As funes e comandos do CLIPPER, que constam da lista a seguir, tm seus correspondentes em VB, com a mesma
sintaxe e finalidade, podendo ser utilizadas da mesma maneira:
Abs( ) Retorna valor absoluto de expresso numrica
Asc( ) Retorna valor ASCII do primeiro caractere
Chr( )
Retorna o caractere de um valor ASCII
Cls
Limpa a sada de vdeo
Close Fecha arquivo
CurDir( )
Retorna diretrio corrente
Date( ) Retorna data do sistema
Exp( )
Retorna logartimo base E
Int( )
Retorna inteiro de uma expresso numrica
Left( ) Retorna poro esquerda
Len( ) Retorna tamanho de string
Log( ) Retorna logartmo decimal
LTrim( )
Retira brancos esquerda
Max ( ) Mximo entre duas expresses numricas
Min( )
Mnimo entre duas expresses numricas
Mid( )
Retorna poro de uma string
Mod( ) Retorna resto de uma diviso
Right( ) Retorna poro direita
RTrim( )
Remove espaos ao final de uma string
Str( )
Transforma nmero em caractere
Val( )
Retorna o valor de uma expresso string

15.1.10.2 Funes com correspondncia no Visual Basic


As funes e comandos do CLIPPER, que constam na relao a seguir, tm correspondentes em VB ou nos programas
fontes gerados pelo GAS e executam a mesma funo com sintaxe diferente. Na lista infracitada, pesquise a ajuda do VB,
utilizando as palavras que aparecem em negrito. As funes marcadas com o caractere * foram implementadas pela
GAS Informtica, devendo ser procuradas no tpico Funes Genricas Utilizadas na Aplicao ou nos comentrios
dos programas fontes gerados pelo GAS dentro do mdulo principal de extenso .BAS:
?A
Print A
??
Print A;
ALLTRIM( )
Trim
APPEND BLANK Objeto.Recordset.AddNew
AT( )
Instr
ATAIL Ubound
BOF( ) Objeto.Recordset.BOF
CALCDATA( )
DateDiff
CDOW( ) NSem *
CMONTH( )
NMes *
CTOD( ) CDate
DBSEEK( )
Objeto.Recordset.Seek
DBSETORDER( ) Objeto.Recordset.Index="nome"
DBSTRUCT( )
Collection object
DECLARE
Dim
DELETE FILE
Kill NomeArquivo
DISPOUT( )
Print
EMPTY( )
Vazio *
EOF( )
Objeto.Recordset.EOF
ERASE Kill NomeArquivo
FCLOSE( )
Close
FCOUNT( )
Collection object

2008 GAS Tecnologia

402

GAS 2007 - Manual do Usurio

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

15.1.10.3 Funcoes criadas pela GAS Informatica


As funes da lista a seguir foram desenvolvidas pela GAS Tecnologia nos programas gerados pelo GAS-DOS e
continuam a existir no GAS com seus cdigos fontes dispostos na aplicao gerada ou possuem algum correspondente no
VB com sintaxe diferente.
CALCDATA( )
CHDIR( ) ChDir
CHDRIVE( )
DBOX( ) MsgBox
DDMM( )
DDMMAA( )
DOSDATA( )
GDV1( ) GDV1 *
GDV2( ) GDV2 *
MKDIR( )

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.4 rea de cliente


toda a rea til de um formulrio MDI, excetuando-se a barra de ferramentas (se visvel) ou outros objetos que possam
ser colocadas neste tipo de formulrio (painel e PictureBox). Na rea de cliente, os formulrios filhos so agrupados,
minimizados e maximizados.

15.2.5 Argumento
Um valor qualquer que passado a uma funo ou sub-rotina para ser por ela utilizado e, s vezes, transformado.

15.2.6 Arquivo de inicializao


um arquivo de formato texto ASCII, utilizado para conter parmetros de configurao de uma aplicao no ambiente
Windows. Geralmente um arquivo de inicializao utiliza a extenso .INI e o nome do programa executvel que o manipula.

2008 GAS Tecnologia

404

GAS 2007 - Manual do Usurio

15.2.7 Arquivo DEF


Os arquivos de extenso .DEF possuem um formato texto, proprietrio do GAS e so por ele criados e utilizados para
controlar as estruturas do banco de dados da aplicao a ser gerada ou mesmo na criao dos utilitrios de adaptao de
arquivos e conversor de DBF para controlar as novas estruturas de dados.

15.2.8 Arquivo resource


Tambm denominado arquivo de recursos, este um arquivo criado pelo GAS, com extenso .RC, que se apresenta com
a xtenso .RES aps o processo de compilao, podendo ser includo num projeto Visual Basic. Este tipo de arquivo pode
conter imagens, strings de texto, cones e outros recursos. Dispondo essas informaes em um arquivo separado, pode-se
mudar a informao sem reeditar o cdigo do programa fonte, sendo muito til para aplicaes que sero traduzidas para
outras lnguas. Cada projeto em Visual Basic pode conter somente um arquivo resource associado.
O GAS utiliza um formato proprietrio de arquivo resource (.RES) que permite a vinculao de quaisquer formatos de
imagem e sem limite de amanho. 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.

15.2.9 Arranjo ou varivel indexada


um conjunto de elementos indexados seqencialmente contendo o mesmo tipo de dado. Cada elemento em um arranjo
tem um nico nmero de ndice identificador. Mudanas feitas em um elemento do arranjo no atingem os outros elementos
deste. Quando s elementos de um arranjo so controles, este recebe o nome de arranjo de controles.

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.

15.2.12 Banco de campos


Coleo de campos e atributos, formada durante a execuo de um projeto, que serve para criar novas definies de
campos a partir de outros previamente definidos.

15.2.13 Banco de dados


uma coleo organizada de informaes. Existem muitas maneiras de se organizar um banco de dados. Dentre as mais
populares esto o mtodo de sistema de arquivos seqencial indexado (ISAM), bancos de dados modelo network, bancos
de dados hierrquicos e bancos de dados relacionais. Esses tipos diferem no somente na maneira como armazenam e
recuperam os dados, mas tambm no modelo conceitual que eles se apresentam aos usurios e programadores.

2008 GAS Tecnologia

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.14 Banco de dados multiusurio


um banco de dados que permite mais de um usurio acessar e modificar o mesmo conjunto de dados ao mesmo tempo.
Em alguns casos, o usurio adicional pode ser uma outra instncia da prpria aplicao executando no mesmo ambiente e
que acessa os mesmos dados como se fosse qualquer outra aplicao.

15.2.15 Campo invisvel


Um campo invisvel um tipo de campo que o usurio nunca pode visualizar. Este tipo de campo definido normalmente
com a finalidade de receber valores por meio de processos de digitao em outras tabelas. A visibilidade de um campo
estabelecida durante a definio da estrutura do banco de dados.

15.2.16 Campo no editvel


um campo que nunca pode ser editado pelo usurio, utilizado normalmente para receber valores a partir de processos
de digitao em outras tabelas. Campos no editveis podem ser definidos no momento da formatao da tela de entrada de
dados, por intermdio da propriedade Editvel do controle textbox que ser utilizado para a sua digitao. Esta propriedade
pode ser ajustada para Sim (default = editvel) ou No (no editvel).

15.2.17 Barra de ferramentas


Constitui-se de um painel na parte superior da janela, contendo diversos botes com cones representativos de suas
funes, servindo para acelerar o acesso a operaes mais comumente usadas (atalho). Normalmente, as funes que so
colocadas em botes na barra de ferramentas podem tambm ser acessadas via menu.

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.

15.2.21 Booleano ou lgico


um tipo de dado cujo valor pode ser Falso (False) ou Verdadeiro (True). Valores booleanos podem ser resultados de

2008 GAS Tecnologia

406

GAS 2007 - Manual do Usurio

avaliao de expresses, podendo ser armazenadas em banco de dados.

15.2.22 Caixa de dilogo


uma janela especial mostrada pelo sistema ou aplicao para solicitar uma resposta do usurio ou para exibir algum
tipo de informao.

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.

15.2.24 Campo Alvo


o campo na tabela-alvo que sofre um processamento qualquer, determinado por um lanamento ou por um
processamento a partir da digitao de dados em outras tabelas.

15.2.25 Campo chave


um campo de uma tabela designado para compor a chave de indexao da mesma, ou seja, o campo que identifica um
registro ou grupo de registros em uma tabela. Uma tabela poder ter mais de um campo-chave; porm, pesquisas no SQL
sobre um determinado campo esto sempre subordinados aos campos precedentes, ou seja, se a pesquisa for feita sobre a
informao do segundo campo, o primeiro tambm tem que ser informado.

15.2.26 Campo estrangeiro


um campo qualquer definido dentro de uma tabela estrangeira, que pode ser referenciado e mostrado em uma janela de
digitao de informaes, dentro de uma frmula ou como campo alvo de um processamento ou de um lanamento.

15.2.27 Caracteres curinga


Alguns caracteres como o asterisco (*), ponto de interrogao (?), cancela (# ), ponto de exclamao (!), hfen (-) e
colchetes ([ ]) so considerados caracteres "curingas". Voc pode usar esses caracteres em queries e expresses que
incluam todos os registros, nomes de arquivos e outros itens que se iniciam com caracteres que correspondam a um
determinado padro. Voc pode usar tambm esses caracteres para refinar mais uma pesquisa usando uma instruo SQL.

Veja a tabela a seguir:

Caractere

Exemplo

Localiza

pes*

pessoa, peste, pesca, mdico, ortopdico

*
*dico
?

p?lha

palha, pilha, pulha

2008 GAS Tecnologia

Captulo 15 - Extra

1#3

[]

p[ai]lha

pulha (no palha)

p[!ai]lha

pulha (no palha)

p[a-c]lha

palha, pclha, pblha

407

103, 113, 143

Os caracteres *, ? , # e [ podem localizar a si mesmos somente se includos entre colchetes.

15.2.28 Caractere de declarao


um caractere anexado ao final de um nome de uma varivel que determina o tipo de dado que a mesma pode
armazenar, como, por exemplo, Nome$, Valor!, Total# , etc. Alguns dos tipos utilizados so: % para varivel inteira, ! para
preciso simples, # para preciso dupla e $ para varivel do tipo string. O tipo de dado variant no requer qualquer
caractere de declarao em especial e pode armazenar qualquer tipo de dado.

15.2.29 Chave estrangeira


Um ou mais campos de tabelas que se referem a um campo ou campos de uma chave primria de outra tabela. Por
exemplo, uma lista de cdigos de peas contm uma chave estrangeira para uma tabela de inventrio que contenha
referncias a esses cdigos de peas. utilizada quando se estabelece uma integridade referencial para um banco de
dados.

15.2.30 Chave primria


Um ou mais campos cujo valor ou valores unicamente identificam cada registro em uma tabela. Em uma tabela pode
existir somente uma chave primria. Uma tabela de empregados, por exemplo, poderia usar o nmero de identidade como
chave primria.

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.

15.2.32 Clusula From


a parte da instruo SQL que indica a localizao do dado a ser examinado pela query, especificando qual banco de
dados e quais tabelas sero includas na pesquisa dos dados desejados. A localizao especificada pela clusula FROM
algumas vezes chamada de domnio.

15.2.33 Clusula Group by


a parte da instruo SQL que determina a maneira como os registros sero agrupados para serem sumarizados.

2008 GAS Tecnologia

408

GAS 2007 - Manual do Usurio

15.2.34 Clusula Order by


a parte da instruo SQL que determina a ordem em que os registros sero recuperados e mostrados.

15.2.35 Clusula Select


a parte da instruo SQL que determina quais os campos (colunas) das tabelas envolvidas sero considerados nos
registros a serem recuperados.

15.2.36 Clusula Where


a parte da instruo SQL que especifica quais registros sero recuperados. A clusula WHERE limita o domnio de uma
query e especifica quais colunas sero usadas para ligar mltiplas tabelas.

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.38 Cdigo Fonte


Veja o tpico Programa fonte.

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.40 Consulta pr-definida


um tipo de mdulo que inserido na rvore com o intuito de proporcionar ao usurio final uma interface de consulta
aos dados de uma ou mais tabelas da aplicao. Uma consulta definida por intermdio de uma interface amigvel oferecida
pelo GAS.

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).

15.2.42 Controles externos


A filosofia de arquitetura aberta do Visual Basic permite que terceiros possam desenvolver controles para serem
adicionados a seus projetos. Esses controles externos ou de terceiros podem conter objetos de interface e funes
exportadas, que podem ser utilizadas por outras aplicaes. A Microsoft os denomina atualmente de controles ActiveX, o

2008 GAS Tecnologia

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.43 Controle vinculado


um controle que reconhece dados e que proporcionam acesso a um campo especfico em um banco de dados atravs
de um data control. Um controle vinculado pode ser ligado ao dado por meio de suas propriedades DataSource e DataField.
Quando um data control move de um registro para outro, todos os controles a ele ligados mudam para mostrar os dados dos
campos no registro corrente. Quando o usurio altera o dado em um controle vinculado e ento move para um outro registro,
as alteraes so automaticamente gravadas no banco de dados.

15.2.44 Copy buffer


uma determinada rea de memria criada pelo gerenciador do banco de dados para armazenar temporariamente o
contedo de um registro que esteja aberto para edio.

15.2.45 Crystal reports


Programa utilitrio formatador de relatrios que acompanha o Visual Basic ou pode ser adquirido independente deste.
Este programa invocado pelo GAS para permitir que o projetista possa formatar os relatrios e etiquetas que necessitam
ser criados na aplicao, quando o referido projetista no faz uso do G-Reports, outro utilitrio formatador de relatrios e
etiquetas desenvolvido pela Gas Tecnologia e intrnseco ao GAS. As especificaes dos relatrios do Crystal Reports so
gravadas em arquivos de extenso .RPT, cuja presena necessria durante a operao da aplicao final, para que o
relatrio correspondente seja emitido.

15.2.46 Data control


um controle do Visual Basic utilizado para conectar uma aplicao com uma fonte de dados selecionada. Um controle
vinculado requer o uso deste objeto como fonte de dados.

15.2.47 Data bound


Ver tpico Controle Vinculado.

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

2008 GAS Tecnologia

410

GAS 2007 - Manual do Usurio

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.55 Event procedure


uma procedure que automaticamente invocada em resposta a um evento iniciado pelo usurio, cdigo de programa
ou sistema (Windows).

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.

2008 GAS Tecnologia

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.60 Formulrio avulso


Este tipo de mdulo o ponto de entrada que o GAS coloca no menu da aplicao para um formulrio (form) pertencente
a uma outra aplicao, que o projetista deseja inserir na rvoredo projeto. O GAS no controla o cdigo existente em
mdulos deste tipo inseridos na rvore, sendo responsabilidade do projetista a compatibilidade com os demais mdulos do
projeto.

15.2.61 Funo (Function)


uma procedure que realiza uma tarefa especfica dentro de um programa e retorna um valor. Uma Function inicia com a
instruo Function e termina com a instruo End Function.

15.2.62 Funo agregada


uma funo, como por exemplo Count (conta) e Avg (mdia), usada ao criar uma query que calcula totais. Ao escrever
expresses e em programao, pode-se usar funes agregadas de SQL para determinar vrias estatsticas.

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.

2008 GAS Tecnologia

412

GAS 2007 - Manual do Usurio

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.68 Inner join


um tipo de relacionamento entre duas tabelas na qual os registros das duas tabelas so combinados e adicionados ao
recordset somente se os valores dos campos de ligao corresponderem a uma condio especfica. Por exemplo, um equijoin um inner-join na qual os valores dos campos de ligao precisam ser iguais.

15.2.69 Integridade referencial


Regras que estabelecem e preservam os relacionamentos entre tabelas quando se adiciona, altera ou apaga registros.
Forando-se a integridade referencial, o usurio fica proibido de adicionar registros em uma tabela relacionada para a qual
no exista uma chave primria, de alterar registros de uma tabela primria que redundem em registros rfos na tabela
relacionada ou apagar registros de uma tabela primria quando existam registros correspondentes na tabela relacionada.

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.

15.2.72 Janela modal


Descreve um form (window) ou caixa de dilogo que requer uma ao do usurio, antes que o foco possa passar para
outro form ou caixa de dilogo.

15.2.73 Janela tipo parmetro


Veja tpico Parmetros do sistema.

2008 GAS Tecnologia

Captulo 15 - Extra

413

15.2.74 Jet Database Engine


o Sistema de Gerenciamento de Banco de Dados (SGBD) desenvolvido pela Microsoft, que permite o uso de uma
linguagem de programao para acessar, manipular e gerenciar bancos de dados, seus objetos e sua estrutura. Uma das
linguagens utilizada para a sua manipulao o Visual Basic. O GAS cria programas nesta linguagem para controlar os
bancos de dados das aplicaes geradas.
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.

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.

15.2.78 Left join


um tipo de relacionamento entre duas tabelas, que inclui todos os registros da primeira tabela (esquerda), mesmo se
no existirem valores correspondentes nos campos dos registros da tabela da direita.

15.2.79 Left outer join


um outer-join no qual todos os registros do lado esquerdo de uma operao left-join so adicionados ao objeto
recordset, mesmo que no existam valores correspondentes nos campos dos registros da tabela da direita. Registros da
tabela da direita so combinados com aqueles da tabela da esquerda somente quando existem valores correspondentes nos
campos de ligao. Quando um registro da tabela da esquerda no corresponde, uma coluna com valores nulos criada no
lado direito.

15.2.80 Linha separadora


medida que o projetista vai inserindo mdulos na rvore do projeto, o mesmo est automaticamente modelando o menu
da aplicao final. Este tipo de mdulo existe apenas para permitir que se insira na rvore do projeto as linhas separadoras
de itens de menus.

2008 GAS Tecnologia

414

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

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.89 Outer join


um tipo de relacionamento no qual todos os registros de uma tabela so adicionados ao objeto recordset, mesmo se
no existirem valores correspondentes nos campos de ligao da segunda tabela. Registros da segunda tabela so
combinados com aqueles da primeira tabela somente quando existirem valores correspondentes nos campos de ligao.
Registros com valores nulos so criados quando no existirem valores correspondentes.

15.2.90 Parmetros do sistema


um tipo de janela de dados que pode ser inserida nos projetos do GAS. Este mdulo define uma tabela contendo um
nico registro sem quaisquer ndices associados, contendo campos que podem armazenar informaes que mudam com
certa freqncia, como, por exemplo, taxa de juros de mercado, moeda indexadora, taxa de inflao, etc. Esta tabela permite
a parametrizao da aplicao de modo que essas mudanas possam ser manipuladas pelo prprio usurio da aplicao.

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.

2008 GAS Tecnologia

416

GAS 2007 - Manual do Usurio

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.95 Processos pr-definidos


um tipo de mdulo definido dentro do GAS que 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.

15.2.96 Programa fonte


um conjunto de instrues codificadas em uma determinada linguagem que executam alguma tarefa especfica. Um
programa fonte precisa ser compilado para que as suas instrues possam ser traduzidas para uma linguagem que seja
entendida pelo microcomputador.

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.

2008 GAS Tecnologia

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).

2008 GAS Tecnologia

418

GAS 2007 - Manual do Usurio

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.109Reparao de banco de dados


uma rotina especial que o GAS disponibiliza nos programas fontes das aplicaes geradas, rotina tal que permite
corrigir diversos problemas no banco de dados, como, por exemplo, perda de ndices, integridades, etc. Durante o processo
de reparao do banco de dados, este compactado, eliminando-se os "buracos" deixados por registros que tenham sido
apagados em suas tabelas, tendo ainda todos os seus ndices e integridades atualizados.

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.

2008 GAS Tecnologia

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.

15.2.125Tipo de campo carto de crdito


um campo do tipo caractere destinado a armazenar nmeros de cartes de crdito, contendo mscara nica (9999
9999 9999 9999).

15.2.126Tipo de campo CEP


um campo do tipo caractere destinado a armazenar valores do Cdigo de Endereamento Postal (CEP) estabelecido

2008 GAS Tecnologia

420

GAS 2007 - Manual do Usurio

pela ECT.

15.2.127Tipo de campo CGC


um campo do tipo caractere destinado a armazenar valores do Cadastro Geral de Contribuintes (CGC) estabelecido
pela Receita Federal.

15.2.128Tipo de campo Cdigo de Barras


um campo do tipo caractere destinado a armazenar os cdigos de barras pr-definidos pelo GAS, podendo seguir os
padres EAN-8, EAN-13, UPC-A, 3 de 9 e 2 de 5 interleaved.

15.2.129Tipo de campo CPF


um campo do tipo caractere destinado a armazenar valores do Cadastro de Pessoas Fsicas (CPF) estabelecido pela
Receita Federal.

15.2.130Tipo de campo data


um tipo de campo destinado a armazenar valores de datas. A quantidade de posies de armazenamento obedece o
que determinado pelo tipo de dado Data.

15.2.131Tipo de campo email


um campo do tipo caractere destinado a armazenar dados referentes a endereos de email, disponibilizando, de forma
automtica, um extensor para envio de mensagens ao endereo exposto pelo campo, executando o programa de envio de
mensagens associado (padro).

15.2.132Tipo de campo Fone


um campo do tipo caractere destinado a armazenar dados de nmeros de telefone.

15.2.133Tipo de campo Fone com DDD


um campo do tipo caractere destinado a armazenar dados de telefone com a informao do cdigo DDD (Discagem
Direta Distncia).

15.2.134Tipo de campo Hora


um tipo de campo destinado a armazenar dados de horas. A quantidade necessria para armazenamento a mesma
para o tipo de dado Data.

15.2.135Tipo de campo Lista Interna


um campo do tipo caractere que possibilita ao usurio escolher uma opo dentre uma lista para colocar no campo.

2008 GAS Tecnologia

Captulo 15 - Extra

421

15.2.136Tipo de campo Lgico


um tipo de campo numrico, inteiro, que armazena valores booleanos. Veja tambm, tipo de dado lgico. Um campo do
tipo lgico manipulado nas aplicaes do GAS por meio de um objeto checkbox que associado automaticamente.

15.2.137Tipo de campo Memo


Um campo do tipo memo destinado a armazenar grande quantidade de texto. A quantidade de armazenamento a que
est estabelecida no tipo de dado memo.

15.2.138Tipo de campo Multimdia


Este tipo de campo permite a carga e gravao no banco de dados, de qualquer tipo de arquivo, como por exemplo,
DOC, AVI, ZIP, MID, EXE, MP3, etc., alm de qualquer tipo de imagem. Se o micro do usurio final possuir um scanner ou
qualquer outro dispositivo de captura de imagens conectado, este poder digitalizar imagens diretamente para o campo! Se
for necessria a edio do contedo deste campo, a aplicao acionar automaticamente o aplicativo Windows que estiver
associado ao tipo de arquivo, ou seja, se voc armazenou um DOC em um campo, a aplicao invocar o MS-Word para
edit-lo; se este campo contm um arquivo JPG gravado, ser convocado o editor de imagens preferido do usurio. A
aplicao gerencia automaticamente se o arquivo foi modificado e, se for o caso, disparar o evento datachanged da
aplicao, habilitando automaticamente os botes de gravao e cancelamento, para que o usurio possa regravar o
arquivo modificado no campo do banco de dados. Aplicaes manipulando imagens BMP criadas com a verso anterior ao
GAS podero ser convertidas com o utilitrio conversor disponibilizado pela Gas Tecnologia. Este conversor transformar
rapidamente campos imagem BMP gravados no banco em campos multimidia contendo imagens JPG, com a compresso que
voc selecionar. Assim fazendo, o tamanho do banco de dados ser drasticamente reduzido. S para exemplificar,
tipicamente, um BD com 40 MB poder ficar, aps convertido, com menos de 2MB(!!!!) Sempre que um campo do tipo
multimdia for definido, o GAS associar automaticamente um objeto para conter o arquivo e um boto para permitir o
carregamento do mesmo.

15.2.139Tipo de campo Numrico


um tipo de campo que pode armazenar valores numricos. O tamanho de armazenamento de um campo numrico
depende do tipo de dado numrico que armazena. Alguns tipos de dados numricos so byte, inteiro, longo, preciso
simples, preciso dupla e dinheiro.

15.2.140Tipo de campo Optativo


um campo do tipo numrico com caracterstica de mltipla-escolha. As opes aparecem em objetos do tipo boto de
radio e so mutuamente exclusivas.

15.2.141Tipo de campo Rotativo


um tipo de campo numrico no qual o usurio, alm de poder digitar diretamente o dado, pode tambm clicar com o
mouse em um objeto (scroll bar) para mudar o seu contedo. Sempre que um campo rotativo definido, o GAS associa
automaticamente os objetos necessrios.

15.2.142Tipo de campo UF
um campo do tipo caractere destinado a armazenar valores de Unidades da Federao (UF).

2008 GAS Tecnologia

422

GAS 2007 - Manual do Usurio

15.2.143Tipo de campo WebPage


um campo do tipo caractere destinado a armazenar dados referentes a endereos de pginas da InterNet,
disponibilizando, de forma automtica, um extensor para acesso ao endereo exposto pelo campo, executando o browser
associado (padro).

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.

15.2.145Tipo de dado Binrio Longo


um tipo de dado capaz de conter valores at 1.2 gigabytes de tamanho. utilizado normalmente para armazenar
imagens no banco de dados.

15.2.146Tipo de dado Booleano


Veja tpico Tipo de dado Lgico.

15.2.147Tipo de dado Byte


um tipo de dado fundamental usado para armazenar pequenos valores positivos variando entre 0 e 255.

15.2.148Tipo de dado Data/hora


Datas e horas so armazenadas internamente como partes diferentes de um nmero real. O valor esquerda do ponto
decimal representa uma data entre 1 de janeiro de 100 e 31 de dezembro de 9999. Valores negativos representam datas
anteriores a 30 de dezembro de 1899. O valor direita do ponto decimal representa uma hora entre 00:00:00 e 23:59:59.

15.2.149Tipo de dado Dinheiro


um tipo de dado til para clculos envolvendo dinheiro ou clculos de ponto fixo nos quais a preciso extremamente
importante. Este tipo de dado utilizado para armazenar nmeros de at 11 dgitos esquerda do ponto decimal e 4 dgitos
direita. O caractere de declarao @.

15.2.150Tipo de dado Inteiro


um tipo de dado fundamental que armazena nmeros inteiros. Uma varivel inteira armazenada como um nmero de 16
bits (2 bytes) variando na faixa de -32.768 at 32.767. O caractere de declarao deste tipo %. Na linguagem Visual
Basic, pode-se usar inteiros para armazenar valores booleanos (True=-1, False =0).

15.2.151Tipo de dado Lgico


um valor que pode ser Falso (False) ou Verdadeiro (True). Valores booleanos podem ser resultados de avaliao de
expresses, podendo ser armazenadas em banco de dados.

2008 GAS Tecnologia

Captulo 15 - Extra

423

15.2.152Tipo de dado Longo


um nmero inteiro armazenado em 4 bytes, podendo variar de -2.147.483.648 at 2.147.483.647. O seu caractere de
declarao &.

15.2.153Tipo de dado Memo


um tipo de dado ou campo que pode conter informaes textuais com um tamanho de at 1.2 GB.

15.2.154Tipo de dado Preciso Dupla


um tipo de dado fundamental que pode armazenar nmeros de pontos flutuantes de preciso dupla. Uma varivel de
preciso dupla (double) armazenada como um nmero de 64 bits (8 bytes) podendo o seu valor variar de 1.79769313486232E308 at -4.94065645841247E-324 para valores negativos e de 4.94065645841247E- 324 at
1.797693134862325E308 para valores positivos. O caractere de declarao deste tipo de dado # .

15.2.155Tipo de dado Preciso Simples


um tipo fundamental de dado que armazena nmeros de ponto flutuante. Um valor de preciso simples armazenado
como um nmero de 32 bits (4 bytes) variando de -3.402823E38 at -1.401298E- 45 para valores negativos e de 1.401298E45 at 3.402823E38 para valores positivos. O caractere de declarao !.

15.2.156Tipo de dado String


um tipo fundamental que armazena informao do tipo caractere. Uma varivel string pode conter aproximadamente
65.535 bytes (64K), podendo ser de tamanho fixo ou de tamanho varivel, contendo um caractere por byte. Strings de
tamanho fixo so declaradas como tendo um tamanho especfico enquanto as strings de tamanho varivel podem ter um
tamanho de at 64K. O caractere de declarao $.

15.2.157Tipo de dado Variant


um tipo de dado especial que pode conter valores numricos, string e datas, bem como os valores especiais Empty e
Null (vazio e nulo). Se nenhum caractere de declarao for adicionado ao final de um nome de varivel, esta ser tratada
como Variant.

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.

2008 GAS Tecnologia

424

GAS 2007 - Manual do Usurio

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.

2008 GAS Tecnologia

Вам также может понравиться