Você está na página 1de 219

SUVAklO

INTERPRETADOR XBASE ....................................................................................... 5


Necessidades de Software ........................................................................................... 6
Necessidades de Hardware .......................................................................................... 6
PROGRAMAO ................................................................................................... 7
Estrutura Bsica de Programas .......................................................................................... 7
Operadores ................................................................................................................... 8
Funes e Procedures .................................................................................................. 8
Estruturas de Controle................................................................................................... 9
Variveis ........................................................................................................................ 9
Tipos de Dados ............................................................................................................. 9
Macros ........................................................................................................................ 10
Arrays .......................................................................................................................... 10
Blocos de Cdigo ........................................................................................................ 10
Compilao pelo RDMAKE ......................................................................................... 11
Configurao no Menu ..................................................................................................... 12
DIFERENAS ENTRE RDMAKE DOS E WINDOWS .................................................... 13
Principais Diferenas ........................................................................................................ 13
Um novo modo de programar a interface ......................................................................... 14
Criando programas nicos ................................................................................................ 18
O que muda em relao a impresso............................................................................... 27
FUNES PARA O INTERPRETADOR XBASE .............................................................. 29
AbreExcl ...................................................................................................................... 30
Activate Dialog ............................................................................................................ 31
Aleatorio ...................................................................................................................... 32
Avalimp ....................................................................................................................... 33
Aviso............................................................................................................................ 35
AxCadastro ................................................................................................................. 36
@ n1,n2 BmpButton .................................................................................................... 37
@... Bitmap... Size ...................................................................................................... 38
@...To...Browse........................................................................................................... 39
@...Button ................................................................................................................... 40
Cabec .......................................................................................................................... 41
CalcEst ........................................................................................................................ 43
CalcSaldo .................................................................................................................... 44
Capital ......................................................................................................................... 45
CGC ............................................................................................................................ 46
@...CheckBox...Var ..................................................................................................... 47
ChkFile ........................................................................................................................ 48
Close ........................................................................................................................... 50
CloseOpen .................................................................................................................. 51
ClosesFile.................................................................................................................... 52
@...ComboBox...Itens...Size ....................................................................................... 53
Comp3 ........................................................................................................................ 54
Condicao ..................................................................................................................... 55
ConfirmSX8................................................................................................................. 56
Contar ......................................................................................................................... 57
ConvMoeda ................................................................................................................. 58
Credito......................................................................................................................... 59
CriaTrab ...................................................................................................................... 60
CriaVar ........................................................................................................................ 62
DataValida ................................................................................................................... 63
Debito .......................................................................................................................... 64
DeComp3 .................................................................................................................... 65
@...To...Dialog............................................................................................................. 66
Digito11 ....................................................................................................................... 67
DrawAdv3D................................................................................................................. 68
DrawAdvWindow......................................................................................................... 69
EANDigito ................................................................................................................... 70
Entre............................................................................................................................ 71
Estrut ........................................................................................................................... 72
Execute ....................................................................................................................... 74
ExistChav .................................................................................................................... 75
ExistCpo ...................................................................................................................... 77
ExistIni ......................................................................................................................... 79
Extenso ....................................................................................................................... 80
FinNatOrc .................................................................................................................... 81
FinNatPrv .................................................................................................................... 82
FinNatRea ................................................................................................................... 83
Formula ....................................................................................................................... 84
FuncaMoeda ............................................................................................................... 86
@... GET ..................................................................................................................... 87
GetAdvFval ................................................................................................................. 88
GetMV ......................................................................................................................... 90
GetSX8Num................................................................................................................ 91
GravaOrcado............................................................................................................... 93
Help ............................................................................................................................. 94
ImpCadast ................................................................................................................... 95
IncRegua ..................................................................................................................... 96
IncProc ........................................................................................................................ 97
IndRegua ..................................................................................................................... 98
LetterOrNum ............................................................................................................... 99
MarkBrowse .............................................................................................................. 100
MBrowse ................................................................................................................... 101
Media ........................................................................................................................ 102
MesExtenso............................................................................................................... 103
Modelo2 .................................................................................................................... 104
Modelo3 .................................................................................................................... 108
MontaF3 ..................................................................................................................... 111
MovimCC .................................................................................................................. 112
Movimento................................................................................................................. 113
MsGetVersion ............................................................................................................ 114
MsgBox ..................................................................................................................... 115
@..To...MultiLine........................................................................................................ 116
NaoVazio ................................................................................................................... 117
Negativo .................................................................................................................... 118
Orcado ...................................................................................................................... 119
OrcadoCC ................................................................................................................. 120
OpenFile .................................................................................................................... 121
OurSpool ................................................................................................................... 122
Pergunte.................................................................................................................... 123
Periodo ...................................................................................................................... 124
Pertence .................................................................................................................... 125
PesqPict .................................................................................................................... 126
PesqPictQt ................................................................................................................ 127
Posicione ................................................................................................................... 128
Positivo ...................................................................................................................... 129
ProcRegua ................................................................................................................ 130
ProxReg .................................................................................................................... 131
@...Radio .................................................................................................................. 133
RecLock .................................................................................................................... 134
RecMoeda................................................................................................................. 136
RestArea ................................................................................................................... 137
RetASC ..................................................................................................................... 138
RetIndex .................................................................................................................... 139
RollBackSX8 ............................................................................................................. 140
RptStatus .................................................................................................................. 141
Saldo ......................................................................................................................... 142
SaldoCC.................................................................................................................... 143
SaldoCusto................................................................................................................ 144
SaldoSB2 .................................................................................................................. 145
SetDefault ................................................................................................................. 146
SetDlg ....................................................................................................................... 148
SetPrint ..................................................................................................................... 149
SetRegua .................................................................................................................. 151
SldBco....................................................................................................................... 152
SldCliente .................................................................................................................. 153
SldFornece ................................................................................................................ 154
SldPagar ................................................................................................................... 155
SldReceber ............................................................................................................... 156
SomaContas ............................................................................................................. 157
SomaMovim .............................................................................................................. 158
Somar ....................................................................................................................... 159
SomaSaldo ............................................................................................................... 160
SumMovimCC........................................................................................................... 161
Tabela........................................................................................................................ 162
TamSX3 .................................................................................................................... 163
Texto.......................................................................................................................... 164
@ ...TO ..................................................................................................................... 165
TM ............................................................................................................................. 166
Variao .................................................................................................................... 168
Vazio ......................................................................................................................... 169
X3Picture................................................................................................................... 170
XFilial ......................................................................................................................... 171
XMoeda..................................................................................................................... 172
Funes para impresso de etiquetas
padro ZPL e Allegro...................................................................................................... 173
MSCBPRINTER........................................................................................................ 174
MSCBBEGIN ............................................................................................................ 175
MSCBEND................................................................................................................ 176
MSCBSAY................................................................................................................. 177
MSCBSAYBAR ......................................................................................................... 178
MSCBSAYMEMO ..................................................................................................... 180
MSCBBOX ................................................................................................................ 181
MSCBLineH .............................................................................................................. 182
MSCBLineV .............................................................................................................. 183
MSCBLOADGRF ...................................................................................................... 184
MSCBGRAFIC .......................................................................................................... 185
MSCBWRITE............................................................................................................ 186
Tipos de Fontes para Zebra: ..................................................................................... 187
Tipos de Fontes para Allegro: .................................................................................... 188
RDMAKE EM AMBIENTE SQL............................................................................ 191
EXECUTANDO .................................................................................................. 193
Executando com Debug ................................................................................................. 193
Erros de Compilao ...................................................................................................... 198
Erros e aes a serem tomadas ............................................................................... 198
EXEMPLOS DE PROGRAMA................................................................................. 200
Referncias e Abreviaturas............................................................................................. 219
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 5
lN1LklkL1ADOk X8ASL
O interpretador de rotinas dinmicas tem o objetivo de permitir ao usurio do
SIGA Advanced construir seus prprios programas, agreg-los ao menu dos
mdulos e execut-los de uma forma transparente ao operador. De forma anloga,
as rotinas escritas pelo usurio tambm podem fazer parte, por meio da funo
ExecBlock, do Arquivo de Frmulas, das Planilhas, dos Gatilhos, das Validaes
e Inicializaes no Dicionrio de Dados, dos campos de Dbito e Crdito,
Histrico e Valor, do Arquivo de Lanamentos Padronizados e dos Pontos de
Entrada, enfim, de todos os campos onde o SIGA aceita uma expresso que
interpretada em tempo de execuo.
O usurio ainda tem a possibilidade de utilizar os recursos de programao
adotados pelo SIGA Advanced atravs do uso de um grande nmero de suas
FUNES. O objetivo principal deste manual exatamente o de descrever e
explicar o uso destas 180 Funes.
Um programa ou rotina para ser interpretada pelo SIGA Advanced necessita
cumprir duas fases:
1. Ser compilado pelo RDMAKE, utilitrio da MICROSIGA que gera os
ponteiros de ligao de um programa .PRG, .PRW ou .PRX gerando o
interpretvel ._IX ou ._IW;
2. Ser configurado no menu do mdulo com a # (cerquilha) precedendo o nome
do programa, ou ser chamada via ExecBlock;
A fase de interpretao do programa pelo SIGA Advanced j intrnseca a este
e ser acionada sempre que encontrar um # na primeira posio do nome do
programa no menu.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 6
Necessidades de Software
Para que o Programa seja compilado pelo RDMAKE necessrio que o ambiente
que ir compilar o programa possua o ADVPL16 que encontra-se no CD da verso
4.06 do SIGA Advanced, j que o RDMAKE submete o programa (.PRG, .PRX
ou .PRW) apreciao do ADVPL16 antes de proceder a gerao do interpretvel.
Aps compilado pelo RDMAKE, no mais necessria a presena do ADVPL16
para a interpretao dentro do SIGA Advanced.
Necessidades de Hardware
O RDMAKE necessita de um mnimo de 450Kb de memria convencional para
compilar um programa de 2048 linhas. Programas menores podero ser compila-
dos com uma quantidade de memria menor, at o limite do ADVPL16,
aproximadamente 370Kb. O equipamento mnimo um PC-XT de 640 Kb para
a compilao. Quanto interpretao pelo SIGA Advanced, ficam vlidas as
recomendaes para este produto.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 7
lkOGkAVAO
Estrutura Bsica de Programas
Este manual de utilizao do RDMAKE no tem a pretenso de ensinar cdigo
xBase, to somente pretende mostrar as diferenas entre a programao XBase e
o que aceito pelo Interpretador de Programas do SIGA Advanced.
Por estar extremamente prximo do padro de programao XBase, recomenda-
mos que sejam consultadas literaturas prprias para o caso de aprendizagem da
programao desta linguagem.
A estrutura de um programa escrito para ser interpretado pelo SIGA Advanced
aderem s normas do padro XBase, com as restries que sero mostradas por
tpico. O programa deve ser escrito em um editor de textos da preferncia do
usurio usando a seguinte estrutura bsica:
Corpo do Programa
Chamadas de Funes Internas
Chamadas de Funes Advanced
Comentrios
Declarao de Funes no Programa
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 8
Operadores
So vlidos todos os operadores do padro XBase excetuando-se:
Original Substituir por
++var - soma antes de executar var:=var+1 (antes do processo)
- - var - subtrai antes de executar var:=var-1 (antes do processo)
var++ - soma aps executar var:=var+1
var - - - subtrai aps executar var:=var-1
var+=n - soma n a var var:=var+n
var-=n - subtrai n de var var:=var-n
var*=n - multiplica var por n var:=var*n
var/=n - divide var por n var:=var/n
var%=n - resto de var/n var:=var%n
var**=n - Exponencia var a n var:=var**n
O operador de atribuio de igualdade deve obrigatoriamente ser :=
O operador de comparao deve obrigatoriamente ser == (duplo igual)
Funes e Procedures
As definies de funes para o Interpretador podem seguir as regras do padro
XBase, entretanto para o RDMAKE/Interpretador Procedures ou Funes so to
somente endereos de desvio do programa, razo que justifica as restries a
seguir:
No deve ser definido um nome de procedure ou function para a funo
principal. O interpretador xBase considera o ponto de entrada do programa na
linha 1 do programa de usurio;
Diretivas (#include, #define, etc...) no so aceitas no programa interpretvel;
Chamada de funes no permitem passagem de parmetros. As variveis de
comunicao entre funes devem ser declaradas na funo chamadora;
S podem ser definidas at 255 funes ou Procedures por programa;
A declarao de variveis LOCAL ou PRIVATE gera um erro no compilador;
Chamadas recursivas a funes podem provocar erro de estouro de pilha ou ter
um resultado inesperado, portanto so proibidas.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 9
Estruturas de Controle
FOR...NEXT
DO...WHILE
EXIT e LOOP
IF..ELSEIF..ELSE...END
So estruturas aceitas sem quaisquer restries pelo Interpretador.
Variveis
Todas as variveis do interpretador so PRIVATE e tm o tempo de vida vlido
por todo o programa, a partir de sua declarao.
No so vlidas declaraes de variveis com STATIC, LOCAL, PRIVATE e
PUBLIC. Um erro ser reportado pelo compilador nestes casos.
Tipos de Dados
Todos os tipos de dados do padro XBase so aceitos no Interpretador, sem
restries.
So estes:
Array
Caractere
Bloco de Cdigo
Numrico
Data
Lgico
Memo
NIL
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 10
Macros
So aceitas macros (&) dentro de programas interpretveis, entretanto macros
muito complexas ou inseridas no meio de uma string precisam ser revistas.
b := &a - vlida
b:= var1&var2 - precisa ser substituda por
b:= &(var1+&var2)
&var:=Correta - vlida
Erros em macros s sero detectados em tempo de execuo.
Arrays
O comportamento dos arrays no Interpretador e no padro XBase so semelhantes,
entretanto, na declarao destes arrays, o procedimento difere.
Declaraes de arrays aceitas so:
aArray := {}
aArray := ARRAY(5,2)
Declaraes no aceitas:
DECLARE aArray[5]
PRIVATE aArray[5][2]
Blocos de Cdigo
Blocos de cdigo sero avaliados perfeitamente pelo Interpretador.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 11
Compilao pelo RDMAKE
Para que um programa possa ser interpretado pelo SIGA Advanced, este necessita
ser compilado pelo programa RDMAKE que ir mont-lo em um formato que
permite uma grande velocidade de interpretao e reestrutur-lo de modo que as
interaes e desvios de funes fiquem endereadas dentro deste mesmo progra-
ma. O produto final da compilao ser um arquivo com extenso ._IX (DOS),
._IW (WINDOWS) ou _IX (DOS e WINDOWS), estes arquivos no devem ser
modificados pelo programador.
Os procedimentos de compilao seguem os seguintes passos:
Editar o programa em um editor de textos de preferncia do usurio;
Submeter este programa compilao do RDMAKE pela chamada
RDMAKE <nome do programa> -<diretiva>
O RDMAKE ir gerar:
sem diretiva: o arquivo interpretvel ._IX para verso DOS;
com a diretiva -W: o arquivo interpretvel ._IW para verso Windows;
com a diretiva -X: os arquivos interpretveis ._IX e ._IW para ambas verses.
Os arquivos interpretveis so gerados no diretrio corrente. indicado que o
diretrio corrente seja o mesmo do SIGA Advanced, j que o sistema chama o
arquivo interpretvel a partir deste diretrio.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 12
Configurao no Menu
O programa compilado deve ser includo como uma opo no menu do mdulo
desejado. Isto feito atravs da opo Menu do Mdulo Configurador.
O SIGA Advanced saber que o programa interpretvel atravs do caractere #
colocado antes do nome do programa. Isto limita o nome de programa interpre-
tvel em sete posies.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 13
DllLkLNAS LN1kL kDVAkL
DOS L wlNDOwS
O SIGA Advanced um sistema que possui verses para ambientes caracter, como
o DOS, e ambientes grficos, como o Windows. Muitos clientes ainda utilizam
verses em ambiente DOS, e tem uma grande quantidade de especficos desenvol-
vidos apenas para esse ambiente. A converso de todos estes programas de modo
que fiquem compatveis com as verses do SIGA em ambiente Windows no
realmente uma tarefa difcil. Porm, uma tima idia gastar algum tempo para
criar todos os programas de modo que trabalhem perfeitamente em qualquer um
destes ambientes, economizando assim esforos em uma possvel mudana de
ambiente no futuro.
Veja a seguir algumas das principais dvidas e dicas teis para esta tarefa.
Principais Diferenas
O Windows um ambiente grfico e formado por objetos. Isto significa que todas
as informaes apresentadas na tela do microcomputador so apresentadas atravs
de objetos, ou componentes. Um componente pode ser um boto, uma caixa de
texto para a digitao de dados (o to famoso GET que existia no DOS) e at
mesmo uma janela (tambm chamada de dilogo). Diferentemente do ambiente
DOS, onde pode-se exibir informaes em qualquer lugar da tela e, em qualquer
momento, no ambiente Windows todos os componentes devem pertencer a um
componente denominado Componente Pai. Assim por exemplo, se voc precisa
criar uma janela para que o usurio digite uma certa informao, esta janela
pertencer janela da aplicao, ou seja, janela do SIGA. E da mesma forma,
os botes, os GETs , e outros componentes pertencero ao dilogo criado.
Desta forma, no existe a necessidade de salvar a rea de tela sobre a qual a janela
ser exibida (e posteriormente restaur-la), ou no se precisa indicar que a janela
dever ser exibida at que o usurio pressione a tecla ESC. A janela aparecer no
momento em que for ativada, e com ela todos os seus componentes. E somente
ser removida quando o usurio desejar fech-la ou alguma instruo do cdigo
fizer o mesmo, levando consigo todos os componentes criados.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 14
Percebe-se facilmente que a grande diferena entre o ambiente DOS e o ambiente
Windows a manuteno da interface com o usurio, sendo que o cdigo de
processamento basicamente o mesmo.
Um novo modo de programar a interface
Apesar das diferenas basearem-se na interface, o novo paradigma de ambientes
grficos exerce uma mudana na velha forma de programar. Ento, a lgica
tradicional pode no ser mais a melhor opo na maioria dos programas, em
relao a montagem da interface e no modo como o usurio ir acionar a execuo
dos processos. Por exemplo, imagine o seguinte cdigo:
While .T.
/ / . . . Monta a janela para a interface com o usurio
If LastKey( ) == 27
Exit
Endif
EndDo
/ / . . . Executa o processamento com as informaes recebidas...
Este cdigo demostra
uma estrutura de fluxo
em execuo infinita,
que somente deixar
de executar quando o
usurio pressionar a
tecla ESC.
No ambiente Windows, os dilogos criados permanecem na tela at que o usurio
deseje fech-lo. Portanto, a mesma lgica seria algo como o demonstrado a seguir:
/ / . . . Cria o dilogo, com todos os seus componentes, para interface com o usurio
/ / . . . Ativa o dilogo criado
/ / . . . Executa o processamento com as informaes recebidas...
Neste caso, o processamento das informaes somente seria executado aps o
usurio fechar o dilogo. Uma outra alternativa, que a mais usada, podem ser a
incluso de dois botes, um indicando a confirmao e o outro indicando o
cancelamento. Na verdade, o nico boto que executa alguma coisa realmente
o boto de confirmao, pois o boto de cancelamento somente finaliza o dilogo
e o processamento se encerra normalmente. Veja o exemplo:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 15
/ / . . . Cria o dilogo com os componentes necessrios
/ / . . . Dentre estes componentes existem dois botes:
/ / . . . Boto 1 -> A ao a ser executada ao pressionamento deste boto , por exemplo, a
/ / . . . funo XPTO
/ / . . . Boto 2 -> A ao a ser executada ao pressionamento deste boto simplesmente o
/ / . . . fechamento do dilogo
/ / . . . Ativa o dilogo. O mesmo permanece na tela at o usurio fechar o dilogo, pressio-
/ / . . . nando o pequeno cone do X no alto da janela ou pressionando o boto Cancelar, que
/ / . . . executa o cdigo para o fechamento do dilogo.
/ / . . . Finaliza o programa. Caso o dilogo simplesmente seja fechado, o processamento
/ / . . . seguir nesta linha, e o programa ser finalizado sem que nada seja executado.
/ / *********** Funo XPTO *****************
/ / . . . Declarao da funo XPTO. Esta funo apenas ser executada atravs do
/ / . . . pressionamento do boto Confirmar no dilogo do programa acima.
/ / . . . Executa o processamento com as informaes recebidas.
/ / . . . Finaliza a funo XPTO. Note que ao retornar da funo, o dilogo permanece aberto
/ / . . . e, aos olhos do usurio, o processamento continua. Isso realmente acontece, a no ser
/ / . . .que nesta mesma funo, antes de finalizar, seja executado o cdigo indicando para
/ / . . .fechar o dilogo aberto no programa acima.
Para ilustrar tudo o que foi descrito, nas prximas pginas voc ver exemplos de
um programa que apresenta uma tela de interface com o usurio que indica a
finalidade da rotina e permite-lhe cancelar ou confirmar o processamento. Esto
demonstrados os cdigos para as duas verses separadamente, DOS e WINDOWS,
portanto, se voc desejar test-los crie os programas com a extenso .PRG para a
verso DOS e .PRW para a verso WINDOWS. Mais frente, demonstraremos
como uni-los em um nico arquivo com extenso .PRX, utilizando assim apenas
um programa para as duas verses.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 16
Verso DOS
sTel a : = SaveScr een( 07, 06, 15, 71)
Dr awAdvWi ndow( " At eno! " , 07, 08, 13, 71)
sOl dCor : = Set Col or ( " B/ BG" )
@09, 10 Say " Est e pr ogr ama exi ge que os ar qui vos associ ados a el e est ej am"
@10, 10 Say " emmodo excl usi vo. Cer t i f i que- se de que nenhumout r o usur i o"
@11, 10 Say " est ej a usando o si st ema nest e moment o. "
Set Col or ( sOl dCor )
Whi l e . T.
NResp: =Menuh( {" Ok" , " Cancel a" }, 13, 10, " b/ w, w+/ n, r / w" , " OC" , " " , 1)
I f nResp == 1
Endi f
Exi t
EndDo
Ret ur n
//
//
//
//
Salva o contedo da tela atual na varivel sTela.
//
//
//
//
Desenha uma janela utilizando a funo padro do Microsiga.
//
//
//
//
Apresenta as mensagens ao usurio.
//
//
//
//
Esta a parte do programa que permanece em execuo at a confirmao ou o
cancelamento pelo usurio. Para isso se utiliza da funo da Microsiga chamada MenuH.
//
//
//
//
Executa o processamento necessrio, pois o usurio confirmou.
//
//
//
//
Indica a finalizao do Loop
para finalizar o programa.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 17
Verso Windows
@0, 0 TO 135, 360 DI ALOG oDl g TI TLE " At eno! "
@01, 02 TO 45, 178
@10, 10 Say " Est e pr ogr ama exi ge que os ar qui vos associ ados a el e est ej am"
@20, 10 Say " emmodo excl usi vo. Cer t i f i que- se de que nenhumout r o usu r i o"
@30, 10 Say " est ej a usando o si st ema nest e moment o. "
@50, 120 BMPBUTTON TYPE 1 ACTI ON Execut e( Cont i nua)
@50, 150 BMPBUTTON TYPE 2 ACTI ON Cl ose( oDl g)
ACTI VATE DI ALOG oDl g CENTERED
Ret ur n
//
//
//
//
//
Monta o dilogo para a interface com o usurio utilizando os comandos padronizados da
Microsiga. Obs.: Todos os comandos aqui usados encontram-se demostrados no
programa chamado RDDEMO.PRW que acompanha todos os mdulos do sistema.
//
//
//
//
A partir de agora, todos os objetos indicados pertencero ao dilogo acima. Note que
voc pode declarar todos os tipos de objetos, exceto um novo dilogo.
//
//
//
//
A linha abaixo define um BOX, ou seja, um quadro semelhante ao comando @ TO do
DOS.
//
//
//
//
As linhas abaixo demostram a exibio de mensagens na tela do usurio. O comando
exatamente o mesmo utilizado no ambiente DOS.
//
//
//
//
//
//
//
//
A seguir, as linhas que demostram o uso de botes. Note a clusula ACTION, que indica
que ao ser executada ao pressionamento do boto. O boto do tipo 1 (que o boto
indicador de confirmao) executar a funo CONTINUA e o boto do tipo 2 executar
o encerramento do dilogo. Note que neste momento estamos apenas definindo os
objetos que aparecero no dilogo. Seu pressionamento e, conseqentemente, a execuo
das aes somente sero possiveis no acionamento do dilogo.
//
//
//
//
//
//
//
Aciona o dilogo centralizado na tela. Repare que existe uma varivel, chamada oDlg,
que contm o objeto. Ela apareceu pela primeira vez na declarao do dilogo (mais
acima) e atravs dela que poderemos manusear o objeto (no caso o dilogo). Por
exemplo, necessria a varivel para que a funo CLOSE finalize o dilogo.
//
//
//
//
Aqui finaliza a execuo do programa principal. O processamento somente chegar a
este ponto quando o dilogo for fechado.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 18
Criando programas nicos
Do mesmo modo que os comandos mostrados para a criao de botes no exemplo
para a verso Windows, a criao dos outros componentes muito simples. Muitas
pessoas tm dvidas quanto ao acesso s informaes destes componentes, mas
isto tambm no complicado.
O comando GET na verso Windows idntico ao utilizado na verso DOS, exceto
pelo fato de que a clusula PICTURE no pode ser abreviada e no existe a
necessidade do comando READ para que as variveis sejam editadas. Lembre-se:
todos os componentes pertencem ao dilogo e somente sero exibidos, e editados,
quando o dilogo for acionado.
Durante o processamento, que em nosso exemplo seria dentro da funo CONTI-
NUA, voc pode acessar o contedo das variveis editadas no dilogo, ou as
variveis referentes a qualquer outro componente criado pelos comandos padro-
nizados do interpretador RDMAKE para Windows. Um exemplo completo destes
comandos acompanha o sistema e chama-se RDDEMO.PRW (comentado no final
do manual). um programa que pode ser executado atravs do menu de qualquer
mdulo e utiliza-se de quase todos os comandos para o ambiente Windows.
Com tudo isto compreendido, ainda resta uma dvida que atrapalha muitos
programadores: como criar uma rotina nica, que funcione para ambos os
ambientes? O prximo exemplo demonstra o uso dos GETs, de alguns outros
comandos do ambiente Windows, e como criar o programa de modo que ele possa
ser executado em ambos os ambientes. Para isso, ele se utiliza de diretivas do pr-
compilador.
Diretivas do pr-compilador so comandos que so executados exatamente antes
da execuo da prpria compilao do programa. As diretivas que podem ser
utilizadas no RDMAKE so: DEFINE, IFDEF, IFNDEF e INCLUDE. A diretiva
DEFINE utilizada para definir expresses constantes para o seu programa, a
diretiva INCLUDE permite que voc inclua um arquivo texto com um agrupamen-
to de outras diretivas no seu programa, e as diretivas IFDEF e IFNDEF so
diretivas condicionais.
As diretivas so sempre precedidas do caracter de cdigo ASC 35 (#) e devem ser
sempre escritas com os caracteres em caixa alta (com todas as letras maisculas).
Por exemplo, imagine que voc ir utilizar o valor de (PI) para executar clculos
em seu programa. Ao invs de informar o valor 3,14 em todos os pontos onde ele
ser utilizado, voc pode declarar um DEFINE e utilizar a expresso PI onde
quiser que o clculo seja executado. Algo como no exemplo:
#DEFINE PI 3.14
nPerimetro := 2 * PI * nRaio
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 19
Definir expresses nestes casos muito melhor do que utilizar variveis. Porque
antes da compilao, o pr-compilador analisa todo o programa e substitui a
expresso PI pelo valor 3,14. Somente ento o programa realmente compilado.
Deste modo, no h consumo de recursos durante a execuo do programa e a
legibilidade do cdigo-fonte muito boa. E caso voc deseje manter um arquivo
texto com todas as suas definies e outras diretivas, voc pode cri-lo com
qualquer nome e inclui-lo no programa aonde as diretivas devem ser utilizadas:
// Contedo de DEFINIC.CH
#DEFINE PI 3.14
// Contedo do Programa
#INCLUDE DEFINIC.CH
nPerimetro := 2 * PI * nRaio
O padro para estes arquivos de definies a extenso CH, e o nome do arquivo
deve estar sempre entre aspas duplas quando for includo no seu programa.
Mas a grande vantagem destas diretivas no se encontra somente no fato de se
poder cri-las. Voc tambm pode verificar se elas j foram ou no definidas,
atravs de diretivas condicionais.
Isto muito til quando voc deseja, por exemplo, exibir uma mensagem na tela
indicando um valor qualquer, pois voc ainda est em fase de desenvolvimento
do programa, mas quando for disponibiliz-lo a um usurio, voc no desejar que
o mesmo veja estas mensagens e no ser necessrio remov-las do cdigo.
Suponha que voc crie a mensagem no seu cdigo como o seguinte:
// cdigo normal. . .
#IFDEF LIGAAVISO
Aviso(Debug,O valor da varivel cVar : +cVar,{Ok})
#ENDIF
// continuao do cdigo. . .
Neste exemplo, voc nota que no existe a definio da expresso LIGAAVISO e
muito menos uma incluso de um arquivo de definies. E como a diretiva
condicional IFDEF verifica se a expresso LIGAAVISO est definida, a funo
AVISO no ser executada. Na verdade, o que ocorre o seguinte: Antes de
compilar, o pr-compilador analisa o programa. Ele verifica que a expresso
LIGAAVISO no est definida e, portanto, o cdigo entre o #IFDEF e o #ENDIF
no ser compilado, ou seja, o cdigo desta linha no entrar no arquivo
interpretvel (com a extenso ._IX ou ._IW) e, conseqentemente, no ser
executado. Para fazer com que esta expresso esteja definida, no necessrio
cri-la no cdigo fonte ou em arquivos de incluso. Basta defini-la no momento
da compilao, utilizando a seguinte sintaxe na linha de comando do RDMAKE:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 20
RXMAKE NOMPROG W /DLIGAAVISO
Se na linha de comando voc utilizar: RDMAKE NOMPROG X /
DLIGAAVISO, a definio no funcionar. Porque RDMAKE executa um
arquivo de lote (RDMAKE.BAT) que chama o verdadeiro compilador
RXMAKE.EXE mas no passa o parmetro adicional de definio para o mesmo.
Portanto, voc pode habilitar ou desabilitar as mensagens do seu programa apenas
mudando a maneira da compilao.
Estas explicaes so necessrias para que voc compreenda como o RDMAKE
trata os programas que sero executados em ambas as verses do SIGA. Estes
tipos de programas (que devem utilizar a extenso PRX, como j comentado)
devem verificar a definio da expresso WINDOWS. Quando a mesma existir,
voc saber que se trata de uma seco de programa que ser executada na verso
Windows do SIGA. Caso contrrio, o programa ser executado somente na verso
DOS e no ser necessrio utilizar o parmetro /D da linha de comando.
O que acontece que quando o programa tem a extenso .PRX e voc informa o
parmetro X na linha de comando do RDMAKE, o cdigo-fonte compilado duas
vezes. Uma para o ambiente DOS e outra para o ambiente WINDOWS. E na ltima
compilao, que a compilao para o ambiente WINDOWS, ele mesmo cria a
definio da expresso WINDOWS. Veja o seguinte exemplo:
#IFDEF WINDOWS
// Estas linhas s existiro na verso Windows
#ELSE
// Estas linhas s existiro na verso DOS
#ENDIF
Ento quando o compilador verifica o cdigo-fonte pela primeira vez a expresso
WINDOWS no existe, e qualquer cdigo que esteja entre direticas condicionais
que checam a existncia desta expresso simplesmente no sero compiladas. Na
Segunda vez que o compilador verifica o cdigo-fonte ele prprio definir a
expresso WINDOWS, e ento o cdigo que no ser compilado ser o cdigo da
clusula #ELSE. Utilizando estes conceitos, os programas dos exemplos anteri-
ores poderiam ser unificados da seguinte maneira:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 21
l Ok : = . T.
cDoc : = Space( 6)
cSer i e : = Space( 3)
cMens : = Space( 200)
cI mpDup : = "S"
nI mpDup : = 1
aI mpDup : = {"Si m ", "Nao "}
aSer i es : = {}
aOp : = {Conf i r ma, Redi gi t a, Abandona}
dbSel ect Ar ea( "SX5")
dbSeek( xFi l i al ( "SX5") +"01")
Whi l e ! EOF( ) . And. SX5- >X5_TABELA == "01"
aAdd( aSer i es, Subst r ( Al l Tr i m( SX5- >X5_CHAVE) , 1, 3) )
dbSki p( )
EndDo
//
//
//
//
Declarao das variveis utilizadas pelo programa.
//
//
//
//
Monta um ARRAY com as sries disponveis para o sistema.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 22
Whi l e . T.
@12, 21 Say Space( 29) Col or "B/ W"
@07, 34 Get cDoc Pi ct ur e "@! "
@07, 49 Get cSer i e Pi ct ur e "@! " When Mont aF3( "01") Val i d
Mont aF3( )
@08, 39 Get cMens Pi ct ur e "@! @S27"
@10, 45 Get cI mpDup Pi ct ur e "! " Val i d Per t ence( "SN")
Rea
nResp : = MenuH( aOP, 12, 21, "b/ w, w+/ n, r / w", "CRA", "", 1)
Do Case
Case nResp == 1 / / Conf i r ma
OkPr oc( )
I f l Ok
Exi t
El se
l Ok : = . T.
Loop
Endi f
Case nResp == 2 / / Redi gi t a
Loop
Case nResp == 3 / / Abandona
Exi t
EndCase
EndDo
#ELSE
@212, 148 To 418, 652 Di al og oDados Ti t l e Dados da Not a Fi scal "
@001, 001 To 100, 250
//
//
//
//
//
//
Note o uso da funo OKPROC caso o usurio confirme o processamento. O cdigo da
confirmao poderia ser colocado diretamente dentro do CASE no lugar da chamada da funo
OKPROC, mas como no Windows iremos utilizar um boto, devemos criar uma funo para
executar este processamento.
//
//
//
//
//
//
//
Aqui terminar o bloco do cdigo que ser considerado para o ambiente DOS. Como a seguir
comear o bloco do ambiente WINDOWS (#ELSE), para a primeira compilao ele ser
desconsiderado at aonde encontra-se o #ENDIF. Portanto, para o ambiente DOS o programa
termina aqui. O processamento principal somente ser executado na confirmao pelo usurio (que
acionar a funo OKPROC).
//
//
//
//
//
//
Incio do bloco que ser considerado na segunda etapa da compilao, a compilao para o
ambiente WINDOWS. Os comentrios anteriores so vlidos. Portanto para a segunda etapa da
compilao o programa comecar aqui (exceto quanto a declarao das variveis logo no incio).
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 23
#I FNDEF WI NDOWS
_sTel a : = SaveScr een( 05, 17, 14, 68)
Dr awAdvWi ndow( "Dados da Not a Fi scal ", 05, 19, 12, 68)
@06, 20 TO 11, 67 Col or "B/ BG"
@07, 21 Say "Not a Fi scal : " Col or "B/ BG"
@07, 42 Say "Ser i e: " Col or "B/ BG"
@08, 21 Say "Mensagemda not a: " Col or "B/ BG"
@10, 21 Say "I mpr i mi r as dupl i cat as?" Col or "B/ BG"
//
//
//
//
//
//
//
//
//
//
Agora inicia-se a parte do programa que identifica as diferenas entre os ambientes. Lembre-se que
cada cdigo somente ser compilado em uma das etapas da compilao, dependendo da existncia
ou no da definio WINDOWS.
Na primeira etapa da compilao, que o ambiente DOS, no estar definido a expresso
WINDOWS, ento esta primeira parte do cdigo ser considerada. A parte do #ELSE, mais abaixo,
ser descartada.
//
//
//
//
Salva a rea da tela aonde sero exibidos os dados e monta a tela no padro DOS.
//
//
//
//
//
//
Esta a estrutura de fluxo infinita que geralmente se usa para permitir ao usurio redigitar, por
exemplo, no ambiente DOS. Assim os GETs sero executados at o usurio confirmar ou
abandonar o processamento.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 24
@009, 007 Say OemToAnsi ( "Not a Fi scal : ")
@009, 149 Say OemToAnsi ( "Sr i e")
@024, 006 Say OemToAnsi ( "Mensagemda Not a: ")
@080, 008 Say OemToAnsi ( "I mpr i mi r dupl i cat as?")
@009, 038 Get cDoc Pi ct ur e "@! " Si ze 100, 100
@033, 007 Get cMens Pi ct ur e "@! " Si ze 230, 040 MEMO
@009, 168 ComboBox cSer i e I t ems aSer i es Si ze 50, 50
@080, 060 Radi o aI mpDup Var nI mpDup
@083, 172 BmpBut t on Type 1 Act i on Execut e( OkPr oc)
@083, 210 BmpBut t on Type 2 Act i on Cl ose( oDados)
Act i vat e Di al og oDados Cent er ed
#ENDI F
Ret ur n
//
//
//
//
//
//
//
O uso da funo OEMTOANSI serve para compatibilizar os caracteres ANSI (padro DOS) com o
ambiente Windows, permitindo que alguns caracteres especiais sejam impressos (no caso do
exemplo, o acento de srie). O comando COMBOBOX monta uma lista Drop-Down com as
sries obtidas no incio do programa, e o comando RADIO diponibiliza as duas opes para escolha
no padro do ambiente Windows.
//
//
//
//
//
//
//
Aqui termina o bloco considerado para o ambiente WINDOWS. O dilogo ser mantido na tela at
que o usurio pressione o boto do tipo 2, que fechar o mesmo, ou pressione o boto do tipo 1, que
executar a mesma rotina da confirmao do ambiente DOS. Aps o dilogo ser fechado, o
processamento continuar aps o #ENDIF e o programa ser finalizado.
//
//
//
//
//
//
Aqui termina o programa principal. O processamento retornar para este ponto quando a funo
OKPROC terminar seu processamento ou quando o usurio cancelar. No caso do ambiente DOS,
isto ocorrer quando, por qualquer destes motivos, o loop infinito terminar, e no ambiente
WINDOWS, ocorrer quando o dilogo for fechado.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 25
Figura 1 - Tela do programa de exemplo no ambiente DOS
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 26
Funct i on OkPr oc
I f Empt y( cDoc) . Or . Empt y( cSer i e)
Avi so( " Er r o! " , " Voce deve i nf or mar o numer o de um document o de not a f i scal e
ser i e exi st ent e. " , {" Ok" })
l Ok : = . F.
Ret ur n
Endi f
dbSel ect Ar ea( " SF2" )
dbSet Or der ( 1)
I f ! dbSeek( xFi l i al ( " SF2" ) +cDoc+cSer i e)
Avi so( " Er r o! " , " Nmer o do document o/ Sr i e no encont r ado. " , {" Ok" })
l Ok : = . F.
Ret ur n
Endi f
#I FNDEF WI NDOWS
I f cI mpDup == " S"
/ / Execut a o pr ocessament o par a i mpr essao das dupl i cat as. . .
Endi f
#ELSE
I f nI mpDup == 1
/ / Execut a o pr ocessament o par a i mpr essao das dupl i cat as. . .
Endi f
#ENDI F
//
//
//
//
//
//
Esta a funo OKPROC. a mesma que ser executada em ambas as verses, portanto encontra-
se fora dos blocos da checagem do ambiente (#IFNDEF - #ELSE - #ENDIF), e estar em qualquer
um dos arquivos interpretveis gerados.
//
//
//
//
//
//
//
//
//
//
//
//
A primeira tarefa que a funo executa uma checagem dos dados digitados. Tanto no ambiente
DOS como no ambiente WINDOWS, os valores estaro nas variveis informadas nos GETs. O
ambiente WINDOWS no tem o comando READ, mas as variveis so disponibilizadas para
edio a partir do momento em que o dilogo ativado at o usurio pressionar o boto de
confirmao. Note que at aqui, o dilogo da verso WINDOWS no foi fechado, de modo que
quando a funo detecta inconsistncias e retorna, o processamento retornar para o dilogo aberto,
e o usurio poder reeditar as variveis, cancelar ou confirmar novamente o processamento. No
caso do ambiente DOS, foi criada a varivel lOK que identificar, no programa principal, que o
loop infinito dever continuar, pois o processamento no foi concludo.
//
//
//
//
//
//
Aqui seria executado o processamento com a nota fiscal informada. Para verificar a escolha do
usurio, por imprimir ou no as duplicatas, deve-se tratar os dois ambientes diferentemente. Porque
no caso do ambiente DOS utilizou-se uma varivel em que o usurio digitava Sim ou No e no
ambiente WINDOWS, utilizou-se o comando RADIO que altera uma varivel numrica, contendo
o nmero da opo escolhida.
//
//
//
//
//
//
//
//
Aqui encontra-se o final da funo OKPROC, aonde o processamento j foi concludo. A varivel
lOK, utilizada como Flag pelo cdigo para o ambiente DOS j continha desde o incio o valor
verdadeiro (.T.), portanto no cdigo deste ambiente o processamento ser finalizado (vide o cdigo
do incio do programa, na linha aps a chamada desta funo). Para o cdigo do ambiente
WINDOWS, so nos resta fechar o dilogo. A condio a seguir faz esta verificao e o
processamento retorna para o programa principal.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 27
Figura 2 - Tela do programa de exemplo no ambiente WINDOWS
O que muda em relao a impresso
Quanto a impresso, as mudanas tambm so pequenas mas necessrias. Apesar de no
ambiente Windows existirem Drivers para as impressoras instaladas, o SIGA no se utiliza
deles na maioria das vezes. Quando o usurio escolhe uma impressora qualquer da lista
exibida na interface padro de relatrios (criada pela funo SETPRINT), o sistema
imprime diretamente para a porta definida, mas se o usurio escolher nesta lista Default
do Windows, o sistema ento imprimir atravs do driver do Windows. por esse motivo
que ao imprimir em qualquer impressora que no seja o Default do Windows, o sistema
requer que a impressora esteja local ou que uma porta esteja capturada para a impressora
da rede.
Tudo isto influi na inicializao da impressora. No ambiente DOS, bastava utilizar
os comandos SET PRINTER TO e SET DEVICE TO para preparar a impresso,
mas no ambiente WINDOWS deve-se ainda preparar a porta para a impresso, que
ser desviada da impressora padro do sistema operacional. Como na maioria dos
relatrios, utilizamos as funes padronizadas da MICROSIGA, como a SETPRINT
e a SETDEFAULT; isto transparente para o programador. O sistema se encarrega
dessas preparaes. Mas caso voc no se utilize destas funes, dever inicializar
a porta desejada ou, ento, a impresso no ser possvel. Neste caso, utilize a
funo INITPRINT, como no exemplo:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 28
SET PRINTER TO LPT1
SET DEVICE TO SCREEN
#IFDEF WINDOWS
INITPRINT()
#ENDIF
Note que a funo INITPRINT somente necessria para o cdigo do ambiente
WINDOWS.
Para finalizar o acesso porta, deve-se utilizar a funo MS_FLUSH. Esta funo
realiza uma srie de tarefas e absolutamente necessria ao final do programa,
pois caso no seja utilizada, ocorrero erros na prxima tentativa de impresso.
Tambm utilizada no cdigo para ambiente DOS, portanto no deve estar entre
diretivas condicionais.
O que resta ento a forma como a impresso feita. Programadores tradicionais
do padro xBASE esto acostumados a utilizar o comando SAY para a impresso.
Porm, no ambiente WINDOWS existe um novo comando: PSAY.
No ambiente WINDOWS, o comando SAY sempre direciona a sada para a tela,
independente da ativao do comando SET DEVICE TO. Utiliza-se o comando
PSAY para desviar a sada para a impressora. Isto deve-se ao fato de que neste
ambiente, os dois dispositivos, tela e impressora, so tratados separadamente.
Assim, voc no precisa retornar a sada para a tela, usando SET DEVICE TO
SCREEN, durante uma impresso se desejar exibir informaes ao usurio.
muito comum em programas nicos desenvolvidos para os dois ambientes que
se crie todo o cdigo utilizando PSAY, porm includa a diretiva como no
exemplo a seguir, que ir substituir este comando pelo padro do ambiente DOS
(SAY) durante a pr-compilao para este ambiente.
Tendo estes conceitos em mente, ficar bem mais fcil para o programador
desenvolver programas RDMAKE para o ambiente WINDOWS ou compatibilizar
os programas existentes. Na grande maioria das vezes, o trabalho envolvido na
compatibilizao de programas existentes para o ambiente DOS deve-se lgica
empregada ou a complexidade das telas criadas. E deve-se lembrar que alguns
conceitos so extremamente diferentes entre os dois ambientes. No DOS, as
coordenadas esto em caracteres, nas linhas por colunas, e no WINDOWS, as
mesmas coordenadas se encontram em PIXELS (pontos grficos da tela do
microcomputador). Isto dificultar o posicionamento dos dilogos e componen-
tes, pois as alteraes podem influir pouco ou muito na aparncia final e portanto
o programador deve executar um grande nmero de alteraes e testes no cdigo-
fonte at que o resultado final seja o esperado.
E o mais importante que devemos sempre procurar desenvolver aplicaes que
j estejam preparadas para o ambiente WINDOWS (caso usemos ainda o ambiente
DOS) ou desenvolv-las de modo que uma customizao futura seja facilitada.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 29
lUNLS lAkA O
lN1LklkL1ADOk X8ASL
A seguir so apresentadas as funes SIGA Advanced para uso junto ao RD-
MAKE / Interpretador xBASE. Na linha seguinte ao nome de cada funo
informado onde normalmente ela utilizada, a saber:
Processamento: funes usadas em clculos, acesso a arquivos e tratamentos
em geral;
Impresso: funes usadas exclusivamente na gerao de Relatrios;
Telas: funes usadas na gerao de telas, seja DOS ou Windows;
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 30
khrefxc|
1|po: liocessaaeuto
Fecha o arquivo e reabre exclusivo. Esta funo fecha o arquivo cujo alias est
expresso em <cAlias> e o reabre em modo exclusivo para proceder operaes em
que isto necessrio, como por exemplo, PACK. Entretanto, prefervel utilizar
o depurador do sistema para proceder estas operaes. Se outra estao estiver
usando o arquivo, o retorno ser .F..
Sintaxe
AbreExcl(cAlias)
Parmetros
cAlias Nome do Alias do Arquivo. Deve ter obrigatriamente sua estrutura
definida no SX3.
Exemplo
//
TI AbeExc1|ST2)
Pack
Eh0TI AbeExc1| )
dbCoTop| )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 31
kct|vate 0|a|eg
1|po: 1e|a w|udoWs
Ativa uma janela previamente definida na funo Dialog e executa os GETs,
botes e outros objetos.
Sintaxe
ACTIVATE DIALOG cVar <CENTERED> [On Init cFuncInit] [Valid cFuncValid]
Parmetros
cVar Varivel utilizada na funo Dialog para definio da janela.
cFuncInit Funo executada automaticamente na abertura do dilogo na
tela (Opcional).
cFuncValid Funo executada para validar o fechamento da janela de dilogo.
Deve retornar um valor lgico (.T. ou .F.) (Opcional)
Comentrios
A clusula <CENTERED> opcional, se omitida assume as coordenadas
definidas na criao da janela.
Exemplo
Ver exemplo no programa RDDEMO apresentado no final deste Manual.
Ver tambm
Funo Dialog
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 32
k|eater|e
1|po: liocessaaeuto
Gera um nmero aleatrio de acordo com a semente passada. Esta funo retorna
um nmero aleatrio menor ou igual ao primeiro parmetro informado, usando
como semente o segundo parmetro. recomendado que esta semente seja sempre
o ltimo nmero aleatrio gerado por esta funo.
Sintaxe
Aleatorio(nMax,nSeed)
Parmetros
nMax Nmero mximo para a gerao do nmero aleatrio
nSeed Semente para a gerao do nmero aleatrio
Retorna
nRet Nmero aleatrio retornado
Exemplo
// Exemp1o do uso da fuho A1eafo1o:
hSeed := 0
Io 1 := 1 fo 100
hSeed := A1eafo1o|100,hSeed)
? Sf|1,3)+ humeo a1eafo1o geado: +Sf|hSeed,3)
hexf 1
1hkey|0)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 33
kva||mp
1|po: ke|atoi|os
Configura a impressora atravs dos parmetros. Esta funo usada em relatrios
especficos que no se utilizam da funo Cabec. Imprimindo o retorno desta
funo na impressora, ela se encarregar de configurar a impressora de acordo com
o arquivo de driver escolhido, e com as configuraes escolhidas pelo usurio
definidas no array aReturn.
Sintaxe
AvalImp(nLimit)
Parmetros
nLimit Tamanho do relatrio em colunas. Pode ser 80, 132 ou 220 (respec-
tivamente para relatrios de tamanho P,M e G).
Retorna
cControl String com caracteres de controle, dependente das configuraes
escolhidas pelo usurio e do arquivo de driver especificado.
Exemplo
// Exemp1o de uso da fuho Ava1Tmp:
#TIh0EI WTh00WS
#0EIThE PSAY SAY
#Eh0TI
cCbTxf:=
cCbCohf:=
h0dem:= 0
hA1fa:= 0
hZ:= 0
hM:= 0
cTamahho:= C
cL1m1fe:= 220
cT1fu1o:= PA0C|hofa I1sca1,74)
c0esc1:= PA0C|Esfe pogama 1 em1f1 a hofa I1sca1 de Ehfada/Sa1da,74)
c0esc2:=
c0esc3:= PA0C|da Ieede Thdusf1a1 Lfda.,74)
chafueza:=
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 34
aPefuh:= {Espec1a1, 1,Adm1h1sfao, 1, 2, 2,,1}
chomePog:= hIEE0EP
cPeg:= EhTSAT
hLasfKey:= 0
1Cohf1hua:= .T.
hL1:= 0
Whe1:= hIEE0EP
hTamhf:=72 // Apehas Thfomaf1vo
Peguhfe|cPeg,.I.) // Peguhfa ho SX1
cSf1hg:=SI2"
Whe1:= SefP1hf|cSf1hg,Whe1,cPeg,cT1fu1o,c0esc1,c0esc2,c0esc3,.T.)
Sef0efau1f|aPefuh,cSf1hg)
Tf hLasfKey == 27
Pefuh
Ehd1f
#TI0EI WTh00WS
PpfSfafus|{|| Execufe|Pe1afo)})
Pefuh
#Eh0TI
Iuhcf1oh Pe1afo
SefPc|0,0)
// Aqu1 esf a chamada da fuho Ava1Tmp. Cohf1gua a
// 1mpessoa de acodo com as def1h1es em aPefuh
// esco1h1das pe1o usu1o ha fuho SefP1hf
0 00,00 PSAY Ava1Tmp|220)
dbSe1ecfAea|SI2)
dbSeek|xI111a1|)+mvpa01+mvpa03,.T.)
// 0 pogama segue homa1mehfe...
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 35
kv|se
1|po: 1e|a DOS/w|udoWs
Monta uma janela exibindo o texto desejado e, opcionalmente, disponibilizando
opes de escolha para o usurio.
Sintaxe
Aviso(cTitulo,cMensagem,aOpcoes)
Parmetros
cTitulo Titulo da janela.
cMensagem Mensagem para ser exibida no interior da janela. O tamanho
mximo de 90 caracteres.
aOpcoes Array de caracteres com as opes para a montagem de menu (na
verso DOS) ou dos botes (na verso Windows).
Retorna
nResp Retorno. Retorna o nmero da opo escolhida pelo usurio.
Exemplo
// Exemp1o de uso da fuho Av1so:
Wh11e .T.
CavaAq|) // Iuho qua1que |apehas p/exemp1o)
Tf !I11e|TESTE.TXT)
a0p:= {S1m,hao,Cahce1a}
cT1f:= Afehcao!
cMsg:= 0 aqu1vo TESTE.TXT hao fo1 gavado!
cMsg:= cMsg + Tehfa hovamehfe?
h0p:= Av1so|cT1f,cMsg,a0p)
Tf h0p == 1 // S1m
Loop
E1seTf h0p == 3 // Cahce1a
Pefuh
E1se // hao ou <ESC>
Ex1f
Ehd1f
Ehd1f
Ex1f
Ehd0o
// Iaz o pocessamehfo...
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 36
kx0a6astre
1|po: liocessaaeuto
Gerao de modelo 1. Rotina para criao e manuteno de cadastros no padro
do SIGA Advanced, contendo as opes padronizadas: PESQUISA, INCLU-
SO, ALTERAO, VISUALIZAO e EXCLUSO.
Disponibiliza o Browse e todas as funes de cadastramento padro.
Sintaxe
AxCadastro(cAlias,cTitulo,cDel,cOk)
Parmetros
cAlias Alias do arquivo. Deve obrigatoriamente ter sua estrutura definida
no SX3.
cTitulo Ttulo da Janela.
cDel Funo para validar a excluso.
cOk Funo para validar a Incluso/Alterao.
Comentrios
Deve ser utilizada para editar arquivos especficos (Famlia SZ?), sendo seme-
lhante aos cadastros de Clientes, Fornecedores e etc...
Exemplo
// Exemp1o de uso de cadasfo de aqu1vo espec1f1co:
AxCadasfo|SZ1,Cadasfo de 0escohfos,.T.",.T.)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 37
a1,a2 8mp8attea
1|po: 1e|a w|udoWs
Cria um boto de bitmap padro do SigaAdv Win.
Sintaxe
@ nLinha,nColuna BMPBUTTON TYPE nBotao ACTION cFuncao OBJECT
oBtn
Parmetros
nLinha Nmero da linha superior
nColuna Nmero da coluna superior
nBotao Nmero do boto padronizado
cFuncao Funo que ser executada
oBtn Objeto associado ao boto
Comentrios
Para executar funes definidas em um mesmo .PR? utilizar a funo
Execute(Nome da funo) ou ExecBlock(Nome do Arquivo) para chamar
outro .PR?.
Exemplo
Ver exemplo no programa RDDEMO apresentado no final deste Manual.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 38
... 8|tmap... 8|te
1|po: 1e|a w|udoWs
Define a rea em que ser mostrado um BITMAP na janela.
Sintaxe
@ nLinha,nColuna BITMAP SIZE nAltura,nLargura FILE cArq
Parmetros
nLinha Nmero da Linha superior
nColuna Nmero da Coluna superior
nAltura Altura de apresentao do BITMAP
nLargura Largura de apresentao do BITMAP
cArq Nome do arquivo BITMAP
Exemplo
Ver exemplo no programa RDDEMO apresentado no final deste Manual.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 39
...1e...8rewse
1|po: 1e|a w|udoWs
Ativa Browse padro SigaAdv Win.
Sintaxe
@ nLinha1,nColuna1 TO nLInha2,nColuna2 BROWSE cAlias <ENABLE> cCor
Parmetros
nLinha1 Nmero da linha superior
nColuna1 Nmero da coluna superior
nLinha2 Nmero da linha inferior
nColuna2 Nmero da coluna inferior
cAlias Alias do Arquivo (apenas arquivos com estrutura no SX3)
cCor Expresso que identifica a cor da marca do registro (opcional)
Exemplo
Marca Verde - Titulo em aberto
Marca Vermelha - Titulo pago
Comentrios
A clusula <ENABLE> opcional, se for omitida no ser disponibilizada coluna
que identifica situao do registro (Cor verde/vermelha).
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 40
...8attea
1|po: 1e|a w|udoWs
Cria um boto com texto.
Sintaxe
@ nLinha,nColuna BUTTON cTexto SIZE nAltura,nLargura ACTION cFuno
Object oBtn
Parmetros
nLinha Nmero da linha superior
nColuna Nmero da coluna superior
cTexto Texto que ser apresentado no boto. Deve incluir um _ antes
da letra que utilizada como Hot Key. Ex.: ( _Salvar,Edi_Tar)
nAltura Altura do boto
nLargura Largura do boto
cFuno Funo que ser executada
Object oBtn Objeto associado ao boto.
Comentrios
Para executar funes definidas em um mesmo .PR? utilizar a funo
Execute(Nome da funo) ou ExecBlock(Nome do Arquivo) para chamar
outro .PR?.
Exemplo
Ver exemplo no programa RDDEMO apresentado no final deste Manual.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 41
0ahec
1|po: lapiesso
Esta funo imprime, na impressora selecionada, o cabealho padro dos relat-
rios do SIGA Advanced. Devolve o nmero da ltima linha impressa para que seja
dada continuidade ao relatrio.
Sintaxe
Cabec(cTtulo, cTexto1, cTexto2, cProg, cLargura, cControle)
Parmetros
cTtulo Ttulo do Relatrio
cTexto1 Extenso da primeira linha do cabealho
cTexto2 Extenso da segunda linha do cabealho
cProg Nome do Programa
cLargura Largura do relatrio (P/ M/ G)
cControle Caractere de controle da impressora (numrico)
Retorna
nLinha Nmero da ltima linha impressa no cabealho
Exemplo
cT1fu1o := Pe1ao dos Ad1ahfamehfos
cCabec1 := Cd1go Tfem Cohfa Cohfb11 CCusfo Poefo 0afa va1o
cCabec2 := ----------- ------- ----------------------- ------------ ------------ -------- --------
cPogama := ATPI090
cTamahho := P
hCaacfe := 1S
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 42
:
cPe1:=SefP1hf|cA11as, cPogama , , 0cT1fu1o, c0esc1, c0esc2, c0esc3 , .T., a0d )
Sef0efau1f|aPefuh, cSf1hg)
:
nL1nha:=Cabec|cT1fu1o, cCabec1, cCabec2, cPogama, cTamanho, nCaacfe}
Wh11e !E0I|)
hL1hha:=hL1hha+1
0hL1hha,1 Say S1->1C00TC0
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 43
0a|cfst
1|po: liocessaaeuto e l|au||ha
Devolve a quantidade e saldos do estoque de um produto/almoxarifado em uma
determinada data. Esta funo utilizada para a obteno dos saldos iniciais em
estoque na data em referncia.
Sintaxe
CalcEst(cProduto, cAlmox, dData)
Parmetros
cProduto Produto a ser pesquisado
cAlmox Almoxarifado a pesquisar
dData Data desejada
Retorna
aArray Array contendo:
Elemento 1 - Quantidade inicial em estoque na data
Elemento 2 - Custo inicial na data na moeda 1
Elemento 3 - Custo inicial na data na moeda 2
Elemento 4 - Custo inicial na data na moeda 3
Elemento 5 - Custo inicial na data na moeda 4
Elemento 6 - Custo inicial na data na moeda 5
Elemento 7 - Quantidade inicial na segunda unidade de medida
Exemplos
aSa1dos:=Ca1cEsf|S1->1C00,S1->1L0CPA0, d0afaase)
huahf:=aSa1dos|1]
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 44
0a|c8a|6e
1|po: liocessaaeuto e l|au||ha
Calcula o saldo atual de uma determinada conta contbil at um determinado
perodo. A conta deve estar posicionada no arquivo SI1 ou SI7, de acordo com
a moeda, antes da chamada desta funo.
Sintaxe
CalcSaldo(nPer,nMoeda,lSalAnt)
Parmetros
nPer Perodo (1 a 17) que ser usado como limite para o clculo de saldo.
nMoeda Moeda para o clculo. Se no informada, assumida a moeda 1.
lSalAnt Indica se deve (.T.) ou no (.F.) considerar o saldo inicial da conta.
Se no informado, assumido verdadeiro (.T.).
Retorna
nSld Retorna o Saldo atual da conta na moeda desejada.
Exemplos
// Exemp1o de uso da fuho CALCSAL00:
cCohfa := SA1->A1C0hTA
dbSe1ecfAea|ST1)
dbSeek|xI111a1|ST1)+cCohfa)
? Sa1do afua1 da cohfa +cCohfa+:
? Ca1cSa1do|Pe1odo|))
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 45
0ap|ta|
1|po: liocessaaeuto
Transforma as letras iniciais em Maisculas e as demais em Minsculas.
Sintaxe
Capital(cTexto)
Parmetros
cTexto Texto a ser convertido
Exemplo
cCap1fa1:=Cap1fa1|TEXT0 MATbSCbL0)
// 0 efoho se Texfo Ma1scu1o
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 46
000
1|po: liocessaaeuto
Consiste o CGC digitado, tomando como base o algoritmo nacional para
verificao do dgito de controle.
Esta funo procede um clculo do dgito verificador do nmero do Cadastro
Geral de Contribuintes do Ministrio da Fazenda. utilizado o dgito padro
mdulo 11 para verificar se as duas ltimas posies da string passada, correspon-
dem a dgitos verificadores vlidos. Calculando primeiro o dgito das 12 primeiras
posies e agregando o dgito encontrado ao fim da string, calcula o dgito das 13
posies, obtendo o segundo dgito. Retorna uma expresso lgica verdadeira se
as duas ltimas posies do CGC digitado coincidem com o calculado.
Sintaxe
CGC(ExpC1)
Parmetros
ExpC1 String de caracteres representando o nmero do C.G.C. sem pontos
e traos separadores. Caso este argumento no seja passado para a
funo, esta considerar o GET corrente.
Retorna
ExpL1 Expresso lgica .T. se o CGC vlido (dgito verificador confere)
ou .F. se o dgito verificador no confere.
Exemplos
cCCC:= Space|14)
:
010,16 CET cCCC P1cfue 0P 99.999.999/9999-99 va11d CCC|cCCC)
A mscara do CGC deve vir com @R, para no inserir os pontos e a
barra no CGC, o que impossibilita a validao.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 47
...0heck8ex...Var
1|po: 1e|a w|udoWs
Cria uma caixa de verificao para definir entre Sim/No ou Falso/Verdadeiro.
Sintaxe
@ nLinha,nColuna CHECKBOX cDesc VAR lSeleo Object oCbx
Parmetros
nLinha Nmero da linha superior
nColuna Nmero da coluna superior
cDesc Descrio da caixa. Ex. Atualiza Estoque ?
lSeleo Varivel Lgica que identifica se a caixa foi ou no selecionada
oCbx Objeto associado ao Checkbox
Retorno
A varivel <lSeleo> recebe .T. se for selecionada ou .F., se vazia.
Comentrios
Pode ser utilizada uma seqncia de CHECKBOX para determinar um conjunto
de configuraes onde vrios itens podem ser marcados/desmarcados. Deve ser
definida uma varivel <lSeleo> para cada CHECKBOX definida. Ex.:
Atualiza Estoque - .T./.F. = Marcada/Desmarcada
Gera Duplicata - .T./.F. = Marcada/Desmarcada
Calcula IPI - .T./.F. = Marcada/Desmarcada
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 48
0hkI||e
1|po: liocessaaeuto
Abre um arquivo do sistema, em modo exclusivo ou compartilhado, verificando
a sua existncia bem como dos ndices, criando-os caso no existam.
Esta funo retorna verdadeiro (.T.) se o arquivo j estiver aberto ou se o Alias no
for informado. Sempre que desejar mudar o modo de acesso do arquivo (de
compartilhado para exclusivo ou vice-versa), feche-o antes de cham-la.
Sintaxe
ChkFile(cAlias,lExcl,newAlias)
Parmetros
cAlias Alias do arquivo a ser aberto.
lExcl Se for informado verdadeiro (.T.), o arquivo ser aberto em modo
exclusivo, caso contrrio, o arquivo ser aberto em modo compar-
tilhado. Se este parmetro no for informado, ser assumido falso
(.F.).
newAlis Abre o arquivo com outro apelido.
Retorna
lRet Retorna verdadeiro (.T.) caso tenha conseguido abrir o arquivo e
falso (.F.) caso contrrio.
Exemplo
// Exemp1o de uso da fuho ChkI11e:
// Tehfa ab1 o aqu1vo de c11ehfes como exc1us1vo:
dbSe1ecfAea|SA1)
dbC1oseAea|)
10k := .T.
Wh11e .T.
TI !ChkI11e|SA1,.T.)
hPesp := A1ef|0ufo usua1o usahdo! Tehfa de hovo?,{S1m,hao})
Tf hPesp == 2
10k := .I.
Ex1f
Ehd1f
:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 49
Ehd1f
Ehd0o
Tf 10k
// Iaz o pocessamehfo com o aqu1vo...
Ehd1f
// I1ha11za
Tf Se1ecf|SA1)
dbC1oseAea|)
Ehd1f
ChkI11e|SA1,.I.)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 50
0|ese
1|po: 1e|a w|udoWs
Desativa uma janela previamente definida e ativa.
Sintaxe
Close(cVar)
Parmetros
cVar Varivel criada durante o comando de definio da janela.
Exemplo
0 7S,1S mpuffoh fype 02 Acf1oh C1ose|o01g)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 51
0|ese0pea
1|po: liocessaaeuto
Funo usada para fechar e abrir uma lista de arquivos.
Sintaxe
CloseOpen(aFecha,aAbre)
Parmetros
aFecha Array com a lista dos Aliases a serem fechados.
aAbre Array com a lista dos Aliases a serem abertos.
Retorna
lRet Retorna falso (.F.) se no conseguir abrir algum arquivo (Se o
arquivo estiver em uso exclusivo, por exemplo). Caso contrrio,
retorna verdadeiro (.T.).
Exemplo
// Exemp1o de uso da fuhcao C1ose0peh:
aIecha := {SA1,SA2",SA3",S1"}
aAbe := {SC1,Sh"}
Tf C1ose0peh|aIecha,aAbe)
.. Pocessamehfo
Ehd1f
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 52
0|esesI||e
1|po: liocessaaeuto
Esta funo fecha todos os arquivos, exceto os SXs, o SM2 e o SM4. Permite que
se indique tambm outros arquivos que no devem ser fechados.
Sintaxe
ClosesFile(cAlias)
Parmetros
cAlias String com os Aliases dos arquivos que no devem ser fechados.
Devem ser informados separados por barras (/)
Retorna
lRet Retorna Verdadeiro (.T.) se fechou os arquivos com sucesso.
Retorna Falso (.F.), caso contrrio.
Exemplo
// Exemp1o de uso da fuhcao CL0SESITLE:
// Iecha fodos os aqu1vos mehos os cadasfos:
cEmp := SM0->M0C00TC0
C1osesI11e|SA1/SA2/SA3/SA4/SAS/SA6/SA7/SA9/SAA/SA/SAC)
// Pocessamehfo. . .
// I1ha11zacao
dbC1oseA11|)
0pehI11e|cEmp)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 53
...0emhe8ex...lteas...8|te
1|po: 1e|a w|udoWs
Esta funo semelhante a LISTBOX, mas pode ser utilizada em pequenos
espaos, pois os itens s sero mostrados quando a caixa for seleciona.
Sintaxe
@ nLinha,nColuna COMBOBOX cCont ITENS aArray SIZE nAltura,nLargura
Object oCbx
Parmetros
nLinha Nmero da linha superior
nColuna Nmero da coluna superior
cCont Contedo caracter do item selecionado na Matriz [1]
aArray Array, Matriz [1] com os itens para seleo
nAltura Altura para definir o tamanho da caixa
nLargura Largura para definir o tamanho da caixa
oCbx Objeto relacionado ao boto
Retorno
O item selecionado pode ser obtido por <cCont>
Comentrios
Os itens da Matriz [1] devem ser tipo C caracter.
Exemplo
Ver exemplo no programa RDDEMO apresentado no final deste Manual.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 54
0emp3
1|po: liocessaaeuto
Compacta um valor numrico em uma string binria COMP-3. Esta funo
utilizada para compactar a movimentao de Clientes e Fornecedores.
A descompactao feita pela funo complementar DeComp3.
Sintaxe
Comp3(aArray)
Parmetros
aArray Array contendo os 25 campos compactados (o Saldo Inicial, os 12
Dbitos e 12 Crditos)
Retorna
ExpC1 Nome do Campo aglutinador da compactao.
Exemplos
aSa1dos:=0eComp3|A1M0vTMEh)
hSa1do:=aSa1dos|1]
Io := 2 To 24 STEP 2
hSa1do := hSa1do - aSa1dos | ] + aSa1dos | + 1 ]
hexf
aSa1dos|1]:=hSa1do
AITLL|aSa1dos,0,2,24)
Pec1ock|SA1)
PEPLACE A1M0vTMEh W1fh Comp3|aSa1dos}
Ver tambm
Funo DeComp3
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 55
0ea6|cae
1|po: liocessaaeuto
Esta funo permite avaliar uma condio de pagamento, retornando um array
multidimensional com informaes referentes ao valor e vencimento de cada
parcela, de acordo com a condio de pagamento.
Sintaxe
Condicao(nValTot,cCond,nVIPI,dData,nVSol)
Parametros
nValTot Valor total a ser parcelado
cCond Cdigo da condio de pagamento
nVIPI Valor do IPI, destacado para condio que obrigue o pagamento do
IPI na 1 parcela
dData Data inicial para considerar
Retorna
aRet Array de retorno ( { {VALOR,VENCTO} , ... } )
Exemplo
// Exemp1o de uso da fuhcao Cohd1cao:
hva1Tof := 2S00
cCohd := 002 // T1po 1, 0uas vezes
aPac := Cohd1cao|hva1Tof,cCohd,,d0afaase)
? 1 Pace1a: +Tahsfom|aPac|1,1],0E 9,999,999.99")
? vehcfo: +0T0C|aPac|1,2])
?
? 2 Pace1a: +Tahsfom|aPac|2,1],0E 9,999,999.99")
? vehcfo: +0T0C|aPac|2,2])
1hkey|0)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 56
0eaf|rm8X8
1|po: liocessaaeuto
Permite a confirmao do nmero sugerido pelo Arquivo de Semforo, atravs da
funo GETSX8NUM. Verifique a funo GETSX8NUM para maiores detalhes.
Sintaxe
ConfirmSx8()
Exemplo
chumSCS:=CefSXhum|SCS)
Pep1ace CShbM W1fh chumSCS
Cohf1mSX|)
Verifique os exemplos descritos na funo GETSX8NUM.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 57
0eatar
1|po: liocessaaeuto
Conta o nmero de registros de acordo com a condio determinada.
Sintaxe
Contar(cAlias, cCond)
Parmetros
cALias Alias do arquivo
cCond Condio para a contagem
Exemplo
Cohfa|SC1,C10ATPPI < d0afaase)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 58
0eavMee6a
1|po: liocessaaeuto
Converte o valor informado para a moeda selecionada.
Sintaxe
ConvMoeda(dData1,dData2,nValor,cMoeda)
Parmetros
dData1 Data de emisso
dData2 Data de vencimento
nValor Valor a ser convertido
cMoeda Para qual moeda dever converter
Retorna
ExpN1 Valor convertido (devolvido pela funo)
Comentrios
Esta funo converte o valor definido por nValor para a moeda especificada em
cMoeda na data dData.
A data dData2 no utilizada.
O valor nValor considerado em moeda 1.
Exemplos
hva1o2 := CohvMoeda| 02EMTSSA0, , 02T0TAL, cMoeda )
hva1o1 := CohvMoeda| 010T0TCTT, , 01T0TAL, cMoeda )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 59
0re6|te
1|po: liocessaaeuto
Devolve o valor a crdito de uma determinada conta.
Sintaxe
Credito(cConta, nMs, nMoeda)
Parmetros
cConta Cdigo da Conta
nMs Ms do movimento desejado
nMoeda Moeda desejada para obteno do valor a crdito
Exemplo
Ced1fo|11103,03,1)
Ver tambm
Funes Debito, Saldo e Movimento
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 60
0r|a1rah
1|po: liocessaaeuto
Cria arquivo de trabalho.
Sintaxe
CriaTrab(aArray,lDbf)
Parmetros
aArray Array multidimensional contendo os campos a criar {Nome, Tipo,
Tamanho, Decimal}
lDbf Determina se o arquivo de trabalho deve ser criado ( .T.) ou no (
.F. )
Retorna
ExpC1 Nome do Arquivo gerado pela funo.
Comentrios
Esta funo retorna o nome de um arquivo de trabalho que ainda no exista.
Caso lDbf = .T., a funo criar um arquivo DBF com este nome e a estrutura
definida em aArray.
Caso lDbf = .F., a funo no criar arquivo de nenhum tipo, apenas fornecer um
nome vlido.
Exemplos
// Com 10bf = .I.
cAq := C1aTab|hTL, .I.)
cThd1ce := C9ACPEC++ThdexKey|)
Thdex oh &cThd1ce To &cAq
// Com 10bf = .T.
aSfu := {}
AA00|aSfu,{ MAPK , C, 1, 0})
AA00|aSfu,{ ACLbT , C, 10, 0})
AA00|aSfu,{ hbM0P , C, 10, 0})
AA00|aSfu,{ PP00bT0, C, 1S, 0})
AA00|aSfu,{ bAhT , h, 16, 4})
AA00|aSfu,{ EhTPECA, 0, , 0})
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 61
AA00|aSfu,{ EhTPAJb, 0, , 0})
AA00|aSfu,{ 0P0EM , h, 4, 0})
AA00|aSfu,{ CEPA00 , C, 1, 0})
cAqTab := C1aTab|aSfu, .T.)
bSE &cAqTab ALTAS TP hEW
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 62
0r|aVar
1|po: liocessaaeuto
Esta funo cria uma varivel, retornando o valor do campo, de acordo com o
dicionrio de dados. Avalia o inicializador padro e retorna o contedo de acordo
com o tipo de dado definido no dicionrio.
Sintaxe
CriaVar(cCampo,lIniPad,cLado)
Parametros
cCampo Nome do campo
lIniPad Indica se considera (.T.) ou no (.F.) o inicializador
cLado Se a varivel for caracter, cLado pode ser: C - centralizado, L
- esquerdo ou R - direito
Retorna
uRet Retorno (tipo de acordo com o dicionrio de dados, considerando
inicializador padro)
Exemplo
// Exemp1o do uso da fuho C1ava:
chumhofa := C1ava|I200C) // Pefoha o cohfedo do
// 1h1c1a11zado pado,
// se ex1sf1, ou espaos em bahco
A1ef|chumhofa)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 63
0ataVa||6a
1|po: liocessaaeuto
Retorna uma data vlida que no seja sbado, domingo ou feriado, a partir de uma
data qualquer informada. uma funo til para a gerao de vencimentos reais
para ttulos, por exemplo.
Sintaxe
DataValida(dData)
Parametros
dData Data informada para validao.
Retorna
dDtVld Retorna a Data validada.
Exemplo
// Exemp1o de uso da fuhcao 0afava11da:
// Pode-se gava o campo do vehc1mehfo ea1 de um
// f1fu1o a paf1 do vehc1mehfo 1hfomado.
dvehcfo := cTod|)
:
Cef dvehcfo
Pead
dvehcPea := 0afava11da|dvehcfo)
Cava|) // Iuhcao gehe1ca.
// bm uso 1hfeessahfe, e a obfehcao do humeo de d1as
// ufe1s de defem1hado mes uf111zahdo-se dessa fuhcao.
// A 1og1ca e s1mp1es:
h0bf11 := 0
hMes := 0S
hAho := 9
d0fTh1 := CT00|01/+SfZeo|hMes,2)+/+SfZeo|hAho,2)
d0fMov := d0fTh1
Wh11e Mohfh|d0fTh1) == Mohfh|d0fMov) .Ahd. Yea|d0fTh1) == Yea|d0fMov)
Tf 0afava11da|d0fMov) == d0fMov
h0bf11 := h0bf11 + 1
Ehd1f
d0fMov := d0fMov + 1
Ehd0o
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 64
0eh|te
1|po: liocessaaeuto
Devolve o valor a dbito de uma determinada conta.
Sintaxe
Debito(cConta, nMs, nMoeda)
Parmetros
cConta Cdigo da Conta
nMs Ms do movimento desejado
nMoeda Moeda desejada para obteno do valor a dbito
Exemplo
0eb1fo|11103,03,1)
Ver tambm
Funes Credito, Saldo e Movimento
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 65
0e0emp3
1|po: liocessaaeuto
Descompacta uma string binria COMP-3 em um array. Esta funo utilizada
para descompactar a movimentao de Clientes e Fornecedores.
A compactao feita pela funo complementar Comp3.
Sintaxe
DeComp3(cCampo)
Parmetros
cCampo Nome do Campo aglutinador da compactao.
Retorna
aArray Array contendo os 25 campos compactados.
Exemplo
aSa1dos:= 0eComp3|A1M0vTMEh)
hSa1do := aSa1dos | 1 ]
Io := 2 To 24 STEP 2
hSa1do:= hSa1do - aSa1dos | ] + aSa1dos | + 1 ]
hexf
aSa1dos|1]:=hSa1do
AITLL|aSa1dos,0,2,24)
Pec1ock|SA1)
PEPLACE A1M0vTMEh W1fh Comp3|aSa1dos)
Ver tambm
Funo Comp3
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 66
...1e...0|a|eg
1|po: 1e|a w|udoWs
Define uma nova janela na rea de trabalho.
Sintaxe
@ nLinha1,nColuna1 TO nLinha2,nColuna2 DIALOG cVar TITLE cTtulo
Parmetros
nLinha1 Nmero da linha superior
nColuna1 Nmero da coluna superior
nLinha2 Nmero da linha inferior
nColuna2 Nmero da coluna inferior
cVar Varivel que recebera as definies da nova janela
cTtulo Titulo da Janela
Comentrios
Deve ser utilizada sem conjunto com o comando ACTIVATE DIALOG.
Exemplo
Ver exemplo no programa RDDEMO apresentado no final deste Manual.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 67
0|g|te11
1|po: liocessaaeuto
Clculo de dgito verificador em mdulo 11.
Sintaxe
Digito11(cCalc,cDigito)
Parmetros
cCalc String para calcular o dgito
cDigito Dgito de verificao
Retorna
ExpL1 Valor Lgico de Retorno (.T. ou .F.)
Comentrios
Esta funo calcula o dgito de verificao de cCalc e o compara com cDigito,
verificando a consistncia.
Exemplos
0 9, 10 Cef cCod1go
va11d 01g1fo11| SubSf|cCod1go, 1, 5}, Subsf|cCod1go, 6, 1}}
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 68
0rawk6v30
1|po: 1e|a DOS
Desenha uma janela DOS em 3 dimenses.
Sintaxe
DrawAdv3D(cTitle, nLinha1, nColuna1, nLInha2, nColuna2, cCorFrente, cCorFundo, cStyle)
Parmetros
cTitle Ttulo da Janela
nLinha1 Nmero da linha superior
nColuna1 Nmero da coluna superior
nLinha2 Nmero da linha inferior
nColuna2 Nmero da coluna inferior
cCorFrente Cor da letra
cCorFundo Cor do fundo
cStyle R (onde R = Raised - define a impresso de baixo relevo. O
padro alto relevo)
Exemplo
//
0aWAdv30|Jahe1a 30,01,24,20,24,+,h,P)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 69
0rawk6vw|a6ew
1|po: 1e|a DOS
Desenha uma janela padro de acordo com a posio relativa passada como
parmetro. Para verso DOS.
Sintaxe
DrawAdvWindow(cTitulo,nLinha1,nColuna1,nLInha2, nColuna2)
Parmetros
cTitulo Ttulo da janela
nLinha1 Linha superior da janela
nColuna1 Coluna esquerda da janela
nLinha2 Linha inferior da janela
nColuna2 Coluna direita da janela
Comentrios
Esta funo desenha uma janela com o ttulo cTitulo, com o canto superior
esquerdo na posio nLinha1, nColuna1 e canto inferior direito na posio
nLinha2, nColuna2.
Exemplos
0aWAdvW1hdoW|T1fu1os em Abefo,3,4,20,76)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 70
fkh0|g|te
1|po: liocessaaeuto
Calcula o dgito de controle para o cdigo EAN usado em cdigos de barras.
Sintaxe
EanDigito(cCod)
Parmetros
cCod Cdigo de barras para o clculo do dgito. obrigatrio o tamanho
de 12 dgitos.
Retorna
cEan Retorna o cdigo EAN de 13 dgitos, sendo que a ltima posio
o dgito calculado.
Exemplo
// Exemp1o de uso da fuhcao EAh0TCTT0:
// Caf11ho
// 0om.: 1C00AP
// Cfa0om.: 1C00AP
// Pega: Eahd1g1fo|PA0L|A11T1m|M->1C00AP),12,0"))
// 0u usado em um pogama dmake:
cCod := Eah01g1fo|PA0L|A11T1m|M->1C00AP),12,0"))
c01g := Subsf|cCod,12,1)
A1ef|0 d1g1fo ca1cu1ado e`: +c01g)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 71
fatre
1|po: liocessaaeuto
Verifica se o contedo do campo est entre o contedo de duas expresses (ExpX1
<= cCampo <= ExpX2). Se verdadeiro, retorna .T..
Usado normalmente em validaes de campos digitados.
Sintaxe
Entre(ExpX1,ExpX2,cCampo)
Parmetros
ExpX1 Expresso a comparar >=
ExpX2 Expresso a comparar <=
cCampo Nome do Campo
Retorna
ExpL1 Valor Lgico de Retorno (.T. ou .F.)
Exemplos
:
Tf Ehfe|A1,A9",cSe1e)
0 S,10 Say Se1e 0k
E1se
0 S,10 Say Se1e Thva11da
Loop
EhdTf
:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 72
fstrat
1|po: liocessaaeuto
Funo para obteno da estrutura de um produto previamente cadastrada no SG1
atravs dos Mdulos SIGAEST ou SIGAPCP.
Sintaxe
Estrut(cProduto)
Parmetros
cProduto Cdigo do produto PAI da estrutura.
Retorna
aStru Retorna o array com a estrutura do produto na seguinte sintaxe:
{ {N , Cdigo , Comp. , Qtd. , TRT }, ... , ... }
Esta funo requer que seja declarada a varivel chamada nEstru
contendo 0, para o seu correto funcionamento.
Exemplo
// Exemp1o de uso da fuhcao Esfuf:
cPd := Space|1S)
aSfu := {}
hEsfu := 0
Wh11e .T.
0 10,10 Say Cod1go do Podufo:
0 10,30 Cef cPd P1cfue 0! va11d|!Empfy|cPd))
Pead
Tf LasfKey|) == 27
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 73
Ex1f
Ehd1f
Tf !Ex1sfCpo|S1,cPd)
Loop
Ehd1f
1:= 0
aSfu := Esfuf|cPd) // 0bfem a esfufua
hL1h := S
Io 1 := 1 To Leh|aSfu)
0hL1h,00 Say Comp.: +aSfu|1,3]
0hL1h,20 Say uahf.: +Sf|aSfu|1,4],1S)
hL1h := hL1h + 1
Tf hL1h > 23
024,00 Say Tec1e <EhTEP>...
Thkey|0)
hL1h := S
Ehd1f
hexf 1
Ehd0o
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 74
fxecate
1|po: liocessaaeuto
Executa uma Funo definida em um mesmo .Pr? nas clusulas <ACTION> ou
<VALID>.
Sintaxe
Execute (cFuno)
Parmetro
cFuno Funo a ser executada.
Exemplo
0 7S,09 mpuffoh fype 01 acf1oh Execufe|SS00TMP)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 75
fx|st0hav
1|po: liocessaaeuto
Verifica se a chave j existe em determinado Alias. Funo para uso em validaes
de campos-chave, para no permitir a duplicidade de registros.
Sintaxe
ExistChav(cAlias,cChave,nOrdem,cHelp)
Parametros
cAlias Alias do arquivo no qual a consistncia deve ser avaliada
cChave Chave para a pesquisa. Opcional. Se no for informada, o contedo
ser automaticamente obtido do GET ativo
nOrdem Ordem do ndice para a pesquisa no Alias. Se no for especificado,
ser assumida a primeira ordem
cHelp Opcional chave de help. Se no for informada, o help ser o padro
do sistema (JAGRAVADO)
Retorna
lRet Retorna Verdadeiro (.T.) se a chave no existir (o que significa que
pode ser usada para incluir um novo registro). Caso contrrio,
retorna Falso (.F.) e executa um help do sistema.
Exemplo
// Exemp1o de uso da fuhcao Ex1sfChav:
// Pode-se uf111za-1a em uma va11dacao de usua1o,
// def1hada afaves do Cohf1guado:
// Campo -> 1C00
// va11dacao do bsua1o -> Ex1sfChav|S1)
// 0u em um Pdmake:
Wh11e .T.
cEsp := Space|1S)
0 00,00 Say Cadasfo de Espec1a11dades
010,00 Say Espec.: Cef cEsp P1cf 0!
Pead
Tf LasfKey|) == 27
Ex1f
Ehd1f
Tf Ex1sfChav|SZ1,cEsp,1,ESPEXTST)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 76
Loop
Ehd1f
Cava|) // Pof1ha gehe1ca
Ehd0o
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 77
fx|st0pe
1|po: liocessaaeuto
Verifica se determinada chave existe no Alias especificado. Funo utilizada em
processamentos onde o cdigo informado deve existir em determinado cadastro,
na sua validao.
Sintaxe
ExistCpo(cAlias,cChave,nOrdem)
Parmetros
cAlias Alias do arquivo para a pesquisa
cChave Chave a ser pesquisada (opcional). Se no for informada, o conte-
do obtido automaticamente do GET em uso
nOrdem Nmero da ordem do ndice para Pesquisa (Opcional). Se no for
informado, usa a ordem atual do Alias.
Retorna
lRet Retorna Verdadeiro (.T.) se a chave existir no Alias especificado,
caso contrrio, retorna Falso (.F.) e executa um help padro do
sistema (REGNOIS).
A ordem utilizada na pesquisa a atualmente selecionada. Se no for
informado, usa a ordem atual do lias.
Exemplo
// Exemp1o de uso da fuhcao Ex1sfCpo:
Wh11e .T.
cPod := Space|1S)
010,10 Cef cPod
Pead
Tf LasfKey|) == 27
Ex1f
Ehd1f
Tf !Ex1sfCpo|S1,cPod)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 78
Loop
Ehd1f
Cava|) // Iuhcao gehe1ca.
Ehd0o
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 79
fx|stla|
1|po: liocessaaeuto
Verifica se o campo possui inicializador padro.
Sintaxe
ExistIni(cCampo)
Parmetros
cCampo Nome do campo para verificao.
Retorna
lEx Retorna Verdadeiro (.V.) se o campo possui inicializador padro,
caso contrrio, retorna falso (.F.).
Exemplo
// Exemp1o de uso da fuhcao Ex1sfTh1:
// Se ex1sf1 1h1c1a11zado ho campo 1C00:
Tf Ex1sfTh1|1C00)
// Chama o 1h1c1a11zado:
cCod := C1ava|1C00)
Ehd1f
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 80
fxtease
1|po: liocessaaeuto
Gera o extenso de um valor numrico. Esta funo retorna um valor, dinheiro ou
quantidade, por extenso. Usada para a impresso de cheques, valor de duplicatas,
etc.
Sintaxe
Extenso(nValor,lQtd,nMoeda)
Parametros
nValor Valor a ser gerado o extenso.
lQtd Verdadeiro (.T.) indica que o valor representa uma quantidade.
Falso (.F.) indica que o valor representa dinheiro. Se no for
especificado, o default falso (.F.).
nMoeda - Qual moeda do sistema deve ser o extenso.
Retorna
cValor Retorna o valor por extenso.
Exemplo
// Exemp1o de uso da fuhcao Exfehso:
hva1o := SI2->I2vALIAT
// Cea o exfehso do va1o, fomafahdo a va1ave1 com
// 200 caacfees peehchehdo os espacos em bahco com "
cExfehso := PA0P|Exfehso|hva1o),200,")
// Tmp1me o exfehso em duas 11hhas |100 caacfees em cada):
Io hL1 := 20 To 21
0hL1,10 Say Subsf|cExfehso,|hL1-20)"100+1,100)
hexf hL1
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 81
I|ahat0rc
1|po: liocessaaeutoe l|au||ha
Retorna o valor orado da natureza.
Sintaxe
FinNatOrc(cNatureza,nMs,nMoeda)
Parmetros
cNatureza Natureza a ser pesquisada
nMs Ms para clculo
nMoeda Moeda de sada
Exemplo
I1hhaf0c|P001,10,1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 82
I|ahatPrv
1|po: liocessaaeuto e l|au||ha
Retorna o valor previsto de cada natureza.
Sintaxe
FinatPrv(cNatureza,dData1,dData2,nMoeda)
Parmetros
cNatureza Natureza a ser pesquisada
dData1 Data Inicial para clculo
dData2 Data Final de clculo
nMoeda Moeda de sada
Exemplo
I1hhafPv|P001,Cfo0|01/01/9),d0afaase,1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 83
I|ahatea
1|po: liocessaaeuto e l|au||ha
Retorna o valor realizado da Natureza.
Sintaxe
FinNatRea(cNatureza,dData1,dData2,nMoeda)
Parmetros
cNatureza Natureza a ser pesquisada
dData1 Data Inicial para clculo
dData2 Data Final de clculo
nMoeda Moeda de sada
Exemplo
I1hhafPea|P001,Cfo0|01/01/9),d0afaase,1)
aAdd|aL,+---------------------+)
aAdd|aL,|XXXXXXXX Pe1afo1o de Tesfe Pag1ha: XXXXX|)
aAdd|aL,+----+------------+----+)
aAdd|aL,| C00TC0 | 0ESCPTCA0 | PPEC0 |)
aAdd|aL,+----+------------+----+)
aAdd|aL,| XXXXXXX | XXXXXXXXXXXXXXXXXXXXXX | XXXXXX |)
aAdd|aL,+----+------------+----+)
hL1m:= 0 // Pe1afo1o de 0 co1uhas
hL1:= 60
hPg:= 1
dbSe1ecfAea|S1)
dbCoTop|)
Wh11e !E0I|)
Tf hL1 > SS
hL1 := 0
ImfL1h|{},aL|1],,,0hL1,.T.,hL1m)
ImfL1h|{d0afaase,hPg},aL|2],,,0hL1,.T.,hL1m)
ImfL1h|{},aL|3],,,0hL1,.T.,hL1m)
ImfL1h|{},aL|4],,,0hL1,.T.,hL1m)
ImfL1h|{},aL|S],,,0hL1,.T.,hL1m)
hPg := hPg + 1
Ehd1f
a0ados := {}
aAdd|a0ados,Subs|1C00,1,7))
aAdd|a0ados,Subs|10ESC,1,22))
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 84
Ierma|a
1|po: liocessaaeuto
Interpreta uma frmula cadastrada. Esta funo interpreta uma frmula, previa-
mente cadastrada no Arquivo SM4 atravs do Mdulo Configurador, e retorna o
resultado com tipo de dado de acordo com a prpria frmula.
Sintaxe
Formula(cFormula)
Parmetros
cFormula Cdigo da frmula cadastrada no SM4.
Retorna
uRet Retorno, com tipo de dado de acordo com a frmula.
Exemplo
// Exemp1o de uso da fuhcao fomu1a:
// Iomu1a cadasfada ho SM4:
// Cod1go: I01
// Pega : Sao Pau1o, +SfZeo|0ay|d0afaase),2)+
// de +MesExfehso|d0afaase)+ de +
// SfZeo|Yea|d0afaase),4)+.
// Ao 1mp1m1 esfa 11hha em um pogama, po exemp1o,
0 00,00 Say Iomu1a|I01)
// o esu1fado 1mpesso sea a1go como:
// Sao Pau1o, 17 de dezembo de 1997.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 85
// Iomu1a cadasfada ho SM4:
// Cod1go: I02
// Pega : |CETMv|MvJbP0S)/100)+1
// Ao usa esfa fomu1a, pode-se da um acesc1mo em um
// va1o de acodo com a faxa de uos cadasfada ho paamefo MvJbP0S:
hva1o := hva1o " Iomu1a|I02)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 86
IaacaMee6a
1|po: liocessaaeuto
Retorna um array contendo o valor do titulo em at cinco (5) moedas.
Sintaxe
FuncaMoeda(dData,nValor,nMoeda)
Parmetros
dData Data utilizada como referncia
nValor Valor utilizado como referncia
nMoeda Moeda em que o valor se encontra
Retorna
aRet Array contendo o valor informado nas cinco moedas
( { nVal1,nVal2,nVal3,nVal4,nVal5 } )
Exemplo
// Exemp1o do uso da fuhcao IuhcAMoeda:
hva1T1f := SE1->E1SAL00
hMoeda := SE1->E1M0E0A
ava1oes := IuhcaMoeda|d0afaase,hva1T1f,hMoeda)
Io 1:=1 fo S
? va1o do f1fu1o ha +Sf|1,1)+ moeda: +
Tahsfom|ava1oes|1],0E 9,999,999.99")
hexf 1
1hkey|0)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 87
... 0f1
1|po: 1e|a DOS/w|udoWs
Executa um Get, diferenciado pela clusula <F3>.
Sintaxe
@ nLinha,nColuna GET cVar <PICTURE> cMscara <VALID> cFuno <F3> cConsulta
Parmetros
nLinha Nmero da Linha em que o Get ser posicionado
nColuna Nmero da Coluna em que o Get ser posicionado
cVar Varivel a ser editada
cMscara Define a mscara de edio (opcional)
cFuno Funo que retorna valor lgico para validao da edio (opcional)
cConsulta Definio (SXB) da consulta <F3> associada ao contedo de cVar
Comentrios
Os cdigos utilizados na clusula <F3> devem ser obtidos atravs do arquivo
(SXB). No necessrio utilizar o comando READ aps a definio dos Gets.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 88
0etk6vIva|
1|po: liocessaaeuto
Esta funo permite executar uma pesquisa em um arquivo, pela chave especificada
e na ordem especificada, retornando o contedo de um ou mais campos.
Sintaxe
GetAdvFVal(cAlias,uCpo,uChave,nOrder,uDef)
Parmetros
cAlias Alias do arquivo.
uCpo Nome de um campo ou array contendo os nomes dos campos
desejados.
uChave Chave para a pesquisa.
nOrder Ordem do indice para a pesquisa.
uDef Valor ou array default para ser retornado caso a chave no seja
encontrada.
Retorna
uRet Retorna o contedo de um campo ou array com o contedo de vrios
campos.
Exemplo
// Exemp1o de uso da fuhcao CefAdvIva1:
// 0bfehdo apehas de um campo:
cChave := S02->02C00+S02->02L0CAL
c0esc := CefAdvIva1|S1,10ESC,cChave,1,SC6->C60ESCPT)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 89
// 0bfehdo o cohfeudo de ma1s de um campo:
cChave := S02->02C00+S02->02L0CAL
aCpos := {10ESC,1PPv1",1bM}
a0ados := CefAdvIva1|S1,aCpos,cChave,1,{SC6->C60ESCPT,SC6->C6PPCvEh,SC6->C6bM})
refere-se aos Itens do Pedido de Venda) e, aps pesquisar no SB1 (Cadastro de
Produtos), sugerir a quantidade vendida a partir de um campo especfico:
// Co1uhas...
hPosCod := aScah|aheade,{ |x| bppe|A11T1m|x|2])) == C6PP00bT0 })
hPosfd := aScah|aheade,{ |x| bppe|A11T1m|x|2])) == C6T0vEh })
// 0bfm o cd1go do podufo
cCod1go := aCo1s|h,hPosCod]
// Pesqu1sa
dbSe1ecfAea|S1)
dbSef0de|1)
dbSeek|xI111a1|S1)+cCod)
// A1fea a quahf1dade ho g1d
aCo1s|h,hPosfd] := S1->1TSbCEP // Campo espec1f1co com a quahf1dade
pado
Pefuh|S1->1TSbCEP)
Para uma melhor compreenso, voc pode analisar os programas RDMOD2.PRX
e/ou RDMOD3.PRX que acompanham o SIGA Advanced. Eles esto no diretrio
principal do sistema (geralmente \SIGAADV\) e demonstram rotinas usadas para
cadastros semelhantes ao Pedido de Vendas e que trabalham com os arrays
mencionados.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 90
0etMV
1|po: liocessaaeuto
Recupera o contedo de parmetros originados em SX6.
Sintaxe
GetMV(cParam)
Parmetros
cParam Nome do parmetro a ser pesquisado no SX6
Retorna
ExpX1 Contedo do parmetro devolvido pela funo
Exemplos
cTabv1sfa := CETMv|MvTAvTST)
cCo1TCMS := CETMv|MvC0LTCMS)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 91
0et8X8ham
1|po: liocessaaeuto
Fornece um nmero seqencial do Arquivo de Semforo (SX8??0.DBF). Esta
funo retorna o prximo nmero, na seqncia e disponvel, para o cadastro no
SIGA Advanced e mantm esta numerao para o usurio at o momento em que
ele confirme ou abandone a operao. O Arquivo de Semforo usado para evitar
a duplicidade de chaves em ambientes multiusurio. Esta funo trabalha junta-
mente com outras duas, chamadas CONFIRMSX8 e ROLLBACKSX8. Verifique
os exemplos para maiores detalhes.
Sintaxe
GetSx8Num(cAlias,cCpoSx8)
Parmetros
cAlias Alias do Arquivo
cCpoSx8 Nome do campo para aplicao do semforo
Exemplo
Para que o Cadastro de Clientes, por exemplo, carregue na incluso o prximo
nmero disponvel automaticamente, pode-se utilizar a seguinte sintaxe no
inicializador padro do campo A1_COD:
GetSx8Num(SA1)
Caso seja um arquivo especifico, utilize a sintaxe a seguir:
GetSx8Num(SZ1,Z1_COD)
Para uso em RdMakes, as sintaxes descritas acima tambm so vlidas, no
devendo-se esquecer de que a funo GETSX8NUM trabalha junto com as
funes CONFIRMSX8 e ROLLBACKSX8, que devem ser chamadas ao final do
processamento (procedimento que feito automaticamente em um inicializador
padro conforme a sintaxe explicada acima).
Exemplo em Rdmake:
cCodheW := CefSxhum|SZ1,Z1C00)
// Pocessamehfo...
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 92
// Cohf1macao
Cohf1mSx|)
// ou Cahce1amehfo
Po11ackSx|)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 93
0rava0rca6e
1|po: liocessaaeuto e l|au||ha
Permite que um determinado valor calculado pela planilha seja gravado no Arquivo
de Oramentos.
Sintaxe
GravaOrcado(cConta,nClula,nMs,nMoeda)
Parmetros
cConta Conta Contbil a ser orada
nClula Nmero da clula onde o valor estar contido
nMs Ms a ser orado (se nulo, ser ms corrente)
nMoeda Moeda a ser orada (se nula, ser moeda nacional)
Exemplo
Para obter um valor referente conta 11102001, sendo que este dever ser
orado na Contabilidade para o ms 07 e na moeda 1. Para tanto, cria-se a
seguinte expresso: GravaOrcado(11102001,#022,7,1)
Esta funo ir devolver o contedo <<< Orado >>>.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 94
he|p
1|po: 1e|a DOS/w|udoWs
Esta funo exibe a ajuda especificada para o campo e permite sua edio. Se for
um help novo, escreve-se o texto em tempo de execuo.
Sintaxe
Help(cHelp,nLinha,cTtulo,cNil,cMensagem,nLinMen,nColMen)
Parmetros
cHelp Nome da Rotina chamadora do help (sempre branco)
nLinha Nmero da linha da rotina chamadora (sempre 1)
cTtulo Ttulo do help
cNil Sempre NIL
cMensagem Mensagem adicional ao help
nLinMen Nmero de linhas da Mensagem (relativa janela)
nColMen Nmero de colunas da Mensagem (relativa janela)
Retorna
Nada
Exemplos
:
Tf Empfy|cAqs)
dbSe1ecfAea|cA11as)
PecLock|cA11as,.I.)
db0e1efe|)
E1se
he1p| ,1,haoExc1u1,,cAqs,4,1)
Ehd1f
:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 95
lmp0a6ast
1|po: lapiesso
Imprime relatrio de cadastros padres do SIGA Advanced. Esta funo monta
uma interface padro de relatrio, com parametrizaes de/at, e permite imprimir
qualquer arquivo de cadastro definido no sistema.
Sintaxe
ImpCadast(cCab1,cCab2,cCab3,cNomePrg,cTam,nLim,cAlias)
Parmetros
cCab1 Primeira linha de cabealho
cCab2 Segunda linha de cabealho
cCab3 Terceira linha de cabealho
cNomePrg Nome do programa
cTam Tamanho do relatrio (P,M ou G)
nLim Limite do relatrio. Mxima coluna a ser impressa
cAlias Alias do arquivo de cadastro a ser impresso
Exemplo
// Exemp1o de uso da fuhcao Tmpcadasf:
// Tmp1me e1afo1o de cadasfo de podufos:
TmpCadasf|Cabec1,Cabec2,Cabec3,PPC01",P,0,S1")
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 96
lacegaa
1|po: lapiesso
Incrementa rgua padro de processamento em relatrios.
Sintaxe
IncRegua()
Parmetros
Nil
Retorno
Nil
Exemplo
0bSe1ecfAea|SA1)
SefPegua|LasfPec|))
Wh11e | ! Eof|) )
0 L1, 001 PSAY SA1->A1h0ME
0bSk1p|)
ThcPegua|)
Ehd
Comentrio
Ver tambm SetRegua()
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 97
lacPrec
1|po: 1e|a DOS/w|udoWs
Incrementa rgua padro de processamento.
Sintaxe
IncProc()
Parmetros
Nil
Retorno
Nil
Exemplo
PocPegua|1000)
Io 1:= 1 fo 1000
ThcPoc|)
hexf
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 98
la6egaa
1|po: liocessaaeuto
Cria ndice de trabalho, podendo ser condicional.
Sintaxe
IndRegua(cAlias,cArqtrab,cChave,cPar,cFiltro,cTexto)
Parmetros
cAlias Alias do arquivo.
cArqtrab Nome do arquivo de trabalho retornado pela funo CriaTrab (.F.).
cChave Expresso utilizada na chave do novo ndice.
cPar Se for igual a D, cria um indice com a chave inversa, do maior
valor para o menor.
cFiltro Expresso utilizada para filtro.
cTexto Texto da rgua de processamento ( Selecionando registros ...).
Retorno
Nil
Exemplo
0bSe1ecfAea|SCS)
cI11fo := CS0K<>`X`
cChave := 0fos|CSEMTSSA0)+CSvEh01
cThdSCS1 := C1aTab|h11,.I.)
ThdPegua|SCS, cThdSCS1, cChave, , cI11fo, Se1ec1ohahdo Ped1dos...)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 99
letter0rham
1|po: liocessaaeuto
Verifica se determinado caracter uma letra ou um nmero.
Sintaxe
LetterOrNum(cChar)
Parmetros
cChar Caracter para verificao.
Retorna
lAlfa Retorna Verdadeiro (.V.) se o caracter informado for uma letra ou
um nmero.
Exemplo
// Exemp1o de uso da fuhcao Leffe0hum:
cCh := Thkey|0)
Tf Leffe0hum|cCh)
... Pocessamehfo
Ehd1f
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 100
Mark8rewse
1|po: liocessaaeuto
Monta um browse padro do sistema, permitindo marcar e desmacar linhas.
Sintaxe
MarkBrowse(cAlias,cCampo,cCpo,aCampos,lMarc,cMarca,cCtrlM,lBotoes,cTopFun,cBotFun,aCoord)
Parmetros
cAlias lias do arquivo
cCampo Campo que estabelece relao com a culuna de marca
cCpo Campo que se estiver vazio muda a cor da linha
aCampos Array com os campos para montar o browse
lMarc Flag para inicializar marcado ou no
cMarca Marca obtida com a funo Getmark
cCtrlM Funo para ser executada no Alt_M
lBotoes Parmetro obsoleto
cTopFun Funo filtro para estabelecer o primeiro registro
cTopFun Funo filtro para estabelecer o ltimo registro
aCoord Array com as coordenadas da MarkBrowse.
Exemplo
cMaca := CefMak|)
cCadasfo := Esco1he C11ehfes
aPof1ha := { { Pesqu1sa,AxPesqu1,0,1},
{v1sua11za,Axv1sua1,0,2}}
MakoW|SA1,A10K,SA1->A10K,,,cMaca)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 101
M8rewse
1|po: liocessaaeuto
Monta um browse padro do sistema, conforme os parmetros.
Sintaxe
mBrowse(nLinha1, nColuna1, nLinha2, nColuna2, cAlias, aFixe, cCpo, nPar, cCor, n Opc)
Parmetros
nLinha1 Nmero da linha inicial
nColuna1 Nmero da coluna inicial
nLinha2 Nmero da linha final
nColuna2 Nmero da coluna final
cAlias Alias do arquivo
aFixe Array contendo os campos fixos (a serem mostrados em primeiro
lugar no browse)
cCpo Campo a ser tratado. Quando vazio, muda a cor da linha
nPar Parmetro obsoleto
cCor Funo que retorna um valor lgico, muda a cor da linha
nOpc Define qual opo do aRotina que ser utilizada no double click
Exemplo
cCadasfo := Cadasfo de 0camehfos
aPof1ha := {{Pesqu1sa,AxPesqu1,0,1},
{Thc1u1,Exec1ock|`0EM0A`,.I.),0,3},
{A1fea,Exec1ock|`0EM0`),0,4},
{Exc1u1,Exec1ock|`0EM0C`,.I.),0,S}}
MoWse|6, 1, 22, 7S, SA1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 102
Me6|a
1|po: liocessaaeuto
Retorna a taxa mdia da moeda em um determinado ms/ano.
Sintaxe
Media(nMoeda,nMes,nAno)
Parmetros
nTaxa Taxa mdia calculada.
nMoeda Moeda para clculo da taxa mdia.
nMes Ms para clculo da taxa mdia. Se no informado, assumido o
ms da data base.
nAno Ano para clculo da taxa mdia. Se no informado, assumido o
ano da data base.
Exemplo
// Exemp1o de uso da fuhcao Med1a
hTxMed := Med1a|1)
hTaxa := hTxMed
0 00,00 Say Med1a do mes: +Tahsfom|hTxMed,0E999.99")
0 00,01 Say Taxa ca1cu1.: Cef hTaxa P1cfue 0E999.99
Pead
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 103
Mesfxtease
1|po: liocessaaeuto
Retorna o nome do ms por extenso.
Sintaxe
MesExtenso(nMes)
Parmetros
nMes Nmero do ms (1 a 12). Se nMes no for informado, assumido
o ms da data base do sistema. Esta varivel tambm pode ser
caracter (1 ou 2) ou do tipo data.
Retorna
cNome Nome do ms retornado por extenso.
Exemplo
// Exemp1o do uso da fuhcao MesExfehso:
? Sao Pau1o, +STPZEP0|0ay|d0afaase),2)+ de +
MesExfehso|d0afaase)+ de +SfZeo|Yea|d0afaase),4)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 104
Me6e|e2
1|po: liocessaaeuto
Exibe formulrio para cadastro segundo o modelo 2 (como a rotina de Nota
Fiscal).
Sintaxe
Mo d e l o 2 ( c T t u l o , a Ca b e c , a Ro d a p , a Gd , n Op , c L Ok , c TOk ,
[aGetsGD,bF4,cIniCpos,nMax,aCordw,lDelget])
Parmetros
cTtulo Ttulo da janela
aCabec Array com os campos do cabealho
aRodap Array com os campos do rodap
aGd Array com as posies para edio dos itens (GETDADOS)
nOp Modo de operao (3 ou 4 altera e inclui itens, 6 altera mas no
inclui itens, qualquer outro nmero s visualiza os itens)
cLOk Funo para validao da linha
cTOk Funo para validao de todos os dados (na confirmao)
aGetsGD Array Gets editveis (GetDados)
Default = Todos.
bF4 Codeblock a ser atribudo a tecla F4.
Default = Nenhum.
cIniCpos String com o nome dos campos que devem ser inicializados ao
teclar seta para baixo (GetDados).
nMAx Limita o nmero de linhas (GetDados).
Default = 99.
aCordw Array com quatro elementos numricos, correspondendo s coor-
denadas linha superior, coluna esquerda, linha interior e coluna
direita, definindo a rea de tela a ser usada.
Default = rea de Dados Livre.
lDelget Determina se as linhas podem ser deletadas ou no (GetDados)
Default = .T.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 105
Retorna
lRet Retorna .T. se for confirmado
Exemplo
//""""""""""""""""""""""""""""""""""""""""""""""""""
// 3,4 Pem1fem a1fea gefdados e 1hc1u1 11hhas
// 6 So pem1fe a1fea gefdados e hao 1hc1u1 11hhas
// ua1que oufo humeo so v1sua11za
h0pcx:=3
dbSe1ecfAea|Sx3)
dbSef0de|1)
dbSeek|SXS)
hbsado:=0
aheade:={}
Wh11e !Eof|) .Ahd. |x3aqu1vo == SXS)
TI X3bS0|x3usado) .Ah0. ch1ve1 >= x3h1ve1
hbsado:=hbsado+1
AA00|aheade,{ TPTM|x3f1fu1o),x3campo,
x3p1cfue,x3famahho,x3dec1ma1,
Exec1ock|`Md2va11d`,.f.,.f.),x3usado,
x3f1po, x3aqu1vo, x3cohfexf } )
Ehd1f
dbSk1p|)
Ehd
aCo1s:=Aay|1,hbsado+1)
dbSe1ecfAea|Sx3)
dbSeek|SXS)
hbsado:=0
Wh11e !Eof|) .Ahd. |x3aqu1vo == SXS)
TI X3bS0|x3usado) .Ah0. ch1ve1 >= x3h1ve1
hbsado:=hbsado+1
TI h0pcx == 3
TI x3f1po == C
aC0LS|1]|hbsado] := SPACE|x3famahho)
E1se1f x3f1po == h
aC0LS|1]|hbsado] := 0
E1se1f x3f1po == 0
aC0LS|1]|hbsado] := d0afaase
E1se1f x3f1po == M
aC0LS|1]|hbsado] :=
E1se
aC0LS|1]|hbsado] := .I.
Ehd1f
Ehd1f
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 106
Ehd1f
dbSk1p|)
Ehd
aC0LS|1]|hbsado+1] := .I.
cC11ehfe:=Space|6)
cLoa :=Space|2)
d0afa :=0afe|)
hL1hCef0:=0
cT1fu1o:=TESTE 0E M00EL02"
aC:={}
// aC|h,1] = home da va1ave1 Ex.:cC11ehfe
// aC|h,2] = Aay com coodehadas do Cef |x,y], em
// W1hdoWs esfao em PTXEL
// aC|h,3] = T1fu1o do Campo
// aC|h,4] = P1cfue
// aC|h,S] = va11dacao
// aC|h,6] = I3
// aC|h,7] = Se campo e` ed1fave1 .f. se hao .f.
#TI0EI WTh00WS
AA00|aC,{cC11ehfe ,{1S,10} ,Cod. do C11ehfe,0!,
`Exec1ock|M02vLCLT,.I.,.I.)`,SA1",})
AA00|aC,{cLoa ,{1S,200},Loa,0!,,,})
AA00|aC,{d0afa ,{27,10} ,0afa de Em1ssao,,,,})
#ELSE
AA00|aC,{cC11ehfe ,{6,S} ,Cod. do C11ehfe,0!,
Exec1ock|M02vLCLT,.I.,.I.)`,SA1",})
AA00|aC,{cLoa ,{6,40},Loa,0!,,,})
AA00|aC,{d0afa ,{7,S} ,0afa de Em1ssao,,,,})
#Eh0TI
aP:={}
// aP|h,1] = home da va1ave1 Ex.:cC11ehfe
// aP|h,2] = Aay com coodehadas do Cef |x,y], em
// W1hdoWs esfao em PTXEL
// aP|h,3] = T1fu1o do Campo
// aP|h,4] = P1cfue
// aP|h,S] = va11dacao
// aP|h,6] = I3
// aP|h,7] = Se campo e` ed1fave1 .f. se hao .f.
#TI0EI WTh00WS
AA00|aP,{hL1hCef0 ,{120,10},L1hha ha Cef0ados,
0E 999,,,.I.})
#ELSE
AA00|aP,{hL1hCef0 ,{19,0S},L1hha ha Cef0ados,
0E 999,,,.I.})
#Eh0TI
#TI0EI WTh00WS
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 107
aCC0:={44,S,11,31S}
#ELSE
aCC0:={10,04,1S,73}
#Eh0TI
cL1hha0k := Exec1ock|`Md2L1h0k`,.f.,.f.)
cTudo0k := Exec1ock|`Md2Tud0k`,.f.,.f.)
// 1Pef = .f. se cohf1mou
// 1Pef = .f. se cahce1ou
1Pef:=Mode1o2|cT1fu1o,aC,aP,aCC0,h0pcx,cL1hha0k,cTudo0k)
// ho W1hdoWs ex1sfe a fuhcao de apo1o Ca11M0d20b|) que
// efoha o obefo Cefdados Coehfe
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 108
Me6e|e3
1|po: liocessaaeuto
Executa cadastro semelhante ao cadastro de Pedidos de Venda, cabealho varivel
com itens.
Sintaxe
Modelo3(cTitulo,cAliasEnchoice,cAliasGetD,aCpoEnchoice,cLinOk,cTudOk,nOpcE,nOpcG,cFieldOk,
[lVirtual,nLinhas,aAltEnchoice])
Parmetros
cTitulo Ttulo da janela
cAliasEnchoice lias do cabealho
cAliasGetd lias dos itens
aCpoEnchoice Array com os campos que sero mostrados
cLinOk Funo para validar a mudana de linha nos itens.
cTudOk Funo para validar todos os itens.
nOpce Nmero da opo do menu para o cabealho (Enchoice)
nOpcG Nmero da opo do menu para o itens (GetDados)
cFieldOk Funo para validar os campos dos itens (GetDados)
lVirtual Permite visualizar campos virtuais na enchoice.
Default = .F.
nLinhas Limita o nmero mximo de linhas (GetDados)
Default = 99.
aAltEnchoice Array com campos alterveis (Enchoice)
Default = Todos.
Retorna
lRet Retorno da funo modelo3. Se True a operao foi confirmada.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 109
Exemplo
aPof1ha := {{ Pesqu1sa,AxPesqu1, 0 , 1},
{ v1sua1,Axv1sua1, 0 , 2},
{ Thc1u1,AxThc1u1, 0 , 3},
{ A1fea,AxA1fea, 0 , 4, 20 },
{ Exc1u1,Ax0e1efa, 0 , S, 21 }}
//uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// 0pcoes de acesso paa a Mode1o 3
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu
c0pcao:=vTSbALTZAP
0o Case
Case c0pcao==ThCLbTP h0pcE:=3 h0pcC:=3
Case c0pcao==ALTEPAP h0pcE:=3 h0pcC:=3
Case c0pcao==vTSbALTZAP h0pcE:=2 h0pcC:=2
EhdCase
//uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// C1a va1ave1s M->????? da Ehcho1ce
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu
PegToMemoy|SCS,|c0pcao==ThCLbTP))
//uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// C1a aheade e aCo1s da Cef0ados
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu
hbsado:=0
dbSe1ecfAea|SX3)
dbSeek|SC6)
aheade:={}
Wh11e !Eof|).Ahd.|x3aqu1vo==SC6")
Tf A11f1m|x3campo)==C6TTEM
dbSk1p|)
Loop
Ehd1f
Tf X3bS0|x3usado).Ahd.ch1ve1>=x3h1ve1
hbsado:=hbsado+1
Aadd|aheade,{ TPTM|x3f1fu1o), x3campo, x3p1cfue,
x3famahho, x3dec1ma1,A11WaysTue|),
x3usado, x3f1po, x3aqu1vo, x3cohfexf } )
Ehd1f
dbSk1p|)
Ehd
Tf c0pcao==ThCLbTP
aCo1s:={Aay|hbsado+1)}
aCo1s|1,hbsado+1]:=.I.
Io h1:=1 fo hbsado
aCo1s|1,h1]:=C1ava|aheade|h1,2])
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 110
hexf
E1se
aCo1s:={}
dbSe1ecfAea|SC6)
dbSef0de|1)
dbSeek|xI111a1|)+M->CShbM)
Wh11e !eof|).ahd.C6hbM==M->CShbM
AA00|aCo1s,Aay|hbsado+1))
Io h1:=1 fo hbsado
aCo1s|Leh|aCo1s),h1]:=I1e1dCef|I1e1dPos|aheade|h1,2]))
hexf
aCo1s|Leh|aCo1s),hbsado+1]:=.I.
dbSk1p|)
Ehd
Ehd1f
Tf Leh|aCo1s)>0
//uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// Execufa a Mode1o 3
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu
cT1fu1o:=Tesfe de Mode1o3|)
cA11asEhcho1ce:=SCS"
cA11asCef0:=SC6"
cL1h0k:=A11WaysTue|)
cTud0k:=A11WaysTue|)
cI1e1d0k:=A11WaysTue|)
aCpoEhcho1ce:={CSCLTEhTE}
1Pef:=Mode1o3|cT1fu1o,cA11asEhcho1ce,cA11asCef0,aCpoEhcho1ce,cL1h0k,cTud0k,h0pcE,h0pcC,cI1e1d0k)
//uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// Execufa pocessamehfo
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu
Tf 1Pef
Av1so|Mode1o3|),Cohf1mada opeacao!,{0k})
Ehd1f
Ehd1f
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 111
MeataI3
1|po: liocessaaeuto
Permite o acesso janela de Consultas Padronizadas (criadas no SXB) atravs de
um GET usando a tecla F3.
Sintaxe
MontaF3(cAlias)
Parmetros
cAlias Alias do arquivo ou cdigo de tabela para consulta. Se no
informado, desabilita a tecla F3.
Exemplo
// Exemp1o de uso da fuhcao MohfaI3:
// vesao 00S
cCod := Space|1S)
002,S0 Say 01g1fe o cod1go: Cef cCod P1cfue 0!
Wheh MohfaI3|S1) va11d|MohfaI3|))
Pead
Pefuh
// """""""""""""""""""""""""""
// vesao WTh00WS
// bse a pop1a c1ausu1a do comahdo gef:
0 2S0,2S0 To 360,4S0 01a1og o01g T1f1e Tesfe
0 02,S0 Cef cCod P1cfue 0! I3 S1
Acf1vafe 01a1og o01g Cehfeed
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 112
Mev|m00
1|po: liocessaaeuto
Retorna o movimento de um centro de custo mais conta contbil (extracontbil).
Sintaxe
MovimCC(cCC, cConta, nMs, nMoeda)
Parmetros
cCC Cdigo do centro de custo
cConta Cdigo da conta contbil
nMs Referente ao ms
nMoeda Moeda desejada para obteno do valor
Exemplo
Mov1mCC|3001, 111001,Mohfh|0dafabase),1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 113
Mev|meate
1|po: liocessaaeuto
Devolve o movimento (dbito-crdito) de uma determinada conta, ou seja, o saldo
do movimento.
Sintaxe
Movimento(cCdigo,nMs,nMoeda,dData)
Parmetros
cCdigo Cdigo da conta
nMs Ms do movimento desejado
nMoeda Moeda desejada para obteno do movimento
dData Data do exerccio desejado
Exemplo
Mov1mehfo|43,1,1, CT00 |"01/01/9S") - efoha o 1 pe1odo
Mov1mehfo|`43,1,1,CT00|01/01/96) - efoha o 13 pe1odo
// Ex1be uma mehsagem ho d1a1ogo
MsPocTxf|Pocessahdo podufo: +1C00)
// Pocessamehfo...
dbSk1p|)
Ehd0o
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 114
Ms0etVers|ea
1|po: liocessaaeuto
Retorna array com as verses do Windows NT.
Sintaxe
MsGetVersion( )
Exemplo
avesao := MsCefves1oh|)
0 001, 010 PSAY `vesao do W1hdoWs : ` + Sf| avesao|1], 2 ) + `.` + Sf|
avesao|2], 2 )
0 00, 010 PSAY `vesao do 0os : ` + Sf| avesao|3], 2 ) + `.` + Sf|
avesao|4], 2 )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 115
Msg8ex
1|po: 1e|a w|udoWs
Abre uma caixa de dialogo padronizada para informar o usurio de um Erro
deciso a ser tomada ou apenas uma informao (Registro Gravado com
sucesso).
Sintaxe
MSGBOX(cMensagem,cTtulo,cTpCaixa)
Parmetros
cMensagem Define a mensagem apresentada no interior da janela
cTtulo Titulo da janela
cTpCaixa Tipo da caixa padronizada
Retorno
Retorna Nil ou um valor lgico (.T. ou .F.) conforme o tipo de caixa.
Comentrios
As caixas assumem o tamanho de <cMensagem>.
Tipos de caixas:
STOP, utiliza um bitmap para advertncia e tem um boto Ok. Retorna Nil.
INFO, utiliza um bitmap para advertncia e tem um boto Ok. Retorna Nil.
ALERT, utiliza um bitmap para advertncia e tem um boto Ok. Retorna Nil.
YESNO, utiliza um bitmap para advertncia e tem dois botes Sim e No,
retorna .T. ou .F.
RETRYCANCEL, utiliza um bitmap para advertncia e tem dois botes
Repetir e Cancelar, retorna .T. ou .F.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 116
..1e...Ma|t|l|ae
1|po: 1e|a w|udoWs
Ativa Browse para edio de mltiplos itens padro SigaAdv Win (GetDados
Itens SC6).
Sintaxe
@ nLinha1,nColuna1 TO nLinha2,nColuna2 MULTILINE <<MODIFY>> <<DELETE>> <<VALID>> cFuno <<FREEZE>> nColuna
Parmetros
nLinha1 Nmero da linha superior
nColuna1 Nmero da coluna superior
nLinha2 Nmero da linha inferior
nColuna2 Nmero da coluna inferior
cFuno Funo a ser executada para validar mudana de linha <opcional>
nColuna Nmero de colunas Congeladas esquerda <opcional>
Comentrios
As clusulas opcionais permitidas controlam as Alteraes, Excluses e Valida-
es nas mudanas de linha e congelamento de colunas respectivamente.
Devem ser criadas obrigatoriamente as matrizes aHeader [n][n] e aCols
[n][n] antes da definio da MULTILINE, sendo que aHeader [n][n] contm
informaes sobre os campos que sero editados (SX3) e aCols [n][n] contm os
dados referentes aos campos que sero editados.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 117
haeVat|e
1|po: liocessaaeuto
Verifica se o campo no est vazio.
Sintaxe
NaoVazio(cCpo)
Parmetros
cCpo Campo a verificar
Retorna
ExpL1 Valor Lgico de Retorno (.T. ou .F.)
Exemplos
0 S,10 Cef cCod1go va11d haovaz1o|cCod1go}
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 118
hegat|ve
1|po: liocessaaeuto
Verifica se negativo.
Sintaxe
Negativo(nCpo)
Parmetros
nCpo Campo a verificar
Retorna
ExpL1 Se o valor de nCpo for menor que 0, retornado .T., caso contrrio
ser retornado .F..
Exemplos
Tf hegaf1vo |nva1T1fu1o}
0 S,10 Say va1o 1hva11do
Loop
EhdTf
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 119
0rca6e
1|po: liocessaaeuto
Retorna o valor orado de uma conta.
Sintaxe
Orcado(cConta, nPerodo,nMoeda,dData)
Parmetros
cConta Cdigo da conta De
nPerdodo Referente ao perodo
nMoeda Moeda desejada para obteno do valor
dData Data para converso (em formato data ou caracter), caso no
informada, ser utilizada a DataBase do sistema
Exemplo
0cado|11102001,1,1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 120
0rca6e00
1|po: liocessaaeuto
Recupera o valor orado da Conta x Centro de Custo para utilizao na planilha.
Sintaxe
OrcadoCC(cConta,cCC,nPerodo,nMoeda,dData)
Parmetros
cConta Cdigo da Conta
cCC Cdigo do Centro de Custo
nPerodo Perodo (default ms da database)
nMoeda Moeda (default 1)
dData Data para converso se moeda de 2 a 5 - (default dDataBase)
Exemplo
0cadoCC| 111001,3001,3,2)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 121
0peaI||e
1|po: liocessaaeuto
a funo que exibe o diagnstico de arquivos, verificando a existncia dos
arquivos de dados e os ndices do sistema, criando caso no existam, etc. Abre os
arquivos de acordo com o mdulo onde executada ou de acordo com a
parametrizao.
Sintaxe
OpenFile(cEmp)
Parmetros
cEmp Cdigo da empresa que deve ser aberta.
Exemplo
// Exemp1o de uso da fuhcao opehf11e:
cEmp := SM0->M0C00TC0
// E11m1ha os 1hd1ces de fodos os aqu1vos abefos ho
// SX2 paa e1hdexacao
dbSe1ecfAea|SX2)
dbCoTop|)
Wh11e !E0I|)
Tf Se1ecf|SX2->X2ChAvE) > 0
dbSe1ecfAea|SX2->X2ChAvE)
dbC1oseAea|)
cEsp := A11T1m|SX2->X2PATh)
cEsp := cEsp + A11T1m|SX2->X2APbTv0) + """ + PefThdExf|)
fEase|cEsp)
Ehd1f
dbSe1ecfAea|SX2)
dbSk1p|)
Ehd0o
dbC1oseA11|) // Iecha fodos os aqu1vos
0pehI11e|cEmp) // Abe os aqu1vos |e1hdexa)
Pefuh
" Pamefo cEmp apehas ho W1hdoWs.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 122
0ar8pee|
1|po: lapiesso
Abre a tela do gerenciador de impresso do sistema. O gerenciador mostra os
relatrios impressos em disco gravados no diretrio definido atravs do parmetro
MV_RELATO.
Sintaxe
OurSpool(cArq)
Parmetros
cArq Nome do arquivo. Este parmetro opcional, se informado, o
gerenciador de impresso j aberto neste arquivo.
Exemplo
// Exemp1o de uso da fuhcao ouspoo1:
// Af1va o geehc1ado de 1mpessao:
0uSpoo1|)
// Paa ve1f1ca o uso desfa fuhcao em e1afo1os,
// ve1f1que o exemp1o da fuhcao AvALTMP.
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 123
Pergaate
1|po: lapiesso
Esta funo permite acessar e editar um grupo de perguntas do arquivo SX1.
Mostra uma tela contendo as perguntas gravadas em SX1 a serem respondidas ou
confirmadas pelo usurio.
Sintaxe
Pergunte(cGrupo, lVar)
Parmetros
cGrupo Nome do Grupo de perguntas.
lVar .F. - devolve o contedo das variveis, no apresentando a janela de
perguntas; .T. - permite a alterao das variveis, apresentando a
janela.
Retorna
ExpL1 .T. se o grupo de perguntas existe.
Exemplos
peguhfe|AIP090,.T.)
// va1ve1s uf111zadas ha peguhfa
// mvpa01 a paf1 da dafa
// mvpa02 af a dafa
// mvpa03 da cohfa
// mvpa04 af a cohfa
// mvpa0S do cehfo de cusfo
// mvpa06 af o cehfo de cusfo
// mvpa07 do cd1go
// mvpa0 af o cd1go
// mvpa09 do poefo
// mvpa10 af o poefo
// mvpa11 moeda
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 124
Per|e6e
1|po: liocessaaeuto
Devolve o perodo contbil de acordo com o exerccio atual.
Sintaxe
Periodo(dData,nMoeda)
Parametros
dData Data a ser considerada. Se no for especificada, assumida a data
base.
nMoeda Moeda a ser considerada. Se no for especificada, assumida a
primeira moeda.
Retorna
nPer Perodo contbil retornado.
Exemplo
Veja o exemplo da funo CALCSALDO.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 125
Perteace
1|po: liocessaaeuto
Verifica se o campo est contido em outro.
Sintaxe
Pertence(cString,cCampo)
Parmetros
cString String que deve estar contida no cCampo
cCampo Campo a verificar
Retorna
ExpL1 Valor Lgico de Retorno (.T. ou .F.)
Exemplo
SefCuso|1)
0 09,19 Cef cT1po P1cfue 0! va11d Pefence|CL\v0\P0,cT1po}
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 126
PesP|ct
1|po: liocessaaeuto
Pesquisa, no dicionrio de dados, qual a picture usada em um determinado campo,
seja para a edio em tela ou para a impresso de relatrios.
Sintaxe
PesqPict(cAlias,cCampo,nTam)
Parmetros
cAlias Alias do arquivo
cCampo Nome do campo
nTam Opcional, para campos numricos, ser usado como o tamanho do
campo para definio da picture. Se no informado, e usado o
tamanho padro no dicionrio de dados.
Retorna
cPic Picture do campo
Exemplo
// Exemp1o de uso da fuhcao PesqP1cf
// Em um e1afo1o pode-se usa a s1hfaxe aba1xo paa
// fomafacao aufomaf1ca de acodo com o d1c1oha1o de
// dados:
0 hL1h,20 Say Tofa1:
0 hL1h,27 Say SI2->I2vALPbT P1cfue PesqP1cf|SI2,I2vALPbT)
// ...
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 127
PesP|ct0t
1|po: liocessaaeuto
Devolve a Picture de um campo de quantidade, de acordo com o dicionrio de
dados.
Esta funo geralmente utilizada quando h pouco espao disponvel para
impresso de valores em relatrios, quando o valor nEdio no informado, ela
tem o comportamento semelhante ao da funo X3Picture, pois busca o
tamanho do campo no dicionrio de dados.
Sintaxe
PesqPictQt(cCampo,nEdio)
Parmetros
cCampo Nome do campo a verificar a picture
nEdio Espao disponvel para edio
Retorna
ExpC Picture ideal para o espao definido por nEdio, sem a separao
dos milhares por vrgula
Exemplo
0 ,10 Say S2->2ATb P1cfue PesqP1cff |2ATb,)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 128
Pes|c|eae
1|po: liocessaaeuto
Posiciona o arquivo em um determinado registro.
Sintaxe
Posicione(cAlias, nOrdem, cChave, cCampo)
Parmetros
cAlias Alias do arquivo
nOrdem Ordem utilizada
cChave Chave pesquisa
cCampo Campo a ser retornado
Retorna
Retorna o contedo do campo passado com o permetro.
Exemplo
Pos1c1ohe|SA1,1,xI111a1|SA1)+001,A1h0ME)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 129
Pes|t|ve
1|po: liocessaaeuto
Verifica se positivo.
Sintaxe
Positivo(nCampo)
Parmetros
nCampo Campo a verificar
Retorna
ExpL1 Valor Lgico de Retorno (.T. ou .F.)
Comentrios
Se cCampo for maior ou igual ( >= ) a zero a funo retorna .T.
Caso contrrio retorna .F.
Exemplo
0 09,07 Cef hva1o P1cfue 999999 va11d Pos1f1vo | nva1o }
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 130
Precegaa
1|po: 1e|a DOS/w|udoWs
Inicializa rgua padro de processamento.
Sintaxe
ProcRegua(nRegs,nLinha,nColuna)
Parmetros
nRegs Nmero de registros que sero processados.
nLinha Nmero da Linha da rgua
nColuna Nmero da Coluna da rgua
Retorna
Nil
Exemplo
PocPegua|1000)
Io 1:= 1 fo 1000
ThcPoc|)
hexf
Pefuh
No RdMake Windows a ProcRegua s utiliza o primeiro parmetro. No RdMake
DOS so utilizados os trs parmetros.
= Ver tambm IncProc()
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 131
Prexeg
1|po: liocessaaeuto
Retorna o ltimo registro incrementado. Esta funo retorna um valor, numrico
ou caracter, contendo o prximo nmero a partir do ltimo registro encontrado.
O campo que levado em considerao aquele que se encontra posicionado no
SX3 (dicionrio de dados). Pode ser usada para obter os prximos valores para
campos dos tipos: Caracter, Numrico e Data.
Sintaxe
ProxReg(nInc,nPos,nIndice)
Parmetros
nInc Valor a incrementar
nPos Tamanho
nndice Nmero do ndice a ser utilizado
Retorna
uRet Prximo nmero (ltimo registro incrementado)
Exemplo
// Exemp1o de uso da fuho PoxPeg:
dbSe1ecfAea|SX3)
dbSef0de|2)
dbSeek|A1C00)
dbSe1ecfAea|SA1)
cPox := PoxPeg|1,6,1) // Pefoha o poss1ve1 px1mo
// cd1go paa o cadasfo de
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 132
// c11ehfe
dbSe1ecfAea|SX3)
dbSeek|02hbMSE)
dbSe1ecfAea|S02)
hPox := PoxPeg|1,,4) // Pefoha o pox1mo hmeo
// seqehc1a1
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 133
...a6|e
1|po: 1e|a w|udoWs
Cria uma caixa de seleo semelhante a CHECKBOX, todos os itens so
apresentados mas apenas um pode ser selecionado.
Sintaxe
@ nLinha,nColuna RADIO aArray VAR nPos Object oRdx
Parmetros
nLinha Nmero da linha superior
nColuna Nmero da coluna superior
aArray Matriz [1] com os Itens
nPos Contm a posio na Matriz[1] do item selecionado
oRdx Objeto associado Radiobox()
Retorno
O item selecionado pode ser obtido por - Matriz [n3]
Comentrios
Os itens da Matriz [1] devem ser do tipo C caracter. Pode ser utilizada para
definir uma caracterstica em um conjunto. Ex.Tipo da Condio de pagamento
Tipo 1
Tipo 2
Tipo 3
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 134
ecleck
1|po: liocessaaeuto
Tenta efetuar um lock no registro do banco de dados informado.
Sintaxe
RecLock(cAlias,lAdiciona)
Parmetros
cAlias Alias do Banco de Dados
lAdiciona .T. adiciona registro ao Banco de Dados
Retorna
ExpL1 Valor Lgico de Retorno (.T. ou .F.)
Comentrios
Esta funo tenta colocar o registro corrente do arquivo cAlias em lock.
necessrio colocar um registro em lock sempre que se for efetuar uma
atualizao no mesmo, como um comando Replace ou um Delete. Caso lAdiciona
= .T., a funo RecLock inclui (com um Append Blank) um registro no arquivo
cAlias. Se a operao for bem sucedida, retorna .T.
Exemplo
// Exc1uso de Peg1sfo
// Com 1Ad1c1oha = .I.
Tf ! PecLock|SI1,.I.}
0 1,1 Say Peg1sfo em uso po oufa esfao
Loop
EhdTf
db0e1efe|)
dbbhLock|)
Com ExpL2 = .T.
// Thc1uso de Peg1sfo
PecLock|SI1,.T.)
Pep1ace I1TTP0 W1fh cT1po, I100C W1fh chI1sca1,
I1SEPTE W1fh cSe1e ,I1EMTSSA0 W1fh d0Em1ssao,
I1L0JA W1fh cLoa ,I1I0PhECE W1fh Subs|cA100Io,1,6)
dbbhLock|)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 135
Aps a atualizao do registro, deve-se executar a funo MsUnlock().
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 136
ecMee6a
1|po: liocessaaeuto
Rotina para obteno do valor da moeda desejada em determinada data.
Sintaxe
RecMoeda(dData,nMoeda)
Parmetros
dData Data para obteno do valor da moeda.
nMoeda Moeda desejada.
Retorna
nVMoeda Retorna o Valor da moeda na data desejada.
Exemplo
// Exemp1o de uso da fuhcao PecMoeda:
h0o1a := PecMoeda|d0afaase,2)
hva10o1a := SE1->E1vAL0P " h0o1a
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 137
estkrea
1|po: liocessaaeuto
Restaura a rea RestArea a partir do array.
Sintaxe
RestArea(aArray)
Parmetros
aArray Expresso Array para restaurao
Exemplo
aAay:=CefAea|)
PesfAea|aAay)
Ver tambm
Funo GetArea( )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 138
etk80
1|po: liocessaaeuto
Retorna um cdigo de letras quando ultrapassar o nmero mximo de dgitos.
Sintaxe
RetAsc(cOri,nTam,lAlfa)
Parmetros
cOri String original a ser convertida.
nTam Tamanho mximo para a converso.
lAlfa Indica se o retorno deve conter letras (.T.) ou somente nmeros (.F.)
Retorna
cStr Retorna a String formada com letras ou nmeros.
Exemplo
// Exemp1o de uso da fuhcao PefAsc:
// Supohha a ex1sfehc1a de um campo caacfe de famahho
// 2. bsahdo a fuhcao PefAsc com o paamefo 1A1fa ve-
// dade1o |.T.) se o humeo u1fapassa 99 efohaa A0
cCod := SfZeo|PoxPeg|1,2,1),2)
// Se u1fapassa 99 efoha A0
cCod := PefAsc|cCod,2,.T.)
Pefuh|cCod)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 139
etla6ex
1|po: liocessaaeuto
Devolve os ndices padres do SIGA.
Sintaxe
RetIndex(cAlias)
Parmetros
cAlias Alias do Arquivo
Retorna
Nmero ndices existentes no SINDEX
Comentrios
Baseado no SINDEX, abre todos os ndices padres para o arquivo em pauta.
Exemplo
Se1ecf SA1
Thdex oh A1ACbM fo TPA
:
STh0EX := PefThdex |SA1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 140
e||8ack8X8
1|po: liocessaaeuto
Retorna o nmero obtido pela funo GETSX8NUM no semforo como penden-
te. Verifique a funo GETSX8NUM para maiores detalhes.
Sintaxe
RollBackSx8()
Exemplo
Verifique os exemplos na funo GETSX8NUM.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 141
pt8tatas
1|po: liocessaaeuto (Apeuas w|udoWsi
Executa funo de detalhe do relatrio.
Sintaxe
RptStatus(bBlock) => RptStatus(bBlock, cTtulo, cMsg)
Parmetros
bBlock Bloco de cdigo que define a funo a ser executada.
cTtulo Ttulo do dilogo de processamento.
cMsg Mensagem do dilogo de processamento.
Comentrios
Pode ser utilizada com os parmetros:
RptStatus( { | | Execute(Nome da Funo) } )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 142
8a|6e
1|po: liocessaaeuto
Calcula o saldo de uma determinada conta at o perodo informado e na moeda
especificada.
Sintaxe
Saldo(cConta,nPer,nMoeda)
Parmetros
cConta Cdigo da conta desejada.
nPer Perodo contbil at o qual ser feito o clculo.
nMoeda Moeda desejada.
Retorna
nSld Retorna o Saldo da conta at o perodo desejado.
Exemplo
// Exemp1o de uso da fuhcao Sa1do:
cCohfa := SA1->A1C0hTA
hS1 := Sa1do|cCohfa,Pe1odo|d0afaase,2),2)
cS1 := Tahsfom|hS1,0E 9,999,999.99")
A1ef|0 sa1do da cohfa +cCohfa+ ha moeda 2 e`: +cS1)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 143
8a|6e00
1|po: liocessaaeuto
Calcula o saldo atual em um determinado centro de custo ou conta (extracontbil).
O arquivo SI3 deve estar posicionado para a obteno dos valores para o clculo.
Sintaxe
SaldoCC(cCC,cConta,nPer,nMoeda)
Parmetros
cCC Centro de Custo desejado
cConta Cdigo da conta
nPer Perodo at o qual o acmulo deve ser calculado
nMoeda Moeda desejada
Retorna
nSld Saldo atual retorna do.
Exemplo
// Exemp1o de uso da fuhcao Sa1doCC:
// Assum1hdo-se que o ST3 esfa pos1c1ohado, hao e heces-
// sa1o 1hfoma o cehfo de cusfo e a cohfa.
hS1d := Sa1doCC|,,12,1)
efuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 144
8a|6e0aste
1|po: liocessaaeuto
Calcula o saldo dos centro de custos extracontbeis.
Sintaxe
SaldoCusto(cCC1,cCC2,cConta1,cConta2,nMs,nMoeda)
Parmetros
cCC1 Centro de Custo Inicial
cCC2 Centro de Custo Final
cConta1 Conta Inicial
cConta2 Conta Final
nMs Ms (se nula, assume o ms de referncia da database)
nMoeda Moeda (se nula, ser assumido 1)
Exemplo
Sa1doCusfo|1007, 1099, 3, 4, 10, 1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 145
8a|6e882
1|po: liocessaaeuto
Esta funo calcula o saldo atual do produto (do Arquivo SB2), descontando os
valores empenhados, reservados, etc. necessrio que o Arquivo SB2 esteja
posicionado no produto desejado.
Sintaxe
SaldoSB2()
Retorna
nSld Retorna o Saldo do produto calculado.
Exemplo
// Exemp1o de uso da fuhcao Sa1doSb2:
cPod := Space|1S)
0 10,10 Cef cPod P1cfue 0!
Pead
dbSe1ecfAea|S2)
dbSeek|cPod)
cS1d := Tahsfom|Sa1doSb2|),0E 9,999,999.99")
A1ef|Esfe podufo fem um sa1do de: +cS1d)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 146
8et0efaa|t
1|po: liocessaaeuto
Habilita os padres definidos pela funo SetPrint.
Sintaxe
SetDefault (aArray, cAlias)
Parmetros
aArray Array aReturn, preenchido pelo SetPrint
[1] Reservado para Formulrio
[2] Reservado para N de Vias
[3] Destinatrio
[4] Formato => 1-Comprimido 2-Normal
[5] Mdia => 1-Disco 2-Impressora
[6] Porta ou Arquivo 1-LPT1... 4-COM1...
[7] Expresso do Filtro
[8] Ordem a ser selecionada
[9]..[10]..[n] Campos a Processar (se houver)
cAlias Alias do arquivo a ser impresso.
Retorna
Nil
Comentrios
Esta funo habilita os padres de relatrio alterados pela funo SetPrint.
Exemplo
// 0ef1he va1ve1s
cSf1hg:= S1
homePe1:= MATP290
cPeg := MTP290
f1fu1o := PELA0 PAPA AhALTSE 00S EST0bES
c0esc1 := Esfe e1af1o demohsfa a s1fuao de cada 1fem em
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 147
c0esc2 := e1ao ao seu sa1do , seu empehho , suas ehfadas pev1sfas
c0esc3 := e sua c1asse AC.
a0d := { Po Cod1go , Po T1po }
Tamahho := C
// Ehv1a cohfo1e paa a fuho SETPPThT
homePe1:= SefP1hf| cSf1hg, homePe1, cPeg, 0f1fu1o, c0esc1,
c0esc2, c0esc3, .I., a0d, .I., Tamahho)
Tf LasfKey|) = 27 .o. hLasfKey = 27
PesfSceeh|3,0,24,79,cSavSc1)
Pefuh
Ehd1f
Sef0efau1f|aPefun,cA11as}
Tf LasfKey|) = 27 .0P. hLasfKey = 27
PesfSceeh|3,0,24,79,cSavSc1)
Pefuh
Ehd1f
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 148
8et0|g
1|po: 1e|a w|udoWs
Colocar um ttulo em uma Dialog.
Sintaxe
SetDlg(oWnd, cText)
Parmetros
oWnd Objeto da janela
cText Novo Texto
Exemplo
Tf | ThCLbT )
cCapf1oh := `Thc1usao de Ped1dos`
E1seTf | ALTEPA )
cCapf1oh := `A1feacao de Ped1dos`
EhdTf
Sef01g| o01g, cCapf1oh )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 149
8etPr|at
1|po: lapiesso
Altera os padres de impresso.
Sintaxe
SetPrint(cAlias, cNomeRel, cPerg, cDesc1, cDesc2, cDesc3, cDesc4, lDic, aOrdem, lComp, cClass)
Parmetros
cAlias Alias do Arquivo Principal (se existir)
cNomeRel Nome padro do relatrio
cPerg Nome do grupo de perguntas
cDesc1 ..cDesc4 Descrio do Relatrio
lDic Habilita o Dicionrio de Dados
.T. Habilita (s utilizar em conjunto com a funo
ImpCadast)
.F. Desabilita
aOrdem Array contendo as ordens de indexao do arquivo principal.
lComp Habilita a alterao da compresso do relatrio
.T. Habilita
.F. Desabilita
cClass Classificao do Relatrio por Tamanho ( G, M ou P )
P 80 colunas
M 132 colunas
G 220 colunas
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 150
Retorna
ExpC Nome do arquivo com o relatrio impresso em disco opcionalmente
alterado pelo usurio
Comentrios
Esta funo possibilita a alterao de determinados padres dos relatrios. Ela
funciona em conjunto com a funo SetDefault.
Exemplo
// 0ef1he va1ve1s
cSf1hg:= S1
homePe1:= MATP290
cPeg := MTP290
f1fu1o := PELA0 PAPA AhALTSE 00S EST0bES
c0esc1 := Esfe e1af1o demohsfa a s1fuao de cada 1fem em
c0esc2 := e1ao ao seu sa1do , seu empehho , suas ehfadas pev1sfas
c0esc3 := e sua c1asse AC.
a0d := { Po Cod1go , Po T1po }
Tamahho:= C
// Ehv1a cohfo1e paa a fuho SETPPThT
homePe1 := SefP1hf| cSf1hg, homePe1, cPeg, 0f1fu1o, c0esc1,
c0esc2, c0esc3, .I., a0d, .I., Tamanho }
Tf LasfKey|) = 27 .o. hLasfKey = 27
PesfSceeh|3,0,24,79,cSavSc1)
Pefuh
Ehd1f
Sef0efau1f|aPefuh,cA11as)
Tf LasfKey|) = 27 .0P. hLasfKey = 27
PesfSceeh|3,0,24,79,cSavSc1)
Pefuh
Ehd1f
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 151
8etegaa
1|po: lapiesso (DOS/ w|udoWsi
Inicializa rgua padro em relatrios.
Sintaxe
SetRegua(nRegs)
Parmetros
nRegs Nmero de registros que sero processados.
Retorno
Nil
Exemplo
0bSe1ecfAea|SA1)
SefPegua|LasfPec|))
Wh11e | ! Eof|) )
0 L1, 001 PSAY SA1->A1h0ME
0bSk1p|)
ThcPegua|)
Ehd 0o
Comentrio
Ver tambm incRegra.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 152
8|68ce
1|po: liocessaaeuto
Retorna o saldo bancrio em uma data.
Sintaxe
SldBco(cBanco,cAgncia,cConta,dData,nMoeda)
Parmetros
cBanco Cdigo do Banco
cAgncia Agncia Bancria
cConta Conta Bancria
dData Data do Saldo
nMoeda Moeda do Saldo Bancrio
Exemplo
S1dco|409,0019,011122, d0afaase,1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 153
8|60||eate
1|po: liocessaaeuto
Retorna o saldo a receber do cliente em uma determinada data.
Sintaxe
SldCliente(cCliente,dData,nMoeda,lSaldo)
Parmetros
cCliente Cdigo do Cliente+Loja
dData Data do Movimento a Receber (padro dDataBase)
nMoeda Moeda
lSaldo Se .T. considera o saldo do SE5 (padro .T.)
Exemplo
S1dC11ehfe|00000101,d0afaase)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 154
8|6Ieraece
1|po: liocessaaeuto
Retorna o saldo a pagar do fornecedor em uma data.
Sintaxe
SldFornece(cFornece,dData,nMoeda,lSaldo)
Parmetros
cFornece Cdigo do Fornecedor+Loja
dData Data do Movimento a Pagar (padro dDataBase)
nMoeda Moeda - (padro 1)
lSaldo Se .T. considera o saldo do SE5 (padro .T.)
Exemplo
S1dIohece|00000101")
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 155
8|6Pagar
1|po: liocessaaeuto
Retorna o saldo a pagar em uma determinada data.
Sintaxe
SldPagar(dData,nMoeda,lData)
Parmetros
dData Data do Movimento a Pagar ( padro dDataBase)
nMoeda Moeda (padro 1)
lData Se .T. At a Data, .F. Somente Data (padro .T.)
Exemplo
S1dPaga|d0afaase,1,.T.)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 156
8|6eceher
1|po: liocessaaeuto
Retorna o saldo a receber em uma data.
Sintaxe
SldReceber(dData,nMoeda,lData)
Parmetros
dData Data do Movimento a Receber.
nMoeda Moeda - default 1
lData .T. - at a Data; .F. - somente Data (o padro .T.)
Exemplo
S1dPecebe|0afa,1,.T.)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 157
8ema0eatas
1|po: liocessaaeuto
Retorna o saldo acumulado de um grupo de contas, de acordo com a sintaxe
apresentada. Esta funo considera somente contas de classe A analtica
Sintaxe
SomaContas(cLista,nMs,nMoeda)
Parmetros
cLista Lista de contas, cercada por aspas ().
O separador : (dois pontos) informa intervalo de contas De-At.
O separador , (vrgula) informa separao de contas.
nMs Ms (default ms da database)
nMoeda Moeda (default 1)
Exemplo
SomaCohfas|11101001,3,1)
Dc+o+c o aoo oa :on!a cw quc!o no wc 5 na wocoa J.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 158
8emaMev|m
1|po: liocessaaeuto
Retorna o movimento dentro de um intervalo de contas analticas.
Sintaxe
SomaMovim(cConta1, cConta2, nMs, nMoeda)
Parmetros
cConta1 Cdigo da conta De
cConta2 Cdigo da conta At
nMs Referente ao ms
nMoeda Moeda desejada para obteno do valor
Exemplo
SomaMov1m|41304,4130S,12,1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 159
8emar
1|po: liocessaaeuto
Faz o somatrio de um arquivo, retornando o valor acumulado de um campo
determinado.
Sintaxe
Somar(cAlias, cCond, cCampo)
Parmetros
cAlias Alias do arquivo
cCond Condio para soma
cCampo Campo a ser somado
Exemplo
Soma|ST1",T1CLASSE=S ,T1SALAhT)
Caso o usurio no deseje definir nenhuma condio, a ExpC2 deve ser .T..
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 160
8ema8a|6e
1|po: liocessaaeuto
Retorna o saldo atual entre um intervalo de contas.
Sintaxe
SomaSaldo(cConta1, cConta2, nPerodo, nMoeda)
Parmetros
cConta1 Cdigo da conta De
cConta2 Cdigo da conta At
nPerodo Referente ao perodo
nMoeda Moeda desejada para obteno do valor
Exemplo
SomaSa1do|31001,31010,12,1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 161
8amMev|m00
1|po: liocessaaeuto
Retorna o movimento de um intervalo de centro de custos extracontbeis. Poder ser
parametrizados tambm um grupo de contas.
Sintaxe
SumMovimCC(cCC1,cCC2,cConta1,cConta2,nMs,nMoeda)
Parmetros
cCC1 do Centro de Custo
cCC2 at Centro de Custo
cConta1 da Conta
cConta2 at a Conta
nMs Ms (default ms da database)
nMoeda Moeda (default 1)
Exemplo
SumMov1mCC| 3001,3100,31001,31010,12,1)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 162
1ahe|a
1|po: liocessaaeuto
Devolve o contedo da tabela de acordo com a chave. Esta funo usada para
a obtencao do contedo de uma determinada tabela, na chave especificada.
Retorna o conteudo, possibilitando inclusive a exibio de um help caso a tabela
no exista.
Sintaxe
Tabela(cTab,cChav,lPrint)
Parmetros
cTab Nmero da tabela a pesquisar (deve ser informado como caracter).
cChav Chave a pesquisar na tabela informada.
lPrint Indica se deve (.T.) ou no (.F.) exibir o help ou a chave NOTAB
se a tabela no existir.
Retorna
cRet Contedo da tabela na chave especificada. Retorna nulo caso a
tabela no exista ou a chave no seja encontrada.
Exemplo
// Exemp1o de uso da fuhcao fabe1a:
// Supohha a ex1sfehc1a da fabe1a 99 |fabe1a de
// vehdedo x Com1ssao):
// Chave Cohfeudo
// ---------------------
// v0 10
// v1 2.20
// v3 S
// Pode-se faze um gaf11ho que, quahdo da 1hfomacao do
// cod1go do vehdedo ho cadasfo, sug1a o pecehfua1
// da fabe1a ac1ma, de acodo com as duas p1me1as po-
// s1coes do cod1go d1g1fado:
//Caf11ho-0om1h1o : A3C00
// Cfa. 0om1h1o: A3C0MTS
// Pega : va1|Tabe1a|99,Leff|M->A3C00,2)))
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 163
1am8X3
1|po: liocessaaeuto
Retorna o tamanho de um campo no SX3 (dicionrio de dados).
Sintaxe
TamSx3(cCampo)
Parmetros
cCampo Nome do campo.
Retorna
aTam Array com o tamanho e decimais do campo.
Exemplo
// Exemp1o de uso da fuhcao TAMSX3
// Aay aux111a:
aCampos := { {1C00 ,C},
{10ESC,C},
{1E ,h},
{1PPv1,h} }
// C1a aqu1vo de faba1ho com o famahho dos campos
// exafamehfe como ha base de dados, ev1fahdo eos de ]
// 0afa W1dfh Eo:
1 := 0
aSfu := {}
Io 1:=1 To Leh|aCampos)
cCpo := aCampos|1,1]
cTp := aCampos|1,2]
aTam := TamSx3|cCpo)
aAdd|aSfu,{cCpo,cTp,aTam|1],aTam|2])
hexf 1
cAq := C1aTab|aSfu,.T.)
// 0 pogama cohf1hua. . .
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 164
1exte
1|po: liocessaaeuto
No permite a digitao seguida de mais de um espao em branco, em campo do tipo
Caracter.
Sintaxe
Texto(ExpC)
Parmetros
ExpC1 Expresso a ser verificada
Exemplo
Texfo|)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 165
...10
1|po: 1e|a
Desenha um box 3d.
Sintaxe
@ nLInha1,nColuna1 TO nLinha2,nColuna2 <TITLE> cTtulo
Parmetros
nLinha1 Nmero da linha superior
nColuna1 Nmero da coluna superior
nLinha2 Nmero da linha inferior
nColuna2 Nmero da coluna inferior
cTtulo Titulo apresentado na linha superior (opcional)
Comentrios
A clusula TITLE opcional. Se for omitida, o box no ter ttulo.
Exemplo
0 000, 000 T0 430, S00 0TAL0C o01g TTTLE Thfepefado xase fo W1hdoWs
0 060, 00S T0 1S, 24S TTTLE `Exemp1os`
0 070, 010 bTT0h 0befos s1cos STZE 70,20 ACTT0h Execufe|as1c0b)
0 070, 090 bTT0h oWses STZE 70,20 ACTT0h Execufe|oWse)
0 130, 170 bTT0h 01g c/Pefesh STZE 70,20 ACTT0h Execufe|01g01ham)
0 160, 090 bTT0h SL STZE 70,20 ACTT0h Execufe|Sq10emo)
0 192,21 MPbTT0h TYPE 1 ACTT0h C1ose|o01g)
ACTTvATE 0TAL0C o01g CEhTEPE0
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 166
1M
1|po: liocessaaeuto
Devolve a Picture de impresso de campos numricos dependendo do espao
disponvel.
Sintaxe
TM(nValor, nEdio, nDec)
Parmetros
nValor Valor a ser editado
nEdio Espao disponvel para edio
nDec Nmero de casas decimais
Retorna
ExpC1 Picture ideal para edio do valor nValor.
Comentrios
Esta rotina leva em considerao duas variveis:
MV_MILHAR Determina se deve haver separao de milhar;
MV_CENT Nmero de casas decimais padro da moeda corrente.
Para ajustar o valor passado (ExpN1) ao espao disponvel (ExpN2) o programa
verifica se pode haver separao de milhar, neste caso, a rotina eliminar tantos
pontos decimais quantos sejam necessrios ao ajuste do tamanho. Caso no seja
possvel ajustar o valor ao espao dado, ser colocado na picture o caracter de
estouro de campo . O programa tambm ajusta um valor ao nmero de decimais
(ExpN3), sempre imprimindo a quantidade de decimais passados no parmetro.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 167
Exemplo
Cabec|T1fu1o,Cabec1,Cabec2,homePog,Tamahho,hT1po)
Ehd1f
11:=11+1
hSa1Ahf := hSa1doAfu-hCompas-hPecPod-hPecCohs
011,00 Say cT1pAhf
011,0S Say hSa1Ahf P1cfue TM|nSa1Anf, 14}
011,23 Say hCompas P1cfue TM|nCompas, 17, 3}
Se o contedo do campo nSalAnt for: 3.423.659.234,48
o valor ser impresso como: 3423659.234,48
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 168
Var|ae
1|po: liocessaaeuto
Retorna a variao em percentual entre dois valores.
Sintaxe
Variao(nFator1,nFator2)
Parmetros
nFator1 Primeiro fator comparativo
nFator2 Segundo fator comparativo
Exemplo
va1acao|100000,S0000)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 169
Vat|e
1|po: liocessaaeuto
Verifica se o campo est vazio.
Sintaxe
Vazio(cCampo)
Parmetros
cCampo Campo a verificar
Retorna
ExpL1 Valor Lgico de Retorno (.T. ou .F.)
Comentrios
Retorna .T. se ExpC1 estiver vazio.
Exemplo
0 9,10 Cef cCod1go va11d !vaz1o|cCod1go}
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 170
X3P|ctare
1|po: liocessaaeuto
Devolve a Picture do campo de acordo com o dicionrio de dados.
Sintaxe
X3Picture(cCampo)
Parmetros
cCampo Nome do campo a verificar a picture.
Retorna
ExpC1 Picture do campo no dicionrio de dados.
Comentrios
Funo geralmente usada para atribuir aos relatrios a efetiva picture de campos
numricos em relatrios.
Exemplo
:
cPe1:=SefP1hf|cA11as, cPogama , , 0cT1fu1o, c0esc1, c0esc2, c0esc3 ,
.T., a0d )
Sef0efau1f|aPefuh, cSf1hg)
:
Wh11e !E0I|)
hL1hha:=hL1hha+1
0hL1hha, 1 Say S2->2ATb P1cfue X3P1cfue|2ATu}
:
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 171
XI|||a|
1|po: liocessaaeuto
Retorna a filial utilizada por determinado arquivo. Esta funo utilizada para
permitir que pesquisas e consultas em arquivos trabalhem somente com os dados
da filial corrente, dependendo claro se o arquivo est compartilhado ou no
(definio que feita atravs do Mdulo Configurador). importante verificar
que esta funo no tem por objetivo retornar apenas a filial corrente, mas retorn-
la caso o arquivo seja exclusivo. Se o arquivo estiver compartilhado, a funo
xFilial retornar dois espaos em branco.
Sintaxe
xFilial(cAlias)
Parmetros
cAlias Alias do arquivo desejado. Se no for especificado, o arquivo
tratado ser o da rea corrente.
Retorna
cFilArq Retorna a Filial para o arquivo desejado.
Exemplo
// Exemp1o de uso da fuhcao xI111a1:
// Supohdo que a f111a1 coehfe sea a 01:
0 10,10 Say xI111a1|S1)
// A 11hha ac1ma 1a 1mp1m1 01 se o aqu1vo de
// podufos esf1ve exc1us1vo. Se esf1ve compaf11hado
// 1mp1m1a .
// bsahdo em pocessamehfos |Pesqu1sa e pocessa
// ehquahfo fo a mesma f111a1):
dbSeek|xI111a1|)+mvpa01)
Wh11e !E0I|) .Ahd. xI111a1|) == S1->1ITLTAL
... Pocessamehfo
Ehddo
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 172
XMee6a
1|po: liocessaaeuto
Rotina para converso de valores entre moedas.
Sintaxe
xMoeda(nVMo,nMo,nMd,dData,nDec)
Parmetros
nVMo Valor na moeda origem.
nMo Nmero da moeda origem.
nMd Nmero da moeda destino.
dData Data para converso.
nDec Nmero de decimais. Se no informado, assume-se 2 casas deci-
mais.
Retorna
nVMoeda Retorna o Valor na moeda de destino.
Exemplo
// Exemp1o de uso da fuhcao xMoeda:
hva1 := SE1->E1vAL0P // va1o ha moeda 1
hvM3 := 0 // Cohfea o va1o ha moeda 3
hvM3 := xMoeda|hva1,1,3,d0afaase)
Pefuh
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 173
Funes para impresso de etiquetas
padro ZPL e Allegro
Visualizao do posicionamento da imagem na etiqueta no
padro Zebra (ZPL):
X
Y Sentido do movimento
de impresso
Microsiga
Visualizao do posicionamento da imagem na etiqueta no
padro Allegro:
Y
X
Sentido do movimento
de impresso
Microsiga
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 174
M808Plh1f
1|po: lapiesso
Configura modelo da impressora, saida utilizada, resoluo na impresso e
tamanho da etiqueta a ser impresso.
Sintaxe
MscbPrinter(cModelPrt, cPorta, nDensidade, nTamanho)
Parmetros
[ModelPrt] String com o modelo de impressora Zebra
Os modelos disponiveis padro Zebra:
S500-6, Z105S-6, Z16S-6, S300, S500-8, Z105S-8,
Z160S-8 ,Z140XI,Z90XI e Z170ZI.
Os modelos disponiveis padro Allegro:
ALLEGRO, PRODIGY, DMX e DESTINY.
cPorta String com a porta
[nDensidade] Nmero com a densidade referente a quantidade de pixel por
mm
[nTamanho] Tamanho da etiqueta em milmetros.
O parmetro nDensidade no necessrio informar, pois ModelPrt o
atualizar automaticamente. A utilizao deste parmetro (nDensidade) dever
ser feita quando no souber o modelo da impressora.
O tamanho da etiqueta ser necessrio quando a mesma no for continua.
Exemplo
MSCPPThTEP|SS00-, C0M2:9600,e,7,2,hTL, 42)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 175
M8088f0lh
1|po: lapiesso
Inicializa a montagem da imagem para cada etiqueta
Sintaxe
MscbBegin(nQtde, nVeloc)
Parmetros
nQtde Quantidade de cpias
nVeloc Velocidade (1,2,3,4,5,6) polegada por segundo
Exemplo
MSCECTh|3,4)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 176
M808fh0
1|po: lapiesso
Finaliza a montagem da imagem.
Sintaxe
MscBend()
Parmetros
Nil
Exemplo
MSCEh0|)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 177
M8088kY
1|po: lapiesso
Imprime um String.
Sintaxe
MscbSay(nXmm, nYmm, cTexto, cRotacao, cFonte, cTam, [lReverso],
[lSerial], [cIncr], [lZerorsL])
Parmetros
nXmm Posio X em Milmetros
nYmm Posio Y em Milmetros
cTexto String a ser impressa
cRotao String com o tipo de Rotao (N,R,I,B)
N-Normal
R-Cima p/Baixo
I-Invertido
B-Baixo p/ Cima
cFonte String com o tipo de Fonte
Zebra : (A,B,C,D,E,F,G,H,0) 0(Zero) - fonte escalar
Alegro : (0,1,2,3,4,5,6,7,8,9) 9 - fonte escalar
cTam String com o tamanho da Fonte
[lReverso] Imprime em reverso quando tiver sobre um box preto
[lSerial] Serializa o codigo
[cIncr] String, valor de incremento da serie
[lZerorsL] Coloca zeros a esquerda na serie
Exemplo
MSCSAY|1S,3,MTCP0STCA ,h,C,01,010",.f.)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 178
5+*5);*)4
1|po: lapiesso
Imprime Cdigo de Barras.
Sintaxe
MscbSayBar(nXmm, nYmm, cConteudo, cRotacao, cTypePrt, nAltura, ldigVer,
lLinha, lLinBaixo, cSubSetIni, nLargura, nRelacao, lCompacta,
lSerial, cIncr)
Parmetros
nXmm Posio X em Milmetros
nYmm Posio Y em Milmetros
cConteudo String a ser impressa
cRotao String com o tipo de Rotao
cTypePrt String com o Modelo de Cdigo de Barras
Zebra
2 - Interleaved 2 of 5
3 - Code 39
8 - EAN 8
E - EAN 13
U - UPC A
9 - UPC E
C - CODE 128
Zebra
D - Interleaved 2 of 5
A - Code 39
G - EAN 8
F - EAN 13
B - UPC A
C - UPC E
E - CODE 128
[nAltura] Altura do cdigo de Barras em Milmetros
[lDigver] Imprime dgito de verificao
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 179
[lLinha] Imprime a linha de cdigo
[lLinBaixo] Imprime a linha de cdigo acima das barras
[cSubSetIni] Utilizado no code 128
[nLargura] Largura da barra mais fina em pontos default 3
[nRelacao] Relao entre as barras finas e grossas em pontos default 2
[lCompacta] Compacta o cdigo de barra
[lSerial] Serializa o cdigo
[cIncr] String, valor de incremento da srie
[lZerorsL] Coloca zeros esquerda na srie
Exemplo
MSCSAYAP|20,22,A11T1m|S1->1C00AP),h,C,13)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 180
M8088kYMfM0
1|po: lapiesso
Monta e imprime um campo MEMO.
Sintaxe
MscbSayMemo(nXmm, nYmm, cConteudo, cRotacao, cTypePrt, nAltura,
ldigVer, lLinha, lLinBaixo, cSubSetIni, nLargura, nRelacao,
lCompacta, lSerial, cIncr)
Parmetros
nXmm Posio X em Milmetros
nYmm Posio Y em Milmetros
nLMemomm Tamanho da 1 linha do campo memo em Milmetros
nQLinhas Quantidade de linhas
cTexto String a ser impressa
cRotao String com o tipo de Rotao (N,R,I,B)
cFonte String com o tipo de Fonte (A,B,C,D,E,F,G,H,0)
cTam String com o tamanho da Fonte
[lReverso] lgica se imprime em reverso quando tiver sobre um box
preto
[cAlign] String com o tipo de Alinhamento do memo
L - Esquerda
R - Direita
C - Centro
J - Margem a margem (justificado)
Exemplo
MSCSAYMEM0|1,10,,4,cTexfo,h,A,9,S",.f.,C)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 181
M80880X
1|po: lapiesso
Imprime um Box.
Sintaxe
MscbBox(nX1mm, nY1mm, nX2mm, nY2mm, [nExpessura], [cCor])
Parmetros
nX1mm Posio X1 em Milmetros
nY1mm Posio Y1 em Milmetros
nX2mm Posio X2 em Milmetros
nY2mm Posio Y2 em Milmetros
[nExpessura] Nmero com a espessura em pixel
[cCor] String com a Cor Branco ou Preto (W ou B)
Exemplo
MSC0X|12,01,31,10,37)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 182
M808l|aeh
1|po: lapiesso
Imprime uma linha horizontal
Sintaxe
MscbLineH(nX1mm, nY1mm, nX2mm, [nExpessura], [cCor])
Parmetros
nX1mm Posio X1 em Milmetros
nY1mm Posio Y1 em Milmetros
nX2mm Posio X2 em Milmetros
[nExpessura] Nmero com a expessura em pixel
[cCor] String com a Cor Branco ou Preto (W ou B)
Exemplo
MSCL1heh|01,10,0,3,)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 183
M808l|aeV
1|po: lapiesso
Imprime uma linha vertical.
Sintaxe
MscbLineV(nX1mm, nY1mm, nY2mm, [nExpessura], [cCor])
Parmetros
nX1mm Posio X1 em Milmetros
nY1mm Posio Y1 em Milmetros
nY2mm Posio X2 em Milmetros
[nExpessura] Nmero com a espessura em pixel
[cCor] String com a Cor Branco ou Preto (W ou B)
Exemplo
MSCL1hev|01,10,0,3,)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 184
M808l0k00I
1|po: lapiesso
Carrega uma imagem para memria da impressora.
Para o padro Zebra, o arquivo do grfico tem que ser do tipo GRF,
gerado atravs de um PCX ou TIF no software fornecido pelo fabricante da zebra.
Para o padro Allegro, o arquivo do grfico pode ser do tipo BMP, PCX eIMG.
No precisa ser convertido.
Sintaxe
MscbLoadGrf(cImagem)
Parmetros
cImagem nome do arquivo que ser carregado
Exemplo
MSCL0A0CPI|L0C0.CPI)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 185
M8080kIl0
1|po: lapiesso
Imprime grfico que est armazenado na memria da impressora.
Sintaxe
MscbGrafic(nXmm, nYmm, cArquivo, [lReverso])
Parmetros
nXmm Posio X em Milmetros
nYmm Posio Y em Milmetros
cArquivo Nome do grfico que foi carregado na memoria da impressora (no
colocar a extenso .GRF)
[lReverso] Imprime em reverso quando tiver sobre um box preto
Exemplo
MSCCPAITC|3,3,L0C0,.f.)
Parmetros que estiverem entre [], significa que no so OBRIGAT-
RIOS.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 186
M808wl1f
1|po: lapiesso
Permite enviar para porta uma linha de programao nativa da Impressora.
Sintaxe
MSCBWRITE(cContedo)
Parmetros
cContedo Linha de programa nativa da impressora.
Exemplo
MSCWPTTE|"^I01,1^C400,S0,2S^IS")
Parmetros que estiverem entre [], significa que no so OBRIGAT-
RIOS e os parmetros que estiverem com *, significa que so ignorados no padro
Allegro.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 187
Tipos de Fontes para Zebra:
As fontes A,B,C,D,E,F,G,H, so do tipo BITMAPPEDs, tem tamanhos definidos
e podem ser expandidos proporcionalmente a dimenso mnima.
Exemplo:
Fonte do tipo A, 9 X 5 ou 18 x 10 ou 27 X 15
A fonte 0 (Zero) do tipo ESCALAR, esta ser gerada na memria da impressora,
portanto, torna-se um processamento lento.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 188
Tipos de Fontes para Allegro:
As fontes 0,1,2,3,4,5,6,7,8, so do tipo BITMAPPEDs, tem tamanhos definidos
e podem ser expandidos.
Exemplo:
Fonte do tipo 1, 1 X 1 ou 1 x 2 ou 1 X 3 ou 2 X 1 ou 2 X 2
A fonte 9 (Nove) do tipo ESCALAR, esta ser gerada na memria da impressora,
portanto, torna-se um processamento lento, as dimenses deste tipo de fonte tem
que ser passado junto com o tamanho da fonte.
Exemplo: cTam := "001,001,002"
Dimenso da fonte que pode ser de 0 a 9
Tamanho da fonte
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 189
Utilizando as funes:
Exemplo: padro Zebra
MSCPPThTEP|SS00-,C0M2:9600,e,7,2",,42) //Sefa f1po de 1mpessoa
padao ZPL
MSCL0A0CPI|L0C0.CPI) //Caega o 1ogof1po paa 1mpessoa
MSCECTh|2,4) //Th1c1o da Tmagem da Ef1quefa
//com 2 cop1as e ve1oc1dade 4 ef1quefas po po1egadas
MSC0X|01,01,0,40) //Mohfa 0X
MSC0X|12,01,31.S,10,37)
MSCCPAITC|2.3,2.S,L0C0) //Pos1c1oha o 1ogof1o
MSCSAY|1S,3,MTCP0STCA ,h,C,01,010") //Tmp1me Texfo
MSCSAY|13,6.S,S0ITWAPE S/A,h,C,01,010")
MSCL1heh|01,10,0) //Mohfa L1hha ho1zohfa1
MSCSAY|3S,2,Cd1go Thfeho,h,,11,7")
MSCSAY|3S,S,S1->1C00,h,E,2,1S")
MSCSAY|4,12,0esc1cao,h,,11,7")
MSCSAY|4,16,S1->10ESC,h,I,26,13")
MSCLThEh|01,20,0)
MSCSAYAP|20,22,A11T1m|S1->1C00AP),h,C,13,.f.,.f.,,,3,2,.f.)
//mohfa cd1go de baas
MSCEh0|) //I1m da Tmagem da Ef1quefa
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 190
Utilizando as funes:
Exemplo: padro Allegro
.
.
.
MSCPPThTEP|SS00-,C0M2:9600,e,7,2",,42) //Sefa f1po de 1mpessoa
padao ZPL
MSCL0A0CPI|L0C0.CPI) //Caega o 1ogof1po paa 1mpessoa
MSCECTh|2,4) //Th1c1o da Tmagem da Ef1quefa
//com 2 cop1as e ve1oc1dade 4 ef1quefas po po1egadas
MSC0X|01,01,0,40) //Mohfa 0X
MSC0X|12,01,31.S,10,37)
MSCCPAITC|2.3,2.S,L0C0) //Pos1c1oha o 1ogof1o
MSCSAY|1S,3,MTCP0STCA ,h,C,01,010") //Tmp1me Texfo
MSCSAY|13,6.S,S0ITWAPE S/A,h,C,01,010")
MSCL1heh|01,10,0) //Mohfa L1hha ho1zohfa1
MSCSAY|3S,2,Cd1go Thfeho,h,,11,7")
MSCSAY|3S,S,S1->1C00,h,E,2,1S")
MSCSAY|4,12,0esc1cao,h,,11,7")
MSCSAY|4,16,S1->10ESC,h,I,26,13")
MSCLThEh|01,20,0)
MSCSAYAP|20,22,A11T1m|S1->1C00AP),h,C,13,.f.,.f.,,,3,2,.f.)
//mohfa cd1go de baas
MSCEh0|) //I1m da Tmagem da Ef1quefa
.
.
.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 191
kDVAkL LV
AV8lLN1L SQl
A princpio no existem diferenas na programao do RDMAKE na verso SQL,
j que pelo prprio fato de ser uma linguagem interpretada, o sistema quem se
encarrega de executar os comandos e funes adequadamente no ambiente em que
trabalha. Mas importante saber algumas informaes ao programar para o
ambiente SQL. Deve-se lembrar que estamos trabalhando com um banco de dados
relacional, que se utiliza de tabelas ao invs de arquivos, e onde o sistema no tem
acesso aos dados de forma nativa e sim atravs do Top Connect. Essa forma de
acesso adiciona ao sistema algumas das caractersticas e vantagens oferecidas pelo
SGBD em uso (por exemplo, o Oracle, MSSQL Server ou o DB2) como, por
exemplo, facilidades da linguagem SQL, mas por outro lado tem-se tambm as
implicaes da converso dos comandos no padro xBase para a perfeita compre-
enso no ambiente SQL.
Imagine a montagem de uma expresso de filtro para um ndice condicional. Tome
a seguinte expresso como exemplo: DTOS(E1_VENCTO) >=
DTOS(mv_par01). Em um ambiente padro xBase, como o NTX ou o ADS,
pode-se utilizar variveis sem qualquer problema em uma expresso de filtro pois
a mesma ser avaliada registro a registro durante a montagem do ndice. Mas no
ambiente SQL, o filtro nada mais do que uma tabela temporria, onde esto
selecionados apenas os registros conforme a condio indicada. A seleo de
dados em tabelas pelo SQL mais rpida, mas em compensao o SGBD no tem
como reconhecer a varivel informada na expresso. Ela existe apenas no sistema
ou, mais especificamente, no seu programa. Por isso, deve-se substituir a
expresso anteriormente exemplificada pela seguinte (que tambm funcionaria
perfeitamente em um ambiente xBase): DTOS(E1_VENCTO) >=
+DTOS(mv_par01)+. Esta expresso melhor que anterior simplesmente
porque no se utiliza da varivel e sim do contedo da mesma, o que pode ser
compreendido em qualquer ambiente. Toda essas explicaes so vlidas, da
mesma maneira, a filtros criados atravs do comando SET FILTER.
Ainda existem outros detalhes a se considerar quando se trabalha com ndices em
um ambiente SQL. que na verdade no existem ndices condicionais nesse
ambiente. O filtro criado independente do ndice. Ento, voc pode criar um
INDREGUA com um filtro e mudar a ordem, mas o filtro permanecer ativo, em
qualquer ordem. Do mesmo modo, no se pode manter dois ndices, com filtros
diferentes, pois um filtro sobrescreveria o outro.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 192
Outro ponto de ateno deve ser a funo xBase chamada DBSETINDEX. Podem
ocorrer alguns erros ao tentar-se utilizar essa funo para abrir um ndice de
trabalho criado. Por esses motivos e pelo fato de tornar o processamento mais
lento deve-se evitar ao mximo o uso de ndices de trabalho no ambiente SQL.
Da mesma maneira que a funo DBSETINDEX, os comandos COPY TO e
APPEND FROM tambm devem ter uma ateno especial. No ambiente SQL
esses comandos so executados entre uma tabela e um arquivo DBF (e vice-versa)
ou entre dois arquivos DBF. Por exemplo, o comando COPY TO pode ser usado
para copiar os dados da tabela ativa para um DBF local e o comando APPEND
FROM pode ser usado para importar os dados de um arquivo local para a tabela
ativa. Os dois podem ser usados entre dois arquivos, mas nunca pode-se usar, por
exemplo, o comando APPEND FROM para importar os dados de uma tabela para
outra.
Apesar de todos esses detalhes, o ambiente SQL traz muitas facilidades ao
interpretador RDMAKE. Atravs de novos comandos criados especificamente
para esse ambiente, pode-se usar clusulas SQL ou at mesmo Stored Procedures
dentro de um RDMAKE. A seguir uma lista dos novos comandos e sintaxes (todos
estes comandos podem ser consultados no programa de exemplo chamado
RDDEMO.PRW, que acompanha o sistema na verso):
u o o d n a m o C
o n u F
o i r c s e D o l p m e x E
Y R E U Q C T
, s o d a d e d o c n a b o a ) a t l u s n o c ( y r e u q a m u a t u c e x E
o a e t n a h l e m e S . o d a t l u s e r o a r a p s a i l a m u o d n a n r o t e r
m r o p , R E P P I L C o d o r d a p E S U o d n a m o c
: e t n i u g e s a e x a t n i s A . a t l u s n o c a o d n a t u c e x e
] > s a i l A c < S A I L A [ ] W E N [ > y r e u Q c < Y R E U Q C T
y l n O d a e R E R P M E S a d a n r o t e r a l e b a t A : . s b O
) a r u t i e l e t n e m o s (
" ' 0 0 2 ' > D O C _ 1 A r o F 0 9 9 1 A S m o r F * t c e l e S " = : y r e u Q C
" T N C " s a i l A W E N y r e u Q c Y R E U Q C T
T N C s a i l a , o t n e m o m e t s e N / /
o d a t l u s e r o m o c l e v n o p s i d / /
a t l u s n o c a d / /
C E X E L Q S C T
o n ( L Q S e x a t n i s r e u q l a u q a t u c e x e o n u f a t s E
a d a s u r e s e d o P . ) r o i r e t n a a o m o c s a t l u s n o c e t n e m o s
. c t e , E T E L E D , T R E S N I , E T A D P U r a t u c e x e a r a p
: e t n i u g e s a e x a t n i s A
) e s u a l C c ( C E X E L Q S C T
e r u d e c o r P d e r o t S a m u e d o a i r c e d e x a t n i s A : . s b O
. a h l a b a r t a m e t s i s o e u q m e D B G S o d e t n e d n e p e d
, e l c a r O o a r a p s a c i f c e p s e s e x a t n i s m e t s i x e , a j e s u O
. c t e , E S A B Y S o a r a p , R E V R E S L Q S S M o a r a p
e r u d e c o r P d e r o t S a m u a i r C / /
A M O S T a d a m a h c / /
, r e b m u n n i 1 V _ N I ( A M O S T e r u d e c o r P e t a e r C " = : e s u a l C C
N I G E B s i ) r e b m u n u o T E R _ T U O
) 9 5 ( R H C + " D N E " + ) 9 5 ( R H C + " 2 V _ N I + 1 V _ N I = : T E R _ T U O
) e s u a l C c ( C E X E L Q S C T
C E X E P S C T
a t i e c A . e r u d e c o r P d e r o t S a m u a t u c e x e o n u f a t s E
y a r r a m u e r p m e s o n u f a d o n r o t e r o e s o r t e m r a p
. ) o n r o t e r e d s i e v i r a v s a m o c (
: e t n i u g e s a e x a t n i s A
) . . . , ] 2 r a P u [ , ] 1 r a P u [ , e s u a l C c ( C E X E P S C T = : t e R a
o n a d a i r c e r u d e c o r P d e r o t S a a t u c e x E / /
r o i r e t n a o n u f a d o l p m e x e / /
) 3 , 2 , " A M O S T " ( C E X E P S C T = : t e R a
a d o d a t l u s e r o e m i r p m I / / ] 1 [ t e R a ?
) 5 , o s a c o n ( a m o s / /
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 193
LXLCU1ANDO
Simplesmente clique na opo do menu que o programa procurar no diretrio
corrente pelo programa contido no menu e se encontrado o executar, caso
contrrio, uma mensagem de aviso ser gerada.
Executando com Debug
O boto na barra de ferramentas da janela principal permite a utilizao
do Debug para Rdmake. Este programa permite a visualizao do arquivo fonte
junto a execuo, acesso lista de variveis, criao de pontos de parada,
execuo de qualquer comando independente ou mesmo fazer uma procura no
programa fonte.
Para acessar o Debug, clique neste boto da barra de ferramentas. A janela para
escolha do arquivo fonte a ser depurado ser apresentada.
Aps a seleo do arquivo PCODE (_IW), ser apresentada a janela do Debug
com o programa escolhido.
O cdigo fonte (.PRW ou .PRX) deve estar no diretrio de trabalho (\SIGAADV).
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 194
Utilize os botes ou as teclas para depurao:
- [F8] executa cada instruo do programa e retorna a janela do Debug.
- [F5] executa o programa at encontrar um ponto de parada definido pelo
usurio.
- [F2] visualiza o contedo da varivel informada.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 195
- [F3] permite a execuo de um comando informado.
- [F9] define a linha posicionada como ponto de parada na execuo do
programa.
Para marcar ou desmarcar um ponto de parada, pode-se tambm dar um
duplo clique na linha.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 196
permite a localizao de um texto no programa.
permite localizar a prxima ocorrncia do texto.
acessa o help do Debug
finaliza o Debug.
Clique o boto direito do mouse ou pressione a tecla [F11] para apresentar um menu
popup com as opes da barra de ferramentas.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 197
O Debug para RdMake possui limitaes no Windows 3.11, sendo
necessrio reinicializar o equipamento aps o seu uso.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 198
Erros de Compilao
A estrutura de erros do RDMAKE obedece aos seguintes princpios:
(nnn) <Mensagem elucidativa do erro>
Linha do programa fonte onde ocorreu o erro
Erros e aes a serem tomadas
RDMAKE Fatal 3-> Erro Fatal na compilao da rotina TESTE Impossvel continuar.);
Causa - O ADVPL16 detectou algum erro de sintaxe
Ao - Corrigir o erro e resubmeter o programa ao RDMAKE
O termo LOCAL no permitido.
Causa - Tentativa de declarar uma varivel LOCAL
Ao - Retirar o termo LOCAL da declarao da varivel
No so permitidas funes STATIC.
Causa - Tentativa de declarar uma varivel STATIC
Ao - Retirar o termo STATIC da declarao da varivel
O termo PRIVATE no permitido.
Causa - Tentativa de declarar uma varivel PRIVATE
Ao - Retirar o termo PRIVATE da declarao da varivel
Passagem de parmetros no permitida. Use variveis PRIVATE.
Causa - Na chamada de uma funo interna ou na declarao de funo foi
solicitada a passagem de parmetros
Ao - Ao invs de passar parmetros para a funo, declare a varivel de
retorno antes da chamada da funo e mova um contedo para esta na
funo chamada.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 199
Sintaxe invlida __<varivel>.
Causa - Tentativa de criar uma varivel ou funo com __ (duplo underline) no
incio desta.
Ao - Variveis deste tipo so prerrogativas do RDMAKE, Interpretador e do
ADVPL16, declare variveis com Caracteres Alfabticos no incio.
Operador de igualdade invlido, use :=, ==, x:=x+2, etc...
Causa - Uso de igualdade simples.
Ao - Use := para atribuir um valor a uma varivel e == para comparar.
Linha maior que 512 bytes, truncada.
Causa - Uma linha maior que 512 caracteres foi inserida no programa fonte.
Ao - Reduza a linha.
Erro -> String muito grande.
Causa - Erro interno do RDMAKE.
Ao - Avise a Microsiga do problema.
Uso de operadores invlidos ++ *= +=... use operadores xBase
Causa - Uso de operadores compostos.
Ao - Ao invs de operadores compostos ex.: var++ use operadores simples
var:=var+1
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 200
E EXEMPLOS DE P PROGRAMA
/*
Funo RdDemo
Autor Ary Medeiros
Data 15/02/96
Uso RdMake <Programa.Ext> - w
Exemplo RdMake RDDemo.prw -w
*/
cVar := "com PICTURE, VALID, WHEN e F3"
cCombo := 2
nVar := 0
nVar1 := 10
nList := 4
lCheck1 := .t.
lCheck2 := .f.
lCheck3 := .t.
lCheck4 := .f.
aItems := {01,02,03,04}
aRadio := {1,2,3,4}
nRadio := 2
@ 0,0 TO 380,500 DIALOG oDlg TITLE "Interpretador xBase for Windows"
@ 10,10 BITMAP SIZE 110,40 FILE "RDDEMO.BMP"
@ 60,5 TO 155,245
@ 070,010 BUTTON "_Objetos Bsicos" SIZE 70,20 ACTION Execute(BasicObj)
@ 070,090 BUTTON "_Browses" SIZE 70,20 ACTION Execute(Browse)
@ 070,170 BUTTON "_Entrada de Dados" SIZE 70,20 ACTION Execute(Multiline)
@ 100,010 BUTTON "_Cadastros" SIZE 70,20 ACTION Execute(DemoCad)
@ 100,090 BUTTON "Bo_tes Padro" SIZE 70,20 ACTION Execute(DemoButton)
@ 100,170 BUTTON "_Mensagens" SIZE 70,20 ACTION Execute(DefaultDlg)
@ 130,010 BUTTON "_Relatrios" SIZE 70,20 ACTION Execute(Report)
@ 130,090 BUTTON "_Processamento" SIZE 70,20 ACTION Execute(ProcDemo)
@ 130,170 BUTTON "Dlg c/Refresh " SIZE 70,20 ACTION Execute(DlgDinam)
@ 162,218 BMPBUTTON TYPE 1 ACTION Close(oDlg)
ACTIVATE DIALOG oDlg CENTERED
Return
Define
Variveis
Define um formulrio tela, a
varivel oD1g recebe todas as
definies do objeto. Semelhante a
criao de um objeto TBrowseDb /
TBrowseNew.
Atribui uma figura BitMap ao objeto oD1g.
Atribui um Box simples ao objeto oD1g, semelhante ao comando Box (obsoleto) e a
funo DispBox() padro do Clipper.
Atribui botes ao objeto
oD1g . Quando o objeto
estiver ativo estes botes
executam as funes
definidas na sua criao .
Para que todas as definies estejam disponveis para uso, necessrio ativar
o objeto oD1g. Esta funo funciona de forma semelhante a definio de
vrios Gets e sua execuo com o comando Read. Pode-se tambm
comparar a definio dos objetos de um formulrio ao Mtodo AddColumn.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 201
/*
Funo BasicObj
Autor Ary Medeiros
Data 15/02/96
Descrio Objetos bsicos Windows
*/
Function BasicObj
@ 0,0 TO 250,450 DIALOG oDlg1 TITLE "Objetos bsicos do Windows"
@ 10,10 SAY "ListBox:"
@ 20,10 LISTBOX nList ITEMS aItems SIZE 50,50
@ 16,70 TO 67,120 TITLE "CheckBox"
@ 23,75 CHECKBOX "Opo 1" VAR lCheck1
@ 33,75 CHECKBOX "Opo 2" VAR lCheck2
@ 43,75 CHECKBOX "Opo 3" VAR lCheck3
@ 53,75 CHECKBOX "Opo 4" VAR lCheck4
@ 16,130 TO 67,180 TITLE "RadioButton"
@ 23,130 RADIO aRadio VAR nRadio
@ 75,10 Say "ComboBox:"
@ 85,10 COMBOBOX cCombo ITEMS aItems SIZE 50,50
@ 75,70 Say "Entrada de dados:"
@ 85,70 GET cVar PICTURE "@!" VALID .t. F3 "SI1"
@ 20,185 BUTTON "_Ok" SIZE 35,15 ACTION Close(oDlg1)
@ 45,189 BMPBUTTON TYPE 12 ACTION PlayWave("RDDemo.wav")
ACTIVATE DIALOG oDlg1 CENTER
Return
Define um formulrio tela, a
varivel oD1g1 recebe todas as
definies do objeto. Semelhante a
criao de um objeto TBrowseDb /
TBrowseNew.
Comando Say Padro do Clipper.
Este Comando atribui ao objeto oD1g1 uma caixa de seleo
ListBox, semelhante a funo Achoice() Padro do Clipper.
Este conjunto de Comandos atribui ao objeto oD1g1 uma
caixa de seleo CheckBox, a CheckBox cria uma lista de
itens que podem ser marcados e desmarcados semelhante a
criar uma serie de Gets para selecionar entre S ou N.
No tem barras de rolagem como a ListBox.
Atribui ao objeto um Box que contem o Titulo especificado.
Atribui ao objeto um Box que contm o Titulo especificado.
Este Comando atribui ao objeto oD1g1 uma caixa de seleo RadioButton, a
RadioButton semelhante a CheckBox a nica diferena entre os comandos
que na RadionButton apenas um dos itens pode ser selecionado e CheckBox
podem ser selecionados vrios itens, a CheckBox utiliza variveis Lgicas e a
RadioButton utiliza uma Matriz. No tem barras de rolagem como a ListBox.
Comando Say Padro do Clipper.
Este Comando atribui ao objeto oD1g1 uma caixa de seleo
ComboBox, tem funcionamento semelhante a ListBox a nica
diferena entre os comandos que na ComboBox os itens no so
apresentados at que a caixa seja selecionada ideal para
pequenas reas no formulrio. Ambas utilizam uma Matriz..
Comando Say Padro do Clipper.
O comando Get no RdMake For Windows tem duas diferenas,
a clusula F3, que disponibiliza a consulta padro conforme o
parmetro e no necessrio utilizar o comando Read.
Definio de botes.
Ativa o objeto oD1g1
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 202
/*
Funo DefaultDlg
Autor Ary Medeiros
Data 15/02/96
Descrio Dilogos Padronizados
*/
Function DefaultDlg
MsgBox ("Dialogo para mensagens de erro","Erro!!!","STOP")
MsgBox ("Informao ao usurio","Informao","INFO")
MsgBox ("Mensagens de alerta","Ateno","ALERT")
MsgBox ("Dialogo com perguntas...","Escolha","YESNO")
MsgBox ("mais perguntas...","Escolha","RETRYCANCEL")
Return
/*
Funo Browse
Autor Ary Medeiros
Data 15/02/96
Descrio Objeto para manipulao de Browses
*/
Function Browse
@ 200,1 TO 400,530 DIALOG oDlg2 TITLE "Utilizao de Browses"
@ 6,5 TO 93,150 BROWSE "SX6" ENABLE "!X6_CONTEUD"
@ 10,155 SAY "- Baseado no dicionrio de dados"
@ 20,155 SAY "- Registros Habilitados/desabilitados"
@ 30,155 SAY "- Marcar/Desmarcar registros"
@ 40,155 SAY "- Movimentao/Resize de colunas"
@ 70,180 BUTTON "_Ok" SIZE 40,15 ACTION Close(oDlg2)
ACTIVATE DIALOG oDlg2 CENTERED
Return
A funo MsgBox() pode ser utilizada para
avisar o usurio de uma operao bem sucedida,
um erro ou solicitar uma confirmao de
processamento. O BitMap e os botes dependem
do tipo selecionado nos parmetros.
Define Objeto oDlg2
Este comando atribui ao objeto oDlg2 o Browse padro
do sistema utilizando as definies do dicionrio de
dados. A clusula ENABLE identifica o campo que se
vazio alterna a marca entre as cores vermelho/verde.
Comando Say Padro do Clipper.
Definio de um boto.
Ativa o objeto oD1g2
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 203
/*
Funo MultiLine
Autor Ary Medeiros
Data 15/02/96
Descrio Objeto para entrada de dados(Itens)
*/
Function Multiline
@ 200,1 TO 400,540 DIALOG oDlg3 TITLE "Edio de mltiplos itens"
cAlias := "SX5"
dbSelectArea( cAlias )
dbGoTop()
cTabela := X5_TABELA
aHeader := {}
nUsado := 0
Select Sx2
Seek cAlias
Select Sx3
Seek cAlias
While !EOF() .And. X3_ARQUIVO == cAlias
If x3_usado != " " .And. cNivel >= X3_NIVEL
nUsado := nUsado + 1
AADD(aHeader,{ TRIM(X3_TITULO), X3_CAMPO, X3_PICTURE, ;
X3_TAMANHO, X3_DECIMAL, X3_VALID,;
X3_USADO, X3_TIPO, X3_ARQUIVO } )
EndIf
Skip
EndDo
dbSelectArea( cAlias )
Seek xFilial()+cTabela
nCnt := 0
While !EOF() .And. X5_FILIAL+X5_TABELA == xFilial()+cTabela
nCnt := nCnt+1
Skip
EndDo
aCOLS := Array(nCnt,nUsado+1)
dbSelectArea( cAlias )
Seek xFilial()+cTabela
nCnt := 0
Inicializa variveis. A Matriz aHeader armazenar as
definies da colunas do Browse do Comando MULTILINE.
Inicializa Variveis
Busca no SX2 e SX3 o Alias do arquivo
que ser utilizado no Browse.
Seleciona rea
Posiciona no primeiro registro.
Define Objeto oDlg3
Neste While a Matriz aHeader
preenchida com as definies dos
campos que sero utilizados no
Browse. Deve-se utilizar a
varivel cNivel (Microsiga) para
verificar se o usurio tem acesso o
campo e verificar se o campo est
em uso. Pode-se tambm utilizar
uma definio especifica para
definir os campos que sero
utilizados.
Busca no arquivo que ser utilizado no Browse o primeiro registro que
satisfaa as condies. Inicializa varivel que totalizara o nmero de
registros a serem processados.
Avalia quantidade de registros que satisfazem as
condies.
Inicializa Matriz aCOLS que armazena os dados que sero apresentados no Browse. A
matriz criada pelo nmero de registros x o nmero de campos + 1 onde este ltimo
elemento tem valor lgico e identifica se o registro foi ou no deletado durante a edio.
Busca no arquivo que ser utilizado no Browse o primeiro registro
que satisfaa as condies.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 204
While !EOF() .And. X5_FILIAL+X5_TABELA == xFilial()+cTabela
nCnt := nCnt+1
nUsado:=0
Select SX3
Seek cAlias
While !EOF() .And. X3_ARQUIVO == cAlias
If x3_usado != " " .And. cNivel >= X3_NIVEL
nUsado := nUsado+1
aCOLS[nCnt][nUsado] := &(cAlias+"->"+x3_campo)
EndIf
Skip
EndDo
aCOLS[nCnt][nUsado+1] := .f. //Flag de Delao
dbSelectArea( cAlias )
Skip
EndDo
dbSelectArea( cAlias )
Seek xFilial()+cTabela
nRegistro := RecNo( )
@ 6,5 TO 93,150 MULTILINE MODIFY DELETE VALID Execute(LineOk) FREEZE 1
@ 10,155 SAY "- Validao e Picture configuravel por coluna"
@ 20,155 SAY "- Congelamento de colunas"
@ 30,155 SAY "- Validao linha a linha"
@ 40,155 SAY "- Gatilhos, etc..."
@ 70,190 BUTTON "_Ok" SIZE 40,15 ACTION Close(oDlg3)
ACTIVATE DIALOG oDlg3 CENTERED
Return
/*
Funo LineOk
Autor Ary Medeiros
Data 15/02/96
Descrio Validao da linha digitada na funo MultiLine
*/
Function LineOk
MsgBox("Linha Ok!","Validando o Item...")
Return .t.
Busca no arquivo que ser utilizado no Browse o primeiro registro
que satisfaa as condies e salva sua posio.
Atribui ao objeto oDlg3 o Browse
MultLine para edio de mltiplos
itens Ex. (Itens Pedido de Vendas). A
funo LineOk faz a consistncia de
cada linha alterada/includa.
Comando Say Padro do Clipper.
Define boto
Ativa o objeto oD1g3
Dilogo padronizado
A Funo utilizada para validar a linha digitada deve retornar valor lgico.
Neste While a Matriz aCOLS estar sendo
carregada com as informaes que sero
editadas conforme o dicionrio de dados.
Em outros casos deve-se avaliar se
Incluso ou Alterao para inicializar a
Matriz com um registro nulo ou o contedo
dos registros para edio. Pode-se tambm
utilizar a Matriz aHeader como referncia
uma vez que j foi carregada com as
definies dos campos. O mais importante
que cada elemento da Matriz aCols deve
ser definido na mesma ordem em que foi
definido na Matriz aHeader. O ltimo
elemento da Matriz aCols deve ser
inicializado com valor FALSO ( Flag de
deleo ).
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 205
/*
Funo DemoButton
Autor Ary Medeiros
Data 15/02/96
Descrio Botes com BitMaps padronizados
*/
Function DemoButton
@ 200,1 TO 400,450 DIALOG oDlg4 TITLE "Botes com Bitmaps"
@ 5,10 TO 75,215
@ 15,018 BMPBUTTON TYPE 01 ACTION MsgBox("Tipo 1","Boto Selecionado...")
@ 15,058 BMPBUTTON TYPE 02 ACTION MsgBox("Tipo 2","Boto Selecionado...")
@ 15,098 BMPBUTTON TYPE 03 ACTION MsgBox("Tipo 3","Boto Selecionado...")
@ 15,138 BMPBUTTON TYPE 04 ACTION MsgBox("Tipo 4","Boto Selecionado...")
@ 15,178 BMPBUTTON TYPE 05 ACTION MsgBox("Tipo 5","Boto Selecionado..." )
@ 35,018 BMPBUTTON TYPE 06 ACTION MsgBox("Tipo 6","Boto Selecionado...")
@ 35,058 BMPBUTTON TYPE 07 ACTION MsgBox("Tipo 7","Boto Selecionado...")
@ 35,098 BMPBUTTON TYPE 08 ACTION MsgBox("Tipo 8","Boto Selecionado...")
@ 35,138 BMPBUTTON TYPE 09 ACTION MsgBox("Tipo 9","Boto Selecionado...")
@ 35,178 BMPBUTTON TYPE 10 ACTION MsgBox("Tipo 10","Boto Selecionado...")
@ 55,018 BMPBUTTON TYPE 11 ACTION MsgBox("Tipo 11","Boto Selecionado...")
@ 55,058 BMPBUTTON TYPE 12 ACTION MsgBox("Tipo 12","Boto Selecionado...")
@ 55,098 BMPBUTTON TYPE 13 ACTION MsgBox("Tipo 13","Boto Selecionado...")
@ 55,138 BMPBUTTON TYPE 14 ACTION MsgBox("Tipo 14","Boto Selecionado...")
@ 80,175 BUTTON "_Ok" SIZE 40,15 ACTION Close(oDlg4 )
ACTIVATE DIALOG oDlg4 CENTERED
Return
/*
Funo DemoCad
Autor Ary Medeiros
Data 15/02/96
Descrio tela de cadastramento padro
*/
Function DemoCad
AxCadastro("SX6","AX_Cadastro() - Cadastramento Padro")
Return
Define Objeto oDlg4
Atribui ao objeto um Box.
Os botes de BitMap
funcionam de forma
idntica aos Botes
anteriormente definidos
diferem apenas na
imagem apresentada ao
invs de um texto. Para
esses botes as imagens
no podem ser
redefinidas.
Define Boto.
Ativa o objeto oD1g4
A funo AxCadastro() disponibiliza o Browse Padro
Microsiga e as rotinas padro de Pesquisa, Visualiza, Altera,
Inclui e Exclui. O padro de edio da AxCadastro o
mesmo utilizados em cadastros como Clientes e
Produtos, Modelo 1.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 206
/*
Funo Report
Autor Ary Medeiros
Data 15/02/96
Descrio Exemplo de programao relatrios
*/
Function Report
cString:="SX5"
cDesc1:= OemToAnsi("Este programa tem como objetivo, demostrar a utilizao ")
cDesc2:= OemToAnsi("das ferramentas de impresso do Interpretador xBase. ")
cDesc3:= ""
tamanho:="P"
aReturn := { "Zebrado", 1,"Administracao", 1, 2, 1, "",1 }
nomeprog:="RDTESTE"
aLinha := { }
nLastKey := 0
titulo :="Teste de impressao - Interpretador xBase"
cabec1 :="TESTE DE IMPRESSAO"
cabec2 :=""
cCancel := "***** CANCELADO PELO OPERADOR *****"
m_pag := 0 //Varivel que acumula numero da pagina
wnrel:="RDTESTE" //Nome Default do relatrio em Disco
SetPrint(cString,wnrel,,titulo,cDesc1,cDesc2,cDesc3,.F.,"",,tamanho)
If nLastKey == 27
Set Filter To
Return
Endif
SetDefault(aReturn,cString)
If nLastKey == 27
Set Filter To
Return
Endif
RptStatus({|| Execute(RptDetail) })
Return
Verifica se foi pressiona tecla de interrupo, se
verdadeiro abandona a funo.
Assume as configuraes definidas para impresso do relatrio.
No RdMake For Windows a definio de um relatrio deve obedecer duas etapas , a
configurao do relatrio e sua impresso. Deve-se utilizar esta funo para executar a
funo que far a impresso do relatrio.
Define variveis padro em
relatrios no SigaAdv.
A funo SetPrint permite a configurao dos
parmetros do relatrio
Verifica se foi pressiona tecla de interrupo, se
verdadeiro abandona a funo.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 207
/*
Funo RptDetail
Autor Ary Medeiros
Data 15/02/96
Descrio Impresso do corpo do relatrio.
*/
Function RptDetail
SetRegua(50) //Ajusta numero de elementos da rgua de relatrios
Cabec(titulo,cabec1,cabec2,nomeprog,tamanho,18) //Impressao do cabecalho
For nLin := 1 to 50
if lEnd
Exit
endif
@ nLin+8,0 PSAY "Linha ==>"
@ nLin+8,10 PSAY nLin PICTURE "@E 999,999.99"
IncRegua()
Next
Roda(0,"","P")
Set Filter To
If aReturn[5] == 1
Set Printer To
Commit
ourspool(wnrel)
Endif
MS_FLUSH()
Return
A funo SetRegua() inicializa a rgua padro de
relatrios RdMake Dos/Windows.
Funo padro para impresso do
cabealho.
Contador para demonstrar impresso. Deve-se
utilizar PSAY no RdMake For Windows, quando for
desenvolvido um relatrio para Dos/Windows deve-se
utilizar a Diretiva :
#IFNDEF WINDOWS
#DEFINE PSAY SAY
#ENDIF
A Funo IncRegua() incrementa a rgua padro.
Funo padro para impresso do rodap
dos relatrios.
Elimina filtro do arquivo principal.
Testa se o relatrio foi direcionado para disco , esvazia os
Buffers e chama funo de Spool Padro.
Libera fila de relatrios em spool.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 208
/*
Funo ProcDemo
Autor Ary Medeiros
Data 15/02/96
Descrio Exemplo de utilizao de rotinas de processamento
*/
Function ProcDemo
@ 96,42 TO 323,505 DIALOG oDlg5 TITLE "Rotina de Processamento"
@ 8,10 TO 84,222
@ 91,139 BMPBUTTON TYPE 5 ACTION Pergunte("MTA010")
@ 91,168 BMPBUTTON TYPE 1 ACTION Execute(OkProc)
@ 91,196 BMPBUTTON TYPE 2 ACTION Close(oDlg5)
@ 23,14 SAY "Este programa e uma demonstrao da utilizao das rotinas de processamento."
@ 33,14 SAY " -Processa() - Dispara Dialogo de Processamento"
@ 43,14 SAY " -ProcRegua() - Ajusta tamanho da rgua"
@ 53,14 SAY " -IncProc() - Incrementa posio da rgua"
ACTIVATE DIALOG oDlg5
Return nil
/*
Funo OkProc
Autor Ary Medeiros
Data 15/02/96
Descrio Confirma o processamento
*/
Function OkProc
Close(oDlg5)
Processa( {|| Execute(RunProc) } )
Return
Define Objeto oDlg5
Atribui ao objeto um Box.
Define Botes
Comando Say Padro
do Clipper.
Ativa o objeto oD1g5
Esta funo finaliza objeto oD1g5 e todos os objetos correspondentes.
Assim como nos relatrios essa funo executa a
Funo que far o processamento.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 209
/*
Funo OkProc
Autor Ary Medeiros
Data 15/02/96
Descrio Executa o processamento
*/
Function RunProc
ProcRegua(1000)
For i:= 1 to 1000
IncProc()
Next
Return
/*
Funo DlgDinam
Autor Ary Medeiros
Data 15/02/96
Descrio Exemplo de rotina de refresh
*/
Function DlgDinam
cSay1 := "Demo 01"
cSay2 := "Demo 02"
cGet1 := "Get 01"
cGet2 := "Get 02"
@ 96,42 TO 323,505 DIALOG oDlg6 TITLE "Rotina de Refresh"
@ 8,10 TO 84,222
@ 91,139 BUTTON "Refresh" Size 70,20 ACTION Execute(RefrDlg)
@ 23,14 SAY cSay1
@ 33,14 SAY cSay2
@ 43,14 Get cGet1
@ 53,14 Get cGet2
ACTIVATE DIALOG oDlg6 CENTERED
Return
Define variveis.
Define Objeto oDlg6
Atribui um Box ao objeto.
Define um boto.
Comando Say Padro do Clipper.
Inicializa a rgua padro de processamentos pode ser
utilizada no RdMake Dos/Windows.
Comando Get, no necessrio utilizar o Comando Read, no Windows o Get
estar ativo quando o objeto ao qual foi atribudo for Ativado.
Ativa o objeto oD1g6
Contador para demonstrar a funo que incrementa a
rgua padro previamente definida.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 210
Function RefrDlg
cSay1 := IIF(cSay1=="Demo 01","Demo 03","Demo 01")
cSay2 := IIF(cSay2=="Demo 02","Demo 04","Demo 02")
cGet1 := IIF(cGet1=="Get 01","Get 03","Get 01")
cGet2 := IIF(cGet2=="Get 02","Get 04","Get 02")
dlgRefresh(oDlg6)
Return
Redefine variveis.
Esta funo utilizada para atualizar as informaes do formulrio ativo, em Dos sempre que
for necessrio atualizar um valor na tela necessrio utilizar o Comando Say, em Windows
basta apenas atualizar (Refresh), pois, o objeto Say j est ativo no formulrio.
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 211
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Pr ogr ama RDDEMO2 Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Demo. I nt er pr et ador XBase par a Wi ndows. Ver sao 2 commai s - -
- - exempl os, de comandos e uso de met odos e pr opr i edades. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Var i avei s do pr ogr ama
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
oRDDEMO2 : = NI L
oTi mer : = NI L
cMsg : = Space( 20)
cMsg : = cMsg + " Est a ver so do RDDEMO demost r a novos concei t os e o uso de novas "
cMsg : = cMsg + " possi bi l i dades par a os comandos do i nt er pr et ador par a Wi ndows. "
cMsg : = cMsg + " Al mdi sso, demost r a f or mas de acesso a pr opr i edades de obj et os "
cMsg : = cMsg + " e mt odos, o que f aci l i t a a pr ogr amao nesse ambi ent e. Escol ha
at r avs "
cMsg : = cMsg + " das duas l i st as abai xo as demost r aes que desej a vi sual i zar e
pr essi one "
cMsg : = cMsg + " o bot o EXECUTAR. "
cMsg : = OemToAnsi ( cMsg)
nPosMsg : = 1
bTi mer : = {| | cTopBar : = Subst r ( cMsg, nPosMsg, 65) , ;
nPosMsg : = I f ( nPosMsg>Len( cMsg) , 1, nPosMsg + 1) , ;
Obj ect Met hod( oGt , " Ref r esh( ) " ) }
cTopBar : = Space( 65)
nSour ce : = 0
aSour ce : = {" Uso de Senhas" , " Novos Di al ogos" , " Ref r esh de Obj et os" , " Campos MEMO" }
nTar get : = 0
aTar get : = {}
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Cr i acao do di al ogo pr i nci pal
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@105, 074 To 304, 716 Di al og oRDDEMO2 Ti t l e " RDDEMO2 - Demonst r ao do I nt er pr et ador XBase
f or Wi ndows"
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Def i ne o t i mer que i r a execut ar por det r as do di al ogo
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
oTi mer : = I W_Ti mer ( 100, bTi mer )
Obj ect Met hod( oTi mer , " Act i vat e( ) " )
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Obj et os do di al ogo pr i nci pal
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@020, 003 Say OemToAnsi ( " Demonst r aes di spon vei s: " )
@020, 133 Say OemToAnsi ( " Execut ar Demonst r aes: " )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 212
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Nova cl ausul a di sponi vel par a t odos os comandos - > OBJ ECT <NOME>
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@004, 000 Get cTopBar When . F. Obj ect oGt
@030, 004 Li st Box nSour ce I t ems aSour ce Si ze 86, 65 Obj ect oSour ce
@029, 133 Li st Box nTar get I t ems aTar get Si ze 85, 65 Obj ect oTar get
@030, 093 But t on OemToAnsi ( " _Adi ci onar >>" ) Si ze 36, 16 Act i on Execut e( AddDemo) Obj ect
oBt nAdd
@048, 093 But t on OemToAnsi ( " << _Remover " ) Si ze 36, 16 Act i on Execut e( RemoveDemo) Obj ect
oBt nRem
@030, 250 But t on OemToAnsi ( " _Execut ar " ) Si ze 36, 16 Act i on Execut e( RunDemos)
@082, 277 BmpBut t on Type 1 Act i on Cl ose( oRDDEMO2)
Act i vat e Di al og oRDDEMO2
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Funcao par a acesso aos met odos de umobj et o - > OBJ ECTMETHOD
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ / Li ber a o t i mer
/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Obj ect Met hod( oTi mer , " DeAct i vat e( ) " )
Obj ect Met hod( oTi mer , " Rel ease( ) " )
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo ADDDEMO Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Adi ci ona o i t emda l i st a Sour ce par a a l i st a Tar get - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on AddDemo
I f nSour ce ! = 0
aAdd( aTar get , aSour ce[ nSour ce] )
Obj ect Met hod( oTar get , " Set I t ems( aTar get ) " )
nNewTam: = Len( aSour ce) - 1
aSour ce : = aSi ze( aDel ( aSour ce, nSour ce) , nNewTam)
Obj ect Met hod( oSour ce, " Set I t ems( aSour ce) " )
Endi f
Ret ur n
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 213
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo REMOVEDEMO Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Remove umi t emda l i st a Tar get e adi ci ona na l i st a Sour ce - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
f unct i on RemoveDemo
I f nTar get ! = 0
aAdd( aSour ce, aTar get [ nTar get ] )
Obj ect Met hod( oSour ce, " Set I t ems( aSour ce) " )
nNewTam: = Len( aTar get ) - 1
aTar get : = aSi ze( aDel ( aTar get , nTar get ) , nNewTam)
Obj ect Met hod( oTar get , " Set I t ems( aTar get ) " )
Endi f
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo RUNDEMOS Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Execut a os demos da l i st a Tar get - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on RunDemos
I f Len( aTar get ) ! = 0
For nDemo : = 1 To Len( aTar get )
cDemo : = Al l Tr i m( Upper ( aTar get [ nDemo] ) )
Do Case
Case cDemo == " USO DE SENHAS"
Execut e( FunSenhas)
Case cDemo == " NOVOS DI ALOGOS"
Execut e( FunNovos)
Case cDemo == " REFRESH DE OBJ ETOS"
Execut e( FunRef r esh)
Case cDemo == " CAMPOS MEMO"
Execut e( FunMEMO)
EndCase
Next nDemo
Endi f
Ret ur n
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 214
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FUNSENHAS Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Demost r acao do uso de senhas - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FunSenhas
cSenha : = Space( 200)
cCont eudo : = Space( 200)
@115, 085 To 267, 727 Di al og oSenhas Ti t l e " Demost r ao de Obj et os GET comsenhas"
@002, 002 To 038, 315
@009, 008 Say OemToAnsi ( ' Par a se t r abal har comcai xas de edi o que no exi bemo cont edo
di gi t ado, bast a acr escent ar a cl usul a' )
@020, 008 Say OemToAnsi ( ' PASSWORD ao comando GET do pr ogr ama. Por exempl o: @00, 00 Get
cSenha Pi ct ur e " @! " Val i d . T. PASSWORD' )
@042, 004 Say OemToAnsi ( " Senha : " )
@057, 004 Say OemToAnsi ( " Cont edo: " )
@042, 042 Get cSenha Pi ct ur e " @S40" Val i d . T. PASSWORD Obj ect oSenha
@057, 042 Get cCont eudo Pi ct ur e " @S40" When . F. Obj ect oCont eudo
@059, 277 BmpBut t on Type 1 Act i on Cl ose( oSenhas)
oAt uCont : = I w_Ti mer ( 100, {| | cCont eudo : = cSenha , Obj ect Met hod( oCont eudo, " Ref r esh( ) " ) })
Obj ect Met hod( oAt uCont , " Act i vat e( ) " )
Act i vat e Di al og oSenhas
Obj ect Met hod( oAt uCont , " DeAct i vat e( ) " )
Obj ect Met hod( oAt uCont , " Rel ease( ) " )
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FUNNOVOS Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Demonst r acao de di al ogos di ver si f i cados. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FunNovos
nTi po : = 1
aTi po : = {" Sel ecao de Ar qui vo" , " Sel ecao de Cor es" }
@150, 133 To 361, 716 Di al og oDi al ogos Ti t l e " Demost r ao de Di l ogos Di ver si f i cados"
@003, 002 To 039, 282
@011, 008 Say OemToAnsi ( " Al mdos di l ogos par a si mpl es exi bi o de mensagens, exi st emos
di l ogos par a sel eo de ar qui vos, " )
@023, 008 Say OemToAnsi ( " ent r adas de dados, et c, que f aci l i t ama vi da do pr ogr amador
RDMAKE. " )
@049, 003 Say OemToAnsi ( " Ti po do Di l ogo: " )
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 215
@060, 004 Radi o aTi po Var nTi po
@060, 160 But t on OemToAnsi ( " _Execut ar " ) Si ze 36, 16 Act i on Execut e( RunDl g)
@089, 248 BmpBut t on Type 1 Act i on Cl ose( oDi al ogos)
Act i vat e Di al og oDi al ogos
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo RUNDLG Aut or Lui z Car l os Vi ei r a Dat a Thu 24/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Execut a o di al ogo sel eci onado pel o usuar i o emFunNovos - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on RunDl g
cTi po : = " Execut avei s ( *. EXE) | *. EXE | "
cTi po : = cTi po + " Fi gur as ( *. BMP) | *. BMP | "
cTi po : = cTi po + " Ar qui vos de Dados ( *. DBF) | *. DBF | "
cTi po : = cTi po + " Ar qui vos de I ndi ce ( *. CDX) | *. CDX | "
cTi po : = cTi po + " Todos os Ar qui vos ( *. *) | *. * "
I f nTi po == 1 / / Sel ecao de Ar qui vos
cFi l e : = cGet Fi l e( cTi po, " Di al ogo de Sel ecao de Ar qui vos" )
I f ! Empt y( cFi l e)
Avi so( " Ar qui vo Sel eci onado" , cFi l e, {" Ok" })
El se
Avi so( " Cancel ada a Sel ecao! " , " Voce cancel ou a sel ecao do ar qui vo. " , {" Ok" })
Endi f
El seI f nTi po == 2 / / Sel ecao de Cor es
nCor : = ChooseCol or ( 255)
Endi f
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FUNREFRESH Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Demost r acao de met odos par a r ef r esh emobj et os - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FunRef r esh
l Pr i mei r o : = . T.
cPr i mei r o : = PADR( " Est e t ext o f az par t e do PRI MEI RO GET" , 36)
cSegundo : = PADR( " Est e t ext o f az par t e do SEGUNDO GET" , 36)
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 216
@116, 090 To 416, 707 Di al og oRef r esh Ti t l e OemToAnsi ( " Ref r esh de Obj et os" )
@003, 002 To 040, 305
@012, 008 Say OemToAnsi ( " Al guns dos obj et os no Wi ndows, como o SAY e o GET, possuemum
m t odo REFRESH( ) . Desse modo" )
@024, 009 Say OemToAnsi ( " pode- se at ual i zar as i nf or maes desses obj et os semf or ar a
at ual i zao de t odo o di l ogo. " )
@055, 005 Say OemToAnsi ( " Hor a at ual : " )
oTi mer Hor a : = I w_Ti mer ( 500, {| | Obj ect Met hod( oHor aAt ual , " Set Text ( Ti me( ) ) " ) })
Obj ect Met hod( oTi mer Hor a, " Act i vat e( ) " )
@055, 040 Say OemToAnsi ( Ti me( ) ) Obj ect oHor aAt ual
@080, 005 Say OemToAnsi ( " 1o. Get : " ) Obj ect oLabel 1
@104, 005 Say OemToAnsi ( " 2o. Get : " ) Obj ect oLabel 2
@080, 040 Get cPr i mei r o Obj ect oGet 1
@104, 040 Get cSegundo Obj ect oGet 2
@088, 262 But t on OemToAnsi ( " _Tr ocar " ) Si ze 36, 16 Act i on Execut e( FRTr oca)
@132, 263 BmpBut t on Type 1 Act i on Cl ose( oRef r esh)
Act i vat e Di al og oRef r esh
Obj ect Met hod( oTi mer Hor a, " DeAct i vat e( ) " )
Obj ect Met hod( oTi mer Hor a, " Rel ease( ) " )
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FRTROCA Aut or Lui z Car l os Vi ei r a Dat a Wed 23/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Faz a t r oca dos obj et os no di al ogo da f uncao FUNREFRESH - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FRTr oca
cAux1 : = cPr i mei r o
cAux2 : = cSegundo
cSegundo : = cAux1
cPr i mei r o : = cAux2
Obj ect Met hod( oGet 1, " Ref r esh( ) " )
Obj ect Met hod( oGet 2, " Ref r esh( ) " )
I f l Pr i mei r o
Obj ect Met hod( oLabel 1, " Set Text ( ' 2o. Get : ' ) " )
Obj ect Met hod( oLabel 2, " Set Text ( ' 1o. Get : ' ) " )
l Pr i mei r o : = . F.
El se
Obj ect Met hod( oLabel 1, " Set Text ( ' 1o. Get : ' ) " )
Obj ect Met hod( oLabel 2, " Set Text ( ' 2o. Get : ' ) " )
l Pr i mei r o : = . T.
Endi f
Ret ur n
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 217
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FUNMEMO Aut or Lui z Car l os Vi ei r a Dat a Thu 24/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Demo. da edi cao de campos memo - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FunMEMO
cText o : = " "
cFOpen : = " "
@116, 090 To 416, 707 Di al og oDl gMemo Ti t l e " Demonst r ao de Campos MEMO - Edi t or de
Ar qui vos Text o"
@003, 002 To 040, 305
@012, 008 Say OemToAnsi ( " Par a edi t ar umcampo MEMO, ou mesmo o cont edo de umar qui vo
t ext o, ut i l i za- se o pr pr i o" )
@024, 009 Say OemToAnsi ( " comando GET, adi ci onando as cl usul as SI ZE e MEMO. Por exempl o:
@10, 10 GET cVar Si ze 50, 50 MEMO" )
@045, 005 Say OemToAnsi ( " Ar qui vo: <SEM NOME>" +Space( 100) ) Obj ect oNome
@055, 005 Get cText o Si ze 250, 080 MEMO Obj ect oMemo
@045, 263 But t on OemToAnsi ( " _Abr i r . . . " ) Si ze 36, 16 Act i on Execut e( FRAbr e)
@063, 263 But t on OemToAnsi ( " _Fechar " ) Si ze 36, 16 Act i on Execut e( FRFecha)
@081, 263 But t on OemToAnsi ( " _Sal var " ) Si ze 36, 16 Act i on Execut e( FRSal va)
@099, 263 But t on OemToAnsi ( " _Sal var Como. . . " ) Si ze 36, 16 Act i on Execut e( FRSal vaComo)
@132, 263 BmpBut t on Type 1 Act i on Cl ose( oDl gMemo)
Act i vat e Di al og oDl gMemo
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FRABRE Aut or Lui z Car l os Vi ei r a Dat a Thu 24/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Rot i na par a a aber t ur a do ar qui vo t ext o na FunMEMO - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FRAbr e
cFOpen : = cGet Fi l e( " Ar qui vos Text o| *. TXT| Todos os Ar qui vos| *. *" , OemToAnsi ( " Abr i r
Ar qui vo. . . " ) )
I f ! Empt y( cFOpen)
cText o : = MemoRead( cFOpen)
Obj ect Met hod( oMemo, " Ref r esh( ) " )
Obj ect Met hod( oNome, " Set Text ( ' Ar qui vo: ' +cFOpen) " )
Endi f
Ret ur n
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 218
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FRFECHA Aut or Lui z Car l os Vi ei r a Dat a Thu 24/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Rot i na par a f echament o do ar qui vo t ext o emFunMEMO - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FRFecha
cText o : = " "
cFOpen : = " "
Obj ect Met hod( oMemo, " Ref r esh( ) " )
Obj ect Met hod( oNome, " Set Text ( ' Ar qui vo: <SEM NOME>' ) " )
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FRSALVA Aut or Lui z Car l os Vi ei r a Dat a Thu 24/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Rot i na par a sal var o ar qui vo t ext o emFunMEMO - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FRSal va
I f ! Empt y( cFOpen)
MemoWr i t ( cFOpen, cText o)
Endi f
Ret ur n
/ */
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Funo FRSALVACOM Aut or Lui z Car l os Vi ei r a Dat a Thu 24/ 09/ 98 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Descr i o Rot i na par a sal var ar qui vo t ext o comout r o nome emFunMEMO - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Uso Espec f i co par a cl i ent es Mi cr osi ga - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/ */
Funct i on FRSal vaComo
cAux : = cFOpen
cFOpen : = cGet Fi l e( " Ar qui vos Text o| *. TXT| Todos os Ar qui vos| *. *" , OemToAnsi ( " Sal var Ar qui vo
Como. . . " ) )
I f ! Empt y( cFOpen)
MemoWr i t ( cFOpen, cText o)
Obj ect Met hod( oNome, " Set Text ( ' Ar qui vo: ' +cFOpen) " )
El se
cFOpen : = cAux
Endi f
Ret ur n
MANUAL RDMAKE - SIGA ADVANCED 4.07 - 219
Referncias e Abreviaturas
SGBD Sistema Gerenciador de Banco de Dados. o
aplicativo que gerencia os dados e controla o
acesso aos mesmos.
SQL Structured Query Language Linguagem de
Consulta Estruturada. uma linguagem de con-
sulta gil e estruturada, bastante difundida entre
gerenciadores de banco de dados relacionais.
Oracle, MSSQL Server ou DB2 Estes so sistemas de gerenciamento de banco de
dados relacional em bastante evidncia no mer-
cado atual. Oracle marca registrada da Oracle
Inc., MSSQL da Microsoft e DB2 da IBM.
ADS Advantage DataBase Server. marca registrada
da Advantage, e um Driver para acesso base
de dados padro xBase em ambiente de rede.

Você também pode gostar