In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

otro problemita al compilar con harbour

Foro público de Xailer en español
User avatar
Carlos Ortiz
Posts: 859
Joined: Wed Jul 01, 2009 5:44 pm
Location: Argentina - Córdoba
Contact:

otro problemita al compilar con harbour

Postby Carlos Ortiz » Thu May 08, 2014 8:12 am

tení­a un bloque de código definido asi
bCode := < |oCheque|
oCheque:idestadocheque := oEstado:idestadocheque
oCheque:anulacion := fechaAnulacion
ret:=oCheque:Actualizar() >
....
.... y lo usaba así­
AEval(aCheques, bCode)
ahora al compilar salta este error
Compilando Cheques.prg...
C:ProyectoClasesSourceCheques.prg(173) Error E0030 Syntax error
"syntax error at '<'"
C:ProyectoClasesSourceCheques.prg(176) Error E0020 Incomplete
statement or unbalanced delimiters
1 Files, 0 Warnings, 2 Errors
Tiempo de compilación: 0.25s Tiempo de enlazado: 0s Tiempo total: 0.44s
Por lo demás la wiki me salvo de muchas preguntas!
Gracias!
@dbfarma
www.dbfarma.com.ar
User avatar
jfgimenez
Site Admin
Posts: 5639
Joined: Mon Apr 06, 2015 8:48 pm
Contact:

otro problemita al compilar con harbour

Postby jfgimenez » Thu May 08, 2014 9:32 am

Carlos,
> tení­a un bloque de código definido asi
> bCode := < |oCheque|
> oCheque:idestadocheque := oEstado:idestadocheque
> oCheque:anulacion := fechaAnulacion
> ret:=oCheque:Actualizar() >
> ....
> .... y lo usaba así­
> AEval(aCheques, bCode)
>
> ahora al compilar salta este error
>
> Compilando Cheques.prg...
> C:ProyectoClasesSourceCheques.prg(173) Error E0030 Syntax error
> "syntax error at '<'"
> C:ProyectoClasesSourceCheques.prg(176) Error E0020 Incomplete
> statement or unbalanced delimiters
> 1 Files, 0 Warnings, 2 Errors
> Tiempo de compilación: 0.25s Tiempo de enlazado: 0s Tiempo total:
> 0.44s
Esa sintaxis corresponde a los "codeblocks extendidos" que tení­a
xHarbour, pero hasta donde yo sé, Harbour no los soporta. Tendrás que
cambiarlo por un bloque de código tradicional o por una funcional.
> Por lo demás la wiki me salvo de muchas preguntas!
Me alegro ;-)
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
User avatar
Carlos Ortiz
Posts: 859
Joined: Wed Jul 01, 2009 5:44 pm
Location: Argentina - Córdoba
Contact:

otro problemita al compilar con harbour

Postby Carlos Ortiz » Fri May 09, 2014 7:47 am

Por eso debe haber esto en xHarbour
#ifndef __XHARBOUR__
#xtranslate <|[]| => {||
#xcommand > [<*x*>] => }
#endif
muchas gracias José, va queriendo esto de compilar con X3, Harbour y MinGui
@dbfarma
www.dbfarma.com.ar
Carlos Mora
Posts: 88
Joined: Fri Jul 28, 2006 9:36 am

otro problemita al compilar con harbour

Postby Carlos Mora » Wed May 21, 2014 6:17 pm

Hola Jose, tanto tiempo!
El 08/05/2014 9:32, Jose F. Gimenez escribió:> Carlos,
>
>> tení­a un bloque de código definido asi
>> bCode := < |oCheque|
>
> Esa sintaxis corresponde a los "codeblocks extendidos" que tení­a
> xHarbour, pero hasta donde yo sé, Harbour no los soporta. Tendrás que
> cambiarlo por un bloque de código tradicional o por una funcional.
Creo que Harbour si soporta codeblocks extendidos, solo que no utiliza
<|params| y > sino los mismos caracteres de siempre {|params| y }, pero
para que sea extendido la apertura debe ser lo ultimo de la lí­nea. Por
ejemplo, código extraí­do de un programa en uso:
oHC['Proveed']:bKeyDown:= {|nKey|
LOCAL cCodigo
IF nKey == VK_F2
cCodigo:= BrwBuscar( cDbfProveed, 'Codigo' )
IF !Empty( cCodigo )
oHC['Proveed']:oGet:VarPut( cCodigo )
oHC['Proveed']:Refresh()
ENDIF
ELSEIF nKey == VK_F3
FrmProveed( OPER_ALTA, cDbfProveed )
ENDIF
RETURN NIL
}
Una Closure en toda regla. Permite estructuras de control y demás
virguerí­as.
No se desde cuando, pero hace bastante, al menos un par de añitos.
Un saludo,
Carlos
Carlos Mora
Posts: 88
Joined: Fri Jul 28, 2006 9:36 am

otro problemita al compilar con harbour

Postby Carlos Mora » Wed May 21, 2014 6:21 pm

El 21/05/2014 18:17, Carlos Mora escribió:
> No se desde cuando, pero hace bastante, al menos un par de añitos.
Al menos desde septiembre del 2011 ;)
http://harbouradvisor.blogspot.com.es/2011/09/extended-codeb locks.html
User avatar
Carlos Ortiz
Posts: 859
Joined: Wed Jul 01, 2009 5:44 pm
Location: Argentina - Córdoba
Contact:

otro problemita al compilar con harbour

Postby Carlos Ortiz » Wed May 21, 2014 9:38 pm

Gracias Carlos, lo tendré en cuenta!
@dbfarma
www.dbfarma.com.ar
User avatar
jfgimenez
Site Admin
Posts: 5639
Joined: Mon Apr 06, 2015 8:48 pm
Contact:

otro problemita al compilar con harbour

Postby jfgimenez » Thu May 22, 2014 11:17 am

Hola Carlos,
> Hola Jose, tanto tiempo!
Sí­, es verdad que hace mucho que no hablamos (ni escribimos). Me alegro
de verte por aquí­ ;-)
> Creo que Harbour si soporta codeblocks extendidos, solo que no utiliza
> <|params| y > sino los mismos caracteres de siempre {|params| y },
> pero para que sea extendido la apertura debe ser lo ultimo de la
> lí­nea. Por ejemplo, código extraí­do de un programa en uso:
Gracias por la información. La verdad es que no lo sabí­a, y tampoco me
ha preocupado porque nunca los he usado. Yo opino que si una rutina no
"cabe" en un codeblock, entonces lo correcto es meterla en una
función/procedure, y si después lo necesitas como codeblock siempre
puedes llamarla desde ahí­. Vamos, que nunca he entendido la necesidad de
los "codeblock extendidos", pero bueno, tampoco los voy a criticar
porque puede que tengan una utilidad que yo no he visto.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Carlos Mora
Posts: 88
Joined: Fri Jul 28, 2006 9:36 am

otro problemita al compilar con harbour

Postby Carlos Mora » Thu May 22, 2014 11:27 am

El 22/05/2014 11:17, Jose F. Gimenez escribió:
> Hola Carlos,
> Sí­, es verdad que hace mucho que no hablamos (ni escribimos). Me alegro
> de verte por aquí­ ;-)
Siempre estoy, aunque calladito, pero siempre estoy :)
> ha preocupado porque nunca los he usado. Yo opino que si una rutina no
> "cabe" en un codeblock, entonces lo correcto es meterla en una
> función/procedure, y si después lo necesitas como codeblock siempre
> puedes llamarla desde ahí­. Vamos, que nunca he entendido la necesidad de
> los "codeblock extendidos", pero bueno, tampoco los voy a criticar
> porque puede que tengan una utilidad que yo no he visto.
La ventaja más interesante para mí­ es que puedes utilizar estructuras de
control, bucles, etc., dentro del codeblock. Y si, es cierto que mucho
código en un codeblock no es muy elegante, pero ponerlo en una función
separada tambien a veces implica poner en parámetros las variables que
para un codeblock son visibles por contexto.
Cuestión de gustos, je,
Un saludo,
Carlos
User avatar
jfgimenez
Site Admin
Posts: 5639
Joined: Mon Apr 06, 2015 8:48 pm
Contact:

otro problemita al compilar con harbour

Postby jfgimenez » Sun May 25, 2014 11:45 am

Carlos,
> La ventaja más interesante para mí­ es que puedes utilizar estructuras
> de control, bucles, etc., dentro del codeblock. Y si, es cierto que
> mucho código en un codeblock no es muy elegante, pero ponerlo en una
> función separada tambien a veces implica poner en parámetros las
> variables que para un codeblock son visibles por contexto.
Pues tienes razón en eso de las variables. No habí­a caido en ello. Pero
claro, seguramente es porque en Xailer no hace falta para nada, jeje. En
Xailer, a diferencia de otros GUI, los eventos se desarrollan
normalmente como métodos de la clase formulario que estés manejando, y
por tanto puedes crear todas las propiedades que necesites dentro de la
clase, y las tendrás en ámbito no sólo en el evento correspondiente,
sino en cualquier otro método de la clase e incluso fuera de la clase
(según el ámbito que tengan declaradas).
Y supongo que coincidirás conmigo en que además de más elegante, el
código termina siendo más legible y mantenible ;-)
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Carlos Mora
Posts: 88
Joined: Fri Jul 28, 2006 9:36 am

otro problemita al compilar con harbour

Postby Carlos Mora » Mon May 26, 2014 9:17 am

El 25/05/2014 11:45, Jose F. Gimenez escribió:
> Pues tienes razón en eso de las variables. No habí­a caido en ello. Pero
> claro, seguramente es porque en Xailer no hace falta para nada, jeje. En
> Xailer, a diferencia de otros GUI, los eventos se desarrollan
> normalmente como métodos de la clase formulario que estés manejando, y
> por tanto puedes crear todas las propiedades que necesites dentro de la
> clase, y las tendrás en ámbito no sólo en el evento correspondiente,
> sino en cualquier otro método de la clase e incluso fuera de la clase
> (según el ámbito que tengan declaradas).
>
> Y supongo que coincidirás conmigo en que además de más elegante, el
> código termina siendo más legible y mantenible ;-)
Y si, además, el que escribió el command tuvo la idea de usar la palabra
Self como nombre de variable/parámetro, imposibilitando usar los
comandos dentro de una clase sin que se generen conflictos, ni te cuento :P
Un saludo,
Carlos.
User avatar
jfgimenez
Site Admin
Posts: 5639
Joined: Mon Apr 06, 2015 8:48 pm
Contact:

otro problemita al compilar con harbour

Postby jfgimenez » Mon May 26, 2014 7:22 pm

Carlos,
> Y si, además, el que escribió el command tuvo la idea de usar la
> palabra Self como nombre de variable/parámetro, imposibilitando usar
> los comandos dentro de una clase sin que se generen conflictos, ni te
> cuento :P
No comments ;-)))
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info

Return to “Spanish”