FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Codigo en tiempo de ejecucion
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
Codigo en tiempo de ejecucion
Posted: Fri Jun 24, 2011 08:37 PM

Hola:
En muchos programas tengo filtros, por ej, que funcionan en base a algo que completa el usuario.
En una campo de una base (campo filtro, por ej, de la base parametros) el usuario pone "clientes->codigo=24"

y en el prg dice:
use parametros
filtro=alltrim(parametros->filtro) //quedaria el "clientes->codigo=24"
sele 1
use clientes
count to xcantidad for &filtro

y cuenta solo los clientes con codigo 24.

mi duda: 驴existe alguna forma de que esas macros ejecuten codigo?
por ej, que en lugar de "clientes->codigo=24" yo pueda poner "use base2"
y que en el prg ponga directamente &filtro y me abra la "base2.dbf"

el prg seria:
use parametros
filtro=alltrim(parametros->filtro) //quedaria el "use base2"
sele 1
&filtro

y que me abra la base "base2"

o algo asi... se puede???
como para darle chance en un reporteador de crear un campo calculado. Gracias.

Posts: 8
Joined: Sat Sep 05, 2009 11:30 PM
Re: Codigo en tiempo de ejecucion
Posted: Sat Jun 25, 2011 12:24 PM

Diego, las macro son c贸digo harbour que se compila en lo que se conoce como bloque de c贸digo y se ejecuta. Si se ejecuta con el andpersand (&) el bloque de c贸digo se descarta luego de ser usado pero tambien podes almacenarlo en variables y ejecutarlo las veces que quieras. Es muy poderoso.

Sin embargo, lo que vos especifiques como filtro se va a ejecutar por cada registro que se lea, o sea que si tu base tiene 1000 registros se van a hacer 1000 "Use base2". En este caso yo te recomendar铆a la llamada a alguna funci贸n que te haga el trabajo una sola vez, pero claro es bien mas complejo.

Saludos.


Gustavo Valent铆n

----------------

Gustavo Valent铆n

Softmagic SRL

Argentina
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
Re: Codigo en tiempo de ejecucion
Posted: Sun Jun 26, 2011 12:48 PM

Gracias. Creo que lo que yo necesito es Scripting en FWH. Lo que no se, si con script o con macros, es si puedo ejecutar instrucciones de llamada a bases de datos y consultas a las mismas. Lo ejemplos de scripting en este foro funcionan pero con MSGINFO. Yo necesito darle la chance de que el ususario cargue una funcion del tipo:
use c:\base1
count to cantidad for base1->cliente=cliente1
return cantidad

驴tenes idea de como se puede hacer? Gracias...!!!

Posts: 1283
Joined: Fri Feb 10, 2006 02:34 PM
Re: Codigo en tiempo de ejecucion
Posted: Sun Jun 26, 2011 03:48 PM

Diego

Has vusto la ultima version de myrpt? Toda la demo se basa en hrb (script q dices tu) lo puedes modificar y ejecutar en tiempo de ejecucion y tienes todo los fuentes d como se hace

Salutacions, saludos, regards

"...programar es f谩cil, hacer programas es dif铆cil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
HIX -> https://github.com/carles9000/hix
Posts: 105
Joined: Thu Oct 20, 2005 12:29 PM
Re: Codigo en tiempo de ejecucion
Posted: Mon Jun 27, 2011 03:13 AM

viewtopic.php?f=6t=21557start=15

He hecho pruebas con el y puedes hacer un programa completo en tiempo de ejecuci贸n, le puedes pasar variables, usa las variables publicas del programa principal, puedes usar los recursos que estan en el exe (mapas de bits, dialogos, iconos).
En el ejemplo el script lo lee desde un campo memo en una dbf, lo carga en memoria y lo compila en tiempo de ejecuci贸n.

Saludos.

&&

Continue the discussion