Página 2 de 2

Erro nos parâmetros do dbEdit

Enviado: 27 Dez 2012 14:09
por cjp
Alguém me ajuda, por favor!!!!

Erro nos parâmetros do dbEdit

Enviado: 27 Dez 2012 15:11
por Jairo Maia
Olá Inácio,

Tente alterar de pr+1 para pr += 1

Erro nos parâmetros do dbEdit

Enviado: 03 Jan 2013 00:24
por cjp
Continua dando o mesmo erro, Jairo. Aliás, pra te ser sincero, eu não entendi a tua fórmula. Mas fiz como vc disse, só que ainda assim não funcionou.

Erro nos parâmetros do dbEdit

Enviado: 03 Jan 2013 12:06
por rochinha
Amiguinho,

por acaso nao existe uma tabela aberta e com um campo pr sobrando ai? mesmo que estejamos vendo a variavel ser valorizada antes.

Os operadores += -= := não são reconhecidos por versões antigas do Clipper

teste+=1 é o mesmo que teste=teste+1.

Erro nos parâmetros do dbEdit

Enviado: 03 Jan 2013 13:06
por asimoes
Este pr foi definido como "static pr" por um acaso.
Dá pra mostrar toda função e como ela é chamada.

Erro nos parâmetros do dbEdit

Enviado: 03 Jan 2013 14:41
por JoséQuintas
Esse erro está claro, apesar de confundir.... rs

PR := "1"
? TYPE( PR )
? TYPE( "PR" )

O primeiro retorna "N" e o segundo retorna "C"
O correto pra testar é colocar entre aspas, ou usar ValType( var )

Ou seja, sua variável é caractere e não numérica.

Erro nos parâmetros do dbEdit

Enviado: 03 Jan 2013 16:35
por asimoes
José,
È isso mesmo, o correto é Type("pr") OU ValType(pr)

Que neste caso deve ser:

ValType(pr) ou Type("pr") = "U" ou qualquer outro tipo que não Númerico

Erro nos parâmetros do dbEdit

Enviado: 04 Jan 2013 12:33
por Jairo Maia
Olá Inácio,

Em Harbour, o que está estranho é que desta forma não compila, dá erro de sintaxe:

Código: Selecionar todos

Function Main()
 pr := 1  // declara e inia uma variável númérica
 pr+1     // Dá erro de sintaxe. Não compila
Return
Assim compila e funciona, considerando que o tipo da variável é numérica:

Código: Selecionar todos

Function Main()
 pr := 1  // declara e inia uma variável númérica
 pr += 1  // incrementa a variavel em 1
 pr++     // também poderia ser assim
 ++pr     // ou assim
Return
Também acho que o colega José está correto. Sua variável é alpha-numérica. Tente assim e veja se funciona:

Código: Selecionar todos

pr := Str( Val( pr ) + 1 )

Erro nos parâmetros do dbEdit

Enviado: 04 Jan 2013 13:35
por asimoes
Olá Jairo,

Essa sintaxe está mesmo errada pr+1

O ideal é testar o tipo que da variável pr e incrementar depois:

pr := if(ValType(pr)="C",Str( Val( pr ) + 1 ),pr+1)

Erro nos parâmetros do dbEdit

Enviado: 04 Jan 2013 14:54
por rochinha
Amiguinhos,
Em Harbour, o que está estranho é que desta forma não compila, dá erro de sintaxe:

Código: Selecionar todos

Function Main()
 pr := 1  // declara e inia uma variável númérica
 pr+1     // Dá erro de sintaxe. Não compila
Return
Aqui não se trata de problema do Harbour mas sim na codificação. Ao colocar o trecho pr+1 não foi definido um meio de saida ou armazenamento:

Código: Selecionar todos

Function Main()
 pr := 1  // declara e inia uma variável númérica
 ? pr+1   // deverá apresentar o resultado
Return
Ou:

Código: Selecionar todos

Function Main()
 pr := 1  // declara e inia uma variável númérica
 resultado := pr+1   // deverá armazenar o resultado
Return
Uma variável declarada como static não terá seu conteudo modificado em runtime. Voce usa geralmente para definir um valor imutável durante o uso da aplicação.

Erro nos parâmetros do dbEdit

Enviado: 19 Fev 2013 09:30
por Jeferson
Bom dia a todos.

Pablo você teria como disponibilizar esse tutorial completo que tu pusseste acima mencionando só o DBEDIT?

Eu tenho ele em ingles e gostaria dele em portugues para facilitar a assimilação.

desde já agradeço.


Jeferson.

Erro nos parâmetros do dbEdit

Enviado: 19 Fev 2013 09:56
por Pablo César
Jeferson, seja bem vindo ao fórum !
Jeferson escreveu:Pablo você teria como disponibilizar esse tutorial completo que tu pusseste acima mencionando só o DBEDIT?
Não entendi. este tutorial já está em português e é sobre dbEdit. Por isso não entendo o que você está pedindo.

Agora, quer um conselho ? Substitua o dbEdit pelo TBrowse que tem mais poder, mais flexibilidade. No fórum tem vários exemplos.

Erro nos parâmetros do dbEdit

Enviado: 19 Fev 2013 13:10
por alxsts
Olá!
rochinha escreveu:Uma variável declarada como static não terá seu conteudo modificado em runtime. Voce usa geralmente para definir um valor imutável durante o uso da aplicação.
Só para esclarecer este ponto, onde creio que o Rochinha se distraiu: as variáveis estáticas (STATIC) podem ter seu conteúdo modificado normalmente durante o processamento, como qualquer outro tipo de variável. Se não fosse assim, não teria sentido elas existirem. Creio que o Rochinha se referiu às constantes manifestas, aquelas criadas com

Código: Selecionar todos

#define   K   1
Vejam um exemplo atribuindo valores a uma variável estática:

Código: Selecionar todos

FUNCTION Main()

   LOCAL cUF, GetList := {}

   CLS
   
   cUF := Space(2)
   
   @10,1 Say "Estado:" ;
         Get cUF ;
        Pict "!!" ;
       Valid { || ValidarUF( cUF ) } 
   READ
   
   ValidarUF()

RETURN NIL          
//--------------------------------------------------------------------------------------
FUNCTION ValidarUF( cUF )

   STATIC aUF
   LOCAL lRet := .F.
   
   IF Empty( aUF )
      // primeira vez... carrega vetor estático
      aUF := {"AC","AL","AP","AM","BA","CE","DF","ES","GO","MA","MT","MS","MG","PR", ;
              "PB","PA","PE","PI","RJ","RN","RS","RO","RR","SC","SE","SP","TO" }         
   ENDIF   

   IF ! Empty cUF
      lRet := Ascan( aUF, cUf ) > 0
   Else
      // última vez... limpa vetor estático liberando a memória ocupada
      aUF := NIL
   ENDIF
   
RETURN lRet
//--------------------------------------------------------------------------------------

Erro nos parâmetros do dbEdit

Enviado: 19 Fev 2013 15:27
por Jeferson
Eu me referia ao Guia de referência da linguagem xHarbour. Eu tinha visto essa descrição do Dbedit nesse Guia em Inglês. Quanto a sua sugestão acho valida, porem eu estou afastado da area de programação a 14 anos. Estou reiniciando depois de ter cansado de brincar na area de infra, rede e servidores. A idade avançou e programar é mais relax. Por isso estou recomeçando. Abraço.

Jeferson.

Erro nos parâmetros do dbEdit

Enviado: 19 Fev 2013 16:13
por Pablo César
Esteja a vontade Jeferson, poste as suas dúvidas que ajudaremos na medida do possível. :)