.nfl capitalize
.ps 62,70
.flags index
.enable index
.number page 1
.title Manual de utilizao do sistema DBAG
.subtitle ndice
.flags bold
.nap
.nf
.nj
.lm 1
.rm 79
.require 'indice.txt'
.lm 6
.rm 72
.sp 2
.spr 4,1,3
.ap
.f
.j
.pg
.number page 1
.title Manual de utilizao do sistema DBAG
.subtitle Prembulo
.b 3
^*PREMBULO\*
.b
.lm 6
.rm 72
.require 'preambulo.txt'
.lm 6
.rm 72
.number page 1
.chapter ^*1. Introduo  utilizao interactiva\*
.title Manual de utilizao do sistema DBAG
.subtitle Introduo  utilizao interactiva
.pg
.lm 6
.rm 72
.require 'introducao.txt'
.lm 6
.rm 72
.chapter ^*2. Lista de comandos (ordem alfabtica)\*
.title Manual de utilizao do sistema DBAG
.subtitle Lista de comandos (ordem alfabtica)
.pg
.sp 1
.spr 4,1,3
.lm 1
.rm 72
.require 'comandos.txt'
.sp 2
.spr 4,1,3
.lm 6
.rm 72
.number page 1
.chapter ^*3. Utilizao por "menu"\*
.title Manual de utilizao do sistema DBAG
.subtitle Utilizao por "menu"
.sp 2
.spr 4,1,3

.number page 1
.chapter ^*4. Editor do DBAG\*
.title Manual de utilizao do sistema DBAG
.subtitle Editor do DBAG
.sp 2
.spr 4,1,3


.number page 1
.chapter ^*5. Utilitrios\*
.title Manual de utilizao do sistema DBAG
.subtitle Utilitrios
.sp 2
.spr 4,1,3


.number page 1
.chapter ^*6. Salvaguarda/restauro de bases\*
.title Manual de utilizao do sistema DBAG
.subtitle Salvaguardar/restaurar as bases
.sp 2
.spr 4,1,3


.number page 1
.chapter ^*7. Importao/exportao de dados\*
.title Manual de utilizao do sistema DBAG
.subtitle Importao/exportao de dados
.sp 2
.spr 4,1,3



.number page 1
.chapter ^*8. Limites gerais\*
.title Manual de utilizao do sistema DBAG
.subtitle Limites gerais
.sp 2
.spr 4,1,3



.number page 1
.chapter ^*9. Terminologia\*
.title Manual de utilizao do sistema DBAG
.subtitle Terminologia
.sp 2
.spr 4,1,3



.number page 1
.chapter ^*10. Performance\*
.title Manual de utilizao do sistema DBAG
.subtitle Performance
.sp 2
.spr 4,1,3



.number page 1
.chapter ^*11. Anomalias e controle de situaes de erro\*
.title Manual de utilizao do sistema DBAG
.subtitle Anomalias e controle de situaes de erro
.sp 2
.spr 4,1,3




.number page 1
.chapter ^*Apndices\*
.title Manual de utilizao do sistema DBAG
.subtitle Apndices
.sp 2
.spr 4,1,3
.pg
	^*A. "Termos" mais utilizados nos comandos interactivos\*
.b
	Alguns dos comandos interactivos podem incluir a definio dum "scope",
a base a que respeitam, uma expresso "for", uma lista de campos e ainda
um critrio de ordenao.
.b
	Por exemplo, se pretendesse visualizar no terminal os campos NOME e
DATA__NASC de todos os records da base "pessoal" que tenham o campo
SEXO = 'M', por ordem ascendente do campo NOME, poderia faz-lo com um nico
comando:
.nf
.nj
.b
	"DISPLAY
.b
	 ALL                       ; SCOPE    <lista de "scopes"_>
.b
	 DATABASE pessoal          ; DATABASE <nome da base_>
.b
	 FOR sexo = 'M'            ; FOR      <expresso "for"_>
.b
	 FIELDS nome, data__nasc,   ; FIELDS   <lista de campos_>
.b
	 SORT ON nome A"           ; SORT ON  <lista de ordenao_>
.f
.j
.b
	Tem agora uma listagem das possibilidades de utilizao de alguns destes
"termos" .
.b 2
.tp 14
	^*A.1 SCOPE <lista de "scopes"_>\*
.b
	A palavra-chave SCOPE  facultativa e a lista de "scopes" pode conter,
entre vrgulas:
.nf
.nj
.b
	TOP           o primeiro record duma base
	BOTTOM        o ltimo record
	ALL           todos os records
	RECORD 80     o record nmero 80
	80            o record nmero 80
	CURRENT       o record corrente
	NEXT 20       20 records comeando no record corrente, inclusiv
	Pode ainda indicar limites, desde que dados entre ":"
	TOP:128       do primeiro record ao record no. 128, inclusiv
	^*Exemplo:\* top, 120, 200:bottom
.f
.j
.b 2
.tp 14
	^*A.2 FOR <expresso "for"_>\*
.b
	Uma expresso "for"  constituida por uma ou mais condies lgicas
sobre os campos, relacionadas entre si pelos operadores lgicos .OR. ou .AND.
.b
	Uma condio lgica relaciona um determinado campo com um valor, uma
lista de valores ou um "scope" de valores desse campo. Qualquer condio
lgica pode ser negada pelo operador .NOT.
.b
	Os operadores lgicos tm a seguinte precedncia: .NOT., .AND.
e .OR. Pode usar parnteses circulares para forar uma determinada ordem de
clculo da expresso.
.b
	Operadores lgicos:
.nf
.nj
.b
	.OR.       ou  (unio)
.b
	.AND.      e   (interseco)
.b
	.NOT.      no (negao)
.f
.j
.b
	Operadores aritmticos:
.nf
.nj
.b
	=    ou  .EQ.    igual
.b
	<_>       .NE.    diferente
.b
	_>        .GT.    maior
.b
	_>=       .GE.    maior ou igual
.b
	<        .LT.    menor
.b
	<=       .LE.    menor ou igual
.b
	:                entre dois valores (por ex. 10:20)
.b 2
	^*Exemplos\* (2, 3 e 4 so funcionalmente idnticos):
.b
	1) FOR sexo = 'M' .OR. data__nasc = 1-jan-60
.b
	2) FOR   %4 = 'M' .OR.
	         data__nasc = 1-jan-60, 2-jan-60, 3-jan-60
.b
	(%4 = campo no. 4)
.b
	3) FOR sexo = 'M' .OR. %3 = 1-jan-60 : 3-jan-60
.b
	4) FOR   %4 = 'M' .OR.
	        ( %3 <= 3-jan-60 .and. %3 _>= 1-jan-60 )
.f
.j
.b
	Existe ainda um operador dedicado  procura de textos:
.nf
.nj
.b
	$                procura#de#texto
.f
.j
.b
	^*Exemplo:\*#FOR#'Lus'$nome (os records em cujo campo NOME
exista Lus ou lus ou LUIS: a existncia de acentos, maisculas ou
minsculas  indiferente)
.b
	^*N.B.\* Por vezes, uma condio lgica que faz apelo a uma lista de
valores numricos seria mais facilmente escrita se esses
valores fossem colocados num ficheiro em disco, invocando esse ficheiro
no comando atravs do "operador" @: a funo deste "operador"  SUBSTITUIR
o nome do ficheiro que se segue pelo seu contedo, considerado como uma lista
de valores numricos. Por exemplo, a condio:
.b
	FOR cdigo = 1, 2, 4, 10, 16
.b
	 equivalente  condio
.b
	FOR cdigo = @c.lst
.b
	desde que tivesse criado um ficheiro em disco de nome "c.lst"
	com o valor 1 na primeira linha, o valor 2 na segunda linha, etc.
.b
	Como variante, pode tambm usar um ficheiro criado por um comando
"SAVE SEARCH TO ficheiro". Na realidade, o comando "SAVE SEARCH ..." guarda
no ficheiro, sob uma forma no directamente legvel, os nmeros dos records
da "pesquisa corrente". Estes nmeros podem ser invocados desta maneira numa
expresso "for".
.b
	Ou seja: com o comando SEARCH selecciona certos nmeros de record
duma base; com o comando SAVE guarda esses nmeros num ficheiro; estes
nmeros de record podem em qualquer altura ser "integrados" numa expresso
"for" atravs do "operador" @.
.b
	Finalmente, no se esquea de que, se um campo tiver sido indexado
por palavras-chave (INDEX KWIC) e usar uma condio do tipo "FOR nome = 
'antnio',  'manuel'"  vai realizar uma pesquisa dos records em cujo  campo
NOME figurem "antnio" ou "manuel".
.b
	^*Exemplo:\*
	Se tiver uma base com trs records, em que o campo NOME foi
preenchido com "Antnio Manuel" no primeiro, apenas "Antnio" no segundo e
"Manuel Gonalves" no terceiro, se o campo no fr indexado KWIC o comando
"SEARCH ALL FOR nome = 'Antnio' apenas encontra o primeiro record.
	Se o campo fr indexado KWIC, sero encontrados o primeiro e o
segundo records. Neste caso particular, se usasse o operador "$" (procura de
textos) tambm obteria o mesmo resultado. Porm, no poderia realizar, 
custa do operador "$" uma procura do tipo "SEARCH ALL FOR nome = 
'Antnio', 'Manuel'" e seleccionar os trs records. A nica maneira de efectuar
esta ltima procura  indexar o campo NOME por palavras-chave.
.b 2
.tp 14
	^*A.3 FIELDS <lista de campos_>\*
.b
	A lista de campos pode conter, entre vrgulas, mnemnicas ou nmeros
de campos; o nmero do record, que para visualizao pode ser considerado
como "campo",  representado pelo smbolo _# (cardinal)
.b
	^*Exemplo:\*#FIELDS#cdigo,#sexo,#%2,#cdigo
	(%2#=#campo#no.#2)
.b 2
	^*A.4 SORT ON <lista de ordenao_>\*
.b
	A lista de ordenao  constituida por uma lista de campos (mnemnicas
ou nmeros de campos), cada campo caracterizado por um "A" (ordenao
ascendente) ou um "D" (descendente).
.b
	^*Exemplo:\* SORT#ON#nome#A,#data__nasc#D
(ordenar pelo campo NOME, ordem ascendente; dentro desta ordenao
pelo campo DATA__NASC, ordem descendente)
.b
	Pode omitir o "A", a ordem mais usada  a ascendente. Assim,
no exemplo anterior poderia ter escrito, mais simplesmente:
"SORT ON nome, data__nasc D".
