Erro ao compilar o hbp

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem por eciodias »

Código: Selecionar todos

FUNCTION VendaGar
****************
Parameters Vgarson,SomaTira
Area=Select()
Select 4
If NetUse("CadGarso","Garson",.F.,10)
  If .Not. File("IndGar1.Ntx")
    @ 11,16 Say " Criar Arquivos de Indices......, <Tecle Algo> !"
    Set Color To
    Inkey(0)
    Select &Area
    Return(.F.)
  Endif
  Set Index To IndGar1
  Set Order To 1
  Go Top
  If Lastkey() = 27
    Use
    Select &Area
    Return(.T.)
  Endif
  Seek Vgarson <=============================== LINHA QUE ESTA DANDO O ERRO
  If RegLock(20)
    Replace Vendas With Iif(SomaTira=1,Vendas+ValMater,Vendas-ValMater)
    Unlock
  Else
    Mensagem("O registro näo esta disponível....",9,1)
    Return
  Endif
  Use
  Select &Area
  Return(.T.)
Else
  Vrede=.F.
  SetColor(Tcor14)
  ExpBox(09,13,13,76)
  @ 11,16 Say " Acesso Negado, Tente mais tarde. <Tecle Algo> !"
  Set Color To
  Inkey(0)
  Select &Area
  Return(.F.)
Endif
Editado pela última vez por Toledo em 16 Fev 2015 19:00, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro ao compilar o hbp

Mensagem por Toledo »

Poste também o código onde você chama a função VendaGar(). Pois é ai que você passa os parâmetros para a função, no caso Vgarson onde esta ocorrendo o erro.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem por eciodias »

Código: Selecionar todos

Select LancaDia
If AdiReg(20)
   Replace Situ     With Vsitu,     Mesa     With Vmesa,     Pedi     With Vpedi,;
               Data     With Vdata,     HoraInic With Vhora,     CodGarso With Vgarson,;
                CodMater With Vmater,    DesMater With VnomeMa,   ValUnita With Vvalor,;
                QtdMater With Vqtdes,    ConParce With ValMater,  Comissao With Vcomiss,;
                ConTotal With VconTotal, NomGarso With VnomeGa,   Fecho    With "1",;
                Usuario  With Usu,       NumeroCx With VnumeroCx, SeqDia   With VseqDia
     Unlock
     Commit

      SomaTira=1
      VendaGar(Vgarson,SomaTira)
Editado pela última vez por Toledo em 16 Fev 2015 19:18, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Erro ao compilar o hbp

Mensagem por Itamar M. Lins Jr. »

Coloque ai:

Código: Selecionar todos

alert( valtype(vgarson) )
Uma linha antes de dar o seek. Vai retornar o tipo de variavel. Tem que ser o mesmo tipo que vc criou no dbf.
E mostre p/ nós o tipo.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem por eciodias »

É uma variável tipo caracter com 2 posições tipo : 01,02,13,20.... e o campo indexado também é caracter onde esta armazenado o cadastro dos Garsons, simples.

Não tem mistério...,

A variável existe, tanto que incrementa um arquivo antes (de lançamentos) e depois vai no Cadastro de Garsons e incrementa mais este valor ou tira este valor do cadastro do Garsom.... simples.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro ao compilar o hbp

Mensagem por Toledo »

Note: It is recommended to list formal parameters within parentheses in the FUNCTION or PROCEDURE declaration. This results in the formal parameters being created as LOCAL variables. Access to LOCAL variables is faster than to PRIVATE variables.
Amigo, o uso do comando PARAMETERS cria variáveis PRIVATE, então se a variável Vgarson for também Private, pode estar ocorrendo algum conflito. Então faça um pequeno teste:

Código: Selecionar todos

FUNCTION VendaGar
****************
Parameters Vgarson,SomaTira
Troque por:

Código: Selecionar todos

FUNCTION VendaGar(Vgarson,SomaTira)
****************
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem por eciodias »

Isto quer dizer.... que todas as minhas... que antes eram Procedures, que viraram Function com os parâmetros declarados abaixo... vão ter que serem modificadas?

É isto mesmo?
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro ao compilar o hbp

Mensagem por Toledo »

Amigo, você fez o teste? Deu certo?
eciodias escreveu:que antes eram Procedures, que viraram Function
Você pode continuar usando Procedures, mas na chama desta procedure é aconselhável usar como se fosse uma Function, por exemplo:

Código: Selecionar todos

//Chamada modo procedural
DO Somar With nQta, nVlr

//Chamada modo funcional
Somar(nQta, nVlr)

Procedure Somar(npQta,npVlr)
  ? (npQta * npVlr)
Return
eciodias escreveu:os parâmetros declarados abaixo... vão ter que serem modificadas?
Não necessariamente, mas de preferência não nomear parâmetros com o mesmo nome de uma variável Private já existente.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Erro ao compilar o hbp

Mensagem por Jairo Maia »

Olá Pessoal,

O Itamar já pediu para que ele verificasse o tipo da variavel que chega no Seek colocando um alert( valtype(vgarson) ), e ele apenas afirmou que é caractere. Porém, não é!

O erro DBCMD/1001 ocorre quando o tipo do argumento passado para Seek ou DbSeek() não é: Caractere, Numérico, Lógico ou Data.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Erro ao compilar o hbp

Mensagem por Nascimento »

elcio eu fiz o seguinte : quando comecei

baixei o harbour3.2
instalei mudando o nome de hb32 para harbour

ficando c:\harbour


em seguida abri meu computador , cliquei em configuraçoes avançadas do sistema

la em baixo tem: Variaveis de Ambiente

cliquei nela abriu uma janela onde embaixo novamente tem: Variaveis de sistema

fui ate onde tem o nome PATH , cliquei em cima e cliquei embaixo em editar

ai coloquei exatamente essas linhas

Código: Selecionar todos

;C:\Harbour\bin;C:\Harbour\lib;C:\Harbour\include;
apliquei fechei ai abri o cmd e digitei hbmk2 , ai apareceu os parametros do hbmk2

apos isso fui e compilei meu sistema que era em clipper sem aperreio nem 1 decorreu tudo tranquilinho pequenos ajustes mesmo que vc encontra ate aqui no forum

tipo:

do case
case i = 1

do tarefas

end case

para:

do case
case i = 1
tarefas()
end case

mais nada que nao tenha no forum
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem por eciodias »

Obrigado, eu já esperava que não fosse tão fácil como diziam....

A cada minuto me deparo com complicações que não deveriam existir....

Set Date British
Set Date Format To "dd/mm/yyyy"
Set Epoch To 2000
Set Century On

No Clipper 5
---------------
16/02/2015

No Harbour
-------------
02/16/15

Agora estou atras de como mudar isto.........
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro ao compilar o hbp

Mensagem por Toledo »

Tente:
Set Date To British
Set Century On
Set Epoch To 2000

Se você já está usando Set Date To British, então não precisa de Set Date Format To "dd/mm/yyyy".

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem por eciodias »

Continua.... 02/16/15
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem por eciodias »

Preciso do formato... DD/MM/YYYY

Com as alterações que sugeriu ficou MM/DD/YY......
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro ao compilar o hbp

Mensagem por Toledo »

Amigo, estranho isto, você deve estar fazendo algo errado ai.

Faz um pequeno teste, copie o código abaixo em uma arquivo PRG (por exemplo: testedata.prg) e depois compile.

Código: Selecionar todos

Proc Main()
Set Date To British
Set Century On
Set Epoch To 2000

? date()

Return
Para compilar digite: hbmk2 testedata.prg

Depois execute este programinha e veja qual o formato que vai apresentar a data.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder