Página 1 de 1
Abrir um DBF
Enviado: 10 Ago 2010 10:47
por elituhh
Eu preciso abrir um DBF e add string a ele, EU SOU MUUUUUUUUITO LEIGO, entao eu queria q vcs explicassem bem detalhadamente...
veja o meu codigo e aponte os erros, qdo eu compilo da erro: DBUSEAREA: ARGUMENTS<0> axo que a sintaxe ta errada
(cadastros é o meu DBF!)
Código: Selecionar todos
Procedure Main()
Public UF, CEP, CIDADE, USASIS, NOME, VNome
DBUsearea(.T.,"DBFCDX","cadastros","CAD",.T.)
@ 10,10 Say "Digite um nome"
@ 11,10 Get VNome PICT "@A"
Read
NOME := Vnome
Return
Obg

Re: Abrir um DBF
Enviado: 10 Ago 2010 11:04
por Toledo
Amigo, o nome de arquivos DBF podem ter no máximo 8 caracteres. Altere o nome do seu DBF para CADASTRO.DBF e tente novamente!
Abraços,
Re: Abrir um DBF
Enviado: 10 Ago 2010 11:49
por elituhh
Alterei e o erro persiste
texto do erro:
Código: Selecionar todos
ERROR DBCMD/1015 ARGUMENT ERROR: DBUSEAREA Arguments: <>
vlw
Re: Abrir um DBF
Enviado: 10 Ago 2010 12:14
por ANDRIL
Amigo, voce esta usando um drive que nao esta devidamente declarado no seu sistema. Altere para isto:
Código: Selecionar todos
Procedure Main()
Public UF, CEP, CIDADE, USASIS, NOME, VNome
REQUEST DBFCDX
DBUsearea(.T.,"DBFCDX","cadastros","CAD",.T.)
@ 10,10 Say "Digite um nome"
@ 11,10 Get VNome PICT "@A"
Read
NOME := Vnome
Return
Quando for linkar linke a lib DBFCDX tambem
Ate+
Re: Abrir um DBF
Enviado: 10 Ago 2010 12:27
por alxsts
Olá!
Também será necessário inicializar as variáveis para que o Get/Read funcione.
Evite ao máximo utilizar variáveis PUBLIC e PRIVATE. Prefira as dos tipos LOCAL e STATIC.
Código: Selecionar todos
LOCAL UF := Space(2), CEP := Space(8), CIDADE := Space(30), USASIS := Space(20), NOME := Space(40), VNome := Space(40)
Re: Abrir um DBF
Enviado: 10 Ago 2010 14:12
por elituhh
se eu colocar "RTLINK FI MEUPRG LIB DBFCDX" da erro!
Código: Selecionar todos
Procedure Main()
LOCAL UF := Space(2), CEP := Space(8), CIDADE := Space(30),;
USASIS := Space(01), NOME := Space(40), VNome := Space(40)
Request DBFCDX
RTLINK FI MEUPRG LIB DBFCDX
DBUsearea(.T.,"DBFCDX","cadastro","CAD",.T.)
@ 10,10 Say "Digite um nome"
@ 11,10 Get VNome PICT "@A"
Read
NOME := Vnome
Return
Re: Abrir um DBF
Enviado: 10 Ago 2010 14:32
por Toledo
Amigo, delete a linha 5 do seu código da mensagem acima. Depois salve/feche o arquivo PRG e digite os seguintes comandos no prompt do DOS:
CLIPPER nomedoseuarquivoPRG
RTLINK FI nomedoseuarquivoPRG LIB DBFCDX
Atenção: troque a expressão nomedoseuarquivoPRG dos comandos acima pelo nome do seu arquivo PRG (sem a extensão).
Abraços,
Re: Abrir um DBF
Enviado: 10 Ago 2010 14:36
por ANDRIL
Amigo, retire isso do codigo.
Isso é a maneira de linkar a sua aplicação, ou se vc usar o Blinker use:
Como voce esta compilando/linkando esse sistema?
Assim:
Se for atraves de um Batch, inclua a lib na chamada do seu linker.
Espero ter ajudada e não confundido, rs!
Ate+
Re: Abrir um DBF
Enviado: 10 Ago 2010 16:11
por elituhh
o DOS diz: não é reconhecido como um comando interno ou externo,um programa variavel ou um arquivo em lotes...
tanto clipper qto rlink...
eu uso o clipper 5.2 e o xharbour..
Re: Abrir um DBF
Enviado: 10 Ago 2010 18:31
por Toledo
Amigo, como você faz para compilar estes seus programas?
Re: Abrir um DBF
Enviado: 10 Ago 2010 20:49
por alxsts
Olá!
Caro
elituhh:
creio que a leitura
deste tópico vai te ajudar a entender o processo de compilação.
Feito isto, sugiro que você baixe algum material sobre Clipper e o estude.
Re: Abrir um DBF
Enviado: 10 Ago 2010 21:01
por Toledo
Bom, apesar de achar que o elituhh está compilando com o Harbour, segue abaixo um outro tópico sobre a instalação e configuração do Clipper 5.2e:
Iniciando com o Clipper 5.2e
Re: Abrir um DBF
Enviado: 11 Ago 2010 09:01
por elituhh
Bom, eu vou dar um jeito aqui, eu compilo usando o comando 'xbuild nome.prg'
obrigado mesmo assim =)
Re: Abrir um DBF
Enviado: 11 Ago 2010 10:14
por Toledo
Amigo, você está usando o xHarbour para compilar seu programa, então os comandos CLIPPER e RTLINK que foi passado acima não vão funcionar.
Neste caso, o seu código pode ficar assim:
Código: Selecionar todos
Procedure Main()
LOCAL UF := Space(2), CEP := Space(8), CIDADE := Space(30),;
USASIS := Space(01), NOME := Space(40), VNome := Space(40)
Request DBFCDX
DBUsearea(.T.,"DBFCDX","cadastro","CAD",.T.)
@ 10,10 Say "Digite um nome"
@ 11,10 Get VNome PICT "@A"
Read
NOME := Vnome
Return
E compile usando o comando xbuild nome.prg.
Abraços,