problemas durante dbedit..
Enviado: 06 Mai 2006 15:12
Boa tarde.
Pessoal estou com uma duvida que sei q eh uma duvida besta.
tenho este dbedit, que eh o configurador do meu sistema.
o prob. esta qdo eu uso a funcao dica1()
pode ser q eu esteja usando a funcao errado.
Qdo eu teclo a seta pra baixo, ou seja chr(5), da um erro de argumento <> que eu ja tentei de tudo e nao consegui resolver, se alguem puder me ajudar agradeco.
obrigado.
*******************************************************************************
* configurador do sistema
*******************************************************************************
set proc to sisfunc
set date brit
sele a
use config
index on campo to cfg_1
use config index cfg_1
CLS
SETCOLOR("GR+/B")
sele a
CAMPOS := { 'CAMPO','VALOR'}
CABECA := { 'Campo','Valor'}
WHILE .T.
WMENS_STAT( '<ESC>-Sair <INS>-Incluir <DEL>-Excluir <F3>-Muda Ordem <F4>-Localizar' )
ORD := 1
@ 03,02 SAY 'Ordem: CODIGO '
DBEDIT( 06,01,20,78,CAMPOS,'FUNCONF',,CABECA,'ÍÑÍ',' ³ ' )
EXIT
END
CLOSEALL()
RETURN
*****************************************************************************
FUNCTION FUNCONF( MODO, COL )
LOCAL TECLA
TECLA := LASTKEY()
DO CASE
CASE MODO = 4
IF TECLA = 27
RETURN 0
ENDIF
IF TECLA = -2
IF ORD = 1
SET ORDER TO 2
@ 03,02 SAY 'Ordem: DESCRICAO '
ORD = 2
ELSE
SET ORDER TO 1
@ 03,02 SAY 'Ordem: CODIGO '
ORD = 1
ENDIF
RETURN 2
ENDIF
IF TECLA = -3
KEY :=SGET(19,15,' Digite a Chave.:',30)
REG := RECNO()
IF ! DBSEEK( RTRIM(KEY) )
ERRORMENS('Produto Nao Encontrado! Verifique...')
SET ORDER TO ORD
DBGOTO( REG )
ENDIF
RETURN 1
ENDIF
IF TECLA = 22
APPEND BLANK
KEYB( REPL(CHR(19),5) )
RETURN 2
ENDIF
IF TECLA = 7
IF GETMENU( 14,50,'Confirma Exclusao ?','N A O','S I M' ) # 2
RETURN 2
ENDIF
DO WHILE !RLOCK()
ENDDO
DELETE
UNLOCK
RETURN 2
ENDIF
IF TECLA >= 26 .AND. TECLA <= 126
IF LASTREC() = 0
APPEND BLANK
ENDIF
KEYB( CHR(TECLA) )
DO WHILE !RLOCK()
ENDDO
DO CASE
CASE COL = 1
@ ROW(),COL() SAY CONFIG->CAMPO PICT '@!'
CASE COL = 2
@ ROW(),COL() GET CONFIG->VALOR PICT '@!'
ENDCASE
READY()
IF LASTKEY() = 27
DBUNLOCK()
RETURN 1
ENDIF
DBUNLOCK()
KEYB(CHR(4))
RETURN 2
ENDIF
ENDCASE
if tecla==5 .or. tecla==24
DICA1(RECNO()) /////--->> o prob ta aki
endif
**************************************************************************
func dica1(Param1)
**************************************************************************
sele a
pl:=12;Pc:=30
GO PARAM1
if alltrim(valor)="PDV"
@ 10,30 say "Configura o numero do Pdv "
endif
*elseif alltrim(config->valor)=="CFGDAT3"
* @ 10,30 say "urano "
* @ 11,30 say "sweda "
* @ 12,30 say "Digitron "
*endif
return
Pessoal estou com uma duvida que sei q eh uma duvida besta.
tenho este dbedit, que eh o configurador do meu sistema.
o prob. esta qdo eu uso a funcao dica1()
pode ser q eu esteja usando a funcao errado.
Qdo eu teclo a seta pra baixo, ou seja chr(5), da um erro de argumento <> que eu ja tentei de tudo e nao consegui resolver, se alguem puder me ajudar agradeco.
obrigado.
*******************************************************************************
* configurador do sistema
*******************************************************************************
set proc to sisfunc
set date brit
sele a
use config
index on campo to cfg_1
use config index cfg_1
CLS
SETCOLOR("GR+/B")
sele a
CAMPOS := { 'CAMPO','VALOR'}
CABECA := { 'Campo','Valor'}
WHILE .T.
WMENS_STAT( '<ESC>-Sair <INS>-Incluir <DEL>-Excluir <F3>-Muda Ordem <F4>-Localizar' )
ORD := 1
@ 03,02 SAY 'Ordem: CODIGO '
DBEDIT( 06,01,20,78,CAMPOS,'FUNCONF',,CABECA,'ÍÑÍ',' ³ ' )
EXIT
END
CLOSEALL()
RETURN
*****************************************************************************
FUNCTION FUNCONF( MODO, COL )
LOCAL TECLA
TECLA := LASTKEY()
DO CASE
CASE MODO = 4
IF TECLA = 27
RETURN 0
ENDIF
IF TECLA = -2
IF ORD = 1
SET ORDER TO 2
@ 03,02 SAY 'Ordem: DESCRICAO '
ORD = 2
ELSE
SET ORDER TO 1
@ 03,02 SAY 'Ordem: CODIGO '
ORD = 1
ENDIF
RETURN 2
ENDIF
IF TECLA = -3
KEY :=SGET(19,15,' Digite a Chave.:',30)
REG := RECNO()
IF ! DBSEEK( RTRIM(KEY) )
ERRORMENS('Produto Nao Encontrado! Verifique...')
SET ORDER TO ORD
DBGOTO( REG )
ENDIF
RETURN 1
ENDIF
IF TECLA = 22
APPEND BLANK
KEYB( REPL(CHR(19),5) )
RETURN 2
ENDIF
IF TECLA = 7
IF GETMENU( 14,50,'Confirma Exclusao ?','N A O','S I M' ) # 2
RETURN 2
ENDIF
DO WHILE !RLOCK()
ENDDO
DELETE
UNLOCK
RETURN 2
ENDIF
IF TECLA >= 26 .AND. TECLA <= 126
IF LASTREC() = 0
APPEND BLANK
ENDIF
KEYB( CHR(TECLA) )
DO WHILE !RLOCK()
ENDDO
DO CASE
CASE COL = 1
@ ROW(),COL() SAY CONFIG->CAMPO PICT '@!'
CASE COL = 2
@ ROW(),COL() GET CONFIG->VALOR PICT '@!'
ENDCASE
READY()
IF LASTKEY() = 27
DBUNLOCK()
RETURN 1
ENDIF
DBUNLOCK()
KEYB(CHR(4))
RETURN 2
ENDIF
ENDCASE
if tecla==5 .or. tecla==24
DICA1(RECNO()) /////--->> o prob ta aki
endif
**************************************************************************
func dica1(Param1)
**************************************************************************
sele a
pl:=12;Pc:=30
GO PARAM1
if alltrim(valor)="PDV"
@ 10,30 say "Configura o numero do Pdv "
endif
*elseif alltrim(config->valor)=="CFGDAT3"
* @ 10,30 say "urano "
* @ 11,30 say "sweda "
* @ 12,30 say "Digitron "
*endif
return