Page 1 of 1

EJECUTAR COMANDO COMO FUNCION

PostPosted: Fri Oct 20, 2006 3:38 pm
by infosys
Hola amigos,

Estoy tratando de ejecutar un comando de Clipper o Harbour, por ejemplo: COPY ALL TO C:ARCHI.DBF VIA "DBFCDX", la idea es ejecutarlo usando una MacroSustitucion "&" o un CODEBLOCK, pero no encuentro la forma, alguien puede sugerirme alguna opción?.

Gracias y Saludos

Miguel

PostPosted: Fri Oct 20, 2006 5:21 pm
by Mike Serra
Hola Miguel:

No se si es lo que necesitas pero yo uso muchas veces lineas como éstas:

cFichero:="pruebas.dbf"

sele <fichero.dbf>
copy to &cFichero for <condiciones>

y me funciona correctamente.

PostPosted: Fri Oct 20, 2006 11:11 pm
by infosys
Gracias Mike,

El tema es que tengo programado un Interprete del tipo Script, pero que hasta ahora funciona muy bien si escribo renglones de codigo que siempre sean funciones o bien asignacion de variables, tambien le agregue IF-ENDIF, FOR-NEXT, DO-ENDDO entre otras y logre que en dicho codigo pueda definir procedimientos y los ejecute, pero eso es facil de lograr con el caracter "&" aunque para los IF,FOR,DO y Proced. hice una logica distinta, el problema es que si deseo que interprete un comando como el del ejemplo (COPY ALL TO ARCHIVO.DBF VIA "DBFCDX") no me funciona usando "&" por lo cual deberia usar otra forma, mi idea es que interprete todos los comandos de Clipper.
Imagino que debe ser algo relativamente "simple", pero no se me ocurre como.

Saludos
Miguel

PostPosted: Sat Oct 21, 2006 2:43 am
by horacio
se me ocurre que tendrás que buscar las funciones que define ese comando y después ver la manera que se corresponda con la cadena 'copy to etc '. Por ejemplo el comando QUIT invoca a la funcion __quit() y así con cada comando
salu2 :wink:

PostPosted: Sat Oct 21, 2006 2:16 pm
by infosys
Al fin descubri la solución, el preprocesador se encarga de de transformar esos comandos en funciones, por lo que ya resuelve mi problema.

Gracias a todos los que se interesaron.

Saludos
Miguel