FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Concatenar una variable.
Posts: 78
Joined: Thu May 28, 2009 06:58 PM
Concatenar una variable.
Posted: Wed Jan 14, 2015 04:31 PM
Buen d铆a amigos:

Acudo a ustedes para su colaboraci贸n tratar茅 de explicarme, poniendo el c贸digo.

Local Var1:= "CARTERA"
Local Var2:= "VENCIDA"
Local num_Var := "0"

Antes yo pod铆a concatenar de la siguiente manera:

num_Var := Alltrim(Str( val(num_Var)+1 )) // Incremento ahora num_Var es 1

? Var&num_Var // Resultado CARTERA, esto es como decir: muestra lo que tiene la variable Var1.
num_Var := Alltrim(Str( val(num_Var)+1 )) // Incremento ahora num_Var es 2
? Var&num_Var // Resultado VENCIDA

Actualmente estoy usando Sistema Operativo Windows 8.1, FWH 14.12, Harbour 3.2 y al compilar me muestra el siguiente error:

Error E00042 Macro of declared symbol 'Var&num_var'

Podr铆an ayudarme en como hacerlo ahora, para poder concatenar ?, muchas gracias esto me 茅s muy urgente.

Atte.
Yessica
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 04:42 PM

Yessica,

No es mucho m谩s sencillo que hagas esto ?

? { "CARTERA", "VENCIDA" }[ Val( num_var ) ]

Cuanto menos uses las macros mejor :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 78
Joined: Thu May 28, 2009 06:58 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 05:42 PM
Antonio Linares wrote:Yessica,

No es mucho m谩s sencillo que hagas esto ?

? { "CARTERA", "VENCIDA" }[ Val( num_var ) ]

Cuanto menos uses las macros mejor :-)


Ok si es buena la idea, pero resulta que actualmente el sistema tiene un sin fin de variables publicas (mal hecho no debi贸 haber sido as铆), entonces tengo que ajustarme a la programaci贸n que se tiene en el sistema, para ponerte un ejemplo usaron lo siguiente:

Public E1,E2,E3,E4,E5.......etc, hasta llegar a E200

Ahora cada variable le asignan diferente informaci贸n. Se valida desde la variable E17 de la siguiente manera:

num_Var := "17"
While m->E&num_Var != "FIN"

Aqu铆 van haciendo el recorrido de las variables desde la E17, hasta que encuentre una que tenga el contenido "FIN"
y a la vez van validando el contenido de las variables, ejemplo:

If m->E&num_Var == "CONTRATO"
Realiza ciertos calculos
EndIf

Asi sucesivamente dependiendo del contenido de la variable.
num_Var := Alltrim(Str( val(num_Var)+1 ))
EndDo

C贸mo te digo, no puedo cambiar la forma en que lo hacen, puesto que ser铆a pegarle a todo el c贸digo, donde usan asi las variables.
Por ello me es necesario saber ahora de que manera puedo concatenar.

Gracias Master ojal谩 y pueda ayudarme.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 05:58 PM
Jessica

Quizas esto te ayude. El & s贸lo funciona al comienzo de la variable

Code (fw): Select all Collapse
聽Var1:= "CARTERA"
聽 聽Var2:= "VENCIDA"
聽 聽num_Var := "0"


num_Var := Alltrim(Str( val(num_Var)+1 )) 
cCad:="Var"+num_Var
?&cCad
num_Var := Alltrim(Str( val(num_Var)+1 )) 
cCad:="Var"+num_Var
?&cCad


Saludos,

Adhemar
Saludos,



Adhemar C.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 06:05 PM
Tambi茅n se puede
Code (fw): Select all Collapse
 ?&("Var"+num_Var)


Saludos,

Adhemar
Saludos,



Adhemar C.
Posts: 78
Joined: Thu May 28, 2009 06:58 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 08:03 PM
acuellar wrote:Jessica

Quizas esto te ayude. El & s贸lo funciona al comienzo de la variable

Code (fw): Select all Collapse
聽Var1:= "CARTERA"
聽 聽Var2:= "VENCIDA"
聽 聽num_Var := "0"


num_Var := Alltrim(Str( val(num_Var)+1 )) 
cCad:="Var"+num_Var
?&cCad
num_Var := Alltrim(Str( val(num_Var)+1 )) 
cCad:="Var"+num_Var
?&cCad


Saludos,

Adhemar


Gracias por tu pronta contestaci贸n Adhemar:

Mira prob茅 de las dos formas que me dijiste y aun no logro concatenar el nombre de la variable.

Me marca que no Existe la Variable Var1.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 08:23 PM

Jessica

Qu铆tale el Local 贸 declararla como Private

Saludos,

Adhemar

Saludos,



Adhemar C.
Posts: 78
Joined: Thu May 28, 2009 06:58 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 09:54 PM
acuellar wrote:Jessica

Qu铆tale el Local 贸 declararla como Private

Saludos,

Adhemar



Pues nada sigue igual el problema
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 11:24 PM
Jessica:

Prueba as铆
Code (fw): Select all Collapse
cVar := "BIT_A"+STRZERO(nVez,2,0)


Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 11:26 PM
Asi, me funciona a mi

Code (fw): Select all Collapse
MEMVAR cVar1
MEMVAR cVar2
MEMVAR nG


.../...

cVar1  := "CARTERA"
cVar2  := "VENCIDA"
nG     := 1
? &("cVar"+AllTrim( Str(nG) ))
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 78
Joined: Thu May 28, 2009 06:58 PM
Re: Concatenar una variable.
Posted: Wed Jan 14, 2015 11:43 PM
cnavarro wrote:Asi, me funciona a mi

Code (fw): Select all Collapse
MEMVAR cVar1
MEMVAR cVar2
MEMVAR nG


.../...

cVar1 聽:= "CARTERA"
cVar2 聽:= "VENCIDA"
nG 聽 聽 := 1
? &("cVar"+AllTrim( Str(nG) ))


Muuuchas gracias al parecer esta fue la buena. Ahora a probar lo dem谩s. Este foro es buen铆simo y las personas aqu铆 son bellas e irrepetibles, venga gracias a todos.

Compa帽ero es usted muy amable. Aqu铆 nos estaremos leyendo.
Posts: 78
Joined: Thu May 28, 2009 06:58 PM
Re: Concatenar una variable.
Posted: Fri Jan 16, 2015 02:39 PM
cnavarro wrote:Asi, me funciona a mi

Code (fw): Select all Collapse
MEMVAR cVar1
MEMVAR cVar2
MEMVAR nG


.../...

cVar1 聽:= "CARTERA"
cVar2 聽:= "VENCIDA"
nG 聽 聽 := 1
? &("cVar"+AllTrim( Str(nG) ))


Sera lo mismo para campos de tablas?
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Concatenar una variable.
Posted: Fri Jan 16, 2015 09:38 PM

Si, es lo mismo

Saludos

Continue the discussion