Página 1 de 1

Atribuir valor para uma variável ?

Enviado: 17 Set 2018 14:26
por Itamar M. Lins Jr.
Ola!
Segue o código:

Código: Selecionar todos

Function main
LOCAL cNome
xVar := " cNome:='Joao da Silva' "
? xVar
? &xVar
? cNome
Return Nil
Como eu faço para "LOCAL cNome" ficar com o conteúdo := "Joao da Silva" ?
No caso a saida ai do test.prg é:

Código: Selecionar todos

itamar@samsung:~/fontes/teste$ ./test 
   
cNome:='Joao da Silva'                                                          
Joao da Silva         
NIL          
itamar@samsung:~/fontes/teste$ 
Saudações,
Itamar M. Lins Jr.

Atribuir valor para uma variável ?

Enviado: 17 Set 2018 14:43
por Itamar M. Lins Jr.
Ola!
Quem é Marco ?
No caso Macro rsrsrs tô aqui pensando esse cara me persegue rsrsrs (no caso o Marcos) amigo meu rsrsr
Mas ai não compila com -W3 snif!

Saudações,
Itamar M. Lins Jr.

Atribuir valor para uma variável ?

Enviado: 17 Set 2018 14:49
por Itamar M. Lins Jr.
Ola!
Acho que assim fica bom.

Código: Selecionar todos

MemVar cNome
Function main
xVar := "cNome:='Joao da Silva'"
? xVar
? &xVar
? cNome
Return Nil
Saudações,
Itamar M. Lins Jr.

Atribuir valor para uma variável ?

Enviado: 17 Set 2018 15:23
por JoséQuintas
Cuidado com o que espera
Veja resultado diferente pra variável LOCAL e PRIVATE
testehb.png

Atribuir valor para uma variável ?

Enviado: 17 Set 2018 15:35
por JoséQuintas
Tentei convertendo pra codeblock, mas mesmo resultado.

Código: Selecionar todos

#include "hbgtinfo.ch"

MEMVAR cOutro

PROCEDURE main

   LOCAL cVar := "cNome := 'teste de variavel local'"
   LOCAL cVar2 := "cOutro := 'teste de variavel local'"
   LOCAL cNome
   PRIVATE cOutro

   ? cVar
   ? Eval( MyMacro( cVar ) )
   ? cNome
   ? cVar2
   ? Eval( MyMacro( cVar2 ) )
   ? cOutro
   Inkey(0)

   RETURN

FUNCTION MyMacro( cValue )

   RETURN &( "{ || " + cValue + " }" )
É como se macro fosse uma função, e portanto a variável local não fica visível.
neste caso do codeblock idem.

Nota: apenas comentário: este segundo caso pode ser interessante pra evitar erro em macro, porque dá pra fazer tratamento de erro na função

Atribuir valor para uma variável ?

Enviado: 17 Set 2018 15:44
por JoséQuintas
Separando o nome da variável, mesmo resultado.
testehb.png