ARAGUARI-MG, 17 de janeiro de 2006.
Pressione F12 e o KEYBOARD completará o serviço...
Código: Selecionar todos
(***)
WHILE .T.
HoraData()
SETCOLOR(cCor3)
Centro(24,"*** DIGITE O NOME DO CLIENTE OU TECLE <F10> ***")
SET CURSOR ON
*
SELECT CLIENTE
SET ORDER TO 2
GOTO TOP
*
SET KEY K_F10 TO PesCli()
*
* SETCOLOR(cCor2)
SETCOLOR(cCorEsp2)
@ 03,38 GET cCliente PICTURE '@!'
READ
SET CURSOR OFF
*
SET KEY K_F10 TO
*
IF EMPTY(cCliente)
*
Ret_Est()
*
FechaArqVen("1")
FechaArqVen("3")
*
CLOSE ARQPED
CLOSE ARQPAUX
*
* Retorno()
*
ERASE (xcArquivo1)
ERASE (xcArquivo2)
ERASE (xcIndice1)
ERASE (xcIndice2)
*
SELECT VEN_MES
*
RESTSCREEN(01,00,23,79,xcTelaInc)
RETURN
END
*
* SELECT CLIENTE
* SET ORDER TO 2
GOTO TOP
SEEK CD(TRIM(cCliente))
IF (.NOT. FOUND())
Beep(1)
SETCOLOR(cCor5)
Mensagem("*** NOME DO CLIENTE INEXISTENTE ***")
SETCOLOR(cCor2)
cCliente := SPACE(40)
LOOP
END
*
**********
cCodCli := DC(CODCLI)
cCliente := DC(CLIENTE)
**********
*
EXIT
END && WHILE .T.
(***)
*** PROCEDURE PARA PESQUISA DE CLIENTES ***
FUNCTION PesCli(cProc,cLine,cVar)
*
PRIVATE nArq, objBr, nTecla, nX1:=08, nY1:=02, nX2:=19, nY2:=77
PRIVATE objCol01, objCol02
*
PRIVATE xcTela := SAVESCREEN(01,00,23,79)
*
***
*
PRIVATE cEndereco := SPACE(11)
*
PRIVATE cCor := Set(_SET_COLOR)
PRIVATE lIntensity := Set(_SET_INTENSITY)
PRIVATE cCursor := Set(_SET_CURSOR)
PRIVATE lUse := IIF(USED(),.T.,.F.) && SE ARQUIVO EM USO, GUARDA SELECT.
PRIVATE cSelect := IIF(lUse,SELECT(),SPACE(10))
*
SET CURSOR OFF
SET INTENSITY ON
*
SELECT CLIENTES
GOTO TOP
SEEK TRIM(&cVar.)
IF (.NOT. FOUND())
Beep(1)
SETCOLOR(cCor5)
IF INDEXORD() == 1
Mensagem("*** CODIGO DO CLIENTE INEXISTENTE ***")
ELSEIF INDEXORD() == 2
Mensagem("*** CLIENTE INEXISTENTE ***")
ELSEIF INDEXORD() == 3
Mensagem("*** ENDERECO INEXISTENTE ***")
END
SETCOLOR(cCor2)
*
Set(_SET_COLOR,cCor)
Set(_SET_INTENSITY,lIntensity)
Set(_SET_CURSOR,cCursor)
*
IF lUse && SE EXISTIA ARQUIVO EM USO, RETORNA AO SELECT ANTERIOR ...
SELECT &cSelect.
END
*
RESTSCREEN(01,00,23,79,xcTela)
*
HoraData()
Funcao(1)
SETCOLOR(cCor3)
IF INDEXORD() == 1
Centro(24,"*** DIGITE O CODIGO DO CLIENTE OU TECLE <F10> ***")
ELSEIF INDEXORD() == 2
Centro(24,"*** DIGITE O CLIENTE OU TECLE <F10> ***")
ELSEIF INDEXORD() == 3
Centro(24,"*** DIGITE O ENDERECO OU TECLE <F10> ***")
END
SETCOLOR(cCor2)
RETURN
END
*
*TelaPC()
HoraData()
Funcao(5)
* Cria Objeto TBrowse
Quadro(nX1,nY1,nX2,nY2)
objBr := TBrowseDB(nX1,nY1,nX2,nY2)
*
* Definir separadores de colunas e cabecalhos
*
* objBr:headSep := CHR(205) + CHR(209) + CHR(205)
* objBr:colSep := CHR(032) + CHR(179) + CHR(032)
*
objBr:headSep := "ÍËÍ" && CHR(209) + CHR(205) && ÍÑÍ
objBr:colSep := " º " && CHR(179) && ³
objBr:footSep := "ÍÊÍ" && CHR(207) + CHR(205) && ÍÏÍ
*
* Definir cor
*
* objBr:colorSpec := "BG/B,GR+/R,W/N,N,GR+/W,G/B,R+/B,GR+/B"
objBr:colorSpec := cCor7
*
*_Cod_ _______________Cliente__________________
*99999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*
objCol01 := TBColumnNew("_C¢d_",{||TRANSFORM(DC(CODCLI),'99999')})
objCol01:Width := 05
objBr:addColumn(objCol01)
*
objCol02 := TBColumnNew("________________Cliente_________________",;
{||TRANSFORM(DC(CLIENTE),'@!')})
objCol02:Width := 42 && 40
objBr:addColumn(objCol02)
*
objCol03 := TBColumnNew("F/J",{||TRANSFORM(DC(TIPO),'@R ! ')})
objCol03:Width := 03
objBr:addColumn(objCol03)
*
objCol04 := TBColumnNew("SPC",{||TRANSFORM(DC(SPC),'!!!')})
objCol04:Width := 03
objBr:addColumn(objCol04)
*
objCol05 := TBColumnNew("___Fone__",{||TRANSFORM(DC(FONE1),'@R 9999-9999')})
objCol05:Width := 09
objBr:addColumn(objCol05)
*
objCol06 := TBColumnNew("_D‚bito Total_",;
{||TRANSFORM(SALDO,'@E 999,999,999.99')})
objCol06:Width := 14
objBr:addColumn(objCol06)
*
objCol07 := TBColumnNew("D",{||TRANSFORM(DCTipo("C",SALDO),'!')})
objCol07:Width := 01
objBr:addColumn(objCol07)
*
objBr:colpos := INDEXORD() && 1 OU 2, 3...
*
Direcao(nX1,nY1,nX2,nY2,25)
*
WHILE .T.
WHILE (!objBr:stabilize())
nTecla := INKEY()
IF (nTecla != 0)
EXIT
END
END
IF (objBr:stable)
IF (objBr:hitTop)
Beep(1)
SETCOLOR(cCor5)
Centro(24,"*** INICIO DE ARQUIVO ***")
SETCOLOR(cCor0)
INKEY(0) && Tempo(nTempo)
ELSEIF (objBr:hitBottom)
Beep(1)
SETCOLOR(cCor5)
Centro(24,"*** FIM DE ARQUIVO ***")
SETCOLOR(cCor0)
INKEY(0) && Tempo(nTempo)
END
SETCOLOR(cCor3)
Centro(24,"<"+chr(24)+chr(25)+chr(27)+chr(26)+;
"> <F12-Endere‡o P/NF> <Enter> <PgUp> <PgDn> <Esc>")
SETCOLOR(cCor0)
*
CLEAR TYPEAHEAD
*
WHILE ((nTecla := INKEY(.5)) == 0)
HoraData()
END
LimpaLinha(24)
END
*
IF nTecla == K_RETURN
IF (objBr:stable)
xcTela1 := SAVESCREEN(01,00,23,79)
LVACli1()
LVACli2()
* TelaCli1()
* MVMCli1()
* IF (cTipo == "F")
* TelaCli2()
* MVMCli2()
* END
MDCli()
RESTSCREEN(01,00,23,79,xcTela1)
END
ELSEIF nTecla == K_F12
*
cEscolha := "S"
cEndereco := "COBRANCA "
*
* cCodCli := DC(CODCLI)
* cCliente := DC(CLIENTE)
* cTipo := DC(TIPO)
*
cTabela := DC(TABELA)
*
cEndPed := DC(END)
cNumeroPed := DC(NUMERO)
cComplPed := DC(COMPL)
cBairroPed := DC(BAIRRO)
cCepPed := DC(CEP)
cCidPed := DC(CID)
cUfPed := DC(UF)
cDddPed := DC(DDD)
cFonePed := DC(FONE1)
*
cCNPJPed := DC(CNPJ)
cInscPed := DC(INSC)
*
nSaldoCli := SALDO
nLimite := LIMITE
*
HoraData()
SETCOLOR(cCor5)
Centro(24,"*** SELECIONADO ENDERECO DE COBRANCA. P/RETORNAR, TECLE <ESC> ***")
SETCOLOR(cCor0)
INKEY(0)
*
ELSEIF nTecla == K_ESC
*
cCodFor := cCodCli := DC(CODCLI)
cFor := cCliente := DC(CLIENTE)
cTipo := DC(TIPO)
*
cTabela := DC(TABELA)
*
IF INDEXORD() == 1
IF cEndereco == "COBRANCA "
KEYBOARD CHR(K_CTRL_A) + CHR(K_CTRL_Y) + cCodCli + CHR(K_HOME)
ELSEIF cEndereco == "PROPRIEDADE"
KEYBOARD CHR(K_CTRL_A) + CHR(K_CTRL_Y) + cCodCli + CHR(K_HOME)
ELSEIF cEndereco == SPACE(11)
KEYBOARD CHR(K_CTRL_A) + CHR(K_CTRL_Y)
END
ELSEIF INDEXORD() == 2
IF cEndereco == "COBRANCA "
KEYBOARD CHR(K_CTRL_A) + CHR(K_CTRL_Y) + cCliente + CHR(K_HOME)
ELSEIF cEndereco == "PROPRIEDADE"
KEYBOARD CHR(K_CTRL_A) + CHR(K_CTRL_Y) + cCliente + CHR(K_HOME)
ELSEIF cEndereco == SPACE(11)
KEYBOARD CHR(K_CTRL_A) + CHR(K_CTRL_Y)
END
END
EXIT
ELSEIF nTecla == K_F1
ELSEIF nTecla == K_F2
ELSEIF nTecla == K_F3
ELSEIF nTecla == K_F4
ELSEIF nTecla == K_DOWN
Direcao(nX1,nY1,nX2,nY2,25)
objBr:down()
ELSEIF nTecla == K_PGDN
Direcao(nX1,nY1,nX2,nY2,25)
objBr:pageDown()
ELSEIF nTecla == K_CTRL_PGDN
Direcao(nX1,nY1,nX2,nY2,25)
objBr:goBottom()
ELSEIF nTecla == K_UP
Direcao(nX1,nY1,nX2,nY2,24)
objBr:up()
ELSEIF nTecla == K_PGUP
Direcao(nX1,nY1,nX2,nY2,24)
objBr:pageUp()
ELSEIF nTecla == K_CTRL_PGUP
Direcao(nX1,nY1,nX2,nY2,24)
objBr:goTop()
ELSEIF nTecla == K_RIGHT
Direcao(nX1,nY1,nX2,nY2,26)
objBr:right()
ELSEIF nTecla == K_LEFT
Direcao(nX1,nY1,nX2,nY2,27)
objBr:left()
ELSEIF nTecla == K_HOME
Direcao(nX1,nY1,nX2,nY2,27)
objBr:home()
ELSEIF nTecla == K_END
Direcao(nX1,nY1,nX2,nY2,26)
objBr:end()
ELSEIF nTecla == K_CTRL_LEFT
Direcao(nX1,nY1,nX2,nY2,27)
objBr:panLeft()
ELSEIF nTecla == K_CTRL_RIGHT
Direcao(nX1,nY1,nX2,nY2,26)
objBr:panRight()
ELSEIF nTecla == K_CTRL_HOME
Direcao(nX1,nY1,nX2,nY2,27)
objBr:panHome()
ELSEIF nTecla == K_CTRL_END
Direcao(nX1,nY1,nX2,nY2,26)
objBr:panEnd()
END
END && WHILE .T.
*
Set(_SET_COLOR,cCor)
Set(_SET_INTENSITY,lIntensity)
Set(_SET_CURSOR,cCursor)
*
IF lUse && SE EXISTIA ARQUIVO EM USO, RETORNA AO SELECT ANTERIOR ...
SELECT &cSelect.
END
*
RESTSCREEN(01,00,23,79,xcTela)
*
HoraData()
Funcao(1)
SETCOLOR(cCor3)
IF INDEXORD() == 1
Centro(24,"*** DIGITE O CODIGO DO CLIENTE OU TECLE <F10> ***")
ELSEIF INDEXORD() == 2
Centro(24,"*** DIGITE O CLIENTE OU TECLE <F10> ***")
ELSEIF INDEXORD() == 3
Centro(24,"*** DIGITE O ENDERECO OU TECLE <F10> ***")
END
SETCOLOR(cCor2)
*
RETURN
***
(***)
PROCEDURE Direcao(nX1,nY1,nX2,nY2,nChr)
IF (VALTYPE(nChr) <> "N") .OR. (nChr == NIL)
RETURN
END
SETCOLOR("+W/+W") && cCor3
@ nX1+1,nY2+1,nX2,nY2+1 BOX " "
FOR nI:=nX1+1 TO nX2
@ nI,nY2+1 SAY "±"
NEXT
SETCOLOR("W*+/W")
@ nX1+1,nY2+1 SAY ""+CHR(nChr)+""
@ nX2,nY2+1 SAY ""+CHR(nChr)+""
SETCOLOR(cCor0)
RETURN
***
Janis Peters Grants.