Sunteți pe pagina 1din 22

Macros

Manual de Entrenamiento

Este manual esta diseado para ser usado por los estudiantes asistentes a un curso de
entrenamiento organizado por una empresa de The Datamine Group o un agente
autorizado.

Datamine Per S. A. 1
Contenidos
1 INTRODUCCION 1-4

2 DATAMINE 2-5

2.1 Creando una macro 2-5

2.2 Ejecutando una macro 2-5

3 GUIDE 3-6

3.1 Creando una macro 3-6

3.2 Ejecutando una macro 3-7

4 COMANDOS MAS UTILIZADOS 4-8

4.1 Comando : ECHO 4-8

4.2 Comando : ELSE 4-8

4.3 Comando : ELSEIF 4-8

4.4 Comando : END 4-9

4.5 Comando : ENDIF 4-9

4.6 Comando : FIELD 4-9

4.7 Comando : FILE 4-10

4.8 Comando : GOSUB 4-10

4.9 Comando : HOLD 4-11

4.10 Comando : IF 4-11


4.10.1 COMANDO IF SIMPLE 4-11
4.10.2 COMANDO IF EN BLOQUES 4-12

4.11 Comando : INCLUDE 4-13

4.12 Comando : KBOFF 4-14

4.13 Comando : KON 4-14

4.14 Comando : LET 4-14

4.15 Comando : LOADCF 4-16

4.16 Comando : DEBUG 4-16

Datamine Per S. A. 2
4.17 Comando : MENU 4-18

4.18 Comando : NOHOLD 4-18

4.19 Comando : NOMENU 4-18

4.20 Comando : NORUN 4-18

4.21 Comando : NOXRUN 4-18

4.22 Comando : ONERR 4-19

4.23 Comando : PROMPT 4-19

4.24 Comando : REM 4-19

4.25 Comando : RETURN 4-20

4.26 Comando : SCROFF 4-20

4.27 Comando : SCRON 4-20

4.28 Comando : START 4-20

4.29 Comando : STKPAR 4-21

4.30 Comando : STKSAV 4-21

4.31 Comando : SYSFILE 4-21

4.32 Comando : VARINIT 4-21

4.33 Comando : VARLOAD 4-21

4.34 Comando : VARSAVE 4-22

Datamine Per S. A. 3
INTRODUCCION

Cualquier proceso provisto por DATAMINE, para sus interfaces matemtica y grfica 3D

(GUIDE), puede ejecutarse mediante la utilizacin de macros, que resulta substancialmente

ventajoso, toda vez que su empleo, es muy efectivo y proporciona un ahorro significativo de

tiempo. No menos interesante resulta el hecho de que stas, pueden ser almacenadas en la

base de datos para su ejecucin tanto en el proyecto en curso, como en otros. La operacin

consiste en crear un archivo de texto que contenga todos los pasos ejecutados en un proceso

determinado. Su accionamiento permitir que se ejecuten en forma automtica todos los pasos

considerados al momento de crearla.

Datamine Per S. A. 4
2 DATAMINE
2.1 Creando una macro

- Seleccione:
Proceso: MACROMEN
Comando: MACST

Este comando inicia una rutina de almacenamiento interactivo de datos en el sistema de


archivo macro.

- El comando preguntar el nombre de la macro y posteriormente el nombre del sysfile o


archivo de sistema donde se desea guardar la informacin (directorio de macros).
-
MACRO NAME Nombre
SYSFILE Nombre.mac

- En este momento estamos listos para iniciar la macro. Solo se debe ejecutar los
comandos que se desea incluir y en forma paralela Datamine est grabando esta macro en el
archivo que previamente se cre.

- Para terminar la rutina interactiva de entrada a una macro y grabarla:


- Seleccione:
Proceso: MACROMEN
Comando: MACEND

2.2 Ejecutando una macro

- Seleccione:
Proceso: MACROMEN
Comando: XRUN

El comando preguntar el nombre del archivo de sistema desde donde se quiere leer.

SYSFILE Nombre.mac

Datamine Per S. A. 5
3 GUIDE
Las macros o comandos de lenguaje (CL) surten de una ventaja poderosa a los comandos

suministrados por GUIDE. CL permite crear nuevas caractersticas en su versin de GUIDE y

asignar stas a los botones del men, de tal manera que ellas operan como cualquier otro

comando.

3.1 Creando una macro

En el nivel ms simple, se puede lograr que GUIDE almacene una secuencia de comandos y
acciones del mouse en un archivo, utilizando el comando start-learn-mode. El archivo
resultante de comandos puede editarse si se desea y luego ejecutarse con el comando run
(refirase a la ayuda de run para ms detalles). El procedimiento es de la siguiente manera:

- Seleccione bajo SYSTEM CONTROL:


Men: COMMAND LANGUAJE
Comando: CREATE CL PROGRAM (ccp)

Este comando inicia el almacenamiento de comandos GUIDE a un archivo de comando de


lenguaje determinado.

Durante el modo learn, cuando se selecciona un comando en GUIDE, la accin es escrita en


un archivo de lenguaje de comandos. Entonces el archivo puede, despus, ser utilizado para
recorrer los comandos. Por ejemplo, la utilizacin de un archivo de lenguaje de comando es
til para asignar cdigos de relleno.

- Primero se le preguntar por el nombre del archivo de lenguaje de comandos que se


desea crear.

Enter name of FILE for storage of CL function: :


NOMBRE.CL

NOTA: Es aconsejable dar a estos archivos de lenguajes, una extensin .CL, para
diferenciarlos de otros tipos de archivos. Si no se entrega ni una extensin, el sistema
automticamente aadir .CL al nombre del archivo. El archivo ser almacenado en el
directorio en curso, por defecto.

Datamine Per S. A. 6
Enter name of CL function to create: : NOMBRE

Para cerrar el archivo de lenguaje de comandos y para terminar el almacenamiento de


comandos, como sigue;

- Seleccione bajo SYSTEM CONTROL:


Men: COMMAND LANGUAJE
Comando: END CL PROGRAM (ec)

Este comando cierra el archivo (en curso) que ha sido creado para el almacenamiento de los
comandos GUIDE. Si este archivo de lenguaje de comandos no ha sido creado, la opcin no
tiene efecto.

3.2 Ejecutando una macro

Seleccione bajo SYSTEM CONTROL:


Men: COMMAND LANGUAJE
Comando: RUN CL PROGRAM (rcp)
El comando ejecutar el archivo de lenguaje de comandos de los comandos de GUIDE.

- Se le preguntar por el nombre del archivo de lenguaje de comandos, el cual debe


existir en el directorio en curso o en uno especificado en el path de GUIDE.

Enter name of FILE containing CL function : : NOMBRE.CL

Enter name of CL function to run: : NOMBRE


El archivo puede contener ms de una funcin lenguaje de comando. cada funcin contiene
una serie de cuerdas de accin GUIDE y respuestas apropiadas. Cada cuerda de accin
dentro del archivo de comandos ser ejecutada por turno.

Datamine Per S. A. 7
4 COMANDOS MAS UTILIZADOS
4.1 Comando : ECHO

Accin : Muestra una sola lnea de texto extrada desde una macro.

Permite la salida de texto desde una macro hasta la pantalla, ignorando redireccionamientos
activos de la pantalla en ese momento, tales como !SCRON o !SCROFF.

La lnea de texto mostrada siempre comienza con un espacio, y si usted desea una lnea en
blanco sencillamente djela en blanco.

Tambin permite sustituciones, excepto a aquellas variables encerradas en comillas simples.

Ejemplo:
!LET $msg='DLA'
!LET $time=ENV(time)
!ECHO A las $time, el valor de '$msg' era de "$msg"

Y en pantalla se observar

A las 21:39:10, el valor de '$msg' era de "DLA"

Nota: Observe que existe sustitucin en la variable que se encuentra entre comillas dobles y no
as en la contenida entre comillas simples.

4.2 Comando : ELSE

Accin : Evala una o ms expresiones lgicas que envuelven variables de


sustitucin y constantes en una macro o men. Es utilizado como parte del
comando IF (Ms detalles en seccin correspondiente a este comando).

Ejemplo:

!IF <EXPRESION LOGICA>,......, THEN


tareas
!ELSEIF <EXPRESION LOGICA>,......, THEN
tareas
!IF <EXPRESION LOGICA>,......, THEN
tareas
!ELSE
tareas
!ENDIF

Nota: Para una mayor comprensin acerca de este comando dirjase al comando !IF

4.3 Comando : ELSEIF

Accin : dem comando ELSE.

Datamine Per S. A. 8
4.4 Comando : END

Accin : Finaliza una macro o men .

4.5 Comando : ENDIF

Accin : Termina una o mas expresiones lgicas envueltas en variables de


sustitucin y constantes en una macro o men. Es Utilizado como parte del
comando IF (Ms detalles en seccin correspondiente a este comando).

Ejemplo

!IF <EXPRESION LOGICA>,......, THEN


tareas
!ELSEIF <EXPRESION LOGICA>,......, THEN
tareas
!IF <EXPRESION LOGICA>,......, THEN
tareas
!ELSE
tareas
!ENDIF

4.6 Comando : FIELD

Accin : Asigna valores a las variables de sustitucin basndose en los valores de


uno o mas campos pertenecientes a un registro determinado de un archivo
de la base de datos.

Formato
!FIELD <var1>=<file>,<var2>=<record>, <varA>=<fieldA>,<varB>=<fieldB>,......

donde:
<file>,<record>,<fieldA>, pueden ser indiferentemente constantes o variables de
sustitucin. Esos son valores especficos que sern ledos
por FIELD.
<file>: Archivo de la base de datos que ser ledo.
<records>: Especifica el ndice del registro para leer desde el comienzo del archivo.
'0' devolver los valores por defecto de la definicin de datos.
'+' o >, mximo registro, entregar os valores desde el ultimo registro en archivo.
<fieldA>: Nombre del campo a examinar , Variables de sustitucin pueden asignarse
basndose en los valores encontrados en <fieldA> y el estado del archivo.

Valores retornados:
<var1>,<var2>,<varA>, debern definirse como variables de sustitucin y se le
asignan valores especiales de acuerdo al formato del
comando FIELD .

<var1>: Ser igual a 1 si el archivo existe y 0 si no existe.


<var2>: Es igual al numero total de registros del archivo, en caso de que el archivo no
exista, esta variable tendr el numero 0.
<varA>: Es igual al valor de <fieldA> en el registro numero <record> desde el inicio del
archivo. Si el archivo o <fieldA> no existen, entonces <varA> no se cambia.

Usted podr usar mltiples pares en la forma <varA>=<fieldA>, <varB>=<fieldB>,.... para


extraer mas de un valor mediante un solo proceso de llamada, su listado podr escribirlo en

Datamine Per S. A. 9
tantas lneas como sea necesario, para lo cual basta que al final de la lnea previa se incluya
una coma.

Ejemplo

1. Encuentre el nombre del pozo de las 1000 muestras en un archivo de sondajes o


muestras. Se usara la variable "$hole" para retornar este valor; "$exists#" ser igual a 1
si se encuentra el archivo ASSAYS; "$records#" puede ser igual al numero total de
muestras en el archivo.

!FIELD $exists#=ASSAYS,$record#=1000,$hole#=BHID

Ejemplo 2:

Extraiga los datos de los limites de rea (mm) desde un archivo de ploteo. Esos valores son
normalmente almacenados como campos implcitos en el inicio del archivo de ploteo.

!FIELD$found#=PLOT.P,$record#=0,$xorig#=XORIG,
$yorig#=YORIG,$xrt#=XRT,$ytp#=YTP

4.7 Comando : FILE

Accin : Encuentra si es que un archivo de la base de datos existe, entregando el


numero de registros que este contiene.

Formato:
!FILE <var1>=<filename>,<var2>=recs

donde:
<var1> y <var2> Son variables de sustitucin (de estas dos, la segunda es opcional). Si
el archivo existe entonces <var1> es igual a 1, en caso contrario 0.
<var2> Es igual al mximo numero de registros en el archivo.

Ejemplo:
!FILE $exist=collars,$recs=recs

4.8 Comando : GOSUB

Accin : Almacena la actual posicin de la macro y se dirige hasta una lnea de


comando especifica (Label Name) dentro de una macro o men.

Formato:

GOSUB <LABEL NAME>

Una subrutina es una porcin de una macro o men y tiene las siguientes carctersticas:

1.- Comienza en una lnea denominada !<LABEL NAME>:


2.- Finaliza con la orden !RETURN

El nombre puede estar constitudo de hasta 16 caracteres y si este nombre no es encontrado,


en la macro se provocar un error. El nombre queda denotado por el caractr ":" (colon), como
en el siguiente ejemplo:

!MYLABEL:REM

Datamine Per S. A. 10
Cuando una macro encuentra el comando GOSUB, graba el numero actual de la lnea y luego
salta al nombre de la subrutina o men. Una vez ejecutada la subrutina, al aparecer el
comando RETURN la macro retorna al paso siguiente del GOSUB.

Si aparece un RETURN sin su respectivo GOSUB la macro desplegar un error. Para macros
anidadas, cada RETURN deber estar asociado a su correspondiente GOSUB. Podrn existir
hasta 16 RETURN pendientes de una vez en la ejecucin de una macro.

Ejemplo :

El siguiente fragmento de macro puede dirigir los procesos de la macro a la lnea "PLOT_INIT".
Una vez que encuentra !RETURN la macro se dirige a la lnea de a continuacin del !GOSUB.

!GOSUB PLOT_INIT
!PLOT_INIT:REM Subroutine : clean plot
!RETURN

NOTA : Es recomendable ver tambin los comandos RETURN, GOTO e IF.

4.9 Comando : HOLD

Accin : Evita la salida de una macro o men por un error fatal de DATAMINE.

4.10 Comando : IF

Accin : Evala una o mas expresiones lgicas involucradas con variables de


sustitucin y constantes en una macro o men. Existen dos categoras para
el comando IF; "SIMPLE" y "EN BLOQUES".

4.10.1 COMANDO IF SIMPLE

Formato:
!IF <CONDITION>,....,GOTO XXXX
!IF <CONDITION>,...,GOSUB XXXX
!IF <CONDITION>,..., LET <EXPRE>

Usted podr usar una serie de condiciones al separarlas por una coma y si todas las
condiciones evaluadas son verdaderas o se cumplen, entonces se ejecutarn los comandos
GOTO, GOSUB o LET anexos.

<CONDITION> puede ser alguna de: <VAR1>, <OP>, <VAR2> <LVAR>

donde:
<VAR1> Es una variable de sustitucin o una de @FLAG1 hasta @FLAG5.
<VAR2> Es una variable de sustitucin o una constante.
<OP> Es un operador tal como; <, <=, =, >, >= <>
<LVAR> Es una variable lgica, donde la expresin es falsa si <LVAR >= 0 0.0 y
verdadera para cualquier otro valor.

Nota : Todos los valores alfanumricos son evaluados como verdaderos.

XXXX Es un titulo de 16 caracteres en la macro o men.


<EXPRE> Es alguna expresin valida reconocida por el comando LET.

Datamine Per S. A. 11
Si <VAR1> y <VAR2> son numricos, ellos son comparados como nmeros. De otra forma
seran comparados caractr a caractr. Las variables y valores pueden ser encerrados en
una comilla simple ( ' ) para preservar espacios.

Las variables de sustitucin pueden ser definidas por comparacin, pero deber considerar que
aparecer un error si estas variables no fueron definidas.

4.10.2 COMANDO IF EN BLOQUES

Formato
!IF <CONDITION>,....., THEN
tareas
!ELSEIF <CONDITION>,.....,THEN
tareas
!ELSEIF <CONDITION>,.....,THEN
tareas
!ELSE
tareas
!ENDIF

El condicionante IF en bloques es slo una extensin del condicionante IF simple. Cada lnea
<CONDITION> es evaluada por turno y si la condicin se cumple, entonces las tareas
asociadas se cumplirn. Al terminar el bloque la macro continuar en la primera sentencia
luego de !ENDIF.

- Las condiciones se especifican de la misma forma que en el condicionante simple.


- Pueden usarse 0 ms ramas alternativas !ELSEIF..,THEN.
- Puede usarse el comando ELSE en el caso que todos los anteriores condicionantes
fallen.
- Bloques IF pueden ser anidados.
- El proceso finaliza necesariamente con el comando ENDIF.
- Es posible tambin utilizar el comando GOSUB dentro de estos condicionantes, los
cuales quedarn pendientes hasta encontrar el comando RETURN y regresar al bloque.
- Sin embargo es ilegal para GOSUB o GOTO direccionar estas rutinas contenidas al
interior del condicionante IF (a no ser que ellos formen parte del mismo bloque) o rutinas
pertenecientes a bloques de diferente "profundidad".

Ejemplos :

1. GOTO hasta la lnea END si la variable $1 es iguala '3' (3,3.0,etc) o si la variable $2 es


diferente a la string de caracteres "Xyz Project"

Nota : El uso de maysculas influyen en la comparacin de string.

!IF $1=3,$2 <> 'Xyz Project',GOTO END

2. Cheque la variable "$value#" y designela como "New Value" si es que sta an no ha


sido definida (Note el uso de una sola comilla).

!LET $test#=$value#
!IF $test#='$value''#',LET $value#='New Value'

3. Este ejemplo puede borrar el archivo DRILL.M si es que ste existe (adems mostrar un
mensaje).

!FILE $exist#=DRILL.M,$recs#=recs
!IF $exists#,THEN
!DELETE &IN (DRILL.M)
!ECHO File DRILL.M deleted
!ENDIF

Datamine Per S. A. 12
4. Clasifique un archivo de ploteo, como A4, A3, A0, dependiendo de las dimensiones de
ploteo $min#,$max# (se usar indentacin para clarificar los condicionantes).

!IF $min#>0,$min#<=210,$max#<=297,THEN
!LET $media#='A4'
!ELSEIF $min#<=297, $max#<=420,THEN
!LET $media#='A3'
!ELSEIF $min#<=841,$max#<=1189,THEN
!LET $media#='A0'
!ELSE
!LET $media#='Plot size error'
!ENDIF

Nota : Es recomendable revisar tambin los comandos LET, GOSUB y GOTO.

4.11 Comando : INCLUDE

Accin : Este comando permite agregar registros desde un archivo en la base de


datos, como datos comunes o lneas de ordenes dentro de una macro o
men.

Formato:
!INCLUDE & FILE(file), TEXT(textfld),KEY(keyfld),@VALUE='keyval'

donde:
&FILE(file): Especifica el archivo de la base de datos desde donde se leern los datos.
TEXT(textfld) Es opcional y especifica el nombre del campo a usar. Su valor por defecto
es 'TEXT'.
*KEY (keyfld), @VALUE='keyval' Son tambin opcionales. En conjunto ellos
permiten seleccionar solo parte de &FILE. Keyval
es especificado como un string entre cremillas
simples.

La sentencia puede ser tan larga como sea necesaria, separando diferentes lneas con una
coma. Este comando puede ser anidado e incluirse dentro de un ciclo de la macro.

Este comando ser ignorado si no se encuentran las lneas en el &FILE y es ilegal adicionar
datos o textos en la lnea formato de este comando.

Las lneas ledas desde &FILE debern ser datos o lneas de comandos validos para la macro
o men que se est ejecutando. Lneas en blanco en el &FILE son ignoradas y la macro
contina. Las variables de sustitucin son permitidas tanto en el comando como en las lneas
que ingresen desde el archivo.

Debern considerarse las siguientes restricciones :

1. Los registros de &FILE se almacenan en un buffer (memoria temporal), cada lnea en un


buffer es procesada como activa y una vez que todas las lneas han sido procesadas, la
macro contina en la siguiente lnea, despus del comando !INCLUDE.

Si existen comandos tales como GOTO, GOSUB, etc. como parte del texto incluido,
todos los comandos restantes en el buffer pueden permanecer activos para luego ser
ejecutados. El control podr transferirse hasta la lnea label designada por GOTO o
GOSUB slo cuando el ciclo este completo y el procesamiento normal terminado.
Labels de macros son ignorados, por esta razn es aconsejable no incluir comandos de
control dentro de el comando !INCLUDE.

Datamine Per S. A. 13
2.- No podrn usarse mltiples lneas de comandos en archivos de !INCLUDE para la
implementacin vigente, es decir que FIELD, VARLOAD, VARSAVE se restringirn a una
sola lnea de comando, y tampoco podrn usarse PROMPT.

Ejemplo de fragmentos de macros:

a.- Cree y use un set estndar de criterios de prueba para listar todos los archivos de ploteo
con el proceso PICDIR.

Todos los registros en el archivo 'PLOTSPEC', campo 'TEXT' pueden ser suministrados como
criterios de prueba para el proceso PICDIR.

!INPFIL &OUT(PLOTSPEC)
# Crea el archivo directorio de la base de datos que contenga pruebas para los archivos de
ploteo
TEXT A 72 Y '
]
OK
#no system file
(FILE .P OR ???????P) END!PICDIR &OUT (PLOTLIS)
!INCLUDE &FILE(PLOTSPEC)

b.- Incorpore una de las libreras estndar de ecuaciones en una rutina de GENTRA.

El archivo FORMULAE contiene varias frmulas de corte de muestras, las cuales son
enumeradas con un campo llave ASSAYCUT, la ecuacin requerida tiene el valor llave
AU10CUT.

!LET $value#='AU10CUT'
!GENTRA &IN(SAMPLES), &OUT(CUTASSAY)
!INCLUDE&FILE(FORMULAE),
TEXT(TEXT),KEY(ASSAYCUT),@VALUE='$value#'
END
OK
!LIST &IN(CUTASSAY)

4.12 Comando : KBOFF

Accin : La informacin necesaria es consultada desde la macro.

Formato:
!KBOFF

4.13 Comando : KON

Accin : Permite el ingreso de informacin va teclado.

Formato:
!KBON

4.14 Comando : LET

Accin : Asigna valores a las variables de sustitucin , pueden usarse valores


aritmticos como tambin funciones.

Datamine Per S. A. 14
Formato :
!LET <var>=<var1>
!LET <var>=<var2><op><var3>
!LET <var>=<var1><func1>(<var2>)
!LET <var>=<var1><func2>(<var2>,<var3>)
!LET <var>=<var1>ENV(<str1>[,<var2>])
!LET <var>=<var1>LENG(<str1>)
!LET <var>=<var1>INDX(<str1>,<str2>)
!LET <var>=<var1>SUBS(<str1>,<var1>,[<var2>])
!LET<var>=UPC(<str1>)

donde:
<var> Es la variable de sustitucin.
<var1> Es una variable de sustitucin o una constante.
<op> Es un operador aritmtico, tal como +, -, , /. Si <op> es omitida, <var1> y
<var2> son consideradas como strings de caracteres.
<var2> Es una variable de sustitucin numrica o una constante.
<var3> Es una variable de sustitucin numrica o una constante.
<func1> Es una funcin tal como SQRT, EXP, LOG, LOGE, LOGN, INT, SIN, COS, TAN,
ASIN, ACOS, ATAN, ABS.
<func2> Es una funcin tal como; MOD, RAIS, MAX, MIN.
<str1> Es una variable de sustitucin de strings o una constante.
<str2> Es una variable de sustitucin de strings o una constante.

Nota : Si una variable de sustitucin de string o constante contiene blancas, stas


deben preservarse. La variable o constante puede ser encerrada en comillas simples.

ENV permite acceso a las variables ambientales. <str1> es el nombre de una variable
ambiental. Si <var2> es incluida, sta especfica que valor de la variable
ambiental (1..N) se requiere. En caso de omisin se capturar el primer valor.

LENG entrega el largo del strings de caractres <str1> (hasta el primer espacio en
blanco).

INDX Retorna un entero representando la posicin de comienzo dentro de <str1> de un


substring <str2>. Si esto ocurre ms de una vez, se entrega la posicin de la
primera concordancia y si no existe ninguna similitud, entonces entregar el
numero 0.

SUBS Retorna un substring de <str1>que comienza en la posicin <var1> y tiene un


largo de <var2> caracteres. En el caso de que se omita el valor de <var2> se
tomar el resto del string.

UPC Retorna el argumento de los strings pero convirtiendo de minsculas a


maysculas.

Ejemplos:
!let $3=3
!let $1=$2
!let $3='$2' !let $3=$1/$2
!let $5=sin(45)
!let $6=max($1,$3)

!let $d=env(directory)
!let $s=subs($dXXXXX,1,5)
!let $s=$sSUB.DAT

Nota En conjunto los ltimos tres ejemplos pueden construir el nombre del archivo
subset para algn directorio.

Datamine Per S. A. 15
4.15 Comando : LOADCF

Accin : Carga una macro dentro de un men estndar de DATAMINE para su


ejecucin. Genera pre procesos para aumentar el rendimiento de la macro.
Tres niveles de procesamiento estn disponibles :

LEVEL 0 Convierte una macro en archivos estndares .STK y .MEN.

LEVEL 1 Optimiza el rendimiento de la pantalla, basado en mens con lo siguiente:

a) Preprocesa y verifica las definiciones de !SCREEN para crear archivos 'tokenised'


SCreen Code (.SCC) y SCreen Text para el men.

b) Reemplaza el cdigo !SCREEN con referencias para entrada relevante en un


archivo .SCC

c) Colocando !REM y # en el inicio se remueve la indentacin.

LEVEL 2 Optimiza el rendimiento para ambos !SCREEN y procesos generales de


macro de forma siguiente:

a) Todas las caractersticas del nivel 1.

b) Preprocesa y resuelve todos los parmentos de las lneas de comandos desde el


archivo de ayuda LOADCF.

c) Reporta algunos archivos, campos o parmetros requeridos que no son


suministrados en la lnea de comandos.

@PRINT >=1 Muestra cada lnea de la macro al cargarla (0).


@ECHO =1 Manda una copia de la salida a impresora (0).
@LEVEL Nivel de compilacin del men.
=0 Compilacin estndar.
=1 'Optimise' por !SCREEN procesos.
=2 'Optimise' para el procesamiento general de los comandos.

>SYSFILE> Formato de caracteres del archivo de men, que puede tener hasta 56
caracteres de largo.

>NAME> Nombre del archivo binario a ser creado, permite hasta 56 caracteres de
largo. En el caso de que no se le suministre extensin, ste asumir la
extensin por defecto de .MEN

4.16 Comando : DEBUG

Accin : Provee de una forma interactiva para el desarrollo y testeo de macros y


menes. Este comando puede ser accedido de la siguiente forma:

- En el PROMPT de entrada al tipear !MDEBUG.


- Desde la funcin SCREEN con el botn F3.
- Como un comando en lnea dentro de una macro o men.

MDEBUG traspasa el control al debugger de macros y muestra el numero de lnea en curso, la


accin que produce la ejecucin de la lnea en curso se manifiesta en tres estados:

1.- Un BREAKPOINT se ha configurado previamente y el control se ha detenido con este.

Datamine Per S. A. 16
2.- El comando STEP se ha ingresado anteriormente desde MDEBUG y el control pasa a la
siguiente lnea de comando.
3.- Un comando MDEBUG en lnea ha sido ledo desde la macro o men.

MDEBUG Permite la ejecucin de los siguientes comandos (estos comandos tambin


pueden ser abreviados con su primera letra).

ASSIGN <stack variable> <string> Asigna el valor de <string> a <stack variable>,


donde esta variable no necesita haber sido
definida anteriormente.

BREAKPOINT <label>
BREAKPOINT <line>
BREAKPOINT
Asigna un quiebre en <label>, en la lnea <line>, o listar todos los quiebres actualmente
configurados.

CLEAR <label>
CLEAR <line>
CLEAR +
Termina con un quiebre en <label>, <line> o todos los configurados.

DELETE <stack variable> Borra la <stack variable>

EXECUTE <command strings> Ejecuta un comando de DATAMINE, como por


ejemplo list @dict=2

FIND <string> Muestra todas las lneas de la macro en curso que contengan <string>

HELP Muestra ese comentario.

INFO Muestra un resumen del stack file.

LIST
LIST n1
LIST n1 n2
+
-
Lista la lnea de la posicin en curso, la lnea 1 desde la lnea 1 a la 2 de la macro en curso.
El numero inicial de lneas listadas en la pantalla como una pgina son 21. Si se utiliza el
comando 'LIST n1 n2' se mostrara desde las lneas n1+1 hasta n2 y la pagina tendr un
numero de lneas de n2 - (n1+1). LIST n1 + lista desde la lnea en curso hasta el final del
archivo, en forma contraria actuar el comando LIST n1 -

PROCEED
PROCEED <label>
PROCEED <line>
Contina procediendo desde la lnea en curso, la lnea con <label> o la lnea <line>

REVIEW Revisa el comando held en el stack.


STEP Ejecuta el comando en curso y produce un quiebre en el siguiente comando.

TYPE <stack variable>


TYPE +
TYPE
Muestra el valor en curso de la <stack variable>, de todas las variables.

MDEBUG puede terminarse con los comandos PROCEED y STEP. Los comandos ! o
RETURN es aceptado como el comando PROCEED.

Datamine Per S. A. 17
4.17 Comando : MENU

Accin : Ejecuta un men determinado, el cual pudo haber sido previamente cargado
en un menu file de acceso aleatorio por LOADCF.

>NAME > El nombre del men requerido. Enter implica que se utilizar
MENUFILE.DAT.

Ejemplo:
!>>>men
NAME
>mi_menu

4.18 Comando : NOHOLD

Accin : Permite la salida de la macro o men, al producirse un error fatal de


DATAMINE.

4.19 Comando : NOMENU

Accin : Valda la sintaxis de un men, en donde este men puede o no haber sido
cargado previamente en un men file de acceso directo por LOADCF.

>NAME > El nombre del men requerido, enter implica MENUFILE.DAT

Ejemplo:
!>>>nomenu
NAME
>mi_menu

4.20 Comando : NORUN

Accin : Valda la sintaxis de una macro o men (su alias es N)

&MACLIB La librera de las macros


AAAAAAA El nombre de la macro o men en la librera (opcional). En caso de que
exista ms que una macro o men, o que no se haya especificado un nombre
para sta.

>NAME> Ingrese el nombre de la macro o men requerido. Los parmetros de


sustitucin pueden ingresarse como retrieval criteria.

Ejemplo:
!>>>NORUN preset, &MACLIB(sysmac),$1='35.4', $2='file'

4.21 Comando : NOXRUN

Accin : Valda la sintaxis de una macro o men. La macro o men puede estar en
un archivo con formatos de caracteres.

Datamine Per S. A. 18
AAAAAA El nombre de la macro o men en la librera de macros (opcional)

> SYSFILE> Archivo de macro o men con formato de caracteres. El nombre puede tener
hasta 56 caracteres de largo.

En caso de que exista ms que una macro o men, o no se haya especificado un


nombre para la macro o men,

>NAME > Ingrese el nombre del men o macro.

4.22 Comando : ONERR

Accin : Transfiere control para designar una label como error fatal de DATAMINE.

Formato:
!ONERR gotoxxxx donde xxxx es la etiqueta en la macro o men en curso.

Ejemplo:
!ONERR gotoend

4.23 Comando : PROMPT

Accin : Permite mostrar lneas en la pantalla e ingresar datos a la macro en forma


interactiva.

2 Limpia la pantalla.
0 Lnea a mostrar afuera.
1 '$1', n, bot, top, <list of responses>
Permite la entrada de informacin numrica, bot es el limite inferior y top es el lmite
superior. O bien una lista de respuestas separadas por comas, como por ejemplo
3,4.2,5. Todos los puntos despus de $1 son opcionales.

1 '$1', a, len, <lista de respuestas>


Permite la entrada de respuestas alfanumricas , en donde len es el mximo largo de
caracteres y al igual que en el caso anterior usted podr dar una serie de posibles
respuestas al separarlas con una coma. Todos los puntos despus de $1 son
opcionales.

Las respuestas de entrada reemplazan a '$1' (algunos strings de hasta 8 caracteres) y son
sustituidas en todas las lneas de datos y comandos (con exepcin de las label).

El valor por defecto va descrito entre parntesis cuadrados y se permite la sustitucin en la


lnea, como por ejemplo:

1 INGRESE SU ELECCION ($1,$2,$3) [$3] >'$1',n ' $1,$3,$1,$2,$3

4.24 Comando : REM

Accin : Permite insertar comentarios en cualquier parte de una macro o men.

Datamine Per S. A. 19
4.25 Comando : RETURN

Accin : La sentencia GOSUB transfiere el control a una subrutina, y el comando


RETURN regresa el control a la sentencia a continuacin de GOSUB.

Pueden existir varios GOSUB concurriendo a la misma subrutina y un RETURN que devuelva
el control a la lnea siguiente a cada GOSUB.

Es posible ingresar hasta una subrutina solo a travs de GOSUB. De otra forma el comando
RETURN puede causar un error.

Comandos relacionados : GOSUB, IF

4.26 Comando : SCROFF

Accin : Produce una pantalla de texto de salida desde un archivo de sistema durante
la ejecucin de la macro.

Solo las salidas creadas interactivamente o creadas por los comandos !ECHO, !PROMPT, o
!SCREEN podrn visualizarse.

Este comando solo trabaja dentro de una macro o men, y slo se har efectivo si est
despus de los comandos !HOLD o !ONERR. La pantalla es reestablecida por medio del
comando !SCRON, !NOHOLD o en caso de que la macro o men termine. Para mens
independientes cada uno mantiene sus propios !SCRON/SCROFF. El valor por defecto en la
entrada de una macro es !SCRON.

El nombre del archivo de sistema esta basado en el nombre del directorio de la DATABASE
("XXXXXLOG.DAT") o desde el primer valor asignado a la variable ambiental denominada
"ScreenLog".

@CLEAR Controla la accin para limpiar la pantalla y/o logfile: 0 ninguno, 1 pantalla, 2
logfile, 3 pantalla y logfile.

4.27 Comando : SCRON

Accin : Reestablece la pantalla de salida previamente diversificada por el comando


!SCROFF.

@CLEAR Controla la accin para limpiar la pantalla y/o logfile: 0 ninguno, 1 pantalla, 2
logfile, 3 pantalla y logfile.

4.28 Comando : START

Accin : Da el nombre de una macro o men en una librera.

AAAAAA El nombre de la macro o men

Ejemplo:
!START carga datos en la base de datos de topografa.

Datamine Per S. A. 20
4.29 Comando : STKPAR

Accin : Lee las variables de sustitucin desde un archivo.

Formato:
!STKPAR <filename> donde filename es el nombre de un archivo de hasta 56
caracteres de largo.

Ejemplo:
!STKPAR \datamine\projects\$proj

4.30 Comando : STKSAV

Accin : Graba las variables de sustitucin desde un archivo,

Formato:
STKPAR <filename> donde filename es el nombre de un archivo de hasta 56
caracteres de largo.

Ejemplo:
!STKSAV \datamine\projects\$proj

4.31 Comando : SYSFILE

Accin : Chequea si es que existe un archivo de sistema, el formato de este comando


es similar al comando !FILE.

Formato:
!SYSFILE <var>=<pathname>

donde:
<var> Es una variable de sustitucin configurada como '1' si el archivo indicado en el
path existe. De otra manera <var> toma el valor 0.

El <pathname> puede tambin especificarse con una variable de sustitucin. Deber


considerar que la existencia de un archivo no implica que este sea leble.

Ejemplo:
!sysfile $exists#=COLLARS.ASC

Si el archivo COLLARS.ASC existe, $exists# tomar el valor de '1', de otra forma valdr '0'.

4.32 Comando : VARINIT

Accin : Inicializa el numero de variables de sustitucin a 0 para el nivel actual de la


macro.

4.33 Comando : VARLOAD

Accin : Lee las variables de sustitucin desde un archivo y las aade al listado en
curso si el parmetro @MERGE es igual a 1. De otra forma las variables
sern borradas. Este proceso puede (por defecto) cargar todas las variables
de sustitucin o solo algunas.

Datamine Per S. A. 21
Formato :
!VARLOAD <file> [,@MERGE=<merge>]
[,@DESC=$dname#][,$name# ...]

donde:
<file> Es el archivo con las variables (debe incluir su path, con un mximo de 56
caracteres).

Si el parmetro "@MERGE" no fue especificado o <merge> es cero, entonces todas las


variables en curso son borradas. Si <merge> es 1, las variables existentes hasta el minuto son
actualizadas con los valores del archivo y las nuevas son agregadas.

Ambos parmetros <file> y <merge> pueden ser variables de sustitucin. La informacin


suministrada cuando el archivo fu creado puede opcionalmente mostrarse como la variable
<$dname>. Si el listado opcional de variables es dado, entonces solo se considera esas
variables. sino ocurriere as, todas las variables sern cargadas. Este listado puede tener
tantas lneas como sea necesario al separarlas por una coma.

Ejemplo:
!VARLOAD
$title1#,$title2#,$xmin#,$xmax#,$ymin#,$ymax#.

4.34 Comando : VARSAVE

Accin : Graba o incluye variables de sustitucin en un archivo. Este comando puede


(por defecto) grabar todas las variables de sustitucin.

Formato:
!VARSAVE
[,@MERGE=<merge>]
[,@DESC=<description>][,$name# ...]

donde:
<file> Es el nombre del archivo donde se grabarn las variables.

Si el parmetro "@MERGE" es 0 o no es especificado el proceso borrar primero todo el


contenido actual del archivo, mientras que si vale 1 ser actualizado con el actual valor de la
macro y los variables de las nuevas variables son agregadas al archivo.

Ambos parmetros <file> y <merge> pueden ser variables de sustitucin. Adems el usuario
podr dar una descripcin (encerrada en comillas) para el contenido del archivo, la que ser
almacenada en el primer registro del archivo con el numero de revisin (podr tener hasta 68
caracteres de largo).

Si el usuario utiliza el listado de variables opcional, slo se usarn esas variables. En caso
contrario se grabarn todas las variables.

El listado de variables no tiene restricciones y el usuario solo deber preocuparse en


separarlas con una coma.

Ejemplo:
!VARSAVE
$title1#,$title2#,$xmin#,$xmax#,$ymin#,$ymax#.

Datamine Per S. A. 22

S-ar putea să vă placă și