Página 3 de 4
Erro ao compilar o hbp
Enviado: 16 Fev 2015 18:57
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
Erro ao compilar o hbp
Enviado: 16 Fev 2015 19:06
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,
Erro ao compilar o hbp
Enviado: 16 Fev 2015 19:11
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)
Erro ao compilar o hbp
Enviado: 16 Fev 2015 19:17
por Itamar M. Lins Jr.
Coloque ai:
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.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 19:25
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.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 19:38
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:
Abraços,
Erro ao compilar o hbp
Enviado: 16 Fev 2015 19:42
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?
Erro ao compilar o hbp
Enviado: 16 Fev 2015 20:15
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,
Erro ao compilar o hbp
Enviado: 16 Fev 2015 20:29
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.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 22:29
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
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
Erro ao compilar o hbp
Enviado: 16 Fev 2015 22:46
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.........
Erro ao compilar o hbp
Enviado: 16 Fev 2015 22:56
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,
Erro ao compilar o hbp
Enviado: 16 Fev 2015 23:04
por eciodias
Continua.... 02/16/15
Erro ao compilar o hbp
Enviado: 16 Fev 2015 23:06
por eciodias
Preciso do formato... DD/MM/YYYY
Com as alterações que sugeriu ficou MM/DD/YY......
Erro ao compilar o hbp
Enviado: 16 Fev 2015 23:11
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,