Seguinte, eu to com duvidas no DBedit... quando eu chamo o camando do dbedit, o IF FOUND( ) reconhce como busca FALSE.....
o meu codigo é esse talvez vcs entenderam melhor (apenas a parte do DBEdit)
GO TOP
Dbedit (08,15,12,50,.T.)
SEEK nome_v
IF FOUND( )
Alert('Registro Encontrado')
@ 07, 00 Clear To 18, 49 // Limpar determinada area
@ 07, 00 To 18, 49 double // tabela com linha dupla
@ 08, 01 To 10, 48 // tabela com linha unica
@ 6, 2, 7, 3 Box []
SetColor ("14/9")
@ 09, 02 Say "Cadastro Pessoal:"
@ 11, 02 Say "Nome: "
@ 12, 02 Say "Rg..: CPF.......: "
@ 13, 02 Say "Data Nasc: Local nasc: "
@ 14, 02 Say "End.: "
@ 15, 02 Say "Num.: Cep.: Fone: "
@ 16, 02 Say "Loca: "
@ 17, 02 Say "Cid.: Est.: "
SetColor("15/9")
@ 11, 08 Say nome PICT'@!' // editar variavel nome
@ 12, 08 Say rg PICT "99.999.999-9" // editar variavel rg
@ 12, 34 Say cpf PICT "999.999.999-99" // editar variavel cpf
@ 13, 12 Say datan PICT "@D 99/99/99" // editar variavel data de nascimento
@ 13, 32 Say locan // editar variavel Local de nascimento
@ 14, 08 Say end // editar variavel Endereço
@ 15, 08 Say num // editar variavel numero do endereço
@ 15, 19 Say cep PICT "999.99-999" // editar variavel cep
@ 15, 35 Say fone PICT "@R (99)9999-9999" // editar variavel telefone
@ 16, 08 Say loca // editar variavel localidade
@ 17, 08 Say cida PICT "@!" // editar variavel cidade
@ 17, 39 Say esta PICT "@!" // editar variavel estado
Inkey (0)
clear screen
Restscreen (0,0,24,79, save_v)
Else
Alert("Não foi encontrado nenhum registro")
clear screen
Restscreen (0,0,24,79, save_v)
Endif
tudo funcionava sem o DBEdit, mas quando eu quis por essa função começou a dar zica na seguinte parte;
Bbedit é acionado(até ai tudo bem) quando o clipper le a função IF FOUND( ), o proprio reconhece a pesquisa anterior (SEEK) como FALSE, e vai pra ELSE q é o
e com isso não consigo visualizar o cadastro...
A pergunta é: como eu contorno isso fazer o IF FOUND() reconhecer a pesquisa anterior como true com a função DBEdit e mostrar o meu cadastro...
vlw pessoal....
qual quer duvida na minha duvida XD, perguntem por favor isso é meu urgente pra mim.....
Bom, surgiu uma dúvida aqui sim... onde é que vc define o valor da variável NOME_V, que é a chave que o comando seek utiliza pra fazer a busca
Outra dúvida, vc está usando tudo isso numa única tabela Se for isso, dispense essa lógica, pois não precisa de "IF FOUND" e nem SEEK, pois ao dar sinal de saída do DBEdit(), o ponteiro já fica automaticamente posionado no registro do banco de dados, aí é só exibir os dados na tela.
Agora, caso vc abra o DBEdit() com uma tabela e faça as pesquisas na outra, vc precisa inserir mais umas linhas aí nessa rotina que vc descreveu.
LOCAL V_COD := 0
SELE 01
USE TAB01 INDEX IDX01 // abro minha primeira tabela
DBEDIT(5,5,20,74)
IF LASTKEY() = 13 // teclou enter
V_COD := TAB01->CODIGO // atribuo valores a V_COD
ELSE
RETURN .T.
ENDIF
SELE 02
USE TAB02 INDEX IDX02
SEEK V_COD
IF FOUND()
... // seus códigos
ELSE
... // seus códigos
ENDIF
RETURN
Espero ter ajudado. Abraços !!!
Adm. Maickon Sato Consultoria e Projetos
-------------------------------------------------------
seguinte....
como eu tinha falado eu só coloquei a parte principal do codigo mesmo mas eu declarei normal a variavel, o unico problema é q quando eu chamo a função pesquisar (q é o nome dessa função) ela passa direto pelo else...
o found não da true no seek pra q o IF funcione direito...
explicando melhor.
o q eu quero é o seguinte....
tenho um menu, submenu, uma das opçoes do submenu chama-se pesquisar.
o q eu quero, é fazer o cliente começar a digitar e as letras inicias dos nomes da pessoas e ja vai formando a lista;
CLEAR
@ 01,00 TO 23,79
vCod=spac(4)
set key -1 to letraaletra
@ 14,10 say "Pressione F2 para fazer a pesquisa..."
do while .t.
@ 10,10 say "C¢digo do Cliente..:" get vCod pict "9999"
read
if lastkey()=27
exit
endif
enddo
retu
FUNC LETRAALETRA()
LOCAL ar_dbf:=ALIAS(), nCol:=20, nKey, v_tel_p, cor_ant:=SETCOLOR()
v_tel_p:=SAVESCREEN(0,0,MAXROW(),79)
nVar="0000"
IF !EMPTY(ar_dbf) // sava situacao atual
ultreg =RECNO() // registro e
ord_ind=INDEXORD() // indice utilizado
ENDI
USE NOMES
IF !FILE("IND1.NTX")
INDEX ON nome TO IND1
ENDIF
SET INDEX TO IND1
GO TOP
KEYBOARD CHR(27)
aColunas:={'codigo','nome'}
SETCOLOR("W/B")
@ 03, 02, 21, 78 BOX "ÚÄ¿³ÙÄÀ³ "
@ 05,03 SAY REPLIC('Ä',75)
DBEDIT(6,3,20,77,aColunas)
@ 04, 05 SAY "Digite o Nome:"
@ 04, 20 SAY SPAC(30) COLOR "N/W"
nCol=20
@ 04, 20 SAY "" COLOR "N/W"
cNome=SPAC(00)
DO WHILE .T.
IF LASTKEY()=13
IF !EMPTY(ar_dbf)
SELE (ar_dbf)
DBSETORDER(ord_ind)
GO ultreg
ENDI
SETCOLOR(cor_ant)
RESTSCREEN(0,0,MAXROW(),79,v_tel_p)
KEYBOARD nVar
RETURN (.t.)
ELSE
nKey=INKEY(0)
IF nKey=27
EXIT
ENDIF
IF nKey=13
IF !EMPTY(ar_dbf)
SELE (ar_dbf)
DBSETORDER(ord_ind)
GO ultreg
ENDI
SETCOLOR(cor_ant)
RESTSCREEN(0,0,MAXROW(),79,v_tel_p)
KEYBOARD nVar
RETURN (.t.)
ENDIF
ENDIF
IF nKey=8 .or. nKey=19
nCol=nCol-1
IF nCol < 20
nCol=20
ENDIF
cNome=SUBS(cNome,1,LEN(cNome)-1)
@ 04, 20 SAY cNome+" " COLOR "N/W"
ELSEIF (nKey>=32 .and. nKey<=165)
nCol=nCol+1
IF nCol>=50
nCol=50
cNome=SUBS(cNome,1,LEN(cNome)-1)
ENDIF
cNome=UPPER(cNome+CHR(nKey))
@ 04,20 SAY cNome COLOR "N/W"
ENDIF
IF !PESQ_DBEDIT(cNome)
nCol=nCol - 1
IF nCol <20
nCol=20
ENDIF
cNome=SUBS(cNome,1,LEN(cNome)-1)
@ 04,20 SAY cNome COLOR "N/W"
ENDIF
@ 04,20 SAY cNome COLOR "N/W"
ENDDO
IF !EMPTY(ar_dbf)
SELE (ar_dbf)
DBSETORDER(ord_ind)
GO ultreg
ENDI
SETCOLOR(cor_ant)
RESTSCREEN(0,0,MAXROW(),79,v_tel_p)
RETURN
FUNC PESQ_DBEDIT(cNome)
IF DBSEEK(cNome,.T.)
nVar=CODIGO
IF LASTKEY() <> 5 .AND. LASTKEY() <> 24
KEYBOARD CHR(27)
ENDIF
DBEDIT(6,3,20,77,aColunas,"CONTROLE")
ELSE
RETURN (.F.)
ENDIF
RETURN (.T.)
FUNC CONTROLE(nMod)
IF nMod=4
IF LASTKEY()=13
nVar=CODIGO
RETURN(0)
ELSE
RETURN(0)
ENDIF
ENDIF
RETURN(1)
Dê uma analisadinha aê e manda bala !!! Abraços !!!
Adm. Maickon Sato Consultoria e Projetos
-------------------------------------------------------
Eu uso o DBEdit com uma função que permite inclusão, alteração, consulta e exclusão de registros e a procura letra a letra. Veja se isso te ajuda:
SET DATE BRITISH
SET CENTURY ON
SET SCOREBOARD OFF
SET TALK OFF
SET DELETED ON
SET EXCLUSIVE OFF
SET WRAP ON
SET PROCEDURE TO FUNCOES
tCORPREVIA = SETCOLOR()
tTELAPREVIA = SAVESCREEN(00,00,24,79)
cTITULO = "FORNECEDORES"
PUBLIC cRECARREGAR
cRECARREGAR = "SIM"
nINDICE = 1
PUBLIC CAMPOS[18], TITULOS[18], MASCARAS[18]
CAMPOS[01] = "CODIGO"
CAMPOS[02] = "RAZAO"
CAMPOS[03] = "FANTASIA"
CAMPOS[04] = "CNPJ"
CAMPOS[05] = "IE"
CAMPOS[06] = "IM"
CAMPOS[07] = "ENDERECO"
CAMPOS[08] = "BAIRRO"
CAMPOS[09] = "CEP"
CAMPOS[10] = "CIDADE"
CAMPOS[11] = "UF"
CAMPOS[12] = "PAIS"
CAMPOS[13] = "TEL"
CAMPOS[14] = "CEL"
CAMPOS[15] = "FAX"
CAMPOS[16] = "EMAIL"
CAMPOS[17] = "SITE"
CAMPOS[18] = "CONTATO"
TITULOS[01] = "CODIGO"
TITULOS[02] = "RAZAO"
TITULOS[03] = "FANTASIA"
TITULOS[04] = "CNPJ"
TITULOS[05] = "IE"
TITULOS[06] = "IM"
TITULOS[07] = "ENDERECO"
TITULOS[08] = "BAIRRO"
TITULOS[09] = "CEP"
TITULOS[10] = "CIDADE"
TITULOS[11] = "UF"
TITULOS[12] = "PAIS"
TITULOS[13] = "TEL"
TITULOS[14] = "CEL"
TITULOS[15] = "FAX"
TITULOS[16] = "EMAIL"
TITULOS[17] = "SITE"
TITULOS[18] = "CONTATO"
MASCARAS[01] = "@!"
MASCARAS[02] = "@!"
MASCARAS[03] = "@!"
MASCARAS[04] = "@!"
MASCARAS[05] = "@!"
MASCARAS[06] = "@!"
MASCARAS[07] = "@!"
MASCARAS[08] = "@!"
MASCARAS[09] = "@!"
MASCARAS[10] = "@!"
MASCARAS[11] = "@!"
MASCARAS[12] = "@!"
MASCARAS[13] = "@!"
MASCARAS[14] = "@!"
MASCARAS[15] = "@!"
MASCARAS[16] = "@!"
MASCARAS[17] = "@!"
MASCARAS[18] = "@!"
SELECT 6
IF .NOT. ABRE("FORNECED.DBF",5,"C")
SET COLOR TO W+/N
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "ARQUIVO FORNECED.DBF INDISPONIVEL NO MOMENTO! " +;
"PRESSIONE QUALQUER TECLA."
INKEY(0)
SET COLOR TO tCORPREVIA
RESTSCREEN(00,00,24,79,tTELAPREVIA)
RETURN
END IF
SET INDEX TO FORNCOD.NTX, FORNRAZ.NTX, FORNFAN.NTX
DO WHILE .T.
SET COLOR TO W+/B
@ 00,00 CLEAR TO 00,79; @ 00, ((80 - LEN("FORNECEDORES")) / 2) SAY "FORNECEDORES"
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "<F5>INCLUIR <F6>ALTERAR <F7>CONSULTAR <F8>EXCLUIR <F9>LOCALIZAR"
SELECT 6
SET ORDER TO nINDICE
IF RECCOUNT() > 0
GOTO TOP
@ 00,(79 - LEN(ALLTRIM(STR(RECCOUNT())))) SAY ALLTRIM(STR(RECCOUNT()))
ENDIF
SET COLOR TO N/W
@ 01,00 CLEAR TO 23,79
@ 01,00 TO 23,79
DBEDIT(02,01,22,77,CAMPOS,"FORNTECL",MASCARAS,TITULOS)
IF cRECARREGAR = "NAO"
EXIT
ELSEIF cRECARREGAR = "SIM"
LOOP
END IF
END DO
SET COLOR TO
CLEAR SCREEN
SET COLOR TO tCORPREVIA
RESTSCREEN(00,00,24,79,tTELAPREVIA)
CLOSE DATA
SET CURSOR ON
RETURN
FUNCTION FORNTECL
PARAMETERS MODO, POSICAO
nRETORNO = 2
IF MODO > 0 .AND. MODO < 4
TONE(1000)
END IF
RESTSCREEN(ROW(),01,ROW(),77,TRANSF(SAVESCREEN(ROW(),01,ROW(),77),;
REPLICATE("X"+CHR(31),2*77)))
INKEY(0)
KEYBOARD CHR(LASTKEY())
IF LASTKEY() = 27
cRECARREGAR = "NAO"
nRETORNO = 0
ELSEIF LASTKEY() = 13
cRECARREGAR = "SIM"
nRETORNO = 0
ELSEIF LASTKEY() = -4
DO WHILE .T.
CLEAR TYPEAHEAD
cCODIGO = SPACE(20)
cRAZAO = SPACE(50)
cFANTASIA = SPACE(50)
cCNPJ = SPACE(20)
cIE = SPACE(20)
cIM = SPACE(20)
cENDERECO = SPACE(50)
cBAIRRO = SPACE(40)
cCEP = SPACE(09)
cCIDADE = SPACE(50)
cUF = SPACE(02)
cPAIS = SPACE(20)
cTEL = SPACE(50)
cCEL = SPACE(50)
cFAX = SPACE(50)
cEMAIL = SPACE(50)
cSITE = SPACE(50)
cCONTATO = SPACE(50)
cSUBTITULO = "CADASTRO"
SET COLOR TO W+/B
@ 00,00 CLEAR TO 00,79; @ 00, ((80 - LEN("FORNECEDORES")) / 2) SAY "FORNECEDORES"
@ 00,(78 - LEN(cSUBTITULO)) SAY cSUBTITULO
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "<ESC> PARA SAIR"
SET COLOR TO N/W
@ 01,00 CLEAR TO 23,79
@ 01,01 SAY "CODIGO: "
@ 02,01 SAY "RAZAO: "
@ 03,01 SAY "FANTASIA: "
@ 04,01 SAY "CNPJ: "
@ 04,28 SAY "IE: "
@ 04,53 SAY "IM: "
@ 05,01 SAY "ENDERECO: "
@ 06,01 SAY "BAIRRO: "
@ 06,50 SAY "CEP: "
@ 07,01 SAY "CIDADE: "
@ 07,60 SAY "UF: "
@ 08,01 SAY "PAIS: "
@ 09,01 SAY "TEL: "
@ 10,01 SAY "FAX: "
@ 11,01 SAY "E-MAIL: "
@ 12,01 SAY "SITE: "
@ 13,01 SAY "CONTATO: "
SELECT 6
SET CURSOR ON
SET COLOR TO N/W,W+/N
@ 01,09 GET cCODIGO PICTURE "@!" VALID((EMPTY(cCODIGO) = .F.) .AND. (FORNTEM(cCODIGO) = .F.)) SEND COLORSPEC := "W+/N, GR+/N"
@ 02,08 GET cRAZAO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 03,11 GET cFANTASIA PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 04,07 GET cCNPJ PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 04,32 GET cIE PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 04,57 GET cIM PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 05,11 GET cENDERECO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 06,09 GET cBAIRRO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 06,55 GET cCEP PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 07,09 GET cCIDADE PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 07,64 GET cUF PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 08,06 GET cTEL PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 09,06 GET cCEL PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 10,06 GET cFAX PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 11,09 GET cEMAIL PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 12,07 GET cSITE PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 13,10 GET cCONTATO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
READ
IF LASTKEY() = 27
EXIT
END IF
cSALVAR = SPACE(01)
SET COLOR TO W+/B,W+/N
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "SALVAR AS INFORMACOES? <S/N> " GET cSALVAR PICTURE "@!" VALID(cSALVAR$"SN")
READ
IF cSALVAR = "S"
IF .NOT. INCLUI(5)
SET COLOR TO W+/B
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "REGISTRO INDISPONIVEL NO MOMENTO! PRESSIONE QUALQUER TECLA."
INKEY(0)
EXIT
ELSE
REPLACE CODIGO WITH cCODIGO,;
RAZAO WITH cRAZAO,;
FANTASIA WITH cFANTASIA,;
CNPJ WITH cCNPJ,;
IE WITH cIE,;
IM WITH cIM,;
ENDERECO WITH cENDERECO,;
BAIRRO WITH cBAIRRO,;
CEP WITH cCEP,;
CIDADE WITH cCIDADE,;
UF WITH cUF,;
PAIS WITH cPAIS,;
TEL WITH cTEL,;
CEL WITH cCEL,;
FAX WITH cFAX,;
EMAIL WITH cEMAIL,;
SITE WITH cSITE,;
CONTATO WITH cCONTATO
UNLOCK
COMMIT
END IF
END IF
EXIT
END DO
cRECARREGAR = "SIM"
nRETORNO = 0
ELSEIF LASTKEY() = -5
DO WHILE .T.
CLEAR TYPEAHEAD
cCODIGO = CODIGO
cRAZAO = RAZAO
cFANTASIA = FANTASIA
cCNPJ = CNPJ
cIE = IE
cIM = IM
cENDERECO = ENDERECO
cBAIRRO = BAIRRO
cCEP = CEP
cCIDADE = CIDADE
cUF = UF
cPAIS = PAIS
cTEL = TEL
cCEL = CEL
cFAX = FAX
cEMAIL = EMAIL
cSITE = SITE
cCONTATO = CONTATO
cSUBTITULO = "ALTERACAO"
SET COLOR TO W+/B
@ 00,00 CLEAR TO 00,79; @ 00, ((80 - LEN("FORNECEDORES")) / 2) SAY "FORNECEDORES"
@ 00,(78 - LEN(cSUBTITULO)) SAY cSUBTITULO
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "<ESC> PARA SAIR"
SET COLOR TO N/W
@ 01,00 CLEAR TO 23,79
@ 01,01 SAY "CODIGO: "
@ 02,01 SAY "RAZAO: "
@ 03,01 SAY "FANTASIA: "
@ 04,01 SAY "CNPJ: "
@ 04,28 SAY "IE: "
@ 04,53 SAY "IM: "
@ 05,01 SAY "ENDERECO: "
@ 06,01 SAY "BAIRRO: "
@ 06,50 SAY "CEP: "
@ 07,01 SAY "CIDADE: "
@ 07,60 SAY "UF: "
@ 08,01 SAY "PAIS: "
@ 09,01 SAY "TEL: "
@ 10,01 SAY "FAX: "
@ 11,01 SAY "E-MAIL: "
@ 12,01 SAY "SITE: "
@ 13,01 SAY "CONTATO: "
SET CURSOR ON
SELECT 6
SET COLOR TO W+/B,W+/N
@ 01,09 SAY cCODIGO PICTURE "@!"
@ 02,08 GET cRAZAO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 03,11 GET cFANTASIA PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 04,07 GET cCNPJ PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 04,32 GET cIE PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 04,57 GET cIM PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 05,11 GET cENDERECO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 06,09 GET cBAIRRO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 06,55 GET cCEP PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 07,09 GET cCIDADE PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 07,64 GET cUF PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 08,06 GET cTEL PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 09,06 GET cCEL PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 10,06 GET cFAX PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 11,09 GET cEMAIL PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 12,07 GET cSITE PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
@ 13,10 GET cCONTATO PICTURE "@!" SEND COLORSPEC := "W+/N, GR+/N"
READ
IF LASTKEY() = 27
EXIT
END IF
cSALVAR = SPACE(01)
SET COLOR TO W+/B,W+/N
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "SALVAR AS INFORMACOES? <S/N> " GET cSALVAR PICTURE "@!" VALID(cSALVAR$"SN")
READ
IF cSALVAR = "S"
IF .NOT. BLOQUEIA(5)
SET COLOR TO W+/B
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "REGISTRO INDISPONIVEL NO MOMENTO! PRESSIONE QUALQUER TECLA."
INKEY(0)
EXIT
ELSE
REPLACE CODIGO WITH cCODIGO,;
RAZAO WITH cRAZAO,;
FANTASIA WITH cFANTASIA,;
CNPJ WITH cCNPJ,;
IE WITH cIE,;
IM WITH cIM,;
ENDERECO WITH cENDERECO,;
BAIRRO WITH cBAIRRO,;
CEP WITH cCEP,;
CIDADE WITH cCIDADE,;
UF WITH cUF,;
PAIS WITH cPAIS,;
TEL WITH cTEL,;
CEL WITH cCEL,;
FAX WITH cFAX,;
EMAIL WITH cEMAIL,;
SITE WITH cSITE,;
CONTATO WITH cCONTATO
UNLOCK
COMMIT
END IF
END IF
EXIT
END DO
cRECARREGAR = "SIM"
nRETORNO = 0
ELSEIF LASTKEY() = -6
CLEAR TYPEAHEAD
cCODIGO = CODIGO
cRAZAO = RAZAO
cFANTASIA = FANTASIA
cCNPJ = CNPJ
cIE = IE
cIM = IM
cENDERECO = ENDERECO
cBAIRRO = BAIRRO
cCEP = CEP
cCIDADE = CIDADE
cUF = UF
cPAIS = PAIS
cTEL = TEL
cCEL = CEL
cFAX = FAX
cEMAIL = EMAIL
cSITE = SITE
cCONTATO = CONTATO
cSUBTITULO = "CONSULTA"
SET COLOR TO W+/B
@ 00,00 CLEAR TO 00,79; @ 00, ((80 - LEN("FORNECEDORES")) / 2) SAY "FORNECEDORES"
@ 00,(78 - LEN(cSUBTITULO)) SAY cSUBTITULO
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "<ESC> PARA SAIR"
SET COLOR TO N/W
@ 01,00 CLEAR TO 23,79
@ 01,01 SAY "CODIGO: "
@ 02,01 SAY "RAZAO: "
@ 03,01 SAY "FANTASIA: "
@ 04,01 SAY "CNPJ: "
@ 04,28 SAY "IE: "
@ 04,53 SAY "IM: "
@ 05,01 SAY "ENDERECO: "
@ 06,01 SAY "BAIRRO: "
@ 06,50 SAY "CEP: "
@ 07,01 SAY "CIDADE: "
@ 07,60 SAY "UF: "
@ 08,01 SAY "PAIS: "
@ 09,01 SAY "TEL: "
@ 10,01 SAY "FAX: "
@ 11,01 SAY "E-MAIL: "
@ 12,01 SAY "SITE: "
@ 13,01 SAY "CONTATO: "
SET COLOR TO W+/B
@ 01,09 SAY cCODIGO PICTURE "@!"
@ 02,08 SAY cRAZAO PICTURE "@!"
@ 03,11 SAY cFANTASIA PICTURE "@!"
@ 04,07 SAY cCNPJ PICTURE "@!"
@ 04,32 SAY cIE PICTURE "@!"
@ 04,57 SAY cIM PICTURE "@!"
@ 05,11 SAY cENDERECO PICTURE "@!"
@ 06,09 SAY cBAIRRO PICTURE "@!"
@ 06,55 SAY cCEP PICTURE "@!"
@ 07,09 SAY cCIDADE PICTURE "@!"
@ 07,64 SAY cUF PICTURE "@!"
@ 08,06 SAY cTEL PICTURE "@!"
@ 09,06 SAY cCEL PICTURE "@!"
@ 10,06 SAY cFAX PICTURE "@!"
@ 11,09 SAY cEMAIL PICTURE "@!"
@ 12,07 SAY cSITE PICTURE "@!"
@ 13,10 SAY cCONTATO PICTURE "@!"
INKEY(0)
cRECARREGAR = "SIM"
nRETORNO = 0
ELSEIF LASTKEY() = -7
CLEAR TYPEAHEAD
cCODIGO = CODIGO
cRAZAO = RAZAO
cFANTASIA = FANTASIA
cCNPJ = CNPJ
cIE = IE
cIM = IM
cENDERECO = ENDERECO
cBAIRRO = BAIRRO
cCEP = CEP
cCIDADE = CIDADE
cUF = UF
cPAIS = PAIS
cTEL = TEL
cCEL = CEL
cFAX = FAX
cEMAIL = EMAIL
cSITE = SITE
cCONTATO = CONTATO
cSUBTITULO = "EXCLUSAO"
SET COLOR TO W+/B
@ 00,00 CLEAR TO 00,79; @ 00, ((80 - LEN("FORNECEDORES")) / 2) SAY "FORNECEDORES"
@ 00,(78 - LEN(cSUBTITULO)) SAY cSUBTITULO
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "<ESC> PARA SAIR"
SET COLOR TO N/W
@ 01,00 CLEAR TO 23,79
@ 01,01 SAY "CODIGO: "
@ 02,01 SAY "RAZAO: "
@ 03,01 SAY "FANTASIA: "
@ 04,01 SAY "CNPJ: "
@ 04,28 SAY "IE: "
@ 04,53 SAY "IM: "
@ 05,01 SAY "ENDERECO: "
@ 06,01 SAY "BAIRRO: "
@ 06,50 SAY "CEP: "
@ 07,01 SAY "CIDADE: "
@ 07,60 SAY "UF: "
@ 08,01 SAY "PAIS: "
@ 09,01 SAY "TEL: "
@ 10,01 SAY "FAX: "
@ 11,01 SAY "E-MAIL: "
@ 12,01 SAY "SITE: "
@ 13,01 SAY "CONTATO: "
SET COLOR TO W+/B
@ 01,09 SAY cCODIGO PICTURE "@!"
@ 02,08 SAY cRAZAO PICTURE "@!"
@ 03,11 SAY cFANTASIA PICTURE "@!"
@ 04,07 SAY cCNPJ PICTURE "@!"
@ 04,32 SAY cIE PICTURE "@!"
@ 04,57 SAY cIM PICTURE "@!"
@ 05,11 SAY cENDERECO PICTURE "@!"
@ 06,09 SAY cBAIRRO PICTURE "@!"
@ 06,55 SAY cCEP PICTURE "@!"
@ 07,09 SAY cCIDADE PICTURE "@!"
@ 07,64 SAY cUF PICTURE "@!"
@ 08,06 SAY cTEL PICTURE "@!"
@ 09,06 SAY cCEL PICTURE "@!"
@ 10,06 SAY cFAX PICTURE "@!"
@ 11,09 SAY cEMAIL PICTURE "@!"
@ 12,07 SAY cSITE PICTURE "@!"
@ 13,10 SAY cCONTATO PICTURE "@!"
SET CURSOR ON
cEXCLUIR = SPACE(01)
SET COLOR TO W+/B,W+/N
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "EXCLUIR ESTE REGISTRO? <S/N> " GET cEXCLUIR PICTURE "@!" VALID(cEXCLUIR$"SN")
READ
IF cEXCLUIR = "S"
IF .NOT. BLOQUEIA(5)
SET COLOR TO W+/B
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "REGISTRO INDISPONIVEL NO MOMENTO! PRESSIONE QUALQUER TECLA."
INKEY(0)
ELSE
DELETE
UNLOCK
COMMIT
END IF
END IF
cRECARREGAR = "SIM"
nRETORNO = 0
ELSEIF LASTKEY() = -8
CLEAR TYPEAHEAD
DO WHILE .T.
SET CURSOR ON
cPROCURARPOR = "1"
cLOCALIZAR = SPACE(50)
SET COLOR TO N/W,W+/N
@ 20,00 CLEAR TO 23,79
@ 20,00 TO 23,79
@ 21,02 SAY "1-CODIGO 2-RAZAO 3-FANTASIA"
@ 22,02 SAY "PROCURAR POR: "
@ 22,16 GET cPROCURARPOR PICTURE "@!" VALID(cPROCURARPOR$"123")
@ 22,18 GET cLOCALIZAR PICTURE "@!"
READ
IF LASTKEY() = 27
cRECARREGAR = "SIM"
nRETORNO = 0
EXIT
ENDIF
IF LEN(TRIM(cLOCALIZAR)) = 0
cRECARREGAR = "SIM"
nRETORNO = 0
EXIT
ENDIF
SELECT 6
nINDICE = VAL(cPROCURARPOR)
SET ORDER TO nINDICE
IF DBSEEK(TRIM(cLOCALIZAR), .T.)
cRECARREGAR = "SIM"
nRETORNO = 2
EXIT
ELSE
SET COLOR TO W+*/R
@ 24,00 CLEAR TO 24,79
@ 24,00 SAY "NENHUM REGISTRO ENCONTRADO! AGUARDE 3 SEGUNDOS..."
INKEY(3)
SET COLOR TO W+/B
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "<F5>INCLUIR <F6>ALTERAR <F7>CONSULTAR <F8>EXCLUIR <F9>LOCALIZAR"
cRECARREGAR = "SIM"
nRETORNO = 0
LOOP
ENDIF
ENDDO
SET CURSOR OFF
SET COLOR TO N/W,W+/B
@ 01,00 CLEAR TO 23,79
@ 01,00 TO 23,79
ELSEIF LASTKEY() = 19
KEYBOARD CHR(26)
ELSEIF LASTKEY() = 4
KEYBOARD CHR(2)
END IF
RETURN(nRETORNO)
FUNCTION FORNTEM
PARAMETERS cCHAVE
SELECT 6
SEEK cCHAVE
IF FOUND()
SET COLOR TO W+/B
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "REGISTRO JA EXISTE! PRESSIONE QUALQUER TECLA PARA SAIR."
INKEY(0)
@ 24,00 CLEAR TO 24,79
@ 24,01 SAY "<ESC>SAIR"
RETURN(.T.)
ELSE
RETURN(.F.)
END IF