Page 1 of 1

compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 11:54 am
by goosfancito
Hola.

Tengo problemas al compilar con harbour, me dice que esto tiene error, en cambo en xharbour no lo tiene.

Code: Select all

               ::vGet[ 01 ] := IIf( cLinea IN { "HARBOUR", "XHARBOUR" }, IIf( cLinea == "HARBOUR", 1, 2 ), 1 )
Gracias

Re: compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 12:53 pm
by karinha
Muestra algo más completo.

Re: compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 1:08 pm
by goosfancito
en esa linea es el problema

Re: compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 1:27 pm
by karinha
Cual é el error? Post error.log ó un ejemplo simples. No hay nada en \samples con este comando.

Re: compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 2:32 pm
by cmsoft
Podrias proba con

Code: Select all

::vGet[ 01 ] := IIf( ASCAN({ "HARBOUR", "XHARBOUR" },cLinea)>0, IIf( cLinea == "HARBOUR", 1, 2 ), 1 )

Re: compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 3:37 pm
by goosfancito
Yo lo que quiero saber es si en harbour se utiliza el "IN" como en el xharbour..

Ahi el error que tira es (para mi entender) que el harbour no reconoce el "IN",

CM si pongo lo que me decis funciona bien. Pero quiero saber si en todas las app que este usando IN tengo que pasarlo a SCAN...

gracias.

Re: compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 4:24 pm
by cmsoft
Por lo visto la funcion IN no existe en Harbour
http://www.fivetechsoft.com/harbour-docs/harbour.html

Re: compilando con harbour Error en IN

Posted: Wed Aug 24, 2016 5:58 pm
by horacio
"In" es una extensión de xHarbour. No existe en Harbour. Se usa "$" en vez de "In" como en clipper.

Saludos

Re: compilando con harbour Error en IN

Posted: Thu Aug 25, 2016 12:08 am
by goosfancito
a OK!

y como puedo hacer para que tome ambos? o sea, que pueda decir:

Code: Select all

if XHARBOUR
   IN {....}
ELSE
   $...
ENDIF 
 
Gracias.

Re: compilando con harbour Error en IN

Posted: Thu Aug 25, 2016 11:22 am
by armando.lagunas
::vGet[ 01 ] := IIf( ( cLinea = "HARBOUR" .or. cLinea = "XHARBOUR" ), IIf( cLinea == "HARBOUR", 1, 2 ), 1 )

Re: compilando con harbour Error en IN

Posted: Thu Aug 25, 2016 4:32 pm
by Antonio Linares
Gustavo,

Prueba a incluir hbcompat.ch:

https://github.com/harbour/core/blob/ma ... bcompat.ch

#include "hbcompat.ch"

Re: compilando con harbour Error en IN

Posted: Thu Aug 25, 2016 9:38 pm
by goosfancito
Pruebo y aviso.

gracias.

Re: compilando con harbour Error en IN

Posted: Thu Aug 25, 2016 9:54 pm
by Joel Andujo
Así lo uso sin problemas con xHarbour:

::vGet[ 01 ] := IIf( cLinea IN "HARBOUR,XHARBOUR", IIf( cLinea == "HARBOUR", 1, 2 ), 1 )
o
::vGet[ 01 ] := IIf( cLinea $ "HARBOUR,XHARBOUR", IIf( cLinea == "HARBOUR", 1, 2 ), 1 )


Joel Andujo

Re: compilando con harbour Error en IN

Posted: Fri Aug 26, 2016 1:32 am
by goosfancito
en mi caso uso bastante el "IN" pero en xharbour,
ahora bien he visto que en algunos sources hacen algo para que cuando
se compile con xharbour tome un camino y cuando es con harbour utilicen otro,

pero no lo tengo bien presente como es el mecanismo al compilar, como le digo que estoy compilando
con xharbour o harbour.

Re: compilando con harbour Error en IN

Posted: Fri Aug 26, 2016 10:24 pm
by Antonio Linares
Gustavo,

En hbcompat.ch mira como se traduce IN para que funcione en Harbour:

#translate ( <exp1> IN <exp2> ) => ( ( <exp1> ) $ ( <exp2> ) )