EJECUTAR COMANDO COMO FUNCION

Post Reply
infosys
Posts: 57
Joined: Tue Jan 31, 2006 1:32 pm

EJECUTAR COMANDO COMO FUNCION

Post 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
Mike Serra
Posts: 287
Joined: Fri Apr 14, 2006 5:52 pm
Location: Córdoba (España)

Post 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.
infosys
Posts: 57
Joined: Tue Jan 31, 2006 1:32 pm

Post 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
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Post 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:
infosys
Posts: 57
Joined: Tue Jan 31, 2006 1:32 pm

Post 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
Post Reply