problemas durante dbedit..
Moderador: Moderadores
-
clebermano
- Usuário Nível 3

- Mensagens: 187
- Registrado em: 03 Out 2004 12:39
- Contato:
problemas durante dbedit..
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
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
tente assim
Código: Selecionar todos
nRecno:= Recno()
if tecla==5 .or. tecla==24
DICA1(nRecno)
endif
**************************************************************************
func dica1(Param1)
**************************************************************************
sele a
pl:=12
Pc:=30
DBGOTO( 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 .t.
Daniel
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
-
clebermano
- Usuário Nível 3

- Mensagens: 187
- Registrado em: 03 Out 2004 12:39
- Contato:
amigo daniel, acho q me expressei mal.
o prob. esta na linha
if alltrim(valor)="PDV" //ta aki
@ 10,30 say "Configura o numero do Pdv "
endif
qdo eu dou apenas um say, funciona, agora qdo eu comparo alltrim(valor)=="PDV", ae eh q da o problema.
erro de argumento <>
o prob. esta na linha
if alltrim(valor)="PDV" //ta aki
@ 10,30 say "Configura o numero do Pdv "
endif
qdo eu dou apenas um say, funciona, agora qdo eu comparo alltrim(valor)=="PDV", ae eh q da o problema.
erro de argumento <>
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
-
clebermano
- Usuário Nível 3

- Mensagens: 187
- Registrado em: 03 Out 2004 12:39
- Contato:
Daniel peco desculpas novamente, qdo eu fui testar do jeito q vc me falow, armazenando em variaveis, deu certo, agora me explica uma coisa, pq armazenando em variaveis, tanto o recno(), qto o valor da variavel a ser comparada, da certo, e comparando direto o campo nao ??
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
recno() ele retorna numerico
uma ideia pra vc nao confundir mais as variaveis
Ex:
if alltrim(valor)="PDV"
a variavel valor por exemplo nao da para saber se ela e caracter o numerica!
se vc declarar ela sim cValor fica mais facil.
if alltrim(cValor) = "PDV"
uma ideia pra vc nao confundir mais as variaveis
Ex:
if alltrim(valor)="PDV"
a variavel valor por exemplo nao da para saber se ela e caracter o numerica!
se vc declarar ela sim cValor fica mais facil.
if alltrim(cValor) = "PDV"
Daniel
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Colegas.
Só para complementar o que o Daniel explicou e esclarecer "bem esclarecido" para o Clebermano.
Antes de tudo deve-se criar as variáveis de preferência em notação Hungara, tipo assim:
Local cNome, nValor etc. (onde o "c" antes do Nome quer dizer que vai ser variavel caractere e "n" antes do valor quer dizer que vai ser variável numerica)
Depois deve-se inicializar as variáveis, assim:
cNome:=Space(50) // Variavel para armazenar temporáriamente 50 espacos ou caracteres.
nValor:= 0.00 // se vai ser armazenado valores com duas casas depois da virgula ou,
nValor:=0 // se numero inteiro apenas.
Em seguida atribui-se valores a estas variáveis com os tipos correspondentes e ai sim pode-se comparar. (Os dados poder vir de digitação ou do BD).
Abraços
Romario
Só para complementar o que o Daniel explicou e esclarecer "bem esclarecido" para o Clebermano.
Antes de tudo deve-se criar as variáveis de preferência em notação Hungara, tipo assim:
Local cNome, nValor etc. (onde o "c" antes do Nome quer dizer que vai ser variavel caractere e "n" antes do valor quer dizer que vai ser variável numerica)
Depois deve-se inicializar as variáveis, assim:
cNome:=Space(50) // Variavel para armazenar temporáriamente 50 espacos ou caracteres.
nValor:= 0.00 // se vai ser armazenado valores com duas casas depois da virgula ou,
nValor:=0 // se numero inteiro apenas.
Em seguida atribui-se valores a estas variáveis com os tipos correspondentes e ai sim pode-se comparar. (Os dados poder vir de digitação ou do BD).
Abraços
Romario
-
clebermano
- Usuário Nível 3

- Mensagens: 187
- Registrado em: 03 Out 2004 12:39
- Contato:
Intindi. obrigado.
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
