Beruflich Dokumente
Kultur Dokumente
Com o Dataflex você não necessita de módulos extras, pois conta com um
sistema completo em mãos. Todas as ferramentas e utilitários estão em um
único e compacto bloco de programas e utilitários, como:
- Compilador de programas;
- Editor de textos;
┌─────────────────────────────────┐
│SISTEMAS OPERACIONAIS COMPATÍVEIS│
└─────────────────────────────────┘
- MS-DOS
- Unix
- Xenix
- Novell
- Vax
- Vms
- PC et
- outros
┌─────────────────────────────────────┐
│ESPECIFICAÇÕES DO HARDWARE E SOFTWARE│
└─────────────────────────────────────┘
┌────────────────────────────┐
│UTILITÂRIOS DO DATAFLEX 2.3b│
└────────────────────────────┘
[ENT$PERMISSIVE]
Quando verdadeiro, pode-se alterar o conteúdo dos campos de ligação de
arquivos relacionais.
[ERR]
Verdadeiro quando ocorrer um status de erro de operação.
[FINDERR]
Verdadeiro quando ocorrer uma pesquisa malsucedida.
[FOUND]
Verdadeiro quando ocorrer uma pesquisa bem-sucedida.
[ROTINA FLEX-KEY]
Verdadeiro se uma das teclas especiais for pressionada.
[KEYPRESS]
Verdadeiro estabelecido pelo comando KEYCHECK quando uma tecla é pressionada
durante a execução de um programa.
[MULTIUSER]
Verdadeiro se o sistema é multiusuário.
[PAGEBREAK]
Verdadeiro estabelecido pelo comando PAGECHECK quando ocorrer uma quebra
de página dentro de uma macro report.
[SEQEOF]
Verdadeiro quando ocorrer a leitura do final de um aquivo texto sequencial.
[SEQEOL]
Verdadeiro quando ocorrer a leitura do final de um aquivo sequencial.
[SELECT]
Verdadeiro estabelecido pelo comando INDICATE SELECT quando um registro
satisfaz o critério de seleção em um relatório, usando a macro report.
CHART$COLOR
Contém um código de cor pelo qual estabelece uma cor para eixos e os valores
de um gráfico.
CURRENT_IMAGE
Contém o número da imagem que está ativa no momento.
CURRENT_WINDOW
Contém o número da última janela manipulada no programa.
ERRLINE
Contém o número da última linha na qual ocorreu um erro de operação.
FILENUMBER
Contém o número do último arquivo manipulado pelo comando FILELIST ou
FILELIST_NEXT
FIELDINDEX
É um indexador de campos de um registro, através do qual estes podem ser
manipulados como variáveis indexadas.
FLEXKEY
Contém o número da última flex-key pressionada.
LABEL$COLOR
Contém um código de cor pelo qual estabelece uma cor para as palavras de um
gráfico.
LASTERR
Contém o número do último status de erro ocorrido no programa.
LINECOUNT
Contém o número de linhas impressas pela Macro Report em uma página.
NEXT_MENU
Contém o número de um menu do arquivo MENU.DAT que seráativado quando a
tecla ESC for pressionada.
NUMPAGE
Contém o número total de imagens de um programa.
NUMWINDOW
Contém o número total de janelas de um programa.
PAGECOUNT
Contém o número de páginas impressas pela Macro
PAGEEND
Estabelece o número de linhas por página em um relatório.
PAGEFEED
Estabelece o número de linhas correspondentes á altura física do
formulário em impressão. O valor padrão (default) "0" (zero)
estabelece formulários padrões contínuos com 66 linhas de altura. O valor
"-1" (menos hum) provoca uma pausa para impressão em folhas
individuais ou em listagens no vídeo.
RECCOUNT
Contém o número de registros impressos em uma Macro Report.
banco_dados.RECNUM
Contém o número de registro ativo.
SCREENEND
Contém o número máximo de linhas do vídeo.
STRLEN
Contém o comprimento de uma substring dentro de uma string de uso
interno do Dataflex.
STRMARK
Contém a posição de uma substring dentro de uma variável de uso interno do
Dataflex.
WINDOWINDEX
É um indexador de janelas pelo qual estas podem ser manipuladas como
variáveis indexadas.
┌──────────────────────┐
│MASCARAS DE FORMATAÇÃO│
└──────────────────────┘
{CAPSLOCK}
Converte em maiúscula a string exibida em janelas alfanuméricas.
{FILL="X"}
Preenche os espaços restantes em uma janela com o caractere
especificado em "x".
{FLOAT$}
Imprime o prefixo monetário definido na configuração do Dataflex à esquerda
dos valores numéricos exibidos em janelas numéricas.
{POINTS=n}
O valor de "n" define o número de casas à direita do ponto decimal, que
deve estar no intervalo de 0 a 8.
{SIGNRT}
Imprime o sinal de menos (-) à direita dos valores negativos em
janelas numéricas.
{SUPRESS}
Elimina espaços não utilizados em janelas alfanuméricas.
C : Converte em maiúsculas.
/BODY
__0___. __C_______________________________________
__,___,___.__ __Z_______.__ __$_______.__ __E_______.__ __*_______.__
/*
OUTFILE 'CON:'
MOVE 0 TO PAGEEND
SECTION BODY
PRINT CADC.COD_CLI
PRINT CADC.NOME
PRINT CADC.VLR_DUP
PRINT CADC.VLR_DUP
PRINT CADC.VLR_DUP
PRINT CADC.VLR_DUP
PRINT CADC.VLR_DUP
OUTPUT BODY
REPORTEND
FORMFEED
ABORT
-------------------------------------------------------------------
CODIGO NOME
SALARIO 1 SALARIO 2 SALARIO 3 SALARIO 4 SALARIO 5
-------------------------------------------------------------------
0000001 MARCELO DOS SANTOS
400.000,00 Cr400000,00 4,00000e5 ****400000,00
┌───────────────────┐
│MASCARAS DE ENTRADA│
└───────────────────┘
{AUTOBACK}
Move o cursor para o final da janela anterior se a tecla"seta para esquerda
ou backspace" for pressinada no início da janela corrente.
{AUTOFIND}
Executa uma operação de pesquisa automaticamente, faz um Find (somente em
campo que possuir índice para procura)
{AUTOFIND_GE}
Executa uma operação de pesquisa geral automaticamente.
{AUTORETURN}
Avança automaticamente o cursor para a próxima janela,quando esta é
preenchida totalmente.
{CAPSLOCK}
Converte em maiúsculas os caracteres digitados em janelas alfanuméricas.
{CHECK="A,B,C"}
Verifica se o dados digitados na janela alfanumérica(ascii) é igual as
letras A, B ou C, caso não for igual a nenhuma das três letras não será
aceito e retorna para nova digitação.
{DISPLAYONLY}
A janela apenas será exibida, não permitindo a entrada ou alteração de dados.
{FINDREQ}
Mantém o cursor na janela até que um registro seja colocado no buffer
através de uma operação de pesquisa.
{FORCEPUT}
Força o conteúdo da janela para o buffer incodicionalmente.
{NOENTER}
A janela será apenas exibida, não permitindo entrada ou alteração de dados.
{NOPUT}
Não envia o conteúdo da janela para o buffer de registro.
{RANGE=10}
Verifica se os dados digitados em janelas numéricas são menores que 10.
Não aceitará números maiores que 10.
{REQUIRED}
A entrada e obrigatória, deve ser digitado algo para passar por esta
janela.
{RETAIN}
Mantém os dados na janela até que ela seja limpa pela segunda vez através
do comando CLEARFORM.
{RETAINALL}
Mantém os dados na janela permanentemente.
{SKIPFOUND}
Não permite entrada de dados se um registro estiver ativo no buffer.
┌───────────────────┐
│FUNÇÕES MATEMÂTICAS│
└───────────────────┘
ABS
Retorna o valor absoluto da expressão matemática especificada.
ACOS
Retorna um ângulo em radianos do arco coseno do valor da expressão
matemática especificada.
ASIN
Retorna um ângulo em radianos do arco seno do valor da expressão
matemática especificada.
ATAN
Retorna um ângulo em radianos do arco tangente do valor da expressão
matemática especificada.
COS
Retorna um ângulo em radianos do coseno do valor da expressão
matemática.
EXP
Eleva o valor de "e" (nepriano) à potência do valor da expressão
matemática expecificada.
INTEGER
Converte o valor da expressão matemática em um valor inteiro, sem
considerar a parte decimal.
LOG
Retorna o logaritmo neperiano (natural) do valor da expressão
matemática especificada.
REAL
Converte o valor da expressão matemática em um valor real.
SIN
Retorna um ângulo em radianos do seno do valor da expressão
matemática.
SQRT
Retorna a raiz quadrada do valor da expressão matemática especificada.
TAN
Retorna um ângulo em radianos da tangente do valor da expressão
matemática.
/TELA
Valor : ______.__
/*
// 5577 * 10 = 6134.7000
NUMBER PRECO
WHILE [ ~ KEY.ESCAPE]
ACCEPT TELA.1
GOTOXY 20 00
CLEARFORM TELA
CLEARXY 20 0
MOVE 0 TO PRECO
END
ABORT
┌───────────────────┐
│TIPOS DE OPERADORES│
└───────────────────┘
Operadores Matemáticos
+ : Adição
- : Subtração
* : Multiplicação
/ : Divisão
^ : Exponenciação
Operadores Relacionais
EQ : Igual a
NE : Diferente de
NG : Maior que
GE : Maior ou igual a
LT : Menor que
LE : Menor ou igual a
IN : Está dentro de
Operadores Lógicos
AND : E
OR : Ou um, ou outro
ANY : Qualquer um
Abaixo segue uma lista dos comandos usado pelo Dataflex em tempo de
compilação. Exemplo para o programado o comando é [NOT FOUND] para
compilador é [ ~ |254]
FLEX$INIT
=========
====================
LINECOUNT ---------> |VI10
PAGECOUNT ---------> |VI11
PAGEEND -----------> |VI25
PAGEFEED ----------> |VI26
#SET D$ 128 // INTEGERS NOW START HERE.
#SET P$ 0
INDICES
EXPORT_FILES ------> 1
EXPORT_ONLY -------> 2
SEQ_EXPORT --------> 4
#SET N$ 2 // save 0,1 stacks for IF/ELSE
#XPUSH !n $INIT
#ENDCOMMAND
Imagens
São lay-outs de relatórios, telas de manutenção de arquivos ou ainda tela de
AJUDA (HELP), constituídas de textos, quadros mensagens, caracteres
gráficos e príncipalmente janelas.
Uma imagem começa com uma barra "/" (Barra) na primeira linha e coluna
seguida de seu respectivo nome e termina o início de outra imagem, ou com
o início do programa que inicia após uma linha contendo os caracteres "/*"
(barra e asterisco).
Uma imagem de AJUDA (HELP) ou tela de manutenção não pode ter mais do que
25 linhas.
Janelas
É um conjunto de caracteres que representam o local da imagem destinado a
receber e manipular dados. Execute o programa
/IMAGEM1
┌───────────────────────────────────────────────┐
│ Codigo : __. │
│ │
│ Nome : _________________________________ │
│ │
│ Salario : _________.__ │
└───────────────────────────────────────────────┘
/IMAGEM2
┌───────────────────────────────────────────────┐
│ Fone : _______ │
│ │
│ Fax : _______ │
└───────────────────────────────────────────────┘
/*
NOTA
/TELA
┌───────────────────────────────────────────────┐
│ Codigo : __. │
│ │
│ Nome : _________________________________ │
│ │
│ Salario : _________.__ │
└───────────────────────────────────────────────┘
/*
// PROGRAMA CLIENTES
OPEN CLIENTES
ENTER CLIENTES
AUTOPAGE TELA
label_1:
label_2:
ENTRY CLIENTES.SALARIO
END
RETURN
ENTEREND
ABORT
- label_1
O digitador forçadamente terá que digitar algo neste campo para poder ir
adiante.
- label_2
Se (IF) no campo (janela) salário for digitado um salário maior que
500.000,00 (quinhentos mil cruzeiros) será exibido a mensagem SALARIO NAO
PODE SER MAIOR QUE <<500 000>> e o programa irá retornar para a
label_2. Assim o digitador terá que digitar um salário inferior a
500.000,00 para passar desta janela.
┌─────────────────────────────┐
│O QUE SÃO ARQUIVOS DE DADOS ?│
└─────────────────────────────┘
São agrupamentos de dados, ordenados ou não, que podem sofrer algum tipo
de processamento gerando informações. Os processamentos que um arquivo de
dados pode sofrer são: inclusões de novos dados, alterações nos dados já
existentes, exclusão dos dados residentes no arquivo, e consultas podem
ser feitas dos dados armazenados.
Dataflex 2.3b.
.FRM
Arquivo-fonte de programas de aplicação, editado no editor de sua
preferência. Este arquivo deve ser compilado para que possa ser
executado. (CLIENTES.FRM)
.FLX
Arquivo-destino do programa-fonte após compilado. Já esta pronto para ser
executado. (CLIENTES.FLX)
.DAT
Arquivo de dados. Este arquivo guarda todos os dados gravados durante
os processos básicos de manipulação de dados (inclusão, alteração,
exclusão). (CLIENTES.DAT)
.Kn
Arquivo de índeces. Este arquivo tem a relação de registros
organizados sequêncialmente de acordo com sua definição. Pode ser criado
até 10 arquivos de índices, isto é, pode-se ter até 10 índices para
cada arquivo de dados. (CLIENTES.K1, CLIENTES.K2, CLIENTES.K3 ...
CLIENTES.K10)
CODIGO
NOME
SALARIO
.FD
Arquivo que guarda os "apelidos" dados aos campos do arquivo
Dataflex. Isto é necessário para a agilização do processo de
compilação e acesso aos nomes de arquivos durante um dos módulos de criação
de aplicações.
.RPT
Arquivo fonte de aplicações de geração de relatórios (DFQUERY). Tem
as mesmas caracteristicas que o de terminação .FRM devendo tambem ser
compilado para que possa ser executado. Sua terminação (extensão)
após ter sido compilado será .FLX
.DEF
Arquivo que é a imagem da definição do arquivo. É usado para a
conferência da estrutura do arquivo de dados e pode ser usado para a geração
de programas de aplicação (.FRM) através de um módulo chamado ENTERDEF,
que a partir da definição de um arquivo gera um programa-fonte (.FRM)
pronto para ser compilado.
┌──────────────────┐
│O QUE SÃO CAMPOS ?│
└──────────────────┘
São pedaços de informação. São itens de dados que se agrupam para formar
conjuntos de dados e formar uma informação. Um conjunto de campos forma um
registro.
/TELA
┌───────────────────────────────────────────────┐
│ Codigo : __. │
│ │
│ Nome : _________________________________ │
│ │
│ Salario : _________.__ │
└───────────────────────────────────────────────┘
/*
NOTA
NOTA
CLIENTES.DAT
-------------------------------------------------------------------
CODIGO NOME
-------------------------------------------------------------------
┌───────────────────┐
│O QUE SÃO INDICES ?│
└───────────────────┘
NOTA
índice 2
Como o Dataflex pode gerenciar até 255 arquivos de dados ao mesmo tempo,
temos também possibilidade de abrir 255 BUFFERS de registro, um para cada
arquivo de dados aberto.
BUFFER do registro.
┌─────────────────────┐
│ O QUE SÃO VARIÂVEIS?│
└─────────────────────┘
É obrigatório cada rotina terminar com dois pontos ":", para indicar ao
Dataflex que não se trata de um documento.
Exemplo - 1
/TELA
┌──────────────────────────────┐
│Codigo : ___. │
│Nome : ____________________│
│Idade : _. │
│Salario : _________.__ │
└──────────────────────────────┘
/*
WHILE [ ~ KEY.ESCAPE]
ACCEPT TELA.1
ACCEPT TELA.2
ACCEPT TELA.3
ACCEPT TELA.4
END
ABORT
ROTINA_1:
GOTOXY 24 0
PAUSE ' DESVIADO PARA A << ROTINA 1 >> '
CLEARXY 24 0
RETURN
ROTINA_2:
GOTOXY 24 0
PAUSE ' DESVIADO PARA A << ROTINA 2 >> '
CLEARXY 24 0
RETURN
/TELA
┌───────────────────────┐
│Informe qq. nr: _. │
│ │
│Salario : ______.│
└───────────────────────┘
/*
REPEAT
ACCEPT TELA.1
ACCEPT TELA.2 {POINTS=4}
GOSUB ROTINA_1
GOTOXY 24 00
PAUSE ' VOLTA DA SUB-ROTINA 1 '
CLEARXY 24 00
UNTIL [KEY.ESCAPE]
SAI:
ABORT
ROTINA_1:
GOTOXY 24 00
PAUSE ' SUB-ROTINA 1 '
CLEARXY 24 00
GOSUB ROTINA_2
GOTOXY 24 00
PAUSE ' VOLTA DA SUB-ROTINA 2 '
CLEARXY 24 00
RETURN
ROTINA_2:
GOTOXY 24 00
PAUSE ' SUB-ROTINA 2 '
CLEARXY 24 00
RETURN
/TELA
┌─────────────────────┐
│Numero : _. │
│ │
│Cor : ____________│
└─────────────────────┘
/*
WHILE [ ~ KEY.ESCAPE]
INICIO:
ACCEPT TELA.1
ACCEPT TELA.2
END
ABORT
┌───────────┐
│DFSETUP.EXE│
└───────────┘
Configura o software Dataflex 2.3b. No prompt do MS-DOS, ou qualquer que
seja seu sistema operacional digite:
Após tê-lo carregado para memória, escolha um número das opções desejadas
e tecle enter, irá acessar várias telas (menus).
- Teclas de função;
- Retorno automático em campo cheio. Se esta opção for usada o formatador
{AUTORETURN} não será necessário;
- Sistema multiusuário;
- Pré-alocamento de espaço em disco;
- Proteção contra queda de energia, se o seu computador não tiver o
aparelho NO-BREAK;
- Formato de data;
- Formatação numérica;
- Símbolo de unidade monetária;
- Caractere para a definição de janelas;
- Instalação do número da série;
- Instalação do nome da empresa;
- Instalação do código de registro;
- Controle de "flicker" do vídeo;
- Dimensões do vídeo;
- Instalação das cores do sistema;
- Dispositivo gráfico da impressora.
C:\>DFSETUP (enter)
==========================================================================
Sua Opcao: 4
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 29
Após ter informado a opção 4 irá acessar o menu abaixo:
Editando: termlist.cfg
2 Opções de Sistema
4 Parâmetros do Terminal
Sua opção: 1
Superprocura Relacional ^G = ^G =
Registro Anterior ^G I ^G I
Registro Posterior ^G Q ^G Q
Calcula ^G ? ^G ?
Help ^G ; ^G ;
Usuário Um ^G A ^G A
Usuário Dois ^G B ^G B
disco para cada arquivo seja reservado quando este for definido. Onde isto
ele.
seus arquivos após uma queda de energia, digite (S)im. Do contrário, você
vai precisar restaurar os dados com frequência após uma queda de energia.
Qual formato deve o comando PRINT utilizar para imprimir valores (P/V)? V
Exemplo: (HISTORICO:__________________________).
----------------------------------------------------------------------
Sua opção: 1
Opções do Sistema:
Superprocura Relacional ^G =
Grava Registro ^G D
Exclui Registro ^G @
Registro Anterior ^G I
Calcula ^G ?
Help ^G ;
Usuário Um ^G A
Usuário Dois ^G B
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
Sua opção: 10
┌───────────┐
│ DFRUN.EXE │
└───────────┘
Runtime Dataflex 2.3b. Módulo de execução RUNTIME Dataflex. Este
utilitário executa programas semicompilados Dataflex, isto é, arquivos
que possuem a extensão .FLX. O módulo DFRUN.EXE é protegido contra
cópias.
┌────────────┐
│ DFAUTO.EXE │
└────────────┘
Cria uma aplicação a partir de uma imagem. Para criarmos uma imagem
precisamos de um editor de textos que gera arquivos ASCII puros, isto é,
arquivos somente com caracteres padrão ASCII. O Dataflex fornece
juntamente com outros módulos o editor de textos chamado de DFEDIT.
Você
pode utilizar o editor de textos que quiser, o importante é escrever o
programa fonte puro ASCII .
/TELA
┌───────────────────────────────────────────────────────┐
│ CADASTRO DE CLIENTES │
│ ==================== │
│ │
│ Nome : <___________________________> │
│ Endereco : __________________________________ │
│ Cidade : _____________ Estado : __ Cep: _______. │
│ Bairro : _____________ Contato: ____________ │
│ Telefone : ______ Fax : ______ │
└───────────────────────────────────────────────────────┘
/*
--------------------------------------------------------------------------
CADASTRO DE CLIENTES
====================
Nome : <***************************>
Endereco : __________________________________
Cidade : _____________ Estado : __ Cep: _______.
Bairro : _____________ Contato: ____________
Telefone : ______ Fax : ______
Nome : <___________________________>
Endereco : **********************************
Cidade : _____________ Estado : __ Cep: _______.
Bairro : _____________ Contato: ____________
Telefone : ______ Fax : ______
Após ter nomeado todas as janelas (que serão o nome dos campos da base de
dados), o Dataflex irá exibir a tela abaixo:
CADASTRO DE CLIENTES
====================
Nome : <___________________________>
Endereco : __________________________________
Cidade : _____________ Estado : __ Cep: ________
Bairro : _____________ Contato: ____________
Telefone : ______ Fax : ______
Abaixo esta o programa fonte que o Dataflex gerou a partir da sua IMAGEM !
/TELA
CADASTRO DE CLIENTES
====================
Nome : <___________________________>
Endereco : __________________________________
Cidade : _____________ Estado : __ Cep: _______.
Bairro : _____________ Contato: ____________
Telefone : ______ Fax : ______
/*
PAGE TELA
OPEN CADAL
ENTER CADAL
AUTOPAGE TELA
ENTRY CADAL.NOME
ENTRY CADAL.ENDERECO
ENTRY CADAL.CIDADE
ENTRY CADAL.ESTADO
ENTRY CADAL.CEP
ENTRY CADAL.BAIRO
ENTRY CADAL.CONTATO
ENTRY CADAL.FONE
ENTRY CADAL.FAX
RETURN
ENTEREND
ABORT
Terminações/extensões:
<S>elecionar (T)odos
Seleções disponíveis: 10
----------------------------------------------------------------------------
Opção: T (Todos)
========
----------------------------------------------------------------------------
Opção: V (Vídeo)
========
INTERCOMP
CADASTRO DE ALUNOS
---------------------------------------------------------------------------
/HEADER
INTERCOMP
CADASTRO DE ALUNOS
/BODY RESIDENT
_________________________ __________________________ _____________ __
/TOTAL
Registros impressos = _0___.
/*
/BODY RESIDENT
_@___________________________
_@__________________________________ _@_____________ _@__
/*
/BODY RESIDENT
_@___________________________
_@__________________________________
_@_____________
_@__
/*
OPEN CADAL INDEX.1
OUTFILE
MOVE 0 TO PAGEEND
REPORT CADAL BY INDEX.1
SECTION BODY
PRINT CADAL.NOME
PRINT CADAL.ENDERECO
PRINT CADAL.CIDADE
PRINT CADAL.ESTADO
OUTPUT BODY
REPORTEND
FORMFEED
ABORT
---------------------------------------------------------------------------
/BODY RESIDENT
"_@___________________________", "_@__________________________________",
"_@_____________", "_@__"
/*
OPEN CADAL INDEX.1
OUTFILE "CLIENTES.TXT"
MOVE 0 TO PAGEEND
REPORT CADAL BY INDEX.1
SECTION BODY
PRINT CADAL.NOME
PRINT CADAL.ENDERECO
PRINT CADAL.CIDADE
PRINT CADAL.ESTADO
OUTPUT BODY
REPORTEND
FORMFEED
ABORT
"MARCELO DOS SANTOS", "RUA BELEM, 333", "RIO DOS CEDRO", "SC"
"MIKE ALLAN", "RUA ESTADOS UNIDOS,# 200", "TIMBO", "SC"
"SANDRA PEREIRA", "RUA SAO PAULO, 1000", "TIMBO", "SC"
Por exemplo:
"Você usa o recurso do Dataflex para converter seus dados em um arquivo texto
e
"depois irá no Fácil definir uma base de dados com os tamanhos dos campos
como
"definido na base de dados no Dataflex. Para carregar o arquivo gerado
no
"Dataflex dentro do Fácil (isto se chama Importar dados) teclar F2
D
"nome_arquivo (enter). F2 I nome_do_arquivo_texto criado no Dataflex.
┌────────────┐
│ DFEDIT.EXE │
└────────────┘
Este utilitário é o editor de textos do Dataflex 2.3b, que permite
digitar o seu arquivo fonte. Neste, você poderá criar a imagem do seu
programa, e quando salva deve ter a terminação/extensão .FRM
----------------------------------------------------------------------
C:\>DFEDIT (enter)
/TELA
Codigo: __.
Nome : ___________________________
/*
----------------------------------------------------------------------
Observe no canto superior direito o nome dftemp , isto quer dizer que o
nome do programa ainda não foi definido, é temporário.
/TELA
┌───────────────────────────────────┐
│Codigo: __. │
│ │
│Nome : ___________________________│
│ │
│Idade : _. Data Nasc.: __/__/__ │
└───────────────────────────────────┘
/*
----------------------------------------------------------------------
/TELA
+--------------------------------------------------------+
| _.:_.:_. - __/__/__ MEN1 |
+--------------------------------------------------------+
| |
| MENU PRINCIPAL |
| ============== |
| |
| |
| <1> Cad. Fornecedores |
| <2> Cad. Conta Corrente |
| <3> Cad. Clientes |
| |
| <9> Deixa menu |
| |
| <_> Qual sua opcao ? |
| |
+--------------------------------------------------------+
/*
STRING XTECLA 1
STRING XTECLA 1
DATE DIA HH MM SS
F7- Grava o arquivo que esta na memória com outro nome. Assim você
poderá manter dois arquivos com o mesmos conteúdos, porém com
nomes diferentes.
/TELA
+--------------------------------------------------------+
| _.:_.:_. - __/__/__ MEN1 |
+--------------------------------------------------------+
| |
| MENU PRINCIPAL |
| ============== |
| |
| <1> Compras |
| <2> Vendas |
| |
| <_> Qual sua opcao ? |
| |
+--------------------------------------------------------+
/*
STRING XTECLA 1
DATE DIA HH MM SS
SYSDATE DIA HH MM SS
STRING XTECLA 1
DATE DIA HH MM SS
SYSDATE DIA HH MM SS
SCREENMODE 112 ON
DISPLAY HH TO TELA.1
BLOCO: <I>nício <F>im <E>sconde <C>opia <D>eleta <M>ove <L>ê
<S>hell <G>rava
COMANDOS DA TECLA F8
2) C:\>DFCOMP programa.frm
ind.frm Imagem 1
======================================================================
Memoria disponivel: 434912
PAGE>/TELA
Lendo imagem 1, TELA
<10> - VERDE
<20> - AZUL
<30> - LILAS
48>UNTIL [KEY.ESCAPE]
50>ABORT
51>
MACRO:
Memoria disponivel: 355040
Linhas de comando: 50
Erros: 0
Total de símbolos: 140
RESUMO
Comandos : 50
Constantes : 221
Qt de janelas : 1
Qt de imagens : 1
Total de blocos: 12
EX:
Você pode criar um arquivo-texto só de macro comandos e com quantas
macros desejar. Suponhamos que você criou este arquivo com o nome de
#COMMAND NOVO1
CLEARSCREEN
GOTOXY 24 10
SCREENMODE 112 ON
SCREENMODE 7 ON
CLEARXY 24 0
#ENDCOMMAND
/TELA
Codigo: __.
Nome : _______________
/*
ACCEPT TELA.1
ACCEPT TELA.2
UNTIL [KEY.ESCAPE]
ABORT
ou
C:\>DFFILE 81 (enter)
CAMPO...........: 1 <COD>
OffSet..........: 1
Tamanho.........: 2 Bytes
Tipo............: Numérico, decimais: 0
Indice principal: 1
Relacionamento com
Arquivo número: 0
Campo número: 0
Opções :
V - Vá para um determinado campo
I - Insere um campo antes deste
E - Exclui este campo
C - Cria novo campo no final
A - Altera este campo
R - Re - ajusta offset do campo
+ - Mostra próximo campo
- - Mostra campo anterior
S - Sai para menu principal
Sua opção:
Definições de Indice
Nomes do Arquivo
---------------- --------------------------------------
Nome base <AULA >
Nome p/ usuário <AULA >
Nome p/ DataFlex <AULA >
Parâmetros do arquivo
-------------------------------- ----------
Tamanho do registro <32 >
Número máximo de registros <9999 >
Re-utiliza espaços excluídos <S>
Re-leitura em modo Multi-Usuário <S>
/TELA
CADASTRO DE VENDEDORES
======================
Codigo : __.
Nome : ____________________________
Endereco : __________________________________
/*
Após ter criado a imagem de seu programa informe um número para sua no
va base de dados, e informe os seguintes itens:
C:\FL\PR\VENDER.SCR ]
CADASTRO DE VENDEDORES
======================
Codigo : ___
Nome : ____________________________
Endereco : **********************************
CADASTRO DE VENDEDORES
======================
Codigo : ___
Nome : ____________________________
Endereco : __________________________________
CADASTRO DE VENDEDORES
======================
Codigo : ___
Nome : ____________________________
Endereco : __________________________________
/TELA
CADASTRO DE VENDEDORES
======================
Codigo : __.
Nome : ____________________________
Endereco : __________________________________
/*
PAGE TELA
OPEN CADV
ENTER CADV
AUTOPAGE TELA
ENTRY CADV.COD
ENTRY CADV.NOME
ENTRY CADV.ENDER
ENTRY CADV.CIDADE
ENTRY CADV.EST
ENTRY CADV.SALARIO
ENTRY CADV.IDADE
ENTRY CADV.DTA_NASC
RETURN
ENTEREND
ABORT
Suponhamos que você precisa criar um novo arquivo com a mesma Base de
Dados de um arquivo que já existente. Para não definir os nomes dos
campos todos novamente o Dataflex oferece a opção 8.
Tenho uma Base de Dados de nome TESTE1.DEF e preciso montar outra base
de dados com o nome de CADTEST com os mesmos campos. Utilize a opção 8
e informe um novo nome para a Base de Dados e utilize a definição do
arquivo TESTE1.DEF.
Nomes do Arquivo
---------------- --------------------------------------
Nome base <CADTEST >
Nome p/ usuário <CADTEST >
Nome p/ DataFlex <CADTEST >
Parâmetros do arquivo
-------------------------------- ----------
Tamanho do registro <256 >
Número máximo de registros <9999 >
Re-utiliza espaços excluídos <S>
Re-leitura em modo Multi-Usuário <S>
Definições de Indice
┌─────────────┐
│ DFINDEX.EXE │
└─────────────┘
O utilitário DFINDEX.EXE é um reorganizador de arquivos de índices de
um banco de dados. Ao executar este utilitário, será exibida uma lista
de banco de dados ativos com seus respectivos números, a qual está ar-
mazenada no arquivo FILELIST.CFG. Escolha um banco de dados através de
seu número para ser reindexado, e as seguintes opções estarão disponí-
veis:
No Fácil 6.0d
No Dataflex 2.3b
Após a tela da página anterior acima o Dataflex irá exibir a tela abaixo:
╔════════════════════════════════════════════════════════════╦═══════╗
║ LEITURA DE ARQUIVO DIF - SELECAO DE ARQUIVOS ║ DIFLE ║
╠════════════════════════════════════════════════════════════╩═══════╣
║ No.Arquivo Nome do Arquivo (Usuario) Memoria: 37200 ║
║ ══════════ ════════════════════════════════════ ║
║ 81 AULA ║
║ 91 CADAL ║
║ 100 CADC - Cad. Ant. Parab. ║
║ 101 CAD ║
║ 102 FC - Cad. Duplicatas ║
║ 103 CADTEST ║
║ 133 EU ║
║ 156 CADINST ║
║ 201 AP100 - Cad. Empresas ║
║ 210 CADV ║
║ 250 DBFL ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ Numero do arquivo que recebera os dados ou ║
║ <RETURN> para mais arquivos: ║
║ ║
╚════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════╦══════════╗
║ GRAVACAO DE ARQUIVO DIF - ARQUIVO DE SAIDA ║ DIFGRAVA ║
╠════════════════════════════════════════════════════════╩══════════╣
║ Memoria: 356544 ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ Entre o nome do arquivo de saida: C:\DIFSARQ.TX T ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
╚═══════════════════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════╦══════════╗
║ GRAVACAO DE ARQUIVO DIF - SELECAO DOS CAMPOS DATAFLEX ║ DIFGRAVA ║
╠══════════════════════════════════════════════════════════╩══════════╣
║ Memoria: 355520 ║
║ ║
║ No. Nome No. Nome No. Nome No. Nome ║
║ 1 NOME 2 ENDERECO 3 CIDADE ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ Entre o campo para saida ou <RETURN> para terminar: ___ ║
╚═════════════════════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════╦══════════╗
║ GRAVACAO DE ARQUIVO DIF - VISUALIZACAO DO PROCESSO ║ DIFGRAVA ║
╠══════════════════════════════════════════════════════════╩══════════╣
║ Memoria: 355520 ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ PRONTO PARA COMECAR A GRAVACAO ║
║ ║
║ Tecle <RETURN> para comecar o processo ║
║ ║
║ Registro atual: 5 = 100.00 % pronto ║
║ ║
║ ║
║ ║
║ ║
║ O arquivo DIF esta' pronto. Pressione qualquer tecla para Sair ... ║
║ ║
╟───────────────────────────────────────────┐ ║
║ Lendo de : DBFL │ ║
╟───────────────────────────────────────────┤ ║
║ Gravando para: C:\ DIFARQ.TXT │ ║
╚═══════════════════════════════════════════╧═════════════════════════╝
TABLE
0,1
"DATA FOR: DBFL"
VECTORS
0,4
""
TUPLES
0,5
""
LABEL
1,0
"NOME"
LABEL
2,0
"ENDERECO"
LABEL
3,0
"CIDADE"
DATA
0,0
""
-1,0 -1,0
BOT BOT
0, CATHY DAVIS 0, MIKE ALLAN SANTOS
V V
0, RUA FRANCA 0, RUA ESTADOS UNIDOS
V V
0, RIO DOS CEDROS 0, TIMBO
V V
-1,0 -1,0
BOT BOT
0, DENVER HOUDSON 0, SIMON NEVES SANTOS
V V
0, RUA BELGICA 0, RUA ALEMANHA
V V
0, TIMBO 0, TIMBO
V V
-1,0 -1,0
BOT EOD
0, ROBERTO SANTOS
V
0, RUA ESTADOS UNIDOS
V
0, TIMBO
V
┌───────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 77
│ DIFLE.FLX │
└───────────┘
Grava registros em um banco de dados Dataflex com todos os campos, ou
alguns deles, do arquivo-texto de formato DIF (Data Interchange Format)
especificado.
╔══════════════════════════════════════════════════════════╦═══════╗
║ LEITURA DE ARQUIVO DIF - SELECAO DE ARQUIVOS ║ DIFLE ║
╠══════════════════════════════════════════════════════════╩═══════╣
║ No.Arquivo Nome do Arquivo (Usuario) Memoria: 37200 ║
║ ══════════ ═════════════════════════════════ ║
║ 81 AULA ║
║ 91 CADAL ║
║ 100 CADC - Cad. Ant. Parab. ║
║ 101 CAD ║
║ 102 FC - Cad. Duplicatas ║
║ 103 CADTEST ║
║ 133 EU ║
║ 156 CADINST ║
║ 201 AP100 - Cad. Empresas ║
║ 210 CADV ║
║ 250 DBFL ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ Numero do arquivo que recebera os dados ou ║
║ <RETURN> para mais arquivos: ║
║ ║
╚══════════════════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════════╦═══════╗
║ LEITURA DE ARQUIVO DIF - ARQUIVO DE ENTRADA ║ DIFLE ║
╠═══════════════════════════════════════════════════════════╩═══════╣
║ Memoria: 357568 ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ Qual o nome do arquivo .DIF que sera lido: DIFARQ.TXT ║
║ ║
║ ║
║ ║
╚═══════════════════════════════════════════════════════════════════╝
No exemplo acima foi movido dados de um arquivo-texto DIF para uma base de
dados Dataflex.
┌──────────────┐
│ ENTERDEF.FLX │
└──────────────┘
Gera um programa-fonte de manutenção do banco de dados através de um
arquivo que contém a imagem da estrutura de um banco de dados. Esta
imagem normalmente é gravada em um arquivo com a extensão/terminação
.DEF através da opção DFFILE.EXE.
/TELA
Programa:DBFL1.FRM, Macro ENTER gerada pelo 'ENTERDEF' (c)INTERCOMP
Arquivo: DBFL, Usuario: INTERCOMP, No.Serie: 29
REGISTRO No. <_______.>
NOME |____________________|
ENDERECO |_________________________|
CIDADE |_______________|
/* // indica final da imagens (telas)
┌───────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 81
│ FDTAG.FLX │
└───────────┘
╔═══════════╦═════════════════════════════════════════════╦════════════════╗
║ INTERCOMP ║ Interamericana de Computacao Ltda ║ FDTAG ║
╠═══════════╩═════════════════════════════════════════════╩════════════════╣
║ Conversor de .FD para .TAG ║
║ ║
║ ║
║ ║
║ ╔═════════════════════════╗ ║
║ ║Nome Base do Arquivo .FD:╟──────────────────────────────┐ ║
║ ╚═════════════════════════╝ ┌──┼───────────┐ ║
║ ┌─┴──┴─────────┐ │ ║
║ │ BDFL ├─┘ ║
║ └──────────────┘ ║
║ ║
║ ╔═════════════════════════════════════════════════╗ ║
║ ║Verifique se o Nome do Arquivo .TAG esta correto:╟──────┐ ║
║ ╚═════════════════════════════════════════════════╝ ┌──┼───────────┐ ║
║ ┌─┴──┴─────────┐ │ ║
║ │ BDFL.TAG ├─┘ ║
║ └──────────────┘ ║
║ ║
║ Esta' correto ? <S/N>: S ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
┌──────────────┐
│ FLEXERRS.FLX │
└──────────────┘
Permite incluir, atualizar, excluir ou pesquizar mensagens de erro de
operação que são gravadas no arquivo FLEXERRS.DAT. As mensagens de er■
ro cujo status varia de 1 a 100 são reservadas para o Dataflex. Por■
tanto, outras mensagens de erro poderão ser cadastradas (inseridas).
╔═══════════════════════════════════════════════════════════╦══════════╗
║ MANUTENCAO DO ARQUIVO DE ERROS DATAFLEX ║ FLEXERRS ║
╠═══════════════════════════════════════════════════════════╩══════════╣
║ ║
║ ║
║ ║
║ ERRO Descricao do Erro Notas ║
║ ════════ ══════════════════════════════════════════════════════════ ║
║ ║
║ [ 10] +++ MEMORIA INSUFICIENTE +++ FLEX PROGRAM ║
║ ║
║ ║
║ Pressione <HELP> para sair ║
╚══════════════════════════════════════════════════════════════════════╝
Exemplos:
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 82
[NOT FOUND] ERROR 10
ou
┌──────────┐
│ MAIL.FLX │
└──────────┘
Gera um programa-fonte Dataflex de emissão de Etiquetas a partir das
seguintes informações:
╔════════════════════════════════════════════════════════╦══════════════════╗
║ SISTEMA DE EMISSAO DE ETIQUETAS ║ MAIL ║
╠════════════════════════════════════════════════════════╩══════════════════╣
║ ║
║ ┌──────────────────────┐ ┌───────┐ ┌──────┐ ║
║ │Arquivos Disponiveis :├────────────┤ Numero├───────────┤ Nome │ ║
║ └──────────────────────┘ └───┬───┘ └───┬──┘ ║
║ ┌──────────────────────────────┐ ┌──────┴──────┬────────────┴───────────┐ ║
║ │ │ │ 210 │ CADV │ ║
║ │ Primeiro selecione um arquivo│ │ 249 │ TAG01 │ ║
║ │ de dados DATAFLEX o qual sera│ │ 250 │ DBFL │ ║
║ │ Aponte e Atire no arquivo de-│ │ │ <<< Final Arquivos >> │ ║
║ │ sejado. │ │ │ │ ║
║ ╞══════════════════════════════╡ │ │ │ ║
║ │ <POSTERIOR> Mais arquivos │ │ │ │ ║
║ │ <ANTERIOR > Reinicia │ │ │ │ ║
║ └──────────────────────────────┘ └─────────────┴────────────────────────┘ ║
║ ║
╚═══════════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════╦════════════════╗
║ SISTEMA DE EMISSAO DE ETIQUETAS ║ MAIL ║
╠════════════════════════════════════════════════════════╬════════════════╣
║ ║ Arq: DBFL ║
║ ╚════════════════╣
║ ║
║ Agora voce deve informar a ordem pela qual as etiquetas devem ser ║
║ emitidas. Aponte e Atire no indice desejado. ║
║ ║
║┌───────────────────────────────────────────────────────────────────────┐║
║│ 0 <RECNUM> │║
║│ 1 <CODIGO> │║
║│ 0 │║
║│ │║
║│ │║
║│ │║
║│ │║
║│ │║
║│ │║
║│ │║
║│ │║
║└───────────────────────────────────────────────────────────────────────┘║
╚═════════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════╦═════════════════╗
║ SISTEMA DE EMISSAO DE ETIQUETAS ║ MAIL ║
╠════════════════════════════════════════════════════════╩═════════════════╣
║ ║
║ Nesta secao voce deve informar os dados solicitados abaixo: ║
║ ║
║ ║
║ ║
║ ┌────────────────────────────────────┬───┐ ║
║ │ Numero de caracteres por etiqueta: │ 30│ ║
║ ├────────────────────────────────────┼───┤ ║
║ │ Numero de caracteres entre 2 etiq: │ 2│ ║
║ ├────────────────────────────────────┼───┤ ║
║ │ Numero de etiquetas na horizontal: │ 2│ ║
║ ├────────────────────────────────────┼───┤ ║
║ │ Numero de linhas por etiqueta : │ 4│ ║
║ ├────────────────────────────────────┼───┤ ║
║ │ Numero de linhas entre etiquetas : │ 1│ ║
║ ├────────────────────────────────────┼───┤ ║
║ │ Numero de repeticoes de cada etiq: │ 1│ ║
║ └────────────────────────────────────┴───┘ ║
║ ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
║
║ │ Numero de caracteres por etiqueta: │ 30│
║
║ │Campo Nome Campo Nome Campo Nome
│║
║ │ 0 RECNUM 1 CODIGO 2 NOME
│║
║ │ 3 ENDERECO 4 CIDADE
│║
║ │
│║
║ │
│║
║ │
│║
║ │
│║
║ │
│║
║
└─────────────────────────────────────────────────────────────────────────┘║
║ APONTE e ATIRE no campo corresponde ao item 1 da linha 4 na etiqueta
║
║ <POSTERIOR> Mais campos <ANTERIOR> Reinicia campos <SAVE> Fim da elecao║
║ <L> Fim da linha <CLEAR> Reinicia a Etiqueta <EXCLUI> Retira o campo║
╚═══════════════════════════════════════════════════════════════════════════╝
/TELA
INTERCOMP - Interamericana de Computacao Ltda.
Sistema de Emissao de Etiquetas
REPORTEND
IF ETIQCORRENTE NE 1 OUTPUT BODY //sobrou alguma etiqueta ? - imprime
FORMFEED
ABORT
KEYPROC KEY.ESCAPE
ABORT
KEYPROC KEY.USER
CLEARSCREEN
CLEARFORM BODY
REPEAT
OUTPUT BODY
INPUT "A etiqueta esta posicionada ? (S/N) " TECLA
IFNOT TECLA IN "sS" LOOP
RETURN
┌──────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 86
│ MENU.FLX │
└──────────┘
Carrega todos os registros de menus gravados no arquivo MENU.DAT, exi■
bindo inicialmente o registro (menu) número 1. Os menus, as opções
exibidas, as senhas de acesso, os programas e outros submenus a serem
executados podem ser alterados através do utilitário MENUDEF .
O utilitário MENU.FLX só será executado se o arquivo MENU.DAT estiver
no diretório corrente.
╔════════════════════════════════════════════════════════════════╗
║ INTERCOMP Serie # : 29 ║
╚════════════════════════════════════════════════════════════════╝
┌────────────────────────────────┐
│ ---- DataFlex ---- │
│ MENU PRINCIPAL │
└────────────────────────────────┘
┌──────────────────────────────────┐
│ 1 Exemplos de Aplicacoes │
│ 2 Desenvolvimento de Programas │
│ 3 Manutencao do Sistema │
│ 4 Operacao com Arquivos │
│ 5 Executa um Programa DataFlex │
│ 6 Executa um Comando do Sistema │
│ 7 Sai para o Sistema Operacional │
│ │
│ │
└──────────────────────────────────┘
╔════════════════════════════════════════════════════════════════════╗
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 87
║ INTERCOMP Serie # : 29 ║
╚════════════════════════════════════════════════════════════════════╝
┌────────────────────────────────┐
│ ---- DataFlex ---- │
│ Exemplos de Aplicacoes │
└────────────────────────────────┘
┌──────────────────────────────────┐
│ 1 Cadastros │
│ 2 Emissao de Pedidos │
│ 3 Relatorio de Cliente/Credito │
│ 4 Listagem de Produtos │
│ 5 Consulta Rapida Prod X Preco │
│ 6 Estatisticas │
│ 7 Query Banco de Dados │
│ │
│ │
└──────────────────────────────────┘
┌─────────────┐
│ MENUDEF.FLX │
└─────────────┘
Permite incluir, alterar, excluir ou pesquisar menus cadastrados no
arquivo MENU.DAT. Ao executar esta opção será exibida um lista de me■
nus cadastrados com seus respectivos números, os quais estão armazena■
dos no arquivo MENU.DAT. Escolha um menu existente através de seu nú■
mero para alterar o seu conteúdo, ou pressione ENTER para gerar u novo
menu.
C:\>FLEX (enter)
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 88
╔═══════════════════════════════════════════════════════════════════════╗
║ INTERCOMP Serie # : 29 ║
╚═══════════════════════════════════════════════════════════════════════╝
┌────────────────────────────────┐
│ ---- DataFlex ---- │
│ MENU PRINCIPAL │
└────────────────────────────────┘
┌──────────────────────────────────┐
│ 1 Exemplos de Aplicacoes │
│ 2 Desenvolvimento de Programas │
│ 3 Manutencao do Sistema │
│ 4 Operacao com Arquivos │
│ 5 Executa um Programa DataFlex │
│ 6 Executa um Comando do Sistema │
│ 7 Sai para o Sistema Operacional │
│ │
│ │
└──────────────────────────────────┘
NUMERO TITULO
----------------------------------------------------------------------
Para acessar a opção 8 (oito) você antes terá que informar a senha que
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 90
é "JUSTME", caso contrário não terá acesso.
Observe que quando chamar novamente o MENU príncipal do Dataflex o tí■
tulo central já é outro pois anteriormente este foi alterado.
para: DATAFLEX
MODULO PRINCIPAL
╔═══════════════════════════════════════════════════════════════════╗
║ INTERCOMP Serie # : 29 ║
╚═══════════════════════════════════════════════════════════════════╝
┌────────────────────────────────┐
│ DATAFLEX │
│ MODULO PRINCIPAL │
└────────────────────────────────┘
┌──────────────────────────────────┐
│ 1 Exemplos de Aplicacoes │
│ 2 Desenvolvimento de Programas │
│ 3 Manutencao do Sistema │
│ 4 Operacao com Arquivos │
│ 5 Executa um Programa DataFlex │
│ 6 Executa um Comando do Sistema │
│ 7 Sai para o Sistema Operacional │
│ 8 CALL PASSWORD SYSTEM │
└──────────────────────────────────┘
Entre sua opcao: 8
Observe que a opção 8 foi incluída, antes não existia (verefique nos
menus anteriores)
-----------------------------------------------------------------------
SISTEMA DE MENUS DATAFLEX CONFIGURACAO
───────────────────────────────────────────────────────────────────────
MENU: 2 CABEC1: ---- DataFlex ----
CABEC2: Exemplos de Aplicacoes
╔════════════════════════════════════════════════════════════════════╗
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 92
║ INTERCOMP Serie # : 29 ║
╚════════════════════════════════════════════════════════════════════╝
┌────────────────────────────────┐
│ ---- DataFlex ---- │
│ Operacoes com Arquivos │
└────────────────────────────────┘
┌──────────────────────────────────┐
│ 1 Copiar Arquivo(s) │
│ 2 Mostrar Arquivo(s) │
│ 3 Renomear Arquivo(s) │
│ 4 Excluir Arquivo(s) │
│ 5 Editar Arquivo Texto │
│ 6 Mostrar Diretorio │
│ 7 ACCESSING DFFILE │
│ │
│ │
└──────────────────────────────────┘
-----------------------------------------------------------------------
1 DATAFLEX
╒═════════════════════════╕
MODULO PRINCIPAL │ Use PROXIMO REGISTRO
│
│ e REGISTRO ANTERIOR
│
2 ---- DataFlex ---- │ Teclas de comando para
│
Exemplos de Aplicacoes │ mais menus
│
│
│
3 ---- DataFlex ---- │ - ou -
│
Desenvolvimento de Programas │
│
│ Pressione <RETURN> para
│
4 ---- DataFlex ---- │ comecar um novo menu.
│
Operacoes com Arquivos
╘═════════════════════════╛
EXPLANACAO:
QUESTAO 2 : Digite o nome do programa a ser executado ..........
EXPLANACAO:
QUESTAO 5 :
EXPLANACAO:
QUESTAO 6 :
╔════════════════════════════════════════════════════════════════════════╗
║O sistema de menus pode jogar questoes ao usuario quando uma opcao do║
║menu for selecionada. A resposta para a questao sera inserida na linha║
║ACAO. ║
║ ║
║Um comando requer que uma questao seja feita quando possuir um simbolo║
║"$" seguido de um numero de um a seis ($2) como parte da ACAO. A questao║
║correspondente (Ex: QUESTAO 2) sera mostrada e a resposta inserida na║
║linha de ACAO no lugar do simbolo $ utilizado. ║
║ ║
║Esta tela permite a voce criar e alterar ate seis questoes que poderao║
║ser feitas. Cada questao pode ter ate duas linhas de texto. As linhas║
║sao chamadas de EXPLANACAO e QUESTAO, com a ideia de que a primeira ira ║
║explicar as necessidades desejadas e a segunda ira na verdade fazer a ║
║pergunta. ║
║ ║
╚════════════════════════════════════════════════════════════════════════╝
────────────────────────────────────────────────────────────────────────────
DATAFLEX 2.3b Linguagem de Quarta Geração
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 98
────────────────────────────────────────────────────────────────────────────
┌────────────┐
│MENULIST.FLX│
└────────────┘
Lista no dispositivo de saída especificado, todos os menus grava■
dos no arquivo MENU.DAT para documentação do sistema. O dispositi■
vo de saída pode ser um nome de arquivo, vídeo (CON:) ou impres■
sora (LST:)
┌────────────┐
│MOVEDADO.FLX│
└────────────┘
Gera um programa-fonte para movimentar registros entre dois bancos
de dados Dataflex. Ambos devem estar definidos, mas não precisam
ter a mesma estrutura.
╔════════════════════════════════════════════════════════════════╦══════════╗
║ MOVE DADOS DE UM ARQUIVO DATAFLEX PARA OUTRO ║ MOVEDADO ║
╠════════════════════════════════════════════════════════════════╩══════════╣
║ ║
║ ESTE UTILITARIO IRA' GERAR UMA CONFIGURACAO QUE LE DADOS ║
║ DE UM ARQUIVO DATAFLEX E COPIA-OS EM OUTRO ARQUIVO DATAFLEX. ║
║ ╔══════════════════════════════════╗ ║
║ ║ Nome do Arquivo fonte DATAFLEX : ╟────────────────────┐ ║
║ ╟──────────────────────────────────╢ ┌──┼─────────┐ ║
║ ║ Verifique nome do Arquivo .TAG ╟───────────┐ ┌─┴──┴───────┐ │ ║
║ ╚══════════════════════════════════╝ │ │ MOVEX. ├─┘ ║
║ │ ├────────────┤ ║
║ └───┤MOVEX.TAG │ ║
║ └────────────┘ ║
║ ╔═══════════════════════════════════╗ ║
║ ║ Nome do Arquivo destino DATAFLEX :╟────────────────────┐ ║
║ ╟───────────────────────────────────╢ ┌──┼─────────┐ ║
║ ║ Verifique nome do Arquivo .TAG ╟───────────┐ ┌─┴──┴───────┐ │ ║
║ ╚═══════════════════════════════════╝ │ │ DBFL ├─┘ ║
║ │ ├────────────┤ ║
║ └───┤DBFL.TAG │ ║
║ └────────────┘ ║
║ Entre o nome da configuracao a ser criada: MOVEFL.FRM ║
║ Esta' correto ?: S ║
╚═══════════════════════════════════════════════════════════════════════════╝
╔═════════════════════════════════════════════════════════════════════════╗
║ NOMES DOS CAMPOS DO ARQUIVO FONTE ║
║ 1 CODIGO 2 NOME 3 ENDERECO 4 CIDADE ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ Campo 1 do arquivo fonte vai para o campo do arquivo destino. ║
║ (A tecla USUARIO1 ira' alternar as telas FONTE <--> DESTINO) ║
╚═════════════════════════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════════════╦══════════╗
║ MOVE DADOS DE UM ARQUIVO DATAFLEX PARA OUTRO ║ MOVEDADO ║
╠═══════════════════════════════════════════════════════════════╩══════════╣
║ ║
║ A configuracao MOVEFL.FRM100100100100100 foi criada. ║
║ ║
║ ║
║ ║
║ Este programa tem que ser compilado para ser usado ║
║ ║
║ ║
║ Voce quer compila-lo agora (S/N): S ║
╚══════════════════════════════════════════════════════════════════════════╝
══════════════════════════════════════════════════════════════════
/*
GOTOXY 05 10
SHOW ' Movendo dados - Aguarde ... '
INTEGER RECS
OPEN MOVEX
OPEN DBFL
REPEAT
FIND_ GT MOVEX BY INDEX.1
KEYCHECK ABORT
SHOW '>'
[ ~ FINDERR] BEGIN
SAVERECORD DBFL
CLEAR DBFL
SHOW RECS
END
UNTIL [ FINDERR]
ABORT
┌───────────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 101
│ PRINTER.FLX │
└───────────────┘
Permite selecionar um padrão de impressão. Por exemplo suponhamos
que você queira configurar a impressora para imprimir todos os
seus relatórios com o modo de impressão -Iitálico .
╔═══════════════════════════════════════════════════════════════════════╗
║ ║
║ INTERCOMP ║
║ CONTROLE CARACTERES IMPRESSAO ║
║ ║
║ ║
║ OPCOES: ║
║ 1- COMPRIMIDA 10- 10 CPP ║
║ 2- NORMAL 11- 12 CPP ║
║ 3- DUPLA 12- 15 CPP ║
║ 4- ITALICO 13- 17.1 CPP ║
║ 5- NAO ITALICO 14- 20 CPP ║
║ 6- SUBLINHADO 15- RESETA QUALQUER MODO ║
║ 7- NAO SUBLINHADO 16- MAXIMO 80 COLUNAS ║
║ 8- CARTA ║
║ 9- NAO CARTA ║
║ ║
║ ENTRE COM SUA OPCAO: [15] ║
║ ║
║ ║
║ Para sair pressione a tecla ESCAPE ║
╚═══════════════════════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════════════════╗
║ INTERCOMP ║
║ ║
║ CONTROLE CARACTERES IMPRESSAO ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ SUA IMPRESSORA ESTA AGORA CONFIGURADA ║
║ NAO ESQUECA DE VOLTAR A IMPRESSORA AO ║
║ SEU STATUS NORMAL ASSIM QUE TERMINAR ║
║ SEU RELATORIO. ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ <ENTER> Retorna ao MENU <ESCAPE> Retorna ao Sistema Operacional _ ║
╚══════════════════════════════════════════════════════════════════════╝
┌──────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 102
│ READ.FLX │
└──────────┘
Este utilitário é um gerador de programas-fontes de importação de
dados de arquivos sequênciais, ou seja, arquivos-textos ou de for■
mato ASCII.
250
Por favor, digite o numero do arquivo que recebera os dados: ___
(PgDn para mais, PgUp para recomecar. Help Disponivel)
Para que o arquivo ASCII seja lido para um arquivo DataFlex com definição
identica, o arquivo ASCII deve possuir o mesmo numero de elementos,
os mesmos tipos de campos e a mesma ordem que o arquivo DataFlex.
Seu programa
TXTF.FRM
esta completo !
Compila ? (S/N) S
/*
CLEARSCREEN
STRING TEMSTR
NUMBER RECS
DIRECT_INPUT "C:\FL\PR\TEXTO1.TXT"
[SEQEOF] ERROR 75 "C:\FL\PR\TEXTO1.TXT"
[SEQEOF] ABORT
OPEN DBFL
REPEAT
READ DBFL.CODIGO
READ DBFL.NOME
READ DBFL.ENDERECO
READ DBFL.CIDADE
READLN
[NOT SEQEOF] BEGIN
SAVERECORD DBFL
CLEAR DBFL
SHOW "*"
MOVE (RECS + 1) TO RECS
END
KEYCHECK BEGIN // Se uma tecla for pressionada
SHOWLN // verifica se o operador quer desistir
SHOWLN "UMA TECLA FOI PRESSIONADA COM " RECS " REGISTROS GRAVADOS"
SHOW "PRESSIONE QUALQUER TECLA PARA CONTINUAR OU ESCAPE PARA CANCELAR"
INKEY TEMSTR
[KEY.ESCAPE] ABORT
END
UNTIL [SEQEOF]
SHOWLN
SHOWLN RECS " REGISTROS FORAM ADICIONADOS NO ARQUIVO DBFL"
SHOW "PRESSIONE QUALQUER TECLA PARA CONTINUAR "
INKEY TEMSTR
ABORT
┌─────────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 105
│ CLEANUP.FLX │
└─────────────┘
Recupera um arquivo .BAD gerado pelo utilitário DFINDEX, permitin■
do a seleção de um dos registros duplicados ou danificados para
recolocá-lo no banco de dados.
┌────────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 106
│ DELQRY.FLX │
└────────────┘
Permite selecionar e excluir um formato de relatório gravado atra■
vés do utilitário QUERY.
┌─────────────┐
│ MACRO ENTER │
└─────────────┘
Macros são um conjunto de comandos integrados que realizam várias
operações em um único programa, utilizando uma das grandes vanta■
gens do Dataflex que são os recursos de Imagens e Janelas para a
manipulação de dados.
OPEN banco1
OPEN banco2
OPEN banco3
ENTER.CLEAR:
:
:
RETURN
ENTER.DELETE:
:
:
RETURN
ENTER.EDIT:
:
:
RETURN
ENTER.EXIT:
:
:
RETURN
ENTER.SAVE:
:
:
RETURN
ENTEREND
MACRO ENTER
ENTRY
Exibe e permite uma entrada de dados para um campo de um banco de dados
através da janela ativa no momento, ou, opcionalmente, através da
janela especificada no comando. Máscaras de entrada podem ser usadas
opcionalmente para formatar, filtrar ou criticar uma entrada de dados.
Utilize uma série de ENTRY para programar uma entrada de dados através de
uma imagem de manutenção, somente dentro de uma Macro ENTER ou ENTERGROUP.
ENTDISPLAY
Exibe o conteúdo de todos os campos utilizados nos comandos ENTRY em uma
Macro ENTER do banco de dados especificado.
RETURN
Para retorna para rotina ENTRYSEC ou ENT$LP.
ENTER.CLEAR
Permite a programação da sub-rotina que será executada automaticamente
antes que os buffers dos arquivos da linha do ENTER sejam limpos . Defina
esta rotina dentro da Macro Enter antes do comando ENTEREND.
ENTER.DELETE
Permite a programação de uma sub-rotina que será executada
automaticamente antes que um registro seja deletado . Defina esta rotina
dentro da Macro Enter antes do comandos ENTEREND.
ENTER.EDIT
Permite a programação de uma sub-rotina que será executada
automaticamente toda vez que um registro for deletado ou alterado . Defina
esta rotina dentro da Macro Enter antes do comando ENTEREND.
ENTER.EXIT
Permite a programação de uma sub-rotina que será executada
automaticamente toda vez que o programa for encerrado . Defina esta
rotina dentro da Macro Enter antes do comando ENTEREND.
ENTER.SAVE
Permite a programação de uma sub-rotina que será executada
automaticamente toda vez que um registro for incluído ou alterado . Defina
esta rotina dentro da Macro Enter antes do comando ENTEREND.
ENTEREND
Finaliza Macro ENTER
ALTERAÇÃO
EXCLUSÃO
/TELA
┌─────────────────────────────────────┐
│ │
│ CADASTRO DE CLIENTES │
│ ==================== │
│ │
│Bairro [_______________] │
│Cep [_____.] │
│Cidade [_______________] │
│Codigo [_____.] │
│Contato [_______________] │
│Endereco [____________________]│
│Fax [__________________] │
│Fone [__________________] │
│Idade [_.] │
│Nome [____________________]│
│Salario [________.__] │
│Telex [__________________] │
└─────────────────────────────────────┘
/*
OPEN CLIENTES
ENTER.DELETE: // DELETAR - F6
GOTOXY 20 00
PAUSE ' Passando pela rotina ENTER.DELETE - DELETA '
CLEARXY 20 00
RETURN
ENTEREND
ABORT
STRING XTECLA 1
OPEN CLIENTES
FORMAT IMAGEM.1 THRU IMAGEM.12 {AUTORETURN,AUTOBACK}
ENTER CLIENTES
AUTOPAGE IMAGEM 1
ENTRY CLIENTES.CODIGO IMAGEM.1 {AUTOFIND,NOPUT}
IF IMAGEM.1 EQ 0 GOTO ENTRYSEC
ENTRY CLIENTES.NOME IMAGEM.2 {CAPSLOCK,REQUIRED}
ENTRY CLIENTES.ENDER IMAGEM.3 {CAPSLOCK}
ENTRY CLIENTES.BAIRRO IMAGEM.4 CAPSLOCK}
ENTRY CLIENTES.CIDADE IMAGEM.5 {CAPSLOCK}
ENTRY CLIENTES.CEP IMAGEM.6
ENTRY CLIENTES.CONTATO IMAGEM.7 {CAPSLOCK}
ENTRY CLIENTES.SALARIO IMAGEM.8 {RANGE=1,2000}
ENTRY CLIENTES.IDADE IMAGEM.9 {RANGE=1,20}
ENTRY CLIENTES.FONE IMAGEM.10
ENTRY CLIENTES.FAX IMAGEM.11
ENTRY CLIENTES.TLX IMAGEM.12
RETURN
ENTEREND
ABORT
KEYPROC KEY.ESCAPE
GOTOXY 24 0
PAUSE ' Saindo do programa - Tecle ENTER '
CLEARXY 24 0
ABORT
RETURN
KEYPROC KEY.USER
GOTOXY 24 0
PAUSE ' A tecla de fucao F7 foi pressionada '
ENTAGAIN
CLEARXY 24 0
RETURN
KEYPROC KEY.DELETE
GOTOXY 24 0
PASUE ' Apagar registro (S/N) ? ' WAIT XTECLA
CLEARXY 24 0
IF_ XTECLA IN 'Ss' GOTO ENTER$.DELETE
IF_ XTECLA IN 'Nn' GOTO ENT$LP
RETURN
MACRO ENTER
===========
#COMMAND ENTER CVWSRL#
INDICATE CONTINUE TRUE
INDICATE ENT$QUERY FALSE
ENT$LP:
GOSUB ENTRYSEC
[KEY.ESCAPE] GOTO END_ENTER
INDICATE ERR FALSE
REREAD
[ENT$QUERY] GOSUB ENTER.EDIT
[NOT ERR] ENTUPDATE
[NOT ERR] GOSUB ENTER.SAVE
[NOT ERR] MULTIBACK$ SAVE !1 !2 !3 !4 !5 !6 !7 !8 !9
UNLOCK
[NOT ERR] GOSUB ENT$CLEAR
[CONTINUE] GOTO ENT$LP
GOTO END_ENTER
ENT$CLEAR:
MULTIBACK$ CLEAR !1 !2 !3 !4 !5 !6 !7 !8 !9
INDICATE ENT$QUERY FALSE
ENTCLEAR
RETURN
KEYPROC KEY.SAVE
ENTER$.SAVE:
!A [] $285 // ENTSKIP
RETURN
KEYPROC KEY.DELETE
ENTER$.DELETE
INDICATE ERR FALSE
REREAD
[NOT ENT$QUERY] ERROR 71
[NOT ERR] GOSUB ENTER.DELETE
[NOT ERR] GOSUB ENTER.EDIT
[NOT ERR] DELETE !1
[NOT ERR] MULTIBACK$ SAVE !2 !3 !4 !5 !6 !7 !8 !9
UNLOCK
[NOT ERR] GOSUB ENT$CLEAR
RETURN ENTRYSEC
KEYPROC KEY.CLEAR
ENTER$.CLEAR:
INDICATE ERR FALSE
GOSUB ENTER.CLEAR
[NOT ERR] GOSUB ENT$CLEAR
RETURN ENTRYSEC
KEYPROC ESCAPE
ENTER$.ESCAPE:
INDICATE ERR FALSE
GOSUB ENTER.EXIT
[NOT ERR] RETURN ENTXRET
RETURN
KEYPROC KEY.HELP
ENTER$.HELP:
HELP
ENTAGAIN
RETURN
KEYPROC KEY.PRINT
ENTER$.PRINT:
OUTPUT
ENTAGAIN
RETURN
ENTRYSEC:
ENTERMODE
!A [] $286
#ENDCOMMAND
#COMMAND ENTEREND
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 114
MAKEDEF$ ENTER.SAVE ENTER.EDIT ENTER.DELETE ENTER.CLEAR ENTER.EXIT
RETURN
END_ENTER:
CLEARSCREEN
#ENDCOMMAND
ENT$KEY
=======
#COMMAND ENT$KEY
ENT$DISP:
!A [FOUND] $283
ENTAGAIN
RETURN
KEYPROC KEY.FIND
ENTER$.FIND:
ENTFIND GE
GOTO ENT$DISP
KEYPROC KEY.NEXT
ENTER$.NEXT:
ENTFIND GT
GOTO ENT$DISP
KEYPROC KEY.PREVIOUS
ENTER$.PREVIOUS:
ENTFIND LT
GOTO ENT$DISP
KEYPROC KEY.UP
KEYPROC KEY.FIELD
ENTER$.FIELD:
BACKFIELD
RETURN
KEYPROC KEY.CLEAR
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 115
ENTER$.CLEAR:
INDICATE ERR FALSE
ENTCLEAR
RETURN
KEYPROC KEY.SAVE
ENTER$.SAVE:
!A [] $285 // ENTSKIP
RETURN
KEYPROC KEY.HELP
ENTER$.HELP:
HELP
ENTAGAIN
RETURN
KEYPROC KEY.PRINT
ENTER$.PRINT:
OUTPUT
ENTAGAIN
RETURN
#ENDCOMMAND
AUTOPAGE TELA
NAME XCOD XNOME XID XSAL XDTA
OPEN CADAL
ENTER CADAL
AUTOPAGE TELA
NOME:
ENTRY CADAL.NOME XNOME {CAPSLOCK}
RETURN
ENTEREND
ABORT
CADASTRO DE TESTES
==================
AUTOPAGE TELA 5
NAME XCOD XNOME XID XSAL XDTA
OPEN CADAL
ENTER CADAL
AUTOPAGE TELA 5
NOME:
ENTRY CADAL.NOME XNOME {CAPSLOCK}
IF XNOME EQ '' GOTO NOME
RETURN
ENTEREND
ABORT
/TELA
CADASTRO DE TESTES
==================
AUTOPAGE TELA 5
OPEN CADAL
ENTER CADAL
AUTOPAGE TELA 5
RETURN
ENTER.SAVE:
GOTOXY 24 0
PAUSE 'ENTER.SAVE - Inclusao - Consulta - Alteracao '
CLEARXY 24 0
RETURN
ENTER.EDIT:
GOTOXY 24 0
PAUSE ' ENTER.EDIT - Consulta - Alteracao - Delecao '
CLEARXY 24 0
RETURN
ENTER.DELETE:
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 120
GOTOXY 24 0
PAUSE ' ENTER.DELETE - Apaga <F6> '
CLEARXY 24 0
RETURN
ENTER.CLEAR:
GOTOXY 24 0
PAUSE ' ENTER.CLEAR - Limpa as janelas - <F9> '
CLEARXY 24 0
RETURN
ENTER.EXIT:
GOTOXY 24 0
PAUSE ' ENTER.EXIT - <ESC - ESC> '
CLEARXY 24 0
RETURN
ENTEREND
ABORT
/TELA
---------------------------------------------------
Cadastro de Maquinas
====================
Maquina : <__.>
Nome da Maquina : ______________________________
Valor da Maquina: _______.__
---------------------------------------------------
/*
STRING SIGLA
OPEN MAQUINA
REPEAT
INICIO:
CLEARFORM TELA.1 THRU TELA.3
ACCEPT TELA.1 TO MAQUINA.CODIGO
IF_ TELA.1 EQ 0 GOTO INICIO
[KEY.ESCAPE] SYSTEM
MOVE TELA.1 TO MAQUINA.CODIGO
FIND EQ MAQUINA BY INDEX.1
[ FOUND] DISPLAY MAQUINA.CODIGO TO TELA.1
[ FOUND] DISPLAY MAQUINA.NOME TO TELA.2
[ FOUND] DISPLAY MAQUINA.VALOR TO TELA.3
ACCEPT TELA.2 TO MAQUINA.NOME
ACCEPT TELA.3 TO MAQUINA.VALOR
SAVERECORD MAQUINA
CLEAR MAQUINA
UNTIL [KEY.ESCAPE]
ABORT
KEYPROC KEY.FIELD // F2
KEYPROC ON
BACKFIELD
RETURN
KEYPROC KEY.CLEAR // F9
KEYPROC ON
CLEARFORM TELA.1 THRU TELA.3
CLEAR MAQUINA
GOTO INICIO
RETURN
┌──────────────────┐
│ MACRO ENTERGROUP │
└──────────────────┘
Para realizar as operações tradicionais de manutenção de banco de
dados de UM ou MAIS registros por arquivo, podendo manipular até
250 arquivos diferentes em um único programa.
OPEN banco1
OPEN bacno2
ENTERGROUP
ENTERGROUP
ENTRY banco2.campo4 janela4 {mascara}
ENTRY banco2.campo5 janela5 {mascara}
ENTRY banco2.campo6 janela6 {mascara}
ENDGROUP
/IMAGEM1
------------------------------------------------
CLIENTES
========
Codigo : <__.>
Razao Social: ____________________________
Endereco : ____________________________
------------------------------------------------
/IMAGEM2
------------------------------------------------
ESTADOS
=======
Estado: __
Nome : _____________________________
-----------------------------------------------
/*
OPEN CLIENTES
OPEN ESTADOS
INICIO:
CLEAR CLIENTES
CLEAR ESTADOS
ENTERGROUP
PAGE IMAGEM1 AT 01 01
ENTRY CLIENTES.CODIGO IMAGEM1.1 {AUTOFIND,FINDREQ,NOPUT}
ENTRY CLIENTES.RAZAO_SOCIAL IMAGEM1.2 {DISPLAYONLY}
ENTRY CLIENTES.ENDERECO IMAGEM1.3 {DISPLAYONLY}
ENDGROUP
ENTERGROUP
PAGE IMAGEM2 AT 10 01
ENTRY ESTADOS.SIGLA IMAGEM2.1 {AUTOFIND,FINDREQ,NOPUT}
ENTRY ESTADOS.NOME IMAGEM2.2 {DISPLAYONLY}
ENDGROUP
GOTOXY 24 10
PAUSE ' Tecle ENTER '
KEYPROC KEY.CLEAR
KEYPROC ON
CLEARFORM IMAGEM1.1 THRU IMAGEM1.3
CLEARFORM IMAGEM2.1 THRU IMAGEM1.2
GOTO INICIO
RETURN
KEYPROC KEY.USER // F7
KEYPROC ON
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 123
ABORT
RETURN
═══════════════════════════════════════════════════════════════
MACRO ENTERGROUP
================
#COMMAND ENTERGROUP .
#IFDEF ENT$DISP
#ELSE
INTEGER ENT$START
INTEGER ENT$END
GOTO ENTK$END
ENT$KEY
ENTK$END:
#ENDIF
ENTRYSEC!X:
ENTERMODE
!A [] $286
INDICATE ENT$QUERY FALSE
#ENDCOMMAND
#COMMAND ENDGROUP
ENTUPDATE
GOTO ENT$END!x
RETURN
ENT$END!x:
#ENDCOMMAND
┌──────────────┐
│ MACRO REPORT │
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 124
└──────────────┘
A macro Report consiste em um conjunto integrado de imagens prede■
finidas e comandos que podem ser selecionados conforme a necessi■
dade para a geração de relatórios ou arquivos-textos sequenciais
(ASCII). Só pode haver uma linha com o comando REPORT em cada pro■
grama.
/HEADER RESIDENT
Contém a imagem que será impressa no cabeçalho .
/SUBHEADER 1 RESIDENT
/SUBHEADER 2 RESIDENT
/SUBHEADER9 RESIDENT
Contém imagem que será impressa a cada quebra do nível selecio■
nado.
/BODY RESIDENT
Contém a imagem que será impressa para cada registro seleciona■
do.
Contém o total.
REPORTEND
FORMFEED // alimentar folha
ABORT
┌─────────────────────────────────────┐
│ │
│ (V)ideo │
│ │
│ (I)mpressora │
│ │
│ (A)rquivo NOME ARQ: _______ .REL │
│ │
│ (_) Qual sua opcão ? │
│ │
└─────────────────────────────────────┘
/HEADER
USSR LTDA *** OPERACOES P/ MAQUINA. *** Data:__/__/__ Pag: __. OPREL05
+-------------------------------------------------------------------------+
: COD. DESCRICAO DA OPERACAO MAQUINA :
+-------------------------------------------------------------------------+
/SUBHEADER1
/BODY
: __. ____________________________________________ . ___________________ :
/SUBTOTAL1
: =================== :
: Total de operacoes por maquina => __. :
+-------------------------------------------------------------------------+
/*
CLEARSCREEN
PAGE SET SELECTION AT 00 00
ACCEPT SELECTION.2
{AUTORETURN,CAPSLOCK,CHECK="VIA"}
SECTION HEADER
CLEARSCREEN
PRINT HOJE TO HEADER.1
PRINT PAGECOUNT TO HEADER.2
OUTPUT HEADER
SECTION SUBHEADER1
OUTPUT SUBHEADER1
SECTION BODY
PRINT OPERACAO.CODIGO TO BODY.1
PRINT OPERACAO.DESCR_OPER TO BODY.2
PRINT OPERACAO.MAQUINA TO BODY.3
OUTPUT BODY
SECTION SUBTOTAL1
PRINT RECCOUNT TO SUBTOTAL1.1
OUTPUT SUBTOTAL1
MOVE 0 TO RECCOUNT
RETURN
RPT.KEYPRESS:
SCREENMODE 143 ON
SHOWXY 24 18 " I N T E R R O M P E R (S/N) ? "
SCREENMODE 7 ON
INKEY HTECLA
CLEARXY 23 00
IF HTECLA IN "Ss" RETURN END$OF$REPORT
RETURN RPT.LOOP
REPORTEND
FORMFEED
CLEARSCREEN
KEYPROC KEY.ESCAPE
ABORT
#COMMAND REPORTEND
MAKEDEF$ RPT.HEADER RPT.SELECTION RPT.BODY RPT.TOTAL
BREAK$T3
RETURN
#IFDEF RPT.KEYPRESS
#ELSE
RPT.KEYPRESS:
STRING AKEY$ 1
SHOWLN 'UMA tecla foi pressionada !'
SHOW 'Voce deseja interromper o relatorio (S/N) ? '
INKEY AKEY$
IF NOT AKEY$ IN 'Ss' RETURN RPT.LOOP
INDCT$AS SELECT AS AKEY$ IN 'Ss'
[~ SELECT] RETURN RPT.LOOP
RETURN END$OF$REPORT
#ENDIF
END$OF$REPORT:
#ENDCOMMAND
RELATδRIO DE CLIENTES
======================
(V)ídeo
(I)mpressora
---------------------------------------------------------------------------
/HEADER
** CAD. DE PEDIDOS *** Data:__/__/__ Date: _.:_.:_. Prog: R01 Pag: __.
+---------------------------------------------------------------------------+
: PRODUTO CLIENTE QTDE DATA COMPRA :
+---------------------------------------------------------------------------+
/SUBHEADER1
| Codigo:__. :
/BODY
: ____________________ ___________________ _____. __/__/__ :
/SUBTOTAL1
: -------- :
: Total do Pedido => _z,__,__. :
+---------------------------------------------------------------------------+
/TOTAL
: --------- :
: Total de todos os Pedidos => _z,__,__. :
+---------------------------------------------------------------------------+
/*
CLEARSCREEN
PAGE SET SELECTION AT 01 01
INTEGER XREC
PAGE SELECTION
OPEN PED
OPEN CLI
OPEN PROD
OUTFILE DADOS
CLEARSCREEN
SECTION HEADER
CLEARSCREEN
PRINT HOJE TO HEADER.1
PRINT H TO HEADER.2
PRINT M TO HEADER.3
PRINT S TO HEADER.4
PRINT PAGECOUNT TO HEADER.5
OUTPUT HEADER
SECTION SUBHEADER1
PRINT PED.COD_PED TO SUBHEADER1.1
OUTPUT SUBHEADER1
SECTION BODY
PRINT PROD.DESCR_PROD TO BODY.1
FIND GT CLI BY INDEX.1
PRINT CLI.CLIENTE TO BODY.2
SECTION SUBTOTAL1
SUBTOTAL BODY.3 TO SUBTOTAL1.1
OUTPUT SUBTOTAL1
SECTION TOTAL
SUBTOTAL SUBTOTAL1.1 TO TOTAL.1
OUTPUT TOTAL
RETURN
RPT.KEYPRESS:
SCREENMODE 143 ON
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 131
SHOWXY 24 18 " I N T E R R O M P E R (S/N) ? "
SCREENMODE 7 ON
INKEY HTECLA
CLEARXY 23 00
IF HTECLA IN "Ss" RETURN END$OF$REPORT
RETURN RPT.LOOP
REPORTEND
FORMFEED
CLEARSCREEN
KEYPROC KEY.ESCAPE
CLEARSCREEN
CHAIN 'SIS1'
RETURN
(V)ideo
(I)mpressora
/HEADER
_ ___________ _ ** CONTA CORRENTE ** DATA: __/__/__ PAG: __.
+----------------------------------------------------------------------------
+
: CONTA CORRENTISTA DATA ABERTURA QTDE LANCTO
:
+----------------------------------------------------------------------------
+
/BODY
_____. _____________________________ __/__/__ __,___.__
/FOOTER_COMPLETE
:
:
/FOOTER
+----------------------------------------------------------------------------
+
/*
CLEARSCREEN
PAGE SET SELECTION AT 01 01
STRING HTECLA 1 DADOS 8
DATE HOJE H M S
SYSDATE HOJE H M S
INTEGER XREC
MOVE "" TO DADOS 8
PAGE SELECTION
OPEN PED
OPEN CLI
OPEN PROD
ACCEPT SELECTION.2 {AUTORETURN,CAPSLOCK,CHECK="VIA"}
IF SELECTION.1 EQ 'V' BEGIN
MOVE -1 TO PAGEFEED
MOVE 24 TO PAGEEND
MOVE "CON:" TO DADOS
END
IF SELECTION.2 EQ "I" BEGIN
STRING EXP NORMAL BEEP
CHARACTER 7 TO BEEP
CHARACTER 14 TO EXP
CHARACTER 20 TO NORMAL
PRINT EXP TO HEADER.1
PRINT 'HERMMANN' TO HEADER.2
PRINT NORMAL TO HEADER.3
MOVE 0 TO PAGEFEED
MOVE 60 TO PAGEEND
MOVE "" TO DADOS
END
/SELECTION
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 134
TEMPOS = OPERACõES / MODELO
===========================
┌─────────────────────────────────────┐
│ │
│ (V)ideo │
│ │
│ (I)mpressora │
│ │
│ (A)arquivo NOME ARQ: _______ .REL │
│ │
│ (_) Qual sua opcão ? │
│ │
└─────────────────────────────────────┘
/HEADER RESIDENT
IND. & COM. FRIDA LTDA * TEMPOS: OPERACAOES / MAQUINAS
*** Data:__/__/__ Pag: __. OPREL04
+------+------+------+------+------+------+------+------+------+------+------
+------+------+------+------+------+------+------+
:MOD-5 :MOD-7 :MOD-8 :MOD-9 :MOD-11:MOD-12:MOD-17:COD-21:COD-23:MOD-27:MOD-
28:MOD-29:MOD-32:MOD-33:MOD-34:MOD-36:MOD-42:MOD-43:
+------+------+------+------+------+------+------+------+------+------+------
+------+------+------+------+------+------+------+
/SUBHEADER1 RESIDENT
OPERACAO : _____________________________________________
*********************************************
/BODY
_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:
_z.___:_z.___:_z.___:_z.___:6_.___:_z.___:_z.___:
/SUBTOTAL1
-----------------------------------------------------------------------------
---------------------------------------------------
_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:
_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:
=============================================================================
=================================================
/TOTAL RESIDENT
*****************************************************************************
**************************************************
:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___
:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:_z.___:
*****************************************************************************
**************************************************
/*
CLEARSCREEN
PAGE SET SELECTION AT 00 00
STRING COND XD
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 135
INTEGER XC
CHARACTER 15 TO COND
OPEN OPERACAO
ENTERGROUP
ENT.1:
ENTRY OPERACAO.CODIGO
CLEAR MAQUI
MOVE SELECTION.1 TO MAQUI.CODIGO
FIND EQ MAQUI BY INDEX.1
[ FINDERR] BEGIN
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' Registro nao existe ... '
SCREENMODE 7 ON
CLEARXY 24 0
GOTO ENT.1
END
[KEY.NEXT ] ENTSFIND GT
[KEY.DOWN ] ENTSFIND GT
[KEY.PREVIOUS] ENTFIND LT
[KEY.UP ] ENTFIND LT
TUDO:
PAGE SELECTION
ACCEPT SELECTION.4
{AUTORETURN,CAPSLOCK,CHECK="VIA"}
SECTION SUBHEADER1
PRINT OPERACAO.DESCR_OPER TO SUBHEADER1.1
OUTPUT SUBHEADER1
SECTION BODY
PRINT OPERACAO.MOD_5 TO BODY.1
PRINT OPERACAO.MOD_7 TO BODY.2
PRINT OPERACAO.MOD_8 TO BODY.3
PRINT OPERACAO.MOD_9 TO BODY.4
PRINT OPERACAO.MOD_11 TO BODY.5
PRINT OPERACAO.MOD_12 TO BODY.6
PRINT OPERACAO.MOD_17 TO BODY.7
PRINT OPERACAO.MOD_21 TO BODY.8
PRINT OPERACAO.MOD_23 TO BODY.9
PRINT OPERACAO.MOD_27 TO BODY.10
PRINT OPERACAO.MOD_28 TO BODY.11
PRINT OPERACAO.MOD_29 TO BODY.12
PRINT OPERACAO.MOD_32 TO BODY.13
PRINT OPERACAO.MOD_33 TO BODY.14
PRINT OPERACAO.MOD_36 TO BODY.15
PRINT OPERACAO.MOD_34 TO BODY.16
PRINT OPERACAO.MOD_42 TO BODY.17
PRINT OPERACAO.MOD_43 TO BODY.18
OUTPUT BODY
SECTION SUBTOTAL1
SUBTOTAL BODY.1 TO SUBTOTAL1.1
SUBTOTAL BODY.2 TO SUBTOTAL1.2
SUBTOTAL BODY.3 TO SUBTOTAL1.3
SUBTOTAL BODY.4 TO SUBTOTAL1.4
SUBTOTAL BODY.5 TO SUBTOTAL1.5
SUBTOTAL BODY.6 TO SUBTOTAL1.6
SUBTOTAL BODY.7 TO SUBTOTAL1.7
SUBTOTAL BODY.8 TO SUBTOTAL1.8
SUBTOTAL BODY.9 TO SUBTOTAL1.9
SUBTOTAL BODY.10 TO SUBTOTAL1.10
SUBTOTAL BODY.11 TO SUBTOTAL1.11
SUBTOTAL BODY.12 TO SUBTOTAL1.12
SUBTOTAL BODY.13 TO SUBTOTAL1.13
SUBTOTAL BODY.14 TO SUBTOTAL1.14
SUBTOTAL BODY.15 TO SUBTOTAL1.15
SUBTOTAL BODY.16 TO SUBTOTAL1.16
SUBTOTAL BODY.17 TO SUBTOTAL1.17
SUBTOTAL BODY.18 TO SUBTOTAL1.18
OUTPUT SUBTOTAL1
SECTION TOTAL
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 137
SUBTOTAL SUBTOTAL1.1 TO TOTAL.1
SUBTOTAL SUBTOTAL1.2 TO TOTAL.2
SUBTOTAL SUBTOTAL1.3 TO TOTAL.3
SUBTOTAL SUBTOTAL1.4 TO TOTAL.4
SUBTOTAL SUBTOTAL1.5 TO TOTAL.5
SUBTOTAL SUBTOTAL1.6 TO TOTAL.6
SUBTOTAL SUBTOTAL1.7 TO TOTAL.7
SUBTOTAL SUBTOTAL1.8 TO TOTAL.8
SUBTOTAL SUBTOTAL1.9 TO TOTAL.9
SUBTOTAL SUBTOTAL1.10 TO TOTAL.10
SUBTOTAL SUBTOTAL1.11 TO TOTAL.11
SUBTOTAL SUBTOTAL1.12 TO TOTAL.12
SUBTOTAL SUBTOTAL1.13 TO TOTAL.13
SUBTOTAL SUBTOTAL1.14 TO TOTAL.14
SUBTOTAL SUBTOTAL1.15 TO TOTAL.15
SUBTOTAL SUBTOTAL1.16 TO TOTAL.16
SUBTOTAL SUBTOTAL1.17 TO TOTAL.17
SUBTOTAL SUBTOTAL1.18 TO TOTAL.18
OUTPUT TOTAL
RETURN
RPT.KEYPRESS:
SCREENMODE 143 ON
SHOWXY 24 18 " I N T E R R O M P E R (S/N) ? "
SCREENMODE 7 ON
INKEY HTECLA
CLEARXY 23 00
IF HTECLA IN "Ss" RETURN END$OF$REPORT
RETURN RPT.LOOP
REPORTEND
FORMFEED
CLEARSCREEN
KEYPROC KEY.ESCAPE
CLEARSCREEN
CHAIN 'MENUX2'
RETURN
/SELECTION
╓──────────────────────────────────────────────────────────╖
║ ║
║ (T)ela (I)mpressora (A)rquivo Nome do Arq: _______ .REL ║
║ ║
║ ║
║ (_) Qual e a sua opcao ? ║
║ ║
╙──────────────────────────────────────────────────────────╜
/HEADER
=============================================================================
_ ______________________ _ Data: __/__/__ Hora: _.:_.:_. Pag. #: __.
=============================================================================
/SUBHEADER1
_____________________
=====================
/BODY
______________________________________________________________
______________________________________________________________
/SUBTOTAL1
+--------------------------------------------------------------------------+
: Recs per word : ___.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:
+---------------------------------------------------------------------------+
/TOTAL
+---------------------------------------------------------------------------+
: Total idioms : ___.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:
+---------------------------------------------------------------------------+
/*
CLEARSCREEN
PAGE SET SELECTION AT 10 05
DATE DAY H M S
SYSDATE DAY H M S
CHARACTER 15 TO CON
CHARACTER 14 TO EXP
CHARACTER 20 TO NOR
ACCEPT SELECTION.2
{AUTORETURN,CAPSLOCK,CHECK="TIA"}
OUTFILE SAIDA
CLEARSCREEN
SECTION HEADER
PRINT EXP TO HEADER.1
PRINT 'SLANGS ' TO HEADER.2
PRINT NOR TO HEADER.3
WRITE CON
PRINT DAY TO HEADER.4
PRINT H TO HEADER.5
PRINT M TO HEADER.6
PRINT S TO HEADER.7
PRINT PAGECOUNT TO HEADER.8
INCREMENT PAGECOUNT
OUTPUT HEADER
SECTION SUBHEADER1
PRINT SLANGS.VERBO TO SUBHEADER1.1
OUTPUT SUBHEADER1
SECTION BODY
PRINT SLANGS.EXPRECAO TO BODY.1
PRINT SLANGS.TRADUCAO TO BODY.2
OUTPUT BODY
SECTION SUBTOTAL1
PRINT RECCOUNT TO SUBTOTAL1.1
OUTPUT SUBTOTAL1
MOVE 0 TO RECCOUNT
SECTION TOTAL
SUBTOTAL SUBTOTAL1.1 TO TOTAL.1
OUTPUT TOTAL
[ FINDERR] BEGIN
GOTOXY 24 00
SCREENMODE 112 ON
PAUSE ' END OF REPORT - PRESS ENTER '
SCREENMODE 7 ON
CLEARSCREEN
CHAIN 'MENPUP'
END
RETURN
RPT.KEYPRESS:
SCREENMODE 143 ON
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 140
SHOWXY 24 18 "Would you like to leave the report (Y/N) ?"
SCREENMODE 7 ON
INKEY HTECLA
CLEARXY 23 00
IF HTECLA IN "Yy" RETURN END$OF$REPORT
RETURN RPT.LOOP
REPORTEND
FORMFEED
CLEARSCREEN
KEYPROC KEY.ESCAPE
CLEARSCREEN
CHAIN 'MENPUP'
RETURN
MENU_REQUIRED
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 142
PAGE SELECTION AT 5 5 COLORS 75 79
STRING HTECLA 1
INTEGER PAG XT1 XT2 XT3
DATE HOJE H M S
SYSDATE HOJE H M S
MOVE 0 TO PAG
ACCEPT SELECTION.1
ACCEPT SELECTION.2
ACCEPT SELECTION.3
ACCEPT SELECTION.4
ACCEPT SELECTION.5
CLEAR MOVTO
MOVE SELECTION.1 TO MOVTO.SETOR
MOVE SELECTION.2 TO MOVTO.COD_PROD
MOVE SELECTION.3 TO MOVTO.TIPO_MOVTO
MOVE SELECTION.4 TO MOVTO.DATA
IF SELECTION.1 EQ 0 GOTO P1
INDICATE SELECT AS MOVTO.SETOR EQ SELECTION.1
[~SELECT] RETURN END.OF.REPORT
P1:
IF SELECTION.2 EQ 0 GOTO P2
INDICATE SELECT AS MOVTO.COD_PROD EQ SELECTION.2
[~SELECT] RETURN END.OF.REPORT
P2:
IF SELECTION.3 EQ 0 GOTO P3
INDICATE SELECT AS MOVTO.TIPO_MOVTO EQ SELECTION.3
[~SELECT] RETURN END.OF.REPORT
P3:
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 143
IF SELECTION.4 EQ 0 GOTO PULA
INDICATE SELECT AS MOVTO.DATA GE SELECTION.4
[ SELECT] INDICATE SELECT AS MOVTO.DATA LE SELECTION.5
[~SELECT] RETURN END.OF.REPORT
PULA:
SECTION HEADER
CLEARSCREEN
PRINT H TO HEADER.1
PRINT M TO HEADER.2
PRINT S TO HEADER.3
PRINT HOJE TO HEADER.4
INCREMENT PAG
PRINT PAG TO HEADER.5
OUTPUT HEADER
SECTION SUBHEADER1
PRINT MOVTO.SETOR TO SUBHEADER1.1
OUTPUT SUBHEADER1
SECTION SUBHEADER2
IF MOVTO.SETOR EQ 1 PRINT 'Fabrica' TO SUBHEADER2.1
IF MOVTO.SETOR EQ 2 PRINT 'Citi' TO SUBHEADER2.1
IF MOVTO.SETOR EQ 3 PRINT 'Centro' TO SUBHEADER2.1
IF MOVTO.SETOR EQ 4 PRINT 'Contin' TO SUBHEADER2.1
IF MOVTO.SETOR EQ 5 PRINT 'Xv Nov' TO SUBHEADER2.1
IF MOVTO.SETOR EQ 6 PRINT 'Bal Camb' TO SUBHEADER2.1
IF MOVTO.SETOR EQ 7 PRINT 'Sorriso' TO SUBHEADER2.1
OUTPUT SUBHEADER2
SECTION SUBHEADER3
PRINT MOVTO.COD_PROD TO SUBHEADER3.1
IF MOVTO.TIPO_MOVTO EQ 1 PRINT 'Entrada' TO SUBHEADER3.2
IF MOVTO.TIPO_MOVTO EQ 2 PRINT 'Venda' TO SUBHEADER3.2
IF MOVTO.TIPO_MOVTO EQ 3 PRINT 'Transf.' TO SUBHEADER3.2
OUTPUT SUBHEADER3
SECTION SUBHEADER4
PRINT MOVTO.DATA TO SUBHEADER4.1
OUTPUT SUBHEADER4
SECTION BODY
PRINT MOVTO.NR_DOCTO TO BODY.1
PRINT MOVTO.ESTOQUE TO BODY.2
OUTPUT BODY
SECTION SUBTOTAL1
SUBTOTAL SUBTOTAL4.1 TO SUBTOTAL1.1
OUTPUT SUBTOTAL1
SECTION SUBTOTAL4
SUBTOTAL BODY.2 TO SUBTOTAL4.1
OUTPUT SUBTOTAL4
SECTION TOTAL
PRINT RECCOUNT TO TOTAL.1
// SUBTOTAL SUBTOTAL2.1 TO TOTAL.2
OUTPUT TOTAL
RETURN
CHAIN 'MENUMOV
KEYPROC KEY.ESCAPE
CHAIN 'MENUMOV'
RETURN
__/__/__ a __/__/__
(V)ideo (I)mpressora
========================
/HEADER RESIDENT
Relatorio de NOTAS FISCAIS _.:_.:_. __/__/__ Pag: _.
+---------------------------------------------------------------------------+
| Nr Nota Remetente Destinatario Valor Frete Entrega
|
+---------------------------------------------------------------------------+
/SUBHEADER1
| __/__/__
|
| ********
|
/BODY RESIDENT
|_______. ________________ ______________ __,___.__ _______
_________________|
| Notas: ____________________________________________________
|
/SUBTOTAL1
+---------------------------------------------------------------------------+
| Notas: __. A receber -> __,___.__
+---------------------------------------------------------------------------+
/*
MENU_REQUIRED
STRING HTECLA 1
INTEGER PAG
DATE HOJE H M S
SYSDATE HOJE H M S
MOVE 0 TO PAG
OPEN NOTAF
OPEN REMETE
OPEN DESTINA
ACCEPT SELECTION.1
MOVE SELECTION.1 TO SELECTION.2
ACCEPT SELECTION.2
CLEARSCREEN
CLEAR NOTAF
MOVE SELECTION.1 TO NOTAF.DATA_VENCTO
REPORT NOTAF BY INDEX.2 BREAK NOTAF.DATA_VENCTO
IF SELECTION.1 EQ 0 GOTO PULA
INDICATE SELECT AS NOTAF.DATA_VENCTO GE SELECTION.1
[ SELECT] INDICATE SELECT AS NOTAF.DATA_VENCTO LE SELECTION.2
[~SELECT] RETURN END.OF.REPORT
PULA:
SECTION HEADER
PRINT H
PRINT M
PRINT S
PRINT HOJE
INCREMENT PAG
PRINT PAG
OUTPUT HEADER
SECTION SUBHEADER1
PRINT NOTAF.DATA_VENCTO
OUTPUT SUBHEADER1
SECTION BODY
PRINT NOTAF.NR_NOTAF
PRINT REMETE.NOME_REMETE
PRINT DESTINA.NOME_DESTINA
PRINT NOTAF.VALOR
PRINT NOTAF.VALOR_FRETE
PRINT NOTAF.LOCAL_ENTREGA
PRINT NOTAF.NR_TODAS_NOTAS
OUTPUT BODY
SECTION SUBTOTAL1
PRINT RECCOUNT
SUBTOTAL BODY.4 // TO SUBTOTAL1.1
OUTPUT SUBTOTAL1
MOVE 0 TO RECCOUNT
RETURN
RPT.KEYPRESS:
SCREENMODE 143 ON
GOTOXY 23 17
SHOW "Deseja interromper RELATORIO (S/N) ?"
SCREENMODE 7 ON
INKEY HTECLA
CLEARXY 23 00
IF HTECLA IN "Ss" RETURN END$OF$REPORT
RETURN RPT.LOOP
REPORTEND
FORMFEED
CLEARSCREEN
KEYPROC KEY.ESCAPE
CLEARSCREEN
CHAIN 'TELA6'
RETURN
┌────────────────────────────────────┐
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 147
│ COMANDOS DE DEFINIÇÃO DE VARIÂVEIS │
└────────────────────────────────────┘
(INDICATOR/INDICATE/DISPLAY/LABELS/INTEGER/STRING/REAL/REAL)
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 148
/TELA
+--------------------------------------+
: CADASTRO TESTE :
+--------------------------------------+
: Codigo : __. :
: :
: Nome : ______________________ :
: :
: Endereco: __________________________ :
: :
: Idade : _. Data: __/__/__ :
: :
: Estado : __ (SP,PR,RR) :
: :
: Salario : ______.__ Nr: __. :
: :
+--------------------------------------+
: Data: __/__/__ Hora: _.:_.:_. :
+--------------------------------------+
/*
REPEAT
LABEL.INICIO:
ACCEPT TELA.1 XCOD
IF XCOD EQ 0 GOTO LABEL.INICIO
LABEL*NOME:
ACCEPT TELA.2 XNOME {CAPSLOCK}
IF XNOME EQ '' GOTO LABEL*NOME
LABEL-END:
ACCEPT TELA.3 XENDER {CAPSLOCK}
IF_ XENDER EQ '' BEGIN
GOTOXY 24 0
PAUSE ' O ENDERECO PRECISA SER DIGITADO '
CLEARXY 24 0
GOTO LABEL-END
END
LABEL_IDADE:
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 149
ACCEPT TELA.4 XIDADE
INDICATOR IDADE17
INDICATE IDADE17 AS TELA.4 EQ 17
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' Tecle ENTER '
SCREENMODE 7 ON
CLEARXY 24 0
DECREMENT var_inteira
INCREMENT var_inteira
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
PAGE SET TELA AT 01 01 COLORS 32 7
NAME TELA XCOD XNOM XEND XID XDAT XEST XSAL XNR
OPEN SA
ENTER SA
AUTOPAGE TELA 1
MOVE CODIGO TO XCOD
ENTRY SA.CODIGO XCOD {AUTOFIND,NOPUT}
IF XCOD EQ 0 GOTO ENT$LP
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
CLEARSCREEN 32
RETURN
ENTEREND
ABORT
CLEARSCREEN
CLEARSCREEN arg.cor
EX: CLEARSCREEN
CLEARSCREEN 122
EX: CLEARXY 24 0
EX: GOTOXY 24 10
INKEY var
INKEY$ var
PAUSE ''
PAUSE 'mensagem'
PAUSE 'mensagem' WAIT arg.2
SCREENMODE nr_cor ON
SCREENMODE nr_cor OFF
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
PAGE SET TELA AT 01 01 COLORS 32 7
STRING XTECLA 1
NAME TELA XCOD XNOM XEND XID XDAT XEST XSAL XNR
OPEN SA
ENTER SA
AUTOPAGE TELA 1
GOTOXY 22 0
SHOWLN ' COMANDO SHOWLN - Ola '
GOTOXY 23 0
PAUSE ''
CLEARXY 23 0
GOTOXY 24 0
PAUSE ' COMANDO PAUSE - Tecle ENTER '
CLEARXY 24 0
GOTOXY 24 0
PAUSE ' COMANDO PAUSE WAIT - SEGUIR (S/N) ? ' WAIT XTECLA
IF XTECLA IN 'Ss' GOTO SALTA
IF XTECLA IN 'Nn' GOTO ENT$LP
CLEARXY 24 0
GOTOXY 24 0
SHOW ' COMANDO SHOW - INKEY CONFIRMA (S/N) ? '
INKEY XTECLA
IF_ XTECLA IN 'Ss' GOTO LABEL_INPUT
IF_ XTECLA IN 'Nn' SYSTEM
CLEARXY 24 0
LABEL_INPUT:
CLEARXY 22 0
CLEARXY 24 0
INPUT ' COMANDO INPUT - CONTINUA (S/N) ? ' XTECLA
IF XTECLA EQ 'S' GOTO ENTRYSEC
IF XTECLA EQ 'N' ABORT
CLEARSCREEN 32
RETURN
ENTEREND
ABORT
BLANKFORM
BLANKFORM janela.x THRU ou TRHOUGH janela.n
EX: BLANKFORM
BLANKFORM IMAGEM
BLANKFORM JANELA.1 THRU JANELA.10
CLEARFORM
CLEARFORM janela.1 THRU janela.n
EX: CLEARFORM
CLEARFORM JANELA.1 THRU JANELA.8
PAGE imagem
SETCHANGE janela
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
<ESC> Sai <F7> Sai <F9> Limpa Campos
/*
PAGE TELA AT 01 01 COLORS 15 7
OPEN SA
CLEAR SA
REPEAT
INICIO:
ACCEPT TELA.1 TO SA.CODIGO
IF TELA.1 EQ 0 GOTO INICIO
CLEAR SA
MOVE TELA.1 TO SA.CODIGO
FIND EQ SA BY INDEX.1
[ FOUND] BEGIN
DISPLAY SA.NOME TO TELA.2
DISPLAY SA.ENDERECO TO TELA.3
DISPLAY SA.IDADE TO TELA.4
DISPLAY SA.DATA TO TELA.5
DISPLAY SA.ESTADO TO TELA.6
DISPLAY SA.SALARIO TO TELA.7
DISPLAY SA.NR TO TELA.8
END
// [NOT FOUND] ou [ ~ FOUND] ou [ FINDERR]
[ FINDERR] BEGIN
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' COMANDO FINDERR - REG. NAO ECONCTRADO '
SCREENMODE 7 ON
CLEARXY 24 0
END
SETCHANGE TELA.8
IFCHANGE SA BEGIN
GOTOXY 24 0
PAUSE ' COMANDO IFCHANGE SA '
CLEARXY 24 0
END
SAVERECORD SA
CLEAR SA
CLEARFORM
UNTIL [KEY.ESCAPE]
ABORT
KEYPROC KEY.UP
KEYPROC KEY.FIELD
BACKFIELD
RETURN
KEYPROC KEY.CLEAR
CLEARFORM
GOTO INICIO
RETURN
KEYPROC KEY.USER
ABORT
RETURN
/*
STRING TECLA
KEYCHECK
SCREENMODE 112 ON
[KEYPRESS] SHOWLN ;
' Pressione <S) p/ sair - qq. tecla p/ prosseguir '
SCREENMODE 7 ON
[KEYPRESS] BEGIN
IF TECLA IN 'Ss' BEGIN
CLEARSCREEN
ABORT
END
END
LOOP
══════════════════════════════════════════════════════════════════
/*
CLEARSCREEN
OPEN CLIENTES
SHOW ' Apagando todos os clientes do arquivo - aguarde ... '
REPEAT
FIND GT CLIENTES BY INDEX.1
[ FOUND] ZEROFILE CLIENTES
SAVERECORD CLIENTES
UNTIL [ FINDERR]
ABORT
BACKFIELD
ENTAGAIN
ENTERMODE
EX: ENTERMODE
OPEN SA
ENTRY SA
AUTOPAGE IMAGEM 1
ENTRY SA.CODIGO {AUTOFIND,NOPUT}
ENTERMODE // Evita acesso a janela.1
ENTRY SA.NOME
ENTRY SA.ENDERECO
RETURN
ENTEREND
ABORT
----------------------------------------------------------------
REPEAT
ACCEPT TELA.1 TO SA.CODIGO
ENTERMODE
ACCEPT TELA.2 TO SA.NOME
ACCEPT TELA.3 TO SA.ENDERECO
UNTIL [KEY.ESCAPE]
ABORT
EX: HELP
/IMAGEM
┌───────────────────────────┐
│Codigo : __. │
│Nome : ____________ │
│Endereco: _________________│
└───────────────────────────┘
/HELP AJUDA // ou HELP apenas
┌───────────────────────┐
│NÃO HÂ AJUDA DISPONτVEL│
└───────────────────────┘
/*
OPEN SA
ENTER SA
AUTOPAGE IMAGEM 1
ENTRY SA.CODIGO
ENTERMODE
ENTRY SA.NOME
ENTRY SA.ENDERECO
RETURN
ENTEREND
ABORT
HELP
KEYPROC flex_key
:
comandos
:
RETURN
Permite a programação de uma tecla de função flex-key sendo que
sua ação será determinada em tempo de compilação.
O comando KEYPROC deve ser usado após o término do programa como
se fosse uma sub-rotina, possuindo inclusive o comando RETURN no
final de sua programação.
KEYPROC KEY.DELETE
GOTOXY 24 0
PAUSE ' TECLA DE DELECAO DESATIVA '
ENTAGAIN
CLEARXY 24 0
RETURN
KEYPROC ON
Ativa teclas de função
EX: KEYPROC ON
KEYPROC OFF
Desativa teclas de função
KEYPROC KEY.ANY
:
comandos
:
RETURN
Permite definir uma mesma programação para todas as flex-keys
existentes, sendo que sua ação será determinada em tempo de com■
pilação. Este comando deve ser usado após o término do programa
como se fosse uma sub-rotina.
/TELA
┌────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
OPEN SA
ENTER SA
AUTOPAGE TELA 1
ENTRY SA.CODIGO XCOD {AUTOFIND,NOPUT}
IF XCOD EQ 0 GOTO ENT$LP
SUB-ROTINA-FLEX:
GOTOXY 24 0
PAUSE ' COMANDO KEYPROC KEY.USER GOSUB '
CLEARXY 24 0
RETURN
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
OPEN SA
ENTER SA
AUTOPAGE TELA 1
KEYPROC KEY.USER
GOTOXY 24 0
PAUSE ' COMANDO KEY.USER '
CLEARXY 24 0
RETURN
ABORT
Fecha qualquer banco de dados, arquivo ou dispositivo aberto;
encerra o processamento do programa e retorna ao menu de foi
chamada.
EX: /*
ABORT
CLEARSTACK
Cancela o retorno do comandos GOSUB executados. Não execute um
comando RETURN ou POP após este comando.
EX: CLEARSTACK
CLEARWARNING
Apaga qualquer mensagem de erro que eventualmente esteja na úl■
tima linha do vídeo.
EX: CLEARWARNING
DEBUG
Ativa e desativa a visualização do número da linha do programa
compilado após a execução deste comando, facilitando a depuração
de erros.
EX: DEBUG
GOSUB sub_rotina
Executa a sub-rotina especificada até encontrar o comando RETURN
passando então, a executar o comando seguinte ao GOSUB.
GOTO label
Desvia a execução do programa para o próximo comando situado lo■
go após o procedimento especificado.
ON ERROR OFF
Cancela ou desativa um comando ON ERROR GOSUB.
POP
Executa um comando RETURN mas sem retornar a processamento ao
comando seguinte ao que originou a chamada desta sub-rotina.
EX: POP
EX: RETURN
RETURN ENTRYSEC
RETURN LABEL_X
RETURN RETURN
(CHAIN / CMDLINE)
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
<ESC> Sai <F7> Sai <F9> Limpa Campos
/*
PAGE TELA AT 01 01 COLORS 15 7
FORMAT TELA.2 THRU TELA.3 {CAPSLOCK}
INTEGER NUMERO
OPEN SA1
REPEAT
INICIO:
ACCEPT TELA.1 TO SA1.CODIGO
IF TELA.1 EQ 0 GOTO INICIO
KEYCHECK ABORT
CLEAR SA1
MOVE TELA.1 TO SA1.CODIGO
FIND EQ SA1 BY INDEX.1
[ FOUND] BEGIN
DISPLAY SA1.NOME TO TELA.2
DISPLAY SA1.ENDERECO TO TELA.3
DISPLAY SA1.IDADE TO TELA.4
DISPLAY SA1.DATA TO TELA.5
DISPLAY SA1.ESTADO TO TELA.6
DISPLAY SA1.SALARIO TO TELA.7
DISPLAY SA1.NR TO TELA.8
END
SAVERECORD SA1
CLEAR SA1
GOTOXY 24 0
PAUSE ' Tecle ENTER para acessar o programa SA '
CLEARSCREEN
CHAIN "SA NOME_X ENDERECO_Y"
UNTIL [KEY.ESCAPE]
ABORT
KEYPROC KEY.UP
KEYPROC KEY.FIELD
BACKFIELD
RETURN
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ Nome : ______________________ │
│ Endereco: __________________________ │
│ Idade : _. Data: __/__/__ │
│ Estado : __ (SP,PR,RR) │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
OPEN SA
ENTER SA
AUTOPAGE TELA 1
ENTRY SA.CODIGO XCOD {AUTOFIND,NOPUT}
IF XCOD EQ 0 GOTO ENT$LP
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
PAGE SET TELA AT 01 01 COLORS 32 7
CLEARSCREEN 32
STRING XTECLA 1
OPEN SA
ENTER SA
AUTOPAGE TELA 1
ENTRY SA.CODIGO XCOD {AUTOFIND,NOPUT}
IF XCOD EQ 0 GOTO ENT$LP
RETURN
ENTEREND
ABORT
KEYPROC KEY.ESCAPE
CLEARSCREEN
// CHAIN 'SA1' EXPORT_FILES
CHAIN WAIT 'SA1' EXPORT_FILES
RETURN
KEYPROC KEY.USER
SYSTEM
RETURN
OPEN SA1
OPEN SA
ENTER SA1
AUTOPAGE TELA 1
ENTRY SA1.CODIGO XCOD {AUTOFIND,NOPUT}
IF XCOD EQ 0 GOTO ENT$LP
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
CLEARSCREEN 32
RETURN
ENTEREND
ABORT
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
CLEARSCREEN 32
STRING XTECLA 1
OPEN SA
ENTER SA
AUTOPAGE TELA 1
GOSUB SUB-ROTINA.1
GOSUB SUB_ROT_SAL
CLEARSCREEN 32
CLEARXY 20 0
CLEARWARNING
RETURN
ENTEREND
ABORT
SUB-ROTINA.1:
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' SUB-ROTINA: SUB-ROTINA.1 - VOLTA P/ CAMPO ENDERECO '
CLEARXY 24 0
SCREENMODE 7 ON
// CLEARSTACK // aborta - sai do programa
RETURN
SUB_ROT_SAL:
NUMBER X1 X2 XTOTAL
MOVE 10 TO X1
MOVE 20 TO X2
CALC (X1 + X2) TO XTOTAL
MOVE XTOTAL TO XSAL
GOTOXY 24 0
PAUSE ' SUB-ROTINA: SUB_ROT_SAL: - VOLTA P/ ENTRYSEC '
RETURN ENTRYSEC
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
CLEARSCREEN 32
STRING XTECLA 1
OPEN SA
ENTER SA
AUTOPAGE TELA 1
VOLTA:
RETURN
ENTEREND
ABORT
SUB-ROTINA-A:
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' << SUB_ROTINA_A >> '
CLEARXY 24 0
POP
RETURN
SUB_ROT.1:
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' << ON ERRO SUB-ROT.1 >> '
CLEARXY 24 0
RETURN
SUB_ROT.2:
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' << ON ERRO SUB-ROT.2 >> '
CLEARXY 24 0
GOTO VOLTA
/*
// Nome do programa: CHAIN1.FRM
DIRECT_OUTPUT "SHIT.TXT"
CLEARSCREEN
┌──────────────────────────────────┐
│COMANDOS DE CONTROLE DE ESTRUTURAS│
└──────────────────────────────────┘
BEGIN
:
comandos
:
END
EX:
CONDITIONAL
CASE condicao.1
:
comandos
:
CASEEND
CASE condicao.2
:
comandos
:
CASEEND
CASEELSE
:
comandos
:
CASEEND
CONDITIONALEND
REPEAT
:
comandos
:
LOOP
REPEAT
:
comandos
:
UNTIL condição ou [indicadores]
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
/*
CLEARSCREEN 32
INTEGER CONTADOR
STRING XTECLA 1
OPEN SA
ENTER SA
AUTOPAGE TELA 1
ENTRY SA.CODIGO XCOD {AUTOFIND,NOPUT}
IF XCOD EQ 10 BEGIN
GOTOXY 24 0
SHOW ' CODIGO <10> NAO SERA ACEITO '
INKEY XTECLA
CLEARXY 24 0
GOTO ENTRYSEC
END
KEYPROC KEY.USER
CONDITIONAL
CASE XCOD EQ 10
GOTOXY 24 10
PAUSE ' Case 10 - Tecle ENTER '
CASEEND
CASE XCOD EQ 20
GOTOXY 24 10
PAUSE ' Case 20 - Tecle ENTER '
CASEEND
CASEELSE
GOTOXY 24 10
PAUSE ' Diferente de 10 e de 20 - Tecle ENTER '
CASEEND
CONDITIONALEND
RETURN
/TELA
Codigo: [__.]
Nome : [__________________________]
/*
PAGE SET TELA AT 01 01 COLORS 32 7
CLEARSCREEN 32
REPEAT
ACCEPT TELA.1
ACCEPT TELA.2
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
CLEARSCREEN 32
CLEARFORM
LOOP
KEYPROC KEY.ESCAPE
ABORT
RETURN
(REPEAT-UNTIL)
/TELA
Codigo: [__.]
Nome : [__________________________]
/*
CLEARSCREEN 32
REPEAT
ACCEPT TELA.1
ACCEPT TELA.2
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
CLEARSCREEN 32
CLEARFORM
UNTIL [KEY.ESCAPE]
ABORT
/TELA
Codigo: [__.]
Nome : [__________________________]
/*
CLEARSCREEN 32
REPEAT
ACCEPT TELA.1
ACCEPT TELA.2
INDICATOR CODIGO
INDICATE CODIGO AS TELA.1 EQ 10
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
CLEARSCREEN 32
CLEARFORM
/LICENCA
Senha: ENTRAR
Codigo: [__.]
Nome : [__________________________]
/*
CLEARSCREEN 32
PAGE SET LICENCA AT 01 01 COLORS 32 7
CHANCE:
ACCEPT LICENCA.1 {CAPSLOCK}
INDICATOR SENHA
INDICATE SENHA AS LICENCA.1 EQ 'ENTRAR'
[NOT SENHA] BEGIN
ERROR 999 ' SENHA INCORRETA ... '
GOTO CHANCE
END
END
REPEAT
ACCEPT TELA.1
ACCEPT TELA.2
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
CLEARSCREEN 32
CLEARFORM
UNTIL [KEY.ESCAPE]
ABORT
KEYPROC KEY.ESCAPE
ABORT
RETURN
CGC-CHECK var_string
Testa a validade de um CGC. Estabelece o indicador ERR como
verdadeiro se o CGC testado não for válido.
CIC-CHECK var_string
Testa a validade de um CIC. Estabelece o indicador ERR como
verdadeiro se o CIC testado não for válido.
/TELA
TESTANDO CGC - CIC
==================
/*
STRING PONTO
OPEN CGC
ENTER CGC
CGC.1:
ENTRY CGC.CGC XCGC {AUTOFIND,NOPUT}
MID XCGC TO PONTO 1 3
IF PONTO EQ '.' GOTO CIC-X
INSERT '.' IN XCGC AT 3
INSERT '.' IN XCGC AT 7
INSERT '/' IN XCGC AT 11
INSERT '-' IN XCGC AT 16
CGC_CHECK XCGC
[ ERR] BEGIN
ERROR 999 ' CGC INCORRETO ... '
GOTO CGC.1
END
CIC-X:
ENTRY CGC.CIC YCIC
MID YCIC TO PONTO 1 4
IF PONTO EQ '.' GOTO PULA_INSERT
INSERT '.' IN YCIC AT 4
INSERT '.' IN YCIC AT 8
INSERT '-' IN YCIC AT 12
CIC_CHECK YCIC
[ ERR] BEGIN
ERROR 999 ' CIC INCORRETO ... '
GOTO CIC-X
END
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 188
PULA_INSERT:
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
RETURN
ENTEREND
ABORT
KEYPROC KEY.ESCAPE
ABORT
-------------------------------------------------------------
ANY
ALL
Permite especificar ao mesmo tempo uma nova combinação do tipo ANY ou ALL
para mais três indicadores, que será analisada independente mente do
resultado da combinação anterior.
OR ANY / ALL
Permite especificar, também, uma outra combinação do tipo ANY ou ALL para
mais três indicadores, que será analisada independentemente do resultado da
combinação anterior.
/TELA
┌─────────┬────────────────┬───────────┐
│ │ CADASTRO TESTE │ │
│ └────────────────┘ │
│ │
│ Codigo : __. │
│ │
│ Nome : ______________________ │
│ │
│ Endereco: __________________________ │
│ │
│ Idade : _. Data: __/__/__ │
│ │
│ Estado : __ (SP,PR,RR) │
│ │
│ Salario : ______.__ Nr: __. │
│ │
└──────────────────────────────────────┘
<F6> - Apaga registro
/*
CLEARSCREEN 32
STRING XTECLA 1
OPEN SA
ENTER SA
AUTOPAGE TELA 1
GOTOXY 10 15
IF XID EQ 10 SHOW ' Idade igual a 10 '
ELSE SHOW ' Idade diferente de 10 '
CLEARSCREEN 32
RETURN
ENTEREND
ABORT
GOTOXY 24 0
/TELA
/*
CLEARSCREEN 32
STRING PRAZO
DATE DATA_PAGTO
INICIO:
ELSE BEGIN
GOTOXY 23 0
SHOW ' Prazo de pagamento inalterado '
GOTOXY 24 0
SHOW ' Pagamento a ser efetuado em : ' DATA_PAGTO
END
INKEY PAGEEND
CLEARSCREEN
GOTO INICIO
KEYPROC KEY.ESCAPE
ABORT
RETURN
/TELA
<10> - VERDE
<20> - AZUL
<30> - LILAS
/*
REPEAT
ACCEPT TELA.1
[ VERDE] BEGIN
GOTOXY 10 05
PAUSE ' Cor VERDE '
CLEARXY 10 00
END
[ AZUL] BEGIN
GOTOXY 10 05
PAUSE ' Cor AZUL '
CLEARXY 10 00
END
[ LILAS] BEGIN
GOTOXY 10 05
PAUSE ' Cor LILAS '
CLEARXY 10 00
END
[ TODAS_CORES] BEGIN
GOTOXY 15 05
SCREENMODE 112 ON
PAUSE ' Foi INDICADO uma cor, e os INDICADORES ;
AZUL - VERDE - LILAS '
SCREENMODE 7 ON
CLEARXY 10 00
END
CLEARFORM TELA
UNTIL [KEY.ESCAPE]
ABORT
/*
[ TODOS_INDICADORES] BEGIN
SCREENMODE 112 ON
GOTOXY 03 15
SHOW PROFISSAO
GOTOXY 05 15
SHOW SALARIO
GOTOXY 07 15
SHOW CASADO
GOTOXY 09 15
SHOW SALARIO
GOTOXY 11 15
SHOW IDADE
SCREENMODE 7 ON
END
GOTOXY 13 00
[ IND1] SHOWLN 'IND1 -> PROGRAMADOR '
GOTOXY 14 00
[ IND2] SHOWLN 'IND2 -> CASADO '
GOTOXY 16 00
[ IND3 ]-E-e SHOWLN 'IDN3 -> SALARIO '
GOTOXY 17 00
[ IND4] SHOWLN 'IND4 -> IDADE '
GOTOXY 24 00
PAUSE 'Tecle ENTER'
ABORT
KEYPROC KEY.ESCAPE
ABORT
/*
REPEAT
CLEARSCREEN 32
MOVE 6 TO PAR
MOVE 7 TO IMPAR
INDICATOR IND_PAR
INDICATOR IND_IMPAR
ABORT
EX:
EX:
EX:
MOVE JANELA.1 TO CLIENTES.COD
FIND EQ CLIENTES COD.CLIENTES
[ FOUND] BEGIN
DISPLAY CLIENTES.COD TO JANELA.1
DISPLAY CLIENTES.NOME TO JANELA.2
END
de dados.2
OPEN banco_de_dados
Abre o banco de dados e todos os seus arquivos de índice on-
line
arg
EROFILE banco_de_dados
/TELA
Codigo: <__.>
/*
INTEGER XTOT_REGS
NUMBER XTOT_SALARIO
OPEN SA
INICIO:
ACCEPT TELA.1
[ FOUND] BEGIN
GOTOXY 10 0
SHOW ' Codigo : ' SA.CODIGO
GOTOXY 11 0
SHOW ' Nome : ' SA.NOME
GOTOXY 20 0
SHOW ' COMANDO COUNT : ' XTOT_REGS
GOTOXY 21 0
SHOW ' COMANDO SUM : ' XTOT_SALARIO
GOTOXY 24 0
PAUSE ' Tecle ENTER '
CLEARXY 24 0
CLEAR SA
CLEARSCREEN
GOTO INICIO
END
KEYPROC KEY.ESCAPE
ABORT
RETURN
CLOSE_INPUT
EX: CLOSE_INPUT
CLOSE_OUTPUT
EX: CLOSE_OUTPUT
DIRECT_INPUT arg_string
OUTCLOSE
EX: OUTCLOSE
OUTFILE %arg_string
OPEN SA
OUTFILE 'ARQSA.TXT'
REPEAT
FIND GT SA.RECNUM
[ FOUND] BEGIN
WRITELN SA.CODIGO " " SA.NOME " " ;
SA.ENDERECO " " SA.IDADE
KEYCHECK GOSUB PAUSA
END
UNTIL [ FINDERR]
OUTCLOSE // ou CLOSE_OUTPUT
RUNPROGRAM 'TYPE ARQSA.TXT'
KEYPROC KEY.ESCAPE
ABORT
RETURN
PAUSA:
GOTOXY 24 00
PAUSE ' Tecle ENTER p/ continuar ou ESC p/ sair '
CLEARXY 24 00
RETURN
/TELA
LENDO ARQUIVO SEQUENCIAL
========================
STRING XDESCR 20
INTEGER XCOD XIDADE
MOVE 0 TO WINDOWINDEX
DIRECT_INPUT "DADOS3.TXT"
REPEAT
READ XCOD
READ XDESCR
READ XIDADE
TOP:
READLN
PRINT XCOD TO TELA. 1 &
PRINT XDESCR TO TELA. 2 &
PRINT XIDADE TO TELA. 3 &
PAGE TELA
GOTOXY 24 00
PAUSE ' Tecle ENTER p/ continuar ou ESC p/ sair '
MOVE 0 TO WINDOWINDEX
CLEARSCREEN
GOTO TOP
CLOSE_INPUT
KEYPROC KEY.ESCAPE
ABORT
RETURN
/TELA
Codigo: __.
Nome : _________________________
Idade : _.
/*
OUTFILE '%ARQ1.TXT'
REPEAT
ACCEPT TELA.1
ACCEPT TELA.2
ACCEPT TELA.3
[KEY.ESCAPE] ABORT
WRITE TELA.1 ',' TELA.2 ',' TELA.3
CLEARFORM
UNTIL [KEY.ESCAPE]
ABORT
CLOSE_OUTPUT // ou OUTCLOSE
DIRECT_INPUT 'CADASTRO.TXT'
READ_BLOCK BLOCO1 19
READ_BLOCK BLOCO2 13
READ_BLOCK BLOCO3 04
READ_BLOCK BLOCO4 05
GOTOXY 10 0
SHOW ' Bloco 1 : ' BLOCO1
GOTOXY 11 0
SHOW ' Bloco 2 : ' BLOCO2
GOTOXY 12 0
SHOW ' Bloco 3 : ' BLOCO3
GOTOXY 13 0
SHOW ' Bloco 4 : ' BLOCO4
INKEY PAGEEND
CLOSE_INPUT
ABORT
// RESULTADO
// =========
// Bloco 1 : DANIELA DOS SANTOS,
// Bloco 2 : RUA ALEMANHA,
// Bloco 3 : 100,
// Bloco 4 : TIMBO
------------------------------------------------------------
/*
CLEARSCREEN
STRING TECLA
NUMBER REGS
[ SEQEOF] BEGIN
GOTOXY 10 10
SCREENMODE 112 ON
PAUSE ' O arquivo informado esta vazio /ou/ NAO existe ! '
SCREENMODE 7 ON
CLEARSCREEN
ABORT
END
OPEN ALUNOS
REPEAT
READ ALUNOS.CODIGO
READ ALUNOS.NOME_ALUNO
READ ALUNOS.IDADE
READ ALUNOS.DATA_NASC
READLN
[ ~ SEQEOF] BEGIN
SAVERECORD ALUNOS
CLEAR ALUNOS
SHOW '>'
MOVE (REGS + 1) TO REGS
END
SAVERECORD ALUNOS
GOTOXY 24 00
SHOW REGS
MOVE (REGS + 1) TO REGS
GOTOXY 22 00
SHOWLN REGS 'Registros GRAVADOS do arquivo SEQUENCIAL;
(dados1.txt) p/ o arq. ALUNOS '
GOTOXY 24 00
PAUSE 'Tecle ENTER'
CLEARSCREEN
ABORT
/BODY RESIDENT
____., "_____________________", "______________________"
/*
// Gerando arquivo sequencial com
// a ajuda do utilitario DFQUERY.EXE
MOVE 0 TO PAGEEND
SECTION BODY
PRINT CLI.COD_CLIENTE
PRINT CLI.CLIENTE
PRINT CLI.ENDERECO
OUTPUT BODY
REPORTEND
FORMFEED
ABORT
OUTCLOSE
-------------------------------------------------------
/TELA
+-----------------------------------------------+
: :
: CODIGO FISCAL: ___ :
: :
+-----------------------------------------------+
: CHECANDO TABELA CODIGOS FISCAIS :
: =================================== :
: 001/002/003/004/005/006/007/008/009 :
: 101/102/103/104/105/106/107/108/109 :
: 111/222/333/444/555/666/777/888/999 :
: 201/202/203/204/205/206/207/208/209 :
: 301/302/303/304/305/306/307/308/309 :
+-----------------------------------------------+
/*
CLEARSCREEN
STRING XF1 175 XF2 35 XF3 35 XF4 35 XF5 35
MOVE '001/002/003/004/005/006/007/008/009' TO XF 1
MOVE '101/102/103/104/105/106/107/108/109' TO XF2
MOVE '111/222/333/444/555/666/777/888/999' TO XF3
MOVE '201/202/203/204/205/206/207/208/209' TO XF4
MOVE '301/302/303/304/305/306/307/308/309' TO XF5
REPEAT
ACCEPT TELA.1 {CHECK=XF1}
[ KEY.ESCAPE] ABORT
GOTOXY 16 17
SCREENMODE 112 ON
PAUSE ' === OKAY === '
SCREENMODE 7 ON
CLEARFORM TELA
CLEARXY 16 00
LOOP
EX: STRING NR
INTEGER ASCII_NR
MOVE 154.45 TO NR
ASCII NR TO ASCII_NR
SHOW ASCII_NR
GOTOXY 10 0
SHOW ' Variavel NOME : ' NOME
GOTOXY 11 0
SHOW ' Variavel PARTE : ' PARTE
GOTOXY 10 0
SHOW TAMANHO_COD
GOTOXY 11 0
SHOW TAMANHO_NOME
LENGTH arg.string
GOTOXY 10 0
SHOW FRASE
GOTOXY 11 0
SHOW PEDACO
GOTOXY 10 0
SHOW ' Variavel NOME : ' NOME
GOTOXY 11 0
SHOW ' Variavel PARTE : ' PARTE
GOTOXY 10 0
SHOW GORDA
GOTOXY 11 0
SHOW ENXUTA
ou
STRING XNOME
OPEN CLIENTES
TRIM CLIENTES.NOME TO NOME
MOVE NOME TO CLIENTES.NOME
SHOW TEXTO2
DESPOOL
EX: DESPOOL
LOCK
EX: LOCK
UNLOCK
EX: UNLOCK
DIRECTORY arg_string
Exibe o diretório corrente, listando todos os nomes de ar■
quivos existentes. Opcionalmente, pode-se indicar o aciona■
dor e a especificação dos arquivos que serão listados atra■
vés do arg_string.
ERASEFILE arg_string
READ_ONLY : Só leitura.
SINGLE_USER : Um único usuário tem acesso.
DEFAULT : Leitura e gravação (acesso normal)
EX: FILE_MODE CLIENTES READ_ONLY
MEMORY janela_numérica
Exibe a quantidade de memória disponível em bytes, na janela
especificada em qualquer ponto do programa.
/*
STRING EMPRESA
INTEGER SERIE
GOTOXY 10 0
SHOW EMPRESA " " SERIE
OU
RUNPROGRAM arg_string
RUNPROGRAM WAIT arg_string
10/10/92 4:30:06
SYSTEM
EX: SYSTEM
/TELA
┌──────────────────────────────────────┐
│ Codigo : __. │
│ Nome : ______________________ │
│ Endereco: __________________________ │
│ Idade : _. Data: __/__/__ │
│ Estado : __ (SP,PR,RR) │
│ Salario : ______.__ Nr: __. │
└──────────────────────────────────────┘
FILE-SIZE
=========
Tamanho Atual : ___.
Tamanho Maximo Registros : ___.
Quantidade de campos : ___.
FILELIST
========
Nr arquivo : ___.
Nome usuario : ________________________
Nome Dataflex : ________________________
CLEARSCREEN 32
OPEN SA
ENTER SA
AUTOPAGE TELA 1
RETURN
ENTEREND
ABORT
CHART_INIT
tangular do gráfico.
tangular do gráfico.
DISPLAY_GRAPHIC arg_string
FLOOD arg.cor
EX:
GR_PRINT arg_string
EX: GRAPH_INIT
GRAPHIC OFF
Desativa o modo gráfico.
SAVE_GRAPHIC arg.string
EX: SET_LINE_STYLE 2 4
/*
CHART_INIT
GRAPHIC ON
CLEARSCREEN 32
// SET_TEXT 45 3
// SET_LINE_STYLE 2 10
SAVE_GRAPHIC "C:\FL\PR\GRAAA.TXT"
ABORT
/TELA
Cadastro GRAFICO
=================
Codigo: __.
Nome : ____________
Idade : _.
-----------------------
F7 - Grafico
-----------------------
/*
OPEN GRAFICO
ENTER GRAFICO
AUTOPAGE TELA
ENTRY GRAFICO.CODIGO {AUTOFIND,NOPUT}
ENTRY GRAFICO.NOME {CAPSLOCK}
ENTRY GRAFICO.IDADE
RETURN
ENTEREND
ABORT
KEYPROC KEY.USER
GRAPHIC ON
REPEAT
CHART_INIT
CLEARSCREEN 0
CLEAR GRAFICO
SECTION SUBHEADER1
MOVE GRAFICO.NOME TO NOME
MOVE GRAFICO.IDADE TO TITULO
SECTION SUBTOTAL1
// MOVE RECCOUNT TO VALOR
// MOVE 0 TO RECCOUNT
GRAPH_VALUE NOME TITULO
GRAPH_VALUE TITULO VALOR
REPORTEND
"QTDE" "IDADE"
GOTOXY 24 0
PAUSE ' Tecle ENTER'
CLEARXY 24 0
UNTIL [KEY.ESCAPE]
KEYPROC KEY.ESCAPE
GRAPHIC OFF
ABORT
RETURN
┌──────────┐
│ TERMCHAR │
└──────────┘
Toda vez que estamos executando um programa e pressionarmos um
tecla, o seu respectivo valor é armazenado na variável TERMCHAR.
Se verificarmos o valor de TERMCHAR após a digitação de informa■
ções em uma janela, o valor mostrado será sempre igual a 257. Is■
to ocorre porque para encerrarmos uma digitação em uma janela
sempre teclamos ENTER (RETURN) e o seu valor é o citado acima.
F1 - [KEY.HELP]
F2 - [KEY.FIELD]
F6 - [KEY.DELETE]
etc...
CLEARSCREEN 1
STRING TECLA 1
GOTOXY 01 0
SHOW ' Pressione uma tecla ou uma combinacao '
GOTOXY 02 0
SHOW ' SHIFT F1 - ALT F1 - CRTL F1 - ALT A - CRTL A et..
/*
CLEARSCREEN 1
STRING TECLA 1
SCREENMODE 112 ON
SHOW ' Pressione --> F1 ou F7 '
SCREENMODE 7 ON
WHILE [NOT KEY.ESCAPE]
INKEY TECLA
IF TERMCHAR EQ 268 GOSUB EXPLICA
IF TERMCHAR EQ 274 GOSUB AJUDA
IF TERMCHAR EQ 259 GOTO SAI
VOLTA:
END
ABORT
EXPLICA:
GOTOXY 23 0
PAUSE ' Voce teclou F7 - TERMCHAR em acao '
CLEARXY 23 0
RETURN
AJUDA:
GOTOXY 23 0
PAUSE 'Voce teclou F1 - TERMCHAR em acao '
CLEARXY 23 0
RETURN
SAI:
CLEARSCREEN
SHOW ' VOCE PRESSIONOU NA TECLA << ESC >> '
ABORT
F1 - 18 ENTER - 1
F2 - 6 ESC - 3
F3 - 8 TAB - 7
F4 - 2 LEFT - 4
F5 - 11 RIGHT - 5
F6 - 10 PgUp - 14
F7 - 12 PgDn - 15
F8 - 19 Up - 16
F9 - 13 Down - 17
F10 - 9
/*
CLEARSCREEN
STRING TECLA
(Programa MENU)
/TELA
/*
ACCEPT TELA.1
KEYPROC KEY.ESCAPE
CLEARSCREEN
SYSTEM
RETURN
/TELA
┌──Data: __/__/__───────────────────────────────────Hora: _.:_.:_.─┐
│ │
│ Dia : <_.> Mes: _________ Ano: _. │
│ Grupo Instalação: _. │
│ Semana : _. │
│ Nome : __c_____________________________________ │
│ Endereço : __c_____________________________________ │
│ Cidade : __c____________ Estado: __ │
│ Bairro : __c____________ │
│ Fone : ________________ │
│ Marca Antena : __c___________________________ │
│ Condição Pagto : __c_________________ │
└──────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐
│ <ESC>Sai <F1)Ajuda <F2>Campo <TAB/F3>Procura <F6>Apaga <F10>Grava│
└──────────────────────────────────────────────────────────────────┘
/AJUDA1 HELP
┌────────────────────────────────────────────────────────────┐
│ Campo Dia : Nao pode ser zero. │
│ Campo Mes : Tem que ser Marco. │
│ Campo Nome: Nao pode ser branco. │
│ Campo Condicao Pagto: Nao pode ser branco. │
│ F7 - Ativa formatador capslock. │
│ F9 - Desativa formatador capslock. │
│ F6 - Flex-key codigo 10. │
│ TAB - Termchar │
└────────────────────────────────────────────────────────────┘
/AJUDA2 HELP
┌─────────────────────────────────────────────────────┐
│GRUPO DE INSTALAÇÃO: Campo numérico de duas posições.│
└─────────────────────────────────────────────────────┘
/AJUDA3 HELP
┌────────────────────────────────────────────────┐
│SEMANA: Campo numérico de 2 posições. │
│ Informe 1 para a primeira semana do mês, │
│ 2 para a segunda semana do mês, 3, 4. │
└────────────────────────────────────────────────┘
/AJUDA4 HELP
┌───────────────────────────────────────────────────────┐
│NOME: Campo ascii de 35 posições. │
│Informe o nome do comprador da antena parabólica. │
└───────────────────────────────────────────────────────┘
/*
CLEARSCREEN 32
OPEN CADC
ENTER CADC
AUTOPAGE TELA 5
LABEL.1:
ENTRY CADC.DIA_INSTALA TELA.5 {AUTOFIND,NOPUT}
IF (TELA.5) EQ 0 BEGIN
ERROR 999 ' CODIGO NAO PODE SER ZERO '
GOTO LABEL.1
END
LABEL-MES:
ENTRY CADC.MES TELA.6
MOVE 7 TO CURSOR_SET
GOTOXY 24 0
SHOW 'CURSOR_SET: ' CURSOR_SET ;
'CURSOR_RETURN: ' CURSOR_RETURN
LABEL_2:
ENTRY CADC.NOME TELA.10 { MODAL_INSERT ,CAPSLOCK}
IF |WS10 EQ '' BEGIN
ERROR 999 ' CAMPO NOME NAO PODE SER BRANCO '
GOTO LABEL_2
END
RETURN
ENTEREND
ABORT
KEYPROC KEY.HELP
IF_ CURRENT_WINDOW EQ 1 PAGE AJUDA1 AT 01 04 COLORS 112 32
INKEY PAGEEND
KEYPROC KEY.ESCAPE
CLEARSCREEN 1
CHAIN 'ME'
RETURN
------------------------------------------------------------------
CLEARSCREEN 32
OPEN FORN
OPEN CLI
OPEN CLIF
RETURN
ENTEREND
ABORT
/TELA
┌──────────────────────────────────────────────┐
│ OVERLAP │
│ ======= │
│ │
│ Codigo : ___. │
│ Razao Social : ____________________________ │
│ Endereco : ____________________________ │
│ Bairro : ____________ │
│ Cep : _______ │
│ Estado : __ │
│ │
└──────────────────────────────────────────────┘
/*
OPEN OVERLAP
ENTER OVERLAP
AUTOPAGE TELA 1
ENTRY OVERLAP.CODIGO
ENTRY OVERLAP.RAZAO_SOCIAL
ENTRY OVERLAP.ENDERECO
ENTRY OVERLAP.BAIRRO
ENTRY OVERLAP.CEP
ENTRY OVERLAP.ESTADO
RETURN
ENTEREND
ABORT
#COMMAND BRASIL
CLEARSCREEN
GOTOXY 10 10
SCREENMODE 112 ON
SHOW ' BRASIL - AQUI NAO HA PUNICAO - JUSTICA '
#ENDCOMMAND
Se o comando BRASIL for salvo no arquivo FMAC, após isto você DE■
VERÂ executar o comando DFPACK FMAC .
#INCLUDE ARQUIVO.TXT
#INCLUDE MARCOS.MAC
GOTOXY 24 16
┌───────────────────────────────────────────────────┐
│ ACESSANDO VARIÂVEIS NO RUN-TIME EM COMANDOS MACRO │
└───────────────────────────────────────────────────┘
C - Constante
V - Variável
W - Janela
F - Campo (elemento de arquivo)
G - Grupo (indicadores)
S - String
N - Number
D - Date
I - Integer
E - Expressões
L - Label
O - Grupo de opções
B - Grupo de indicadores
S - String
N - Number
D - Date
I - Integer
E - Expressão (fórmulas)
# - Indicador
X - Não é indicador
O - Grupo de opções {}
B - Grupo de indicadores []
L - Label
C - Constante
F - Elemento de arquivo
W - Janela
V - Variável
G - Grupo {opções} ou [indicadores]
T - Erro se o argumento não for escrito (definido)
U - Erro se o argumento não for escrito
R - Deve haver um argumento (requerido)
. - Não deve haver mais nenhum argumento depois do ponto
% - Muda constantes de numéricas para inteiras
$ - Muda todas as janelas para strings
& - Macros que não chamem outras macros
#COMMAND F7
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' Voce pressinou na tecla de funcao F7 '
SCREENMODE 7 ON
CLEARXY 24 0
#ENDCOMMAND
#COMMAND MACRO_IF
INTEGER NR
MOVE 10 TO NR
#IF NR EQ 10
GOTOXY 10 15
SHOW ' Valor da variavel e 10 '
#ENDIF
#ENDCOMMAND
/TELA
CADASTRO DE TESTE
Codigo : __.
Nome : ______________________________
Endereco : ____________________________________
Estado : __ (SP,PR,RR)
/*
#INCLUDE MACRO1.MAC
CLEARSCREEN 32
OPEN TESTE
ENTER TESTE
AUTOPAGE TELA
ENTRY TESTE.CODIGO TELA.1 {AUTOFIND,NOPUT}
IF_ TELA.1 EQ 0 GOTO ENT$LP
BRASIL
RETURN
ENTEREND
ABORT
KEYPROC KEY.USER
F7
RETURN
TELA
════════════════════════════════════════════════════════════
ACC1
TESTANDO ACCEPT
═══════════════
Codigo : <____.>
Razao Social : ________________________________________
Vlr Unit. : ________.__
Qtde Vendida : ___.
Forma Pagto : _ (P)razo ou a (V)ista
Data 1st Dupl. : __/__/____
<9> Aborts
═════════════════════════════════════════════════════════════
/*
STRING XTECLA
INICIO:
!A [] $C1 |FN3,0 // CLEAR ACC1
!A [] $1C1 |WN1 |FN3,1 // ACCEPT TELA.1 TO ACC1.CODIGO
IF TELA.1 EQ 9 ABORT
!A [] $0C6 |FS3.1 |CI$2 // FIND EQ ACC1 BY INDEX.1
//--------------------------------------------------------------
[ |254] BEGIN
!A [] $1C2 |FS3,2 |WS2 // DISPLAY ACC1.RAZAO TO TELA.2
!A [] $1C2 |FN3,3 |WN3 // DISPLAY ACC1.VLR_UNIT TO TELA.3
!A [] $1C2 |FN3,4 |WN4 // DISPLAY ACC1.QTDE_VEND TO TELA.4
!A [] $1C2 |FS3,5 |WS5 // DISPLAY ACC1.FORM_PAGTO TO TELA.5
!A [] $1C2 |FD3,6 |WD6 // DISPLAY ACC1.DTA_COMPRA TO TELA.6
END
//--------------------------------------------------------------
[ |126] BEGIN // [ FINDERR] BEGIN
!A [] $145 |CI24 |CI20 // GOTOXY 24 20
!A [] $148 |CI112 // SCREENMODE 112 ON
!A [] $142 |CS' Registro sera cadastrado - Tecle ENTER '
// SHOW ' Registro sera cadastrado - Tecle ENTER '
!A [] $148 |CI7 // SCREENMODE 7 ON
!A [] $147 |VS2 // INKEY XTECLA
END
//--------------------------------------------------------------
!A [] $082 |CI1 |VI14 // ENTERMODE
/TELA
┌─────────────────────────────────────────────┐
│ TESTES │
│ │
│ Codigo : __. │
│ Razao : __________________________ │
│ Endereco: _______________________________ │
│ Bairro : ___________ │
│ Cep : ___________ │
│ Estado : __ │
└─────────────────────────────────────────────┘
/*
OPEN ALUNOS
ENTER ALUNOS
AUTOPAGE TELA 1
// ENTRY ALUNOS.RAZAO_SOCIAL
!A [] $8000 |FS26,2 // S - String
// ENTRY ALUNOS.ENDERECO
!A [] $8000 |FS26,3 // F - File
// ENTRY ALUNOS.BAIRRO
!A [] $8000 |FS26,4
// ENTRY ALUNOS.CEP
!A [] $8000 |FS26,5 // N - Number
// 5 - cinco posições
// ENTRY ALUNOS.ESTADO
!A [] $8000 |FS26,6
// RETURN
!A [] $043 |CLO
ENTEREND
// ABORT
!A [] $040
/*
OPEN CLIENTES
REPEAT
FIND GT CLIENTES BY INDEX.1 // |CI1
[ FOUND] ZEROFILE CLIENTES
UNTIL [ FINDERR]
ABORT
═══════════════════════════════════════════════════════════════════
/*
OPEN VENDAS
REPEAT
FIND GT VENDAS BY INDEX.1
[ ~ SAI] BEGIN
SHOWLN VENDAS.CODIGO
SHOWLN VENDAS.NOME
SHOWLN VENDAS.ENDERECO
SHOWLN VENDAS.CIDADE
END
UNTIL [ SAI]
ABORT
/TELA
┌──────────────────────────────────────┐
│ │
│ Cod. Descricao da Maquina │
│ ---- --------------------------- │
│ ___. ___________________________ │
│ ___. ___________________________ │
│ ___. ___________________________ │
│ ___. ___________________________ │
│ ___. ___________________________ │
│ │
└──────────────────────────────────────┘
/*
PAGE TELA
INTEGER XLINHA
OPEN OPERACAO
REPEAT
START.1:
FIND GT OPERACAO BY |CI1
KEYCHECK ABORT
[ |254] BEGIN // found
PAGE TELA AT 04 01 COLORS 15 7
IF XLINHA EQ 5 BEGIN
GOTOXY 20 00
SCREENMODE 112 ON
PAUSE ' Tecle ENTER p/ ver mais registros '
SCREENMODE 7 ON
CLEARXY 20 00
CLEARFORM TELA
MOVE 0 TO WINDOWINDEX
MOVE 0 TO XLINHA
BLANKFORM TELA.1 THRU TELA.10
GOTO START.1
END
END
UNTIL [ FINDERR]
GOTOXY 24 0
SCREENMODE 112 ON
PAUSE ' Fim da consulta - Tecle ENTER '
SCREENMODE 7 ON
// By: Jurandir
GOTOXY 05 10
SCREENMODE 112 ON
SHOW ' Running MOVEDATAS - Wait please ... '
SCREENMODE 7 ON
OPEN OPERACAO
OPEN VENDAS
REPEAT
FIND GT OPERACAO BY INDEX.1
KEYCHECK
[ KEYPRESS] ABORT
[ ~ FINDERR] BEGIN
SAVERECORD VENDAS
CLEAR VENDAS
END
UNTIL [ FINDERR]
/TELA
┌────────────────────────────────────────────┐
│ Codigo Nome Data │
│ ====== ==================== ======== │
│ __. ____________________ __/__/__ │
│ __. ____________________ __/__/__ │
│ __. ____________________ __/__/__ │
│ __. ____________________ __/__/__ │
│ __. ____________________ __/__/__ │
└────────────────────────────────────────────┘
/*
PAGE TELA
INTEGER XCOD
NUMBER XDATA
STRING XNOME 20
MOVE 0 TO WINDOWINDEX
DIRECT_INPUT 'CLIENTES.TXT'
OUTFILE 'XX.TXT'
REPEAT
READ XCOD
READ XNOME
READ XDATA
READLN
// 100,"Carlos",10/11/96
// 200,"Pedro",12/12/96
/TELA
┌──────────────────────────────────┐
│ Codigo : ____. │
│ │
│ Nome : ______________________ │
│ │
│ Salario : ________.__ │
│ │
│ Data : __/__/__ │
└──────────────────────────────────┘
/*
OUTFILE 'DADOS.TXT'
REPEAT
AUTOPAGE TELA
CLEARFORM
ACCEPT TELA.1
[ KEY.ESCAPE] ABORT
ACCEPT TELA.2
ACCEPT TELA.3
ACCEPT TELA.4
WRITELN TELA.1 " " TELA.2 " " TELA.3 " " TELA.4
UNTIL [KEY.ESCAPE]
CLOSE_OUTPUT
ABORT
/BODY RESIDENT
_______________ _______________ _______________
_______________ _______________ _______________
_______________ _______________ _______________
/TELA
Emissao de Etiquetas
====================
STRING TECLA 1
INTEGER ETIQCORRENTE
MOVE 1 TO ETIQCORRENTE
MOVE 0 TO PAGEEND
SECTION BODY
MOVE (ETIQCORRENTE-1) TO WINDOWINDEX
PRINT VERBS.NOME TO BODY.1 &
PRINT VERBS.ENDERECO TO BODY.4 &
PRINT VERBS.CIDADE TO BODY.7 &
INCREMENT ETIQCORRENTE
IF ETIQCORRENTE GT 3 BEGIN
MOVE 1 TO ETIQCORRENTE
OUTPUT BODY
BLANKFORM BODY
END
REPORTEND
IF ETIQCORRENTE NE 1 OUTPUT BODY
FORMFEED
ABORT
KEYPROC KEY.ESCAPE
ABORT
KEYPROC KEY.USER
CLEARSCREEN
CLEARFORM BODY
REPEAT
OUTPUT BODY
INPUT "A etiqueta esta posicionada ? (S/N) " TECLA
IFNOT TECLA IN "sS"
LOOP
RETURN
/TELA
/*
REPEAT
INICIO:
ACCEPT TELA.1 {CAPSLOCK}
[ KEY.ESCAPE] GOTO FORA
INDICATE SENHA AS TELA.1 EQ 'VAI'
[ ~ SENHA] GOTO MENS
CLEARFORM
UNTIL [ SENHA]
GOTOXY 24 00
ABORT
MENS:
GOTOXY 24 00
PAUSE ' *** SENHA INVALIDA *** '
CLEARXY 24 00
GOTO INICIO
FORA:
CLEARSCREEN
ABORT
═══════════════════════════════════════════════════════════════════
Outra maneira de criar o mesmo programa.
/*
REPEAT
ACCEPT TELA.1 {CAPSLOCK}
[ KEY.ESCAPE] ABORT
UNTIL TELA.1 EQ 'VAI'
ABORT
═══════════════════════════════════════════════════════════════════
Outra maneira de criar o mesmo programa.
/*
REPEAT
ACCEPT TELA.1 {CAPSLOCK}
INDICATE FORA AS TELA.1 EQ 'VAI'
[ FORA] ABORT
UNTIL [ KEY.ESCAPE]
GOTOXY 24 00
ABORT
---------------------------------------------------------
/SCR
/CABECALHO
*** CADASTRO DE ALUNOS *** DATA: __/__/__ PAG: __.
-----------------------------------------------------------------
| Cod. Aluno Cidade Cep Id. Taxa Da
=================================================================
/CORPO
| __. ___________________ _________ ____. _. __,___.__ __/__/__
/TOTAL_DADOS
-----------------------------------------------------------------
Total: __,___.__
-----------------------------------------------------------------
/REC_DATA
Pessoas cadastradas: ___.
/*
STRING T 1 DADOS 8
NUMBER TOT_FEES
MOVE 0 TO TOT_FEES
DATE DAY
SYSDATE DAY
OPEN ALUNOS
START:
PAGE SCR
ACCEPT SCR.2 {AUTORETURN,CAPSLOCK,CHECK="TIA"}
CLEAR ALUNOS
MOVE 0 TO ALUNOS.CODIGO
REPEAT
FIND GT ALUNOS BY INDEX.1
[ PRIMEIRA_VEZ] GOSUB RPT.HEAD
INDICATE PRIMEIRA_VEZ FALSE
KEYCHECK
[ KEYPRESS] ABORT
PRINT ALUNOS.CODIGO TO CORPO.1
PRINT ALUNOS.NOME TO CORPO.2
PRINT ALUNOS.CIDADE TO CORPO.3
PRINT ALUNOS.CEP TO CORPO.4
PRINT ALUNOS.IDADE TO CORPO.5
PRINT ALUNOS.TAXA TO CORPO.6
GOSUB RPT.TOTAL
GOSUB RPT.REC
GOTOXY 24 3
SCREENMODE 112 ON
PAUSE ' End of records - Press ENTER '
SCREENMODE 7 ON
CLEARXY 24 0
CLEARFORM SCR.2
MOVE 0 TO TOT_FEES
MOVE 0 TO RECS
GOTO START
[ ~ PRIMEIRA_VEZ] BEGIN
RPT.HEAD:
PRINT DAY TO CABECALHO.1
INCREMENT PAGECOUNT
PRINT PAGECOUNT TO CABECALHO.2
OUTPUT CABECALHO
RETURN
END
RPT.TOTAL:
PRINT TOT_FEES TO TOTAL_DADOS.1
OUTPUT TOTAL_DADOS
INDICATE PRIMEIRA_VEZ TRUE
RETURN
RPT.REC:
PRINT RECS TO REC_DATA.1
OUTPUT REC_DATA
RETURN
KEYPROC KEY.ESCAPE
ABORT
----------------------------------------------------------------
----------------------------------------------------------------
/TELA
MδDULO PRINCIPAL
┌───────────────────────┐
│ 1 - Estados │
│ 2 - Clientes │
│ 3 - Vendedores │
│ 4 - Pedidos │
│ 5 - Fornecedores │
│ 6 - Relatorios │
│ │
│ _. - Digite um número │
└───────────────────────┘
<ESC> Sai do Menu
/*
CLEARSCREEN
INICIO:
ACCEPT TELA.1 {RANGE=1,6
GOTO INICIO
KEYPROC KEY.ESCAPE
CLEARSCREEN
ABORT
RETURN
Terá que ser feito outro MENU para chamar o programa RELS, que es■
te é somente de relatórios.
/TELA
┌──────────────────────────────────────┐
│ Cadastro de Estados │
│ │
│ Estado : __ │
│ Descricao: ________________________ │
└──────────────────────────────────────┘
<ESC> Retorna modulo principal
<F6> Apaga registro
/*
STRING TECLA 1
CLEARSCREEN 32
OPEN ESTADOS
ENTER ESTADOS
AUTOPAGE TELA
ENTRY ESTADOS.SIGLA {AUTOFIND,NOPUT,CAPSLOCK}
IF TELA.1 EQ '' GOTO ENT$LP
ENTRY ESTADOS.NOME {CAPSLOCK}
RETURN
ENTEREND
ABORT
KEYPROC KEY.DELETE
IF_ ESTADOS.CONTROLE GT 0 BEGIN
GOTOXY 23 0
SHOW ' REGS: ' ESTADOS.CONTROLE ;
' <- Ha registros pendentes - Tecle ENTER '
INKEY TECLA
CLEARXY 23 0
ENTAGAIN
END
RETURN
KEYPROC KEY.ESCAPE
CLEARSCREEN
CHAIN 'SIS1'
RETURN
/TELA
┌────────────────────────────────────────────────────────┐
│ CADASTRO DE CLIENTES │
│ │
│ Codigo : <__.> │
│ Razao Social : ____________________________ │
│ Endereco : ____________________________ │
│ Bairro : ____________________________ │
│ Cep : ____________________________ │
│ Estado : [__] Arq. Relacionado com ESTADOS (17) │
└────────────────────────────────────────────────────────┘
<ESC> Retorna modulo principal <F6> Apaga registro
/*
CLEARSCREEN 32
PAGE TELA AT 02 02 COLORS 112 32
OPEN CLIENTES
OPEN ESTADOS
RETURN
ENTER.SAVE:
CALC (ESTADOS.CONTROLE + 1) TO ESTADOS.CONTROLE
RETURN
ENTER.EDIT:
CALC (ESTADOS.CONTROLE - 1) TO ESTADOS.CONTROLE
RETURN
ENTEREND
ABORT
KEYPROC KEY.ESCAPE
CLEARSCREEN
CHAIN 'SIS1'
RETURN
/TELA
┌────────────────────────────────────────────────┐
│ CADASTRO DE VENDEDORES │
│ │
│ Codigo : <__.> │
│ Nome : _____________________________ │
│ UF : [__] Arq relacinado com ESTADOS (17) │
│ Obs : _______________ │
└────────────────────────────────────────────────┘
<ESC> Retorna modulo principal <F6> Apaga registro
/*
OPEN VENDEDOR
OPEN ESTADOS
ENTRY VENDEDOR.OBSERVACAO
RETURN
ENTER.SAVE:
CALC (ESTADOS.CONTROLE + 1) TO ESTADOS.CONTROLE
RETURN
ENTER.EDIT:
CALC (ESTADOS.CONTROLE - 1) TO ESTADOS.CONTROLE
RETURN
ENTEREND
ABORT
KEYPROC KEY.ESCAPE
CLEARSCREEN 32
CHAIN 'SIS1'
RETURN
/TELA
┌───────────────────────────────────────────────────┐
│ CADASTRO DE FORNECEDORES │
│ │
│ Codigo : <__.> │
│ Nome : ________________________ │
│ Endereco: ____________________________ │
│ Cidade : _______________ Bairro: _______ │
│ Estado : [__] Arq. relacionado com ESTADOS (17) │
└───────────────────────────────────────────────────┘
<ESC> Retorna modulo principal <F6> Apaga registro
/*
OPEN FORNEC
OPEN ESTADOS
RETURN
ENTER.SAVE:
CALC (ESTADOS.CONTROLE + 1) TO ESTADOS.CONTROLE
RETURN
ENTER.EDIT:
CALC (ESTADOS.CONTROLE - 1) TO ESTADOS.CONTROLE
RETURN
ENTEREND
ABORT
KEYPROC KEY.ESCAPE
CLEARSCREEN 32
CHAIN 'SIS1'
RETURN
/TELA
CLEARSCREEN
DATE DATA H M S
SYSDATE DATA H M S
DISPLAY DATA TO TELA.1
DISPLAY H TO TELA.2
DISPLAY M TO TELA.3
DISPLAY S TO TELA.4
OPEN ESTADOS
OPEN VENDEDO
OPEN CLIENTES
OPEN PEDIDOS
AUTOPAGE TELA 5
RETURN
ENTER.EDIT:
CALC (ESTADOS.CONTROLE - 1) TO ESTADOS.CONTROLE
CALC (CLIENTES.CONTROLE - 1) TO CLIENTES.CONTROLE
CALC (VENDEDOR.CONTROLE - 1) TO VENDEDOR.CONTROLE
RETURN
ENTEREND
ABORT
KEYPROC KEY.ESCAPE
CLEARSCREEN
CHAIN 'SIS1'
RETURN
Programa de GRÂFICO .
/*
REPEAT
STRING S
CHART_INIT
GRAPH_VALUE 'JAN' 700
GRAPH_VALUE 'FEV' 900
GRAPH_VALUE 'MAR' 600
GRAPH_VALUE 'ABR' 800
GRAPH_VALUE 'MAI' 300
GRAPH_VALUE 'JUN' 100
GRAPHIC ON
CLEARSCREEN 0
UNTIL [KEY.ESCAPE]
ABORT
─────────────────────────────────────────────────────────────────────────────
DATAFLEX 2.3b Linguagem de Quarta Geração
─────────────────────────────────────────────────────────────────────────────
Programa abaixo move dados de uma base de dados Dataflex para outra base
de dados Dataflex.
/*
GOTOXY 05 10
SCREENMODE 112 ON
SHOW ' Running MOVEDATAS - Wait please ... '
SCREENMODE 7 ON
OPEN OPERACAO
OPEN OPER
REPEAT
FIND GT OPERACAO BY INDEX.1
KEYCHECK
[ KEYPRESS] ABORT
[ ~ FINDERR] BEGIN
SAVERECORD OPER
CLEAR OPER
END
UNTIL [ FINDERR]
/TELA
/*
STRING HTECLA
INICIO:
IF WINDOWINDEX GT 1
GOTOXY 24 14
SHOW " Do you want to RECORD some more datas (Y/N) ? "
INKEY HTECLA
CLEARXY 24 00
IF HTECLA IN "Yy" BEGIN
CLEARFORM
GOTO INICIO
END
ELSE
CLEARSCREEN
ABORT
SAIR:
CLEARSCREEN
ABORT
RETURN
/*
GOTOXY 05 10
SHOW ' Running MOVEDATAS - Wait please ... '
INTEGER XREG
OPEN MOVE1
OPEN MOVE2
REPEAT
FIND GT MOVE1 BY INDEX.1
KEYCHECK
[ KEYPRESS] GOTO OUT
[ ~ FINDERR] BEGIN
SAVERECORD MOVE2
CLEAR MOVE2
END
UNTIL [ FINDERR]
OUT:
ABORT
/*
STRING PROFISSAO CASADO
NUMBER SALARIO
INTEGER IDADE
[ REG_COMPLETO] BEGIN
SCREENMODE 112 ON
GOTOXY 03 15
SHOW PROFISSAO
GOTOXY 05 15
SHOW SALARIO
GOTOXY 07 15
SHOW CASADO
GOTOXY 09 15
SHOW SALARIO
GOTOXY 11 15
SHOW IDADE
SCREENMODE 7 ON
END
GOTOXY 13 00
[ IND1] SHOWLN 'IND1 -> PROGRAMADOR '
GOTOXY 14 00
[ IND2] SHOWLN 'IND2 -> CASADO '
GOTOXY 16 00
[ IND3] SHOWLN 'IDN3 -> SALARIO '
GOTOXY 17 00
[ IND4] SHOWLN 'IND4 -> IDADE '
GOTOXY 24 00
PAUSE 'Tecle ENTER'
ABORT
KEYPROC KEY.ESCAPE
ABORT
/TELA
Sua senha: __
/*
CLEARSCREEN
SENHA:
ACCEPT TELA.1 {CAPSLOCK}
════════════════════════════════════════════════════════════════
/*
INDICATOR SENHA
INICIO:
ACCEPT TELA.1 {CAPSLOCK}
WHILE [ ~ SENHA]
GOTOXY 23 00
PAUSE ' *** SENHA INCORRETA *** '
CLEARXY 23 00
GOTO INICIO
END
GOTOXY 24 00
PAUSE ' SENHA OK - Tecle ENTER p/ prosseguir'
CLEARSCREEN
ABORT
/TELA
/*
INICIO:
ACCEPT TELA.1
GOTOXY 05 07
SHOW ' Pressione *** ENTER - PgUp - SETA P/ CIMA ;
- SETA P/ BAIXO - ESC ***'
WHILE [ KEY.RETURN]
GOTOXY 24 00
PAUSE ' Foi pressionado a tecla KEY.RETURN - Enter '
CLEARXY 24 00
GOTO INICIO
END
WHILE [ KEY.UP]
GOTOXY 24 00
PAUSE ' Foi pressionado a tecla KEY.UP - Seta p/ Cima '
CLEARXY 24 00
GOTO INICIO
END
WHILE [ KEY.DOWN]
GOTOXY 24 00
PAUSE ' Foi pressionado a tecla KEY.DOWN - Seta p/ Baixo '
CLEARXY 24 00
GOTO INICIO
END
WHILE [ KEY.PREVIOUS]
GOTOXY 24 00
PAUSE ' Foi pressionado a tecla KEY.PREVOUS - PgUp '
CLEARXY 24 00
GOTO INICIO
END
════════════════════════════════════════════════════════════════
/*
WHILE [ ~ KEY.ESCAPE]
ACCEPT TELA.1 {CAPSLOCK}
CLEARFORM
END
GOTOXY 24 00
CLEARSCREEN
ABORT
/*
CLEARSCREEN
STRING TEMSTR
NUMBER RECS
OPEN CUSTOMER
REPEAT
READ CUSTOMER.CODIGO // lê base dados no Dataflex
READ CUSTOMER.R_SOCIAL
READ CUSTOMER.END
READ CUSTOMER.BAIRRO
READ CUSTOMER.CIDADE
READ CUSTOMER.UF
READ CUSTOMER.CEP
READLN
[NOT SEQEOF] BEGIN
SAVERECORD CUSTOMER
CLEAR CUSTOMER
SHOW "*"
MOVE (RECS + 1) TO RECS
END
KEYCHECK BEGIN
SHOWLN
SHOWLN "Uma TECLA foi pressionada com " RECS " Regs GRAVADOS"
SHOW "Pressione qq. tecla p/ CONTINUAR ou ESC p/ CANCELAR"
INKEY TEMSTR
[KEY.ESCAPE] ABORT
END
UNTIL [SEQEOF]
SAVERECORD CUSTOMER
SHOW "*"
MOVE (RECS + 1) TO RECS
GOTOXY 04 05
SHOWLN RECS " Regs foram ADICIONADOS no arq. CUSTOMER"
GOTOXY 07 05
SHOW "Pressione qq. tecla p/ continuar "
INKEY TEMSTR
ABORT
/*
OPEN FORNEC
OUTFILE 'GARBAGE.TXT'
REPEAT
FIND GT FORNEC.RECNUM
[ FOUND] BEGIN
WRITELN FORNEC.CODIGO " " FORNEC.NOME " " ;
FORNEC.ENDERECO " " FORNEC.FONE
KEYCHECK GOSUB PAUSA
END
UNTIL [ FINDERR]
KEYPROC KEY.ESCAPE
ABORT
PAUSA:
GOTOXY 24 00
PAUSE ' Tecle ENTER p/ continuar ou ESC p/ sair '
CLEARXY 24 00
RETURN
/SCR1
┌────────────────────────────────────────────────────────────────────────┐
│ CADASTRO DE CLIENTES │
│ ==================== │
│ │
│ Codigo.......:<___.> │
│ Nome.........: ______________________________ │
│ Endereco.....: __________________________________ │
│ Bairro.......: ____________ │
│ Cidade.......: ______________ │
│ Cep..........: _______. Estado: __ │
│ CGC..........: __________________ Ins.Est: __________________ │
│ Phone........: __________________ Fax....: __________________ │
│ Contact......: ____________ │
│ │
│ Observacoes..: ______________________________________________ │
│ ______________________________________________ │
│ ______________________________________________ │
│ ______________________________________________ │
└────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ ______________________________________________________________________ │
└────────────────────────────────────────────────────────────────────────┘
/MSG
__________________________________ (_)
/*
CLEARSCREEN
PAGE SET SCR1 AT 1 3 COLORS 15 7
PAGE SET MSG AT 24 3
STRING V1 1
SCREENMODE 112 ON
MOVE '[ESC] Exit [F1] Help [F2] Back [F3] SuperFind;
[F6] Erase [F9] Clear ' TO SCR1.17
SCREENMODE 7 ON
AUTOPAGE SCR1 1
NAME YCOD YNOME YEND YBAIR YCITY
NAME YCEP YEST YCGC YINS YFONE YFAX
NAME YCONT YNOTA_1 YNOTA_2 YNOTA_3 YNOTA_4
AUTOPAGE MSG
NAME Y1 Y2
FORMAT Y2 {AUTORETURN,CAPSLOCK,CHECK='YN'}
OPEN CADCLI
KEYPROC KEY.ESCAPE
KEYPROC ON
SCREENMODE 112 ON
DISPLAY 'Deseja SAIR do programa ? ' TO Y1
DISPLAY 'Y' TO Y2
ACCEPT Y2
SCREENMODE 7 ON
INDICATE GET_OUT AS Y2 IN 'Yy'
[ GET_OUT] BEGIN
CLEARSCREEN
CHAIN 'RAIZ'
END
[ ~ GET_OUT] BEGIN
CLEARXY 24 0
GOTO ENT$LP
END
RETURN
/BODY RESIDENT
__. _____________________ __. __/__/__
/*
MOVE 0 TO PAGEEND
SECTION BODY
PRINT ALUNOS.CODIGO
PRINT ALUNOS.NOME_ALUNO
PRINT ALUNOS.IDADE
PRINT ALUNOS.DATA_NASC
OUTPUT BODY
REPORTEND
FORMFEED
GOTOXY 01 00
SHOWLN ' CONTEUDO DO ARQUIVO SEQUENCIAL - DADOS1.TXT '
GOTOXY 03 00
RUNPROGRAM 'TYPE DADOS1.TXT'
ABORT
//--------------------------------------------\\
// Conteudo do arq. seq. DADOS1.TXT
/CABECALHO
CIA (004) ** MOVTOS NO ESTOQUE (P/PRODUTO) ** DATA: __/__/__ PAG: __.
+----------------------------------------------------------------------+
| COD.COMP. LOCAL TIPO NR.DOCTO. ENTRADA SAIDA DATA MOVTO.|
+----------------------------------------------------------------------+
/CORPO1
__Z____. _Z. _. ____. _Z,___,__. __,___,_Z. __/__/__
/LINHA_BRANCA
/SUB_TOTAL
SUBTOTAIS: _Z,___,__. __,___,_Z.
/TOTAL_GERAL
------------------------------------------------------------------------
Total Regs.: _____. TOTAIS: _Z,___,__. __,___,_Z.
------------------------------------------------------------------------
/TELA
Digite o CODIGO e LOCAL a ser listado: _______. _ 9 - Lista todos.
(V)ideo
(I)mpressora
INTEGER XTOTAL_REGS
INTEGER XTOTAL_ENTR
INTEGER XTOTAL_SAIDA
INTEGER PAGINA
INTEGER TAM_PAGE
INTEGER CONT_REG
INTEGER CONT_LIN
INTEGER XCODIGO
INTEGER XCOD
INTEGER XENTRADA
INTEGER XSAIDA
CLEAR ESTIN002
IF TELA.1 EQ 9 BEGIN
MOVE 0 TO ESTIN002.COD_COMP
MOVE 0 TO ESTIN002.LOCAL_ESTOQ
MOVE 0 TO ESTIN002.TIPO_MOVTO
MOVE 0 TO ESTIN002.NR_DOCTO
MOVE 99999999 TO XCOD
GOTO LEITURA
END
LEITURA:
FIND GT ESTIN002 BY INDEX.1
[ FOUND] GOTO SELECIONA
GOTO FIM
SELECIONA:
IF ESTIN002.COD_COMP GT XCOD GOTO FIM
[ PRIMEIRA] BEGIN
MOVE ESTIN002.COD_COMP TO XCODIGO
INDICATE PRIMEIRA FALSE
GOSUB CABECALHO1
END
CABECALHO1:
IF SAIDA EQ "CON:" BEGIN
[ ~ SEGUNDA] BEGIN
SCREENMODE 112 ON
PAUSE " Pressione qq. tecla p/ CONTINUAR, ou ESC p/ CANCELAR "
SCREENMODE 7 ON
CLEARSCREEN
END
END
TOTAL_FINAL:
IF CONT_LIN GT TAM_PAGE GOSUB CABECALHO1
PRINT XTOTAL_REGS TO TOTAL_GERAL.1
PRINT XTOTAL_ENTR TO TOTAL_GERAL.2
PRINT XTOTAL_SAIDA TO TOTAL_GERAL.3
OUTPUT TOTAL_GERAL
FIM:
GOSUB SUB_TOTALIZANDO
GOSUB TOTAL_FINAL
CLEARSCREEN
ABORT
KEYPROC KEY.ESCAPE
ABORT
/CABECALHO
Relatorio __/__/__ Pag.: __.
+-----------------------------+-----------------------------------------+
| Nome | Endereco |
+-----------------------------+-----------------------------------------+
/CORPO1 | |
| _________________________ | _______________________________________ |
/LINHA_BRANCA
/SUB_TOTAL
+-----------------------------------------------------------------------+
| Registros: _____. |
+-----------------------------------------------------------------------+
/TOTAL_GERAL
+-----------------------------------------------------------------------+
| Registros: _____. |
+-----------------------------------------------------------------------+
/TELA
(T)ela
(I)mpressora
CLEARSCREEN
PAGE SET TELA AT 01 04
INTEGER HTOTAL
INTEGER PAGINA
INTEGER TAMPAGE
INTEGER CONTREG
INTEGER CONTLIN
STRING PALAVRA
MOVE 0 TO CONTREG
MOVE 0 TO CONTLIN
MOVE "" TO PALAVRA
PAGE TELA
ACCEPT TELA.1 {AUTORETURN}
ACCEPT TELA.3 {AUTORETURN,CAPSLOCK,CHECK="SPF"}
LEITURA:
FIND GT ALUNOS BY INDEX.1
[ FOUND] GOTO SELECIONA
GOSUB SUB_TOTALIZANDO
GOSUB TOTAL_FINAL
ABORT
SELECIONA:
IF TELA.1 EQ "A" GOTO QUEBRA
IF ALUNOS.NOME NE TELA.1 GOTO LEITURA
QUEBRA:
[ PRIMEIRA] BEGIN
MOVE ALUNOS.NOME TO PALAVRA
INDICATE PRIMEIRA FALSE
GOSUB CABECALHO1
END
IF ALUNOS.NOME EQ PALAVRA GOTO IMPRESSAO
GOSUB SUB_TOTALIZANDO
MOVE ALUNOS.NOME TO PALAVRA
IMPRESSAO:
PRINT ALUNOS.NOME TO CORPO1.1
PRINT ALUNOS.ENDER TO CORPO1.2
IF CONTLIN GE TAMPAGE GOSUB CABECALHO1
OUTPUT CORPO1
INCREMENT CONTREG
INCREMENT CONTLIN
GOTO LEITURA
TOTAL_FINAL:
IF CONTLIN GT TAMPAGE GOSUB CABECALHO1
PRINT HTOTAL TO TOTAL_GERAL.1
OUTPUT TOTAL_GERAL
SCREENMODE 112 ON
PAUSE " END OF QUERY - PRESS ENTER KEY "
SCREENMODE 7 ON
RETURN
CABECALHO1:
IF SAIDA EQ "CON:" BEGIN
[ ~ SEGUNDA] BEGIN
SCREENMODE 71 ON
PAUSE " Press any key to go ahead, or ESC to CANCEL "
SCREENMODE 1 ON
CLEARSCREEN
END
END
PRINT HOJE TO CABECALHO.1
INCREMENT PAGINA
KEYPROC KEY.ESCAPE
CLEARSCREEN
ABORT
/TELA1
(I)mpressora
=========
(P) Italico
(C) Condensado
(_) Qual sua fonte ?
(V)video
/TELA2
Cod: ______.
Razao Social: ___________________________________
/*
STRING DISP
OPEN CLIENTES
//ACCEPT TELA1.1 {AUTORETURN,CAPSLOCK,CHECK='PC'}
ACCEPT TELA1.2 {AUTORETURN,CAPSLOCK,CHECK='IV'}
GOTOXY 21 10
PAUSE ''
OUTFILE 'LST:'
END
END
KEYCHECK
[ KEYPRESS] STOP
[ KEY.ESCAPE] STOP
PAGE TELA2
[KEYPRESS] STOP
PRINT CLIENTES.CODIGO TO TELA2.1
PRINT CLIENTES.R_SOCIAL TO TELA2.2
OUTPUT TELA2
GOTOXY 24 00
PAUSE ' Tecle ENTER'
UNTIL [ FINDERR]
/SCR1
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ ┌────────────────────────────────────────────┐
▒ NOME DA EMPRESA ▒ │ NOTA DE CRÉDITO │
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ └────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ Cód. Empresa : <_.> __c________________________________________ │
│ Cód. Filial : <_.> │
│ Representante: <___.> __c________________________________________ │
│ Endereço : _c_______________________ │
│ Cidade : _c_____________ Estado: __ │
│ │
│ Data Emisão.: __/__/__ Nº : __. │
│ Período : __/__/__ a __/__/__ │
│ Valor : _$_,___,__.__ IRRF: _.% │
│ ____________________ _ │
├─────────────────────────────────────────────────────────────────────┤
│ <Esc> Sai <F2> Volta <F3> PROCURA <F9> Limpa Data: __/__/__ │
└─────────────────────────────────────────────────────────────────────┘
/PRT
+----------------------------------------------------+-------------------
----------------+-------+
| __________________________________________________ | N O T A D E
C R E D I T O | NR. |
| Insc.Est.: ___________ - C.G.C. __________________ +-------------------
----------------+ |
| __________________________________ | Dta Emissao:
__/__/__ | __. |
| 89120 - TIMBO - SANTA CATARINA |
| |
+----------------------------------------------------+-------------------
----------------+-------+
| Repres: ___________________________________ Cidade:
________________ |
| Ender.: _________________________ Estado: __
|
+------------------------------------------------------------------------
-----+------------------+
| HISTORICO
| |
|
| |
| O valor que lhes creditamos nesta data ref. comissoes sobre
| |
| vendas ref. o periodo de __/__/__ a __/__/__
..............................|Cr$___,___,___.__ |
|
| |
| (-) _.% IRRF
..............................|Cr$___,___,___.__ |
|
|------------------|
| LIQUIDO A RECEBER
..............................|Cr$___,___,___.__ |
|
| |
+------------------------------------------------------------------------
-----+------------------+
| Nesta data estamos creditando em sua conta-corrente a importancia
conforme |Cr$___,___,___.__ |
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 294
|
historico acima
| |
+------------------------------------------------------------------------
-----+------------------+
|
|
|
|
| ______________________________________________
|
| Credito e Cobranca
|
+---------------------------------------------------------------------+
/HELP
┌──────────────────────────────────┐
│ NãO HÂ HELP ON-LINE │
└──────────────────────────────────┘
/BLANK
/*
CLEARSCREEN
DATE DATA
SYSDATE DATA
DISPLAY DATA TO SCR1.17
CHARACTER 15 TO COND
ENTERGROUP
TOP:
BLANKFORM SCR1.15 THRU SCR1.16
[KEY.NEXT] BEGIN
FIND_ GT AP100 BY |CI1
DISPLAY AP100.EMPRESA TO SCR1.1
DISPLAY AP100.RAZAO_SOCIAL TO SCR1.2
GOTO TOP
END
[ KEY.PREVIOUS] BEGIN
FIND_ LT AP100 BY |CI1
DISPLAY AP100.EMPRESA TO SCR1.1
DISPLAY AP100.RAZAO_SOCIAL TO SCR1.2
GOTO TOP
END
[ KEY.DOWN] BEGIN
FIND_ GT AP100 BY |CI1
DISPLAY AP100.EMPRESA TO SCR1.1
DISPLAY AP100.RAZAO_SOCIAL TO SCR1.2
GOTO TOP
END
[ KEY.UP] BEGIN
FIND_ LT AP100 BY |CI1
DISPLAY AP100.EMPRESA TO SCR1.1
DISPLAY AP100.RAZAO_SOCIAL TO SCR1.2
GOTO TOP
END
[ KEY.FIND] BEGIN
FIND_ GE AP100 BY |CI1
DISPLAY AP100.EMPRESA TO SCR1.1
DISPLAY AP100.RAZAO_SOCIAL TO SCR1.2
GOTO TOP
END
[ KEY.SFIND] BEGIN
FIND_ GE AP100 BY |CI1
DISPLAY AP100.EMPRESA TO SCR1.1
DISPLAY AP100.RAZAO_SOCIAL TO SCR1.2
GOTO TOP
END
[ FINDERR] BEGIN
GOTOXY 24 05
PAUSE ' Empresa NÃO cadastrada - Press ENTER '
CLEARXY 24 00
GOTO TOP
END
MOVE 0 TO SCR1.3
REPRES.1:
ENTRY CR003.REPRESENTANTE SCR1.4 {AUTOFIND,FINDREQ,NOPUT}
[ KEY.SFIND] BEGIN
FIND_ GE AP100 BY |CI1
DISPLAY CR003.EMPRESA TO SCR1.4
DISPLAY CR003.NOME TO SCR1.5
DISPLAY CR003.ENDERECO TO SCR1.6
DISPLAY CR003.CIDADE TO SCR1.7
DISPLAY CR003.ESTADO TO SCR1.8
GOTO REPRES.1
END
WRITE COND
[ ~ FIRST_TIME] BEGIN
OUTPUT BLANK
OUTPUT BLANK
OUTPUT BLANK
OUTPUT BLANK
INCREMENT CODE
END
INDICATE FIRST_TIME FALSE
KEYPROC KEY.DELETE
ENTAGAIN
!A [] $43 |CI0
KEYPROC KEY.UP
KEYPROC KEY.FIELD
KEYPROC ON
BACKFIELD
!A [] $43 |CI0
KEYPROC KEY.CLEAR
KEYPROC ON
CLEARFORM SCR1.1 THRU SCR1.13
CLEAR AP100 CR003
SCREENMODE 7 ON
GOTO TOP
!A [] $43 |CI0
KEYPROC KEY.USER
KEYPROC ON
GOTOXY 24 0
SHOW 'Abortando programa ... '
ABORT
RETURN
OUT:
KEYPROC KEY.ESCAPE
!A [] $146 |CI24 |CI00
STOP
ABORT
!A [] $43 |CI0
/*
STRING XV 15 XE 60 XT 60
OPEN SLANGS
WHILE [FOUND]
FIND_ GT SLANGS BY |CI1
[ FINDERR] ABORT
KEYCHECK ABORT
TRIM SLANGS.VERBO TO XV
TRIM SLANGS.EXPRECAO TO XE
TRIM SLANGS.TRADUCAO TO XT
MOVE XV TO SLANGS.VERBO
MOVE XE TO SLANGS.EXPRECAO
MOVE XT TO SLANGS.TRADUCAO
SAVERECORD SLANGS
END
ABORT
-----------------------------------------------------------
/*
// Para eliminar "espacos em branco"
// no(s) campo(s). CLIENTES
STRING XE 45
OPEN CLIENTES
REPEAT
FIND_ GT CLIENTES BY |CI1
[ FINDERR] ABORT
KEYCHECK ABORT
SHOW '>'
TRIM CLIENTES.ENDER TO XE
MOVE XE TO CLIENTES.ENDER
SAVERECORD CLIENTES
UNTIL [FINDERR]
ABORT
/TELAA
╔═══════════════════════════════════════════════════════════════════════╗
║ EMPRESA _____________________________ PRA ║
║───────────────────────────────────────────────────────────────────────║
/TELA
│ │
│ CADASTRO DE EMPRESAS │
│ ════════════════════ │
│ │
│ │
│ │
│ Nome......: <______________________________> │
│ Endereco..: ______________________________ │
│ Cidade....: ____________________ Estado: __ │
│ C.G.C.....: __________________ Inscr.: _______________ │
│ │
│ Data de Encerramento.....: __/__/__ │
│ Ultima Pagina do Registro: __. │
│ Data Atualizacao Custos..: __/__/__ │
│ │
║───────────────────────────────────────────────────────────────────────║
║ [ESC] Retorna Menu [F6] Exclui Regs. [F9] Limpa Data: __/__/__ ║
╚═══════════════════════════════════════════════════════════════════════╝
/HELP1
║ ____________________
║
║
║ESC > Quando pressionar esta tecla voce ira retornar ao MENU ANTERIOR.
║
║ O programa solicitara confirmacao.
║
║
║F5 > Esta tecla de funcao ira INSERIR uma linha no pe/fundo do video para
║
║ fazer calculos, assim voce nao precisa de uma calculadora ao seu lado.║
║ (Esta linha e' a CALCULADORA DO DATAFLEX).
║
║ O resultado do calculo podera ser inserido/incluido no campo onde o
║
║ cursor for posicionado.
║
║F6 > Esta tecla de funcao ira APAGAR/ELIMINAR o registro que estiver na me-
║
║ moria. Antes de apagar um registro sempre sera solicitado confirmacao.║
║
║
║F9 > Esta tecla de funcao ira LIMPAR OS CAMPOS da tela. Se voce comecou a
║
║ digitar um registro e este estava errado, tecle F9 para limpar o campo║
║ e reiniciar a digitacao. ║
║
║ Tecle ENTER
║
╙───────────────────────────────────────────────────────────────────────────╜
/TELA_MENSAGEM
________________________________________ _
/*
PAGE TELAA AT 01 01
SCREENMODE 112 ON
CENTER 'Sistema de Materiais/Custos' TO TELAA.1
SCREENMODE 112 OFF
DATE DIA HH MM SS
SYSDATE DIA HH MM SS
MOVE DIA TO TELA.10
AUTOPAGE TELA
NAME XNOM
NAME XEND
NAME XEST XCID
NAME XCGC XINSCR
NAME XDTA_ENC
NAME XULT_PAG
NAME XDTA_CUST
AUTOPAGE TELA_MENSAGEM
NAME XMENSAGEM
NAME XCONFIRMA
FORMAT XCONFIRMA {AUTORETURN,CAPSLOCK,CHECK="SN"}
OPEN SMCP016
ENTER SMCP016
AUTOPAGE TELA 1
CGC:
ENTRY SMCP016.CGCEMP XCGC
CGC_CHECK XCGC
[ ERR] BEGIN
ERROR 999 ' C.G.C INVALIDO ... '
GOTO CGC
END
PULA_INSERTS:
ENTRY SMCP016.INSEMP XINSCR
ENTRY SMCP016.DATENC XDTA_ENC {RANGE=01/01/91,31/12/99}
ENTRY SMCP016.PAGREG XULT_PAG
ENTRY SMCP016.DTATUL XDTA_CUST {RANGE=01/01/91,31/12/99}
KEYPROC KEY.ESCAPE
KEYPROC ON
DISPLAY "Deseja retornar ao MENU ?" TO XMENSAGEM
DISPLAY "S" TO XCONFIRMA
ACCEPT XCONFIRMA
IF XCONFIRMA EQ "S"
CLEARSCREEN
CHAIN 'SMCM001'
ELSE
CLEARXY 24 00
GOTO ENTRYSEC
RETURN
KEYPROC KEY.UP
KEYPROC KEY.FIELD
BACKFIELD
RETURN
/TELA
---------------------------------------------------------------
Nr. do arq. : [__.]
Nome Base : [________________________________________]
Nome p/ usuario : [________________________________________]
Nome p/ Dataflex : [________]
---------------------------------------------------------------
Codigo.......: <_____.>
Cliente......: ____________________
Endereco.....: ____________________
Cep..........: _____.
Salario......: ________.__
---------------------------------------------------------------
SCREENMODE 112 ON
MOVE FILENUMBER TO TELA.1
FILELIST FILENUMBER TO TELA.3 TELA.4
FILELIST PATHNAME TO TELA.2
SCREENMODE 7 ON
GOTOXY 24 00
PAUSE 'Tecle ENTER para gravar o registro '
CLEARXY 24 00
RETURN
ENTEREND
ABORT
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 304
KEYPROC KEY.ESCAPE
CLEARSCREEN
DIRECTORY 'C:\TESTES\NOVOCLI.FRM'
GOTOXY 24 00
PAUSE 'Tecle ENTER para RENOMEAR o arquivo acima '
CLEARSCREEN
DIRECTORY 'C:\TESTES\PROG01.TXT'
GOTOXY 24 00
PAUSE ' Tecle ENTER '
ERASEFILE 'NOVOCLI.FRM'
CLEARSCREEN
DIRECTORY 'C:\TESTES\PROGR01.TXT'
GOTOXY 24 00
PAUSE ' Arquivo ja foi eliminado '
CLEARSCREEN
GOTOXY 10 10
SHOWLN 'Total de Salarios no arq. : ' XSALARIO
GOTOXY 12 10
SHOWLN 'Total de regs. no arq. : ' XREGS
GOTOXY 14 10
SHOWLN 'Total de regs no arq. : ' XTAMANHO
GOTOXY 24 00
ABORT
RETURN
/*
STRING XNOME 20
STRING XSOBRENOME 12
INTEGER XCEP
STRING XCIDADE 20
STRING XESTADO 2
MOVE 0 TO WINDOWINDEX
DIRECT_INPUT 'C:\FACIL6\CADASTRO.TXT'
OUTFILE 'TEXTO.DAT'
REPEAT
TOP:
READ XNOME
READ XSOBRENOME
READ XCEP
READ XCIDADE
READ XESTADO
READLN
WRITELN XNOME ' ,' XSOBRENOME ' ,' XCEP ' ,' XCIDADE ' ,' XESTADO
KEYCHECK
[ KEYPRESS] ABORT
UNTIL [ SEQEOF]
CLEARSCREEN
RUNPROGRAM 'TYPE TEXTO.DAT'
ABORT
═════════════════════════════════════════════════════════════════════
/*
OPEN CLIENTES
FOR FIELDINDEX FROM 1 TO 7
FIND GT CLIENTES BY INDEX.1
KEYCHECK
[ KEYPRESS] ABORT
[ KEY.ESCAPE] ABORT
GOTOXY 05 10
SHOWLN CLIENTES.CODIGO
GOTOXY 06 10
SHOWLN CLIENTES.R_SOCIAL
GOTOXY 07 10
SHOWLN CLIENTES.END
GOTOXY 08 10
SHOWLN CLIENTES.BAIRRO
GOTOXY 09 10
SHOWLN CLIENTES.CIDADE
GOTOXY 10 10
SHOWLN CLIENTES.UF
GOTOXY 20 10
SHOWLN CLIENTES.CEP
GOTOXY 20 10
PAUSE 'Tecle ENTER p/ ver + regs ...'
LOOP
/T1
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ █ PRINCIPAL █ █
║ └─────────────────┘ ║
║ ║
║ ________ ________ __________ _____ ________║
║ ║
║ Movimente o cursor p/ direita ou esquerda e tecle ENTER ║
█ Tecle ESC p/ sair ou para retornar ao programa anterior █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
/COPIA
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
│ BACK UP │
│ A cópia de segurança dos seus dados DEVE ser feita │
│ todos os dias. LEMBRE-SE isto e muito sério! │
│ │
│ Insira o disco de BACK UP no drive A: e tecle ENTER │
│ │
│ _________________________________________________ │
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
/RESTAURA
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
▌ RESTAURA ▐
▌ O processo de restauração é copiar TODOS os dados ▐
▌ do disco de volta para o winchester. ▐
▌ ▐
▌ Insira o disco de BACK UP no drive A: e tecle ENTER ▐
▌ ▐
▌ ________________________________________ ▐
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
/*
MENU_REQUIRED
STRING T 1 CADX 1 CONSX 1
PAGE T1 AT 2 10 COLORS 77 31
START:
SCREENMODE 10 ON
DISPLAY 'Cadastra' TO T1.1
DISPLAY 'Consulta' TO T1.2
DISPLAY 'Relatorios' TO T1.3
DISPLAY 'Copia' TO T1.4
DISPLAY 'Restaura' TO T1.5
GOSUB HIGH_LIGHT
REPEAT
INKEY T
GOSUB LOW_LIGHT
[ KEY.ESCAPE] BEGIN
SYSTEM
ABORT
END
[ KEY.RIGHT] BEGIN
INCREMENT WINDOWINDEX
IF_ WINDOWINDEX GT 4 MOVE 0 TO WINDOWINDEX
END
HIGH_LIGHT:
SCREENMODE 78 ON
DISPLAY T1.1& TO T1.1&
RETURN
LOW_LIGHT:
SCREENMODE 27 ON
DISPLAY T1.1& TO T1.1&
RETURN
KEYPROC KEY.ESCAPE
GOTOXY 24 0
CLEARSCREEN
MOVE 0 TO NEXT_MENU
GOTOXY 10 16
SCREENMODE 78 ON
PAUSE ' Voce ja fez a COPIA de seguranca? Nao ESQUECA ! ' WAIT
25000
CLEARSCREEN
SYSTEM
ABORT
RETURN
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 309
Programa MENU mostrando que o acesso pode ser viar SETINHA DIRECIONADORAS
ou selecionado a LETRA da opção desejada.
/T1
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▀▀▀▀▀▀▀▀▀▀▀▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ █ RELATORIOS █ █
║ └────────────┘ ║
║ ______________ _____________ ______________ ║
║ ______________ _____________ ______________ ║
║ ______________ _____________ ______________ ║
║ ______________ _____________ ______________ ║
║ ______________ <- -> ║
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
/SENHA
Informe sua senha: [___.]
/*
MENU_REQUIRED
STRING T 1
PAGE T1 AT 2 10 COLORS 77 31
START:
SCREENMODE 14 ON
DISPLAY 'A Devedores' TO T1.1
DISPLAY 'B Intimacao' TO T1.2
DISPLAY 'C Instrumento' TO T1.3
GOSUB HIGH_LIGHT
REPEAT
REPEAT
INKEY T
UPPERCASE T
INDICATE OPCAO AS T IN ' ABCDEFGHIJKLM '
INDICATE SETAS GROUP ANY [ KEY.RIGHT KEY.LEFT KEY.RETURN]
INDICATE OK GROUP ANY [ OPCAO SETAS]
UNTIL [ OK]
[ OPCAO] BEGIN
POS T IN ' ABCDEFGHIJKLM ' TO WINDOWINDEX
DECREMENT WINDOWINDEX
END
GOSUB LOW_LIGHT
[ SETAS] BEGIN
[ KEY.RIGHT] BEGIN
INCREMENT WINDOWINDEX
IF_ WINDOWINDEX GT 12 MOVE 0 TO WINDOWINDEX
END
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 310
[ KEY.LEFT] BEGIN
MOVE (WINDOWINDEX - 1) TO WINDOWINDEX
IF_ WINDOWINDEX LT 0 MOVE 0 TO WINDOWINDEX
END
[ KEY.RETURN] BEGIN
IF_ WINDOWINDEX EQ 0 CHAIN 'NOTA01'
IF_ WINDOWINDEX EQ 1 CHAIN 'NOTA05'
IF_ WINDOWINDEX EQ 2 CHAIN 'NOTA02'
IF_ WINDOWINDEX EQ 3 BEGIN
NOTOK:
PAGE SENHA AT 9 25 COLORS 78 31
SCREENMODE 0 ON
ACCEPT SENHA.1
IF SENHA.1 NE '1012' BEGIN
GOTOXY 24 0
SCREENMODE 78 ON
PAUSE ' Senha Incorreta ! - Tecle ENTER '
SCREENMODE 31 ON
CLEARXY 24 0
CLEARFORM SENHA.1
GOTO NOTOK
END
CHAIN 'NOTA09'
END
IF_ WINDOWINDEX EQ 4 BEGIN
OK1:
PAGE SENHA AT 9 25 COLORS 78 31
SCREENMODE 0 ON
ACCEPT SENHA.1
IF SENHA.1 NE '1012' BEGIN
GOTOXY 24 0
SCREENMODE 78 ON
PAUSE ' Senha Incorreta ! - Tecle ENTER '
SCREENMODE 31 ON
CLEARXY 24 0
CLEARFORM SENHA.1
GOTO OK1
END
CHAIN 'NOTA099'
END
IF_ WINDOWINDEX EQ 5 CHAIN 'NOTA03'
IF_ WINDOWINDEX EQ 6 CHAIN 'NOTA033'
IF_ WINDOWINDEX EQ 7 CHAIN 'NOTA04'
IF_ WINDOWINDEX EQ 8 CHAIN 'NOTA044'
IF_ WINDOWINDEX EQ 9 CHAIN 'NOTA08'
IF_ WINDOWINDEX EQ 10 CHAIN 'NOTA088'
IF_ WINDOWINDEX EQ 11 CHAIN 'NOTA07'
IF_ WINDOWINDEX EQ 12 CHAIN 'NOTA077'
END
END
MOVE 0 TO CURRENT_IMAGE
PAGE T1 AT 2 10 COLORS 77 31
GOTO START
GOSUB HIGH_LIGHT
LOOP
LOW_LIGHT:
SCREENMODE 87 ON
DISPLAY T1.1& TO T1.1&
RETURN
KEYPROC KEY.ESCAPE
CHAIN 'MEN01'
RETURN
===========================================================================
/T1
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌CADASTROS▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
║ ________ _____ _____ _____ _____________ ______ ║
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
/*
MENU_REQUIRED
PAGE T1 AT 2 13 COLORS 77 31
STRING T 1
START:
SCREENMODE 10 ON
DISPLAY 'Clientes' TO T1.1
DISPLAY 'Notas' TO T1.2
DISPLAY 'Valor' TO T1.3
DISPLAY 'caiXa' TO T1.4
DISPLAY 'Pagar/Receber' TO T1.5
DISPLAY 'Bancos' TO T1.6
GOSUB HIGH_LIGHT
LOOP
HIGH_LIGHT:
SCREENMODE 78 ON
DISPLAY T1.1& TO T1.1&
RETURN
LOW_LIGHT:
SCREENMODE 27 ON
DISPLAY T1.1& TO T1.1&
RETURN
KEYPROC KEY.ESCAPE
CHAIN 'TELA1'
RETURN
/NOTAS
**************************************************************************
<<< ORCAMENTO >>>
**************************************************************************
===== ===========
____. ____,___.__
*************************************************************************
*************************************************************************
/// ENTREGA DO(S) PEDIDO(S) SOMENTE MEDIANTE PAGAMENTO \\\
/*
MENU_REQUIRED
STRING X 1
SCREENMODE 78 ON
MOVE ' ORCAMENTO ' TO TELA.1
SCREENMODE 31 ON
OPEN NOTAX
OPEN CLIENTES
CLEAR NOTAX
MOVE 999999 TO NOTAX.COD_ORCAM
FIND LT NOTAX BY INDEX.1
[ FOUND] DISPLAY NOTAX.COD_ORCAM TO TELA.2
CLEAR NOTAX
MOVE TELA.2 TO NOTAX.COD_ORCAM
FIND EQ NOTAX BY INDEX.1
TOTAL:
CALC (TELA.11 + TELA.16 + TELA.21 + TELA.26 + TELA.31 + TELA.36 + ;
TELA.41 + TELA.46 + TELA.51 + TELA.56) TO TELA.61
ENTRY NOTAX.CAMPO_60 TELA.61
GOTOXY 24 0
SCREENMODE 78 ON
PAUSE ' Imprimir NOTA agora (S/N) ? ' WAIT X
SCREENMODE 31 ON
IF_ X IN 'Ss' GOTO NT
IF_ X IN 'Nn' GOTO VOLTA
CLEARXY 24 0
VOLTA:
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 317
CLEARXY 24 0
RETURN
ENTER.SAVE:
CALC (CLIENTES.CONTROLE + 1) TO CLIENTES.CONTROLE
RETURN
ENTER.EDIT:
CALC (CLIENTES.CONTROLE - 1) TO CLIENTES.CONTROLE
RETURN
ENTEREND
ABORT
NT:
PRINT TELA.2 TO NOTAS.1
PRINT TELA.3 TO NOTAS.2
PRINT TELA.4 TO NOTAS.3
PRINT TELA.5 TO NOTAS.4
PRINT TELA.6 TO NOTAS.5
PRINT TELA.7 TO NOTAS.6
PRINT TELA.8 TO NOTAS.7
PRINT TELA.9 TO NOTAS.8
PRINT TELA.10 TO NOTAS.9
PRINT TELA.11 TO NOTAS.10
PRINT TELA.12 TO NOTAS.11
PRINT TELA.13 TO NOTAS.12
PRINT TELA.14 TO NOTAS.13
PRINT TELA.15 TO NOTAS.14
PRINT TELA.16 TO NOTAS.15
PRINT TELA.17 TO NOTAS.16
PRINT TELA.18 TO NOTAS.17
PRINT TELA.19 TO NOTAS.18
PRINT TELA.20 TO NOTAS.19
PRINT TELA.21 TO NOTAS.20
PRINT TELA.22 TO NOTAS.21
PRINT TELA.23 TO NOTAS.22
PRINT TELA.24 TO NOTAS.23
PRINT TELA.25 TO NOTAS.24
PRINT TELA.26 TO NOTAS.25
PRINT TELA.27 TO NOTAS.26
PRINT TELA.28 TO NOTAS.27
PRINT TELA.29 TO NOTAS.28
PRINT TELA.30 TO NOTAS.29
PRINT TELA.31 TO NOTAS.30
PRINT TELA.32 TO NOTAS.31
PRINT TELA.33 TO NOTAS.32
PRINT TELA.34 TO NOTAS.33
PRINT TELA.35 TO NOTAS.34
PRINT TELA.36 TO NOTAS.35
PRINT TELA.37 TO NOTAS.36
PRINT TELA.38 TO NOTAS.37
PRINT TELA.39 TO NOTAS.38
PRINT TELA.40 TO NOTAS.39
PRINT TELA.41 TO NOTAS.40
PRINT TELA.42 TO NOTAS.41
PRINT TELA.43 TO NOTAS.42
PRINT TELA.44 TO NOTAS.43
PRINT TELA.45 TO NOTAS.44
PRINT TELA.46 TO NOTAS.45
PRINT TELA.47 TO NOTAS.46
PRINT TELA.48 TO NOTAS.47
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 318
PRINT TELA.49 TO NOTAS.48
PRINT TELA.50 TO NOTAS.49
PRINT TELA.51 TO NOTAS.50
PRINT TELA.52 TO NOTAS.51
PRINT TELA.53 TO NOTAS.52
PRINT TELA.54 TO NOTAS.53
PRINT TELA.55 TO NOTAS.54
PRINT TELA.56 TO NOTAS.55
PRINT TELA.57 TO NOTAS.56
PRINT TELA.58 TO NOTAS.57
PRINT TELA.59 TO NOTAS.58
PRINT TELA.60 TO NOTAS.59
PRINT TELA.61 TO NOTAS.60 // QTDE PECAS
PRINT TELA.62 TO NOTAS.63
PRINT TELA.63 TO NOTAS.61
SYSDATE NOTAS.62
OUTPUT NOTAS
FORMFEED
SCREENMODE 31 ON
GOTO VOLTA
KEYPROC KEY.HELP
PAGE HELP AT 06 19 COLORS 31 78
INKEY PAGEEND
ENTAGAIN
RETURN
KEYPROC KEY.ESCAPE
CHAIN 'TELA2'
RETURN
/*
STRING C 18 C1 2 C2 3 C3 3 C4 4 C5 2
STRING CGC 14
MOVE '83.127.345/0001-20' TO C
LEFT C TO C1 2
MID C TO C2 3 4 // nr 3 é o nr de letras p/ extrair, 4 é posiç╞o inicial.
MID C TO C3 3 8
MID C TO C4 4 12
RIGHT C TO C5 2
MOVE '' TO CGC
APPEND CGC C1 C2 C3 C4 C5
GOTOXY 10 10
SHOW ' CGC : ' C1
GOTOXY 11 10
SHOW ' CGC : ' C2
GOTOXY 12 10
SHOW ' CGC : ' C3
GOTOXY 13 10
SHOW ' CGC : ' C4
GOTOXY 14 10
SHOW ' CGC : ' C5
GOTOXY 16 10
SHOW ' CGC COMPLETO SEM ( . . / - ) => ' CGC
#INCLUDE CM.MCR
PAGE TELAA AT 01 01
SCREENMODE 112 ON
CENTER 'Sistema de Materiais/Custos' TO TELAA.1
SCREENMODE 112 OFF
DATE DIA HH MM SS
SYSDATE DIA HH MM SS
MOVE DIA TO TELA.10
AUTOPAGE TELA
NAME XNOM
NAME XEND
NAME XCID XEST
NAME XCGC XINSCR
NAME XDTA_ENC
NAME XULT_PAG
NAME XDTA_CUST
AUTOPAGE TELA_MENSAGEM
NAME XMENSAGEM
NAME XCONFIRMA
FORMAT XCONFIRMA {AUTORETURN,CAPSLOCK,CHECK="SN"}
OPEN SMCP016
ENTER SMCP016
AUTOPAGE TELA 1
CGC:
ENTRY SMCP016.CGCEMP XCGC
CGC_CHECK XCGC
[ ERR] BEGIN
ERROR 999 ' C.G.C INVALIDO ... '
GOTO CGC
END
Dataflex 2.3b ( for Ms-Dos ) - by Jurandir A. Pellin 321
MID XCGC TO XPONTO 1 3
IF XPONTO EQ '.' GOTO PULA_INSERTS
PULA_INSERTS:
ENTRY SMCP016.INSEMP XINSCR
ENTRY SMCP016.DATENC XDTA_ENC {RANGE=01/01/91,31/12/99}
ENTRY SMCP016.PAGREG XULT_PAG
ENTRY SMCP016.DTATUL XDTA_CUST {RANGE=01/01/91,31/12/99}
IF XCONFIRMA EQ "S"
CLEARXY 24 00
GOTO ENTER$.DELETE
ELSE
CLEARXY 24 00
GOTO ENTRYSEC
RETURN
//------ESC------------------------------------------------------------------
KEYPROC KEY.ESCAPE
KEYPROC ON
DISPLAY "Deseja retornar ao MENU ?" TO XMENSAGEM
DISPLAY "S" TO XCONFIRMA
ACCEPT XCONFIRMA
IF XCONFIRMA EQ "S"
CLEARSCREEN
CHAIN 'SMCM001'
ELSE
CLEARXY 24 00
GOTO ENTRYSEC
RETURN
/TELA
┌────▌________▐────────────────────────────────────────────┐
█ █
█ Cod. Banco:<___.> █
█ Nome Banco: _c______________________________________ █
█ Agencia: _c_____________ Conta: _c_______________ █
█ Cidade: _c_______________________ Fone: ____________ █
█ █
└──────────────────────────────────────────────────────────┘
ESC-Sai F2-Volta F3-Procura F6-Apaga F10-Grava
/*
MENU_REQUIRED
SCREENMODE 78 ON
MOVE ' BANCOS ' TO TELA.1
SCREENMODE 31 ON
OPEN BANCOS
ENTER BANCOS
AUTOPAGE TELA 2
CLEAR BANCOS
MOVE TELA.2 TO BANCOS.COD_BANCO
FIND EQ BANCOS BY INDEX.1
IF TELA.2 EQ 0 BEGIN
GOTOXY 24 0
SCREENMODE 78 ON
SHOW ' Zero NAO e codigo - Tecle ENTER '
INKEY PAGEEND
SCREENMODE 31 ON
CLEARXY 24 0
GOTO ENT$LP
END
KEYPROC KEY.ESCAPE
CHAIN 'TELA2'
RETURN