Estou colocando meu codigo inteiro.
O erro está na linha 566 invalid ivalue , já tentei fazer diversas alterações mas n consigo.
Código: Selecionar todos
PRIVATE VETOR_CAMPOS :={"CODIGO","NOME_V","FONE_V"}
PRIVATE VETOR_MASCARA:= {"9999","@!","@R (99)9999-9999"}
PRIVATE VETOR_CABECALHO:= {"CODIGO DO CLIENTE", "NOME DO CLIENTE", "TELEFONE"}
SELECT 1
USE MASTER
IF !FILE("INDIC1.NTX")
INDEX ON STR(CODIGO,3,0) TO INDIC1
ENDIF
SET INDEX TO INDIC1
SET DELETE ON
SET SCOR OFF
SET BELL OFF
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
DBEDIT(5,5,15,73,VETOR_CAMPOS,"EDITA",VETOR_MASCARA,VETOR_CABECALHO ,CHR(178),"|","-")
CLOSE DATABASE
****************************************
function edita (modo, indice)
****************************************
set color to BG+
tecla = lastkey()
campo = vetor_campos[indice]
retorna = 1
if modo == 4
ElseIf TECLA = 27
RETURN 2
ElseIf tecla = -1
Inclusao()
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
ELSEIF tecla = -2
Alteracao()
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
ELSEIF TECLA = 7
Del()
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
ElseIf tecla = -4
Imp()
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
endif
Return 2
****************************************
function Inclusao ()
****************************************
opc = 1
nCodigo = 0
DO WHILE .T.
NOME_V = SPACE(30)
RG_V = SPACE(15)
CPF_V = SPACE(15)
ENDEREC_V = SPACE(40)
NUMERO_V = SPACE(10)
COMPLE_V = SPACE(20)
BAIRRO_V = SPACE(15)
CIDADE_V = SPACE(15)
ESTADO_V = SPACE(2)
OBS_V = SPACE(40)
FONE_V = SPACE(15)
cGrav = "S"
SET WRAP ON
SET MESSAGE TO 20 CENTER
CLEAR
SET COLOR TO "N/n+, w/4"
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,25 SAY " CADASTRO DE CLIENTES "
SET COLOR TO "N/n+, w/4"
@ 4,4 CLEAR TO 21,76
@ 4,4 TO 21,76 DOUBLE
@ 8,8 say"CODIGO......:"get nCodigo picture "999" valid (nCodigo>0)
@ 9,8 say"NOME........:"get NOME_V picture"@!" valid (!empty(NOME_V))
@ 10,8 say"RG..........:"get RG_V picture "99.999.999-9"
@ 11,8 say"CPF.........:"get CPF_V picture "999.999.999-99"
@ 12,8 say"ENDERECO....:"get ENDEREC_V picture"@!"
@ 13,8 say"NUMERO......:"get NUMERO_V picture"9999"
@ 14,8 say"COMPLEMENTO.:"get COMPLE_V picture"@!"
@ 14,8 say"BAIRRO......:"get BAIRRO_V picture"@!"
@ 15,8 say"CIDADE......:"get CIDADE_V picture "@!"
@ 16,8 say"ESTADO......:"get ESTADO_V picture"@!"
@ 17,8 say"OBSERVACAO..:"get OBS_V picture "@!"
@ 18,8 say"TELEFONE....:"get FONE_V picture "@R (99)9999-9999"
@ 20,8 SAY "Deseja Gravar?..:" GET cGrav PICTURE "@!" VALID (cGrav $ "SN")
READ
IF LASTKEY( ) = 27
RETURN 2
EXIT
ENDIF
IF cGrav = "S"
APPEND BLANK
REPLACE CODIGO WITH nCodigo, NOME_V WITH NOME_V, RG_V WITH RG_V, CPF_V WITH CPF_V, ENDEREC_V WITH ENDEREC_V, NUMERO_V WITH NUMERO_V
REPLACE COMPLE_V WITH COMPLE_V, BAIRRO_V WITH BAIRRO_V, FONE_V WITH FONE_V, OBS_V WITH OBS_V
ENDIF
ENDDO
RETURN 2
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
****************************************
function Alteracao ()
****************************************
opc = 1
nCodigo = 0
DO WHILE .T.
NOME_V = SPACE(30)
RG_V = SPACE(15)
CPF_V = SPACE(15)
ENDEREC_V = SPACE(40)
NUMERO_V = SPACE(10)
COMPLE_V = SPACE(20)
BAIRRO_V = SPACE(15)
CIDADE_V = SPACE(15)
ESTADO_V = SPACE(2)
OBS_V = SPACE(40)
FONE_V = SPACE(15)
cAlt = "N"
SET WRAP ON
SET MESSAGE TO 20 CENTER
SET WRAP ON
SET MESSAGE TO 20 CENTER
CLEAR
SET COLOR TO "N/n+, w/4"
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,25 SAY " ALTERACAO DE CADASTROS "
SET COLOR TO "N/n+, w/4"
@ 4,4 CLEAR TO 21,76
@ 4,4 TO 21,76 DOUBLE
@ 8,8 say"CODIGO......:"get nCodigo picture "999" valid (nCodigo>0)
@ 9,8 say"NOME........:"get NOME_V picture"@!" valid (!empty(NOME_V))
@ 10,8 say"RG..........:"get RG_V picture "99.999.999-9"
@ 11,8 say"CPF.........:"get CPF_V picture "999.999.999-99"
@ 12,8 say"ENDERECO....:"get ENDEREC_V picture"@!"
@ 13,8 say"NUMERO......:"get NUMERO_V picture"9999"
@ 14,8 say"COMPLEMENTO.:"get COMPLE_V picture"@!"
@ 14,8 say"BAIRRO......:"get BAIRRO_V picture"@!"
@ 15,8 say"CIDADE......:"get CIDADE_V picture "@!"
@ 16,8 say"ESTADO......:"get ESTADO_V picture"@!"
@ 17,8 say"OBSERVACAO..:"get OBS_V picture "@!"
@ 18,8 say"TELEFONE....:"get FONE_V picture "@R (99)9999-9999"
@ 20,8 SAY "Alterar?...:" GET cAlt PICTURE "@!" VALID (cAlt $ "SN")
READ
IF LASTKEY( ) = 27
RETURN 2
EndIf
IF cAlt = "S"
REPLACE CODIGO WITH nCodigo, NOME_V WITH NOME_V, RG_V WITH RG_V, CPF_V WITH CPF_V, ENDEREC_V WITH ENDEREC_V, NUMERO_V WITH NUMERO_V
REPLACE COMPLE_V WITH COMPLE_V, BAIRRO_V WITH BAIRRO_V, FONE_V WITH FONE_V, OBS_V WITH OBS_V
ENDIF
enddo
Return 2
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
****************************************
function Del ()
****************************************
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
ALERT( "DELETANDO O REGISTRO" )
INKEY(1)
IF LASTKEY( ) = 27
retorna = 2
ENDIF
DELETE
retorna = 2
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
****************************************
function Imp ()
****************************************
CLEAR
SET COLOR TO W/N
quadro := CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
@ 0,0,24,79 box quadro + chr(177)
set color to bg+
@ 02,56 SAY DATE( )
@ 02,66 SAY TIME( )
@ 02,29 SAY " DBEDIT "
SET COLOR TO W/N
@ 17,5 SAY "<F2> INCLUSAO"
@ 17,23 SAY "<F3> ALTERACAO"
@ 17,40 SAY "<DEL> EXCLUSAO"
@ 17,57 SAY "<F5> IMPRESSAO"
a1 := ALERT('DESEJA IMPRIMIR COMO:',{'FICHA CADASTRAL','RELATORIO'})
if a1 = 1
impFicha()
DO WHILE .T.
nCodigoi = 0
cImp = "N"
SET COLOR TO "N/n+, w/4"
@ 4,4 CLEAR TO 21,76
@ 4,4 TO 21,76 DOUBLE
set color to bg+
@ 05,56 SAY DATE( )
@ 05,66 SAY TIME( )
@ 05,29 SAY " FICHA CADASTRAL "
SET COLOR TO "N/n+, w/4"
@ 8,8 SAY "Codigo Inicial....:" GET nCodigoi PICTURE "999" VALID (nCodigoi>0)
READ
IF LASTKEY( ) = 27
return 2
EXIT
ENDIF
GO TOP
SEEK STR(nCodigoi,3,0)
IF !FOUND( )
TONE(400,3)
@ 8,32 SAY "NAO CADASTRADO"
INKEY(0)
LOOP
ENDIF
@ 11,8 SAY "Confirma impressao?...:" GET cImp PICTURE "@!" VALID (cImp $ "SN")
READ
IF LASTKEY( ) = 27
RETURN 2
EXIT
ENDIF
IF cImp = "S"
DO WHILE .T.
IF !ISPRINTER( )
TONE(400,3)
@ 13, 8 SAY "PREPARE A IMPRESSORA - Pressione qualquer tecla"
tek=INKEY(0)
IF tek=27
EXIT
ENDIF
LOOP
ENDIF
SET PRINTER TO LPT1
SET DEVICE TO PRINTER
GO TOP
SEEK STR(nCodigoi,3,0)
vcab=.T.
DO WHILE !EOF( )
IF vcab
@ 02,00 SAY REPLICATE("-",80)
vcab = .F.
ENDIF
@ PROW( )+1,02 SAY "CODIGO.......:"
@ PROW( ) , 16 SAY CODIGO PICT "999"
@ PROW( )+1,02 SAY "NOME.........:"
@ PROW( ) , 17 SAY NOME_V PICT "@!"
@ PROW( )+1,02 SAY "RG...........:"
@ PROW( ) , 17 SAY RG_V PICT "99.999.999-9"
@ PROW( )+1,02 SAY "CPF..........:"
@ PROW( ) , 17 SAY CPF_V PICT "999.999.999-99"
@ PROW( )+1,02 SAY "ENDERECO.....:"
@ PROW( ) , 17 SAY ENDEREC_V PICT "@!"
@ PROW( )+1,02 SAY "NUMERO.......:"
@ prow( ) ,17 say NUMERO_V PICT"9999"
@ PROW( )+1,02 SAY "TELEFONE.....:"
@ PROW( ) , 17 SAY FONE_V PICT "@R (99)9999-9999"
@ PROW( )+1,02 SAY "COMPLEMENTO..:"
@ PROW( ) , 17 SAY COMPLE_V PICT "@!"
@ PROW( )+1,02 SAY "BAIRRO.......:"
@ PROW( ) , 17 SAY BAIRRO_V PICT "@!"
@ PROW( )+1,02 SAY "CIDADE........:"
@ PROW( ) , 17 SAY CIDADE_V PICT "@!"
@ PROW( )+1,02 SAY "ESTADO........:"
@ PROW( ) , 17 SAY ESTADO_V PICT "@!"
@ PROW( )+1,02 SAY "OBSERVACAO........:"
@ PROW( ) , 17 SAY OBS_V PICT "@!"
@ PROW( )+1,00 SAY REPLICATE("-",80)
IF PROW( ) > 50
vcab = .T.
ENDIF
SKIP
ENDDO
EJECT
SET DEVICE TO SCREEN
SET PRINTER TO
EXIT
ENDDO
ENDIF
ENDDO
RETURN 2
elseif a1 = 2
impRelat()
end
return(Nil)
****
****
****
function impRelat
SET PRINTER TO LPT1
SET DEVICE TO PRINTER
// GO TOP
dbseek(STR(nCodigoi, 3))
vcab := .T.
WHILE !EOF( )
IF vcab
@ 02,00 SAY REPLICATE("-", 80)
@ 03,00 SAY "CODIGO NOME TELEFONE"
@ 04,00 SAY REPLICATE("-", 80)
vcab = .F.
END
@ ++PROW(),00 SAY transform(CODIGO, "999") + ' ' +;
NOME_V + ' ' +;
(FONE_V,+ ' ' + "@R (99)9999-9999")
IF PROW( ) > 50
vcab = .T.
ENDIF
dbskip()
END
EJECT
SET DEVICE TO SCREEN
SET PRINTER TO
Set Color To 'BG+'
Return(retorna)