Projeto Cadastro Simples
Enviado: 14 Jun 2025 18:09
boa noite
estou tentando compilar esse codigo mas está dando erro sou novo em programação, se alguem puder me ajudar
estou tentando compilar esse codigo mas está dando erro sou novo em programação, se alguem puder me ajudar
Código: Selecionar todos
// Arquivo: cadastro.prg
#include "inkey.ch" // Para teclas
#include "setcurs.ch" // Para o cursor
REQUEST DBFCDX // Para usar o driver de índice CDX
//----------------------------------------------------------------------------//
FUNCTION Main()
//----------------------------------------------------------------------------//
LOCAL nOpcao := 0
SETMODE( 25, 80 ) // Define modo de tela
SETCURSOR( SC_NONE ) // Oculta o cursor padrão
// Abre ou cria o arquivo de dados
IF ! ( "DADOS" $ SET( _SET_DBF_AREAS ) ) // Verifica se a area de trabalho DADOS esta aberta
IF ! FILE( "DADOS.DBF" ) // Se o arquivo nao existe, cria
DBCREATE( "DADOS.DBF", { ;
{ "NOME", "C", 50, 0 }, ;
{ "CPF", "C", 14, 0 }, ;
{ "BAIRRO", "C", 50, 0 }, ;
{ "RUA", "C", 50, 0 }, ;
{ "NUMERO", "N", 6, 0 } } )
USE DADOS NEW ALIAS DADOS EXCLUSIVE VIA "DBFCDX" // Abre o arquivo recem criado
INDEX ON CPF TAG CPF UNIQUE TO DADOS ALIAS DADOS // Cria indice por CPF
INDEX ON NOME TAG NOME TO DADOS ALIAS DADOS // Cria indice por Nome
ELSE
USE DADOS NEW ALIAS DADOS VIA "DBFCDX" // Abre o arquivo existente
// Verifica se os indices existem, se nao, cria
IF ! INDEXKEY(1) == "CPF"
INDEX ON CPF TAG CPF UNIQUE TO DADOS ALIAS DADOS
ENDIF
IF ! INDEXKEY(2) == "NOME"
INDEX ON NOME TAG NOME TO DADOS ALIAS DADOS
ENDIF
ENDIF
ENDIF
DO WHILE nOpcao != 5
CLS // Limpa a tela
@ 02, 25 SAY "--- SISTEMA DE CADASTRO SIMPLES ---" COLOR "W+/B"
@ 04, 30 SAY "1. Cadastrar"
@ 05, 30 SAY "2. Pesquisar"
@ 06, 30 SAY "3. Alterar Cadastro"
@ 07, 30 SAY "4. Excluir Cadastro"
@ 08, 30 SAY "5. Sair"
@ 10, 25 SAY "Escolha uma opção: " GET nOpcao PICTURE "9" VALID ( nOpcao >= 1 .AND. nOpcao <= 5 )
READ
DO CASE
CASE nOpcao == 1
Cadastrar()
CASE nOpcao == 2
Pesquisar()
CASE nOpcao == 3
AlterarCadastro()
CASE nOpcao == 4
ExcluirCadastro()
ENDCASE
ENDDO
CLOSE ALL // Fecha todos os arquivos abertos
CLS
@ MAXROW()/2, MAXCOL()/2 - 10 SAY "Obrigado por usar!"
WAIT ""
RETURN NIL
//----------------------------------------------------------------------------//