Está en la página 1de 7

AutoLISP Leccin 10 - ENTRADA Y SALIDA

(Abril de 1999)
La parte ms importante de cualquier programa, que no sean los clculos internos que se
producen, ser la seccin de entrada / salida. Estas son las partes del programa que
tienen que ver con la obtencin de informacin del usuario y almacenar o recuperar datos
de un rea de almacenamiento. El lenguaje de control de dilogo (DCL) no ser cubierto
en este texto, debido a la naturaleza expansiva de la asignatura.
Contenido
[hide]
1 La interfaz de usuario
2 Uso INITGET
3 Uso de las funciones GetX
4 de entrada de un archivo
De funcin 4.1 Pantalla ANSI.sys Comandos
5 Ms Lecciones
La interfaz de usuario
La interfaz de usuario de su programa es la parte ms importante de su programa en lo
que concierne al usuario. Si el programa no puede fcilmente ser llamado y utilizado, no
se utilizar. Un programa que no se utiliza no vale nada, y usted ha perdido su tiempo y
el dinero de la compaa por escribirlo.
Cada programa que escriba tendr que ser evaluado para ver cules son los requisitos
de la interfaz de usuario se va a ser. Es tentador para escribir grandes programas
utilizando DCL (Dialog Control Language) para cada programa que haces, pero que por lo
general se deja llevar con las cosas. El mayor beneficio que se obtienen de la
personalizacin de AutoCAD es, probablemente, en las tareas ms pequeas que,
cuando se selecciona en el men, y con algunas indicaciones, se ocupar de la interfaz
bastante bien. No se deje salido sobre la recopilacin de una gran cantidad de sus
programas juntos en un solo programa, ya que esto podra complicar su programa hasta
el punto en el que nadie va a usar.
Hay muchas funciones de AutoLISP predefinidos para hacer frente a la interfaz de
usuario, de modo que una interfaz flexible se puede construir sin demasiados problemas.
La familia GetX de funciones son las funciones que piden al usuario para un gran nmero
de tipos de datos. La funcin INITGET se puede utilizar para configurar el sistema de
entrada por alguna comprobacin de tipos y la interceptacin de errores.
Usando INITGET
INITGET se utiliza para configurar el sistema de entrada para uso con la familia GetX de
funciones. Se pueden combinar varios enteros para ajustar las funciones GetX para que
slo permita ciertos tipos de entrada.
(Initget (1 + 2))
Esto muestra cmo el comando se debe utilizar para configurar el sistema. INITGET se
llama con varios nmeros enteros como argumento. La adicin de estos enteros dice
INITGET qu valores para que la familia GetX de funciones para aceptar. Al igual que en
el ejemplo, se aprob una INITGET 1 y 2, la (1) se cuenta INITGET a no aceptar la
entrada nula, el dos (2) dice INIITGET para no aceptar un 0 como entrada para un
nmero.
Uso de las funciones GetX
Con las funciones GetX una variedad de tipos de datos pueden ser introducidos en el
sistema. Los tipos de datos incluidos son nmeros reales (en coma flotante), nmeros
enteros, cadenas, puntos, distancias y ngulos. Tambin hay una funcin GetX para la
definicin de un rectngulo (ventana) y uno para permitir la entrada de palabras clave
como entrada al conseguir una cadena.
Un nmero real es un nmero decimal o de coma flotante. La funcin para la obtencin
de un nmero real es GetReal. La funcin INITGET se puede utilizar con esta funcin
para limitar la entrada a la no-nil, no 0, los nmeros positivos. Un entero es un nmero
entero. La funcin para obtener un entero es getInt. La funcin INITGET se puede utilizar
con esta funcin para limitar la entrada del usuario para no-nil, no 0, los nmeros
positivos.
Uso de la funcin GetString puede recuperar una cadena. La funcin INITGET no tiene
ningn efecto sobre esta funcin. La funcin GETKWORD se puede utilizar con esta
funcin para limitar la entrada del usuario para ciertas palabras clave como pasado a la
funcin GETKWORD.
Uso de la funcin GetPoint puede recuperar un punto. La funcin INITGET se puede
utilizar con esta funcin para limitar la entrada del usuario a valores no nulos. Tambin
puede permitir la entrada de un punto ms all de la configuracin de los lmites actuales.
Tambin puede activar la lnea de banda de goma desde el primer punto al segundo
punto en una lnea de puntos en lugar de una lnea continua.
Uso de la funcin GETDIST puede recuperar la distancia. La funcin INITGET se
puede utilizar con esta funcin para limitar la entrada del usuario para esta funcin para
no-nil, no 0, no negativo y slo distancia 2D. Tambin puede utilizar INITGET para
cambiar la lnea elstica desde el primer punto al segundo punto de una lnea de puntos
en lugar de la lnea continua normal.
Uso de la funcin GETANGLE o la funcin GETORIENT puede recuperar un ngulo.
La funcin GETANGLE devuelve todos los ngulos en radianes positivos como se mide
desde el eje horizontal. La funcin GETANGLE trabaja de acuerdo a cmo se establecen
las unidades. Si el ajuste de las unidades cuenta con los 0 grados se dirigan hacia el
norte el ngulo devuelto por GETANGLE ser relativa a ese ajuste. GETORIENT omite el
valor de las unidades y siempre devuelve el ngulo con respecto al eje horizontal con 0
grados que enfrenta el este, o la posicin de tres en punto. La funcin INITGET puede
ser utilizado tanto con GETANGLE y GETORIENT para limitar la entrada del usuario para
no-nil, no 0 ngulos. INITGET tambin se puede utilizar para cambiar la lnea de banda
de goma a partir de la lnea normalmente slido a una lnea de trazos ".
La funcin GETKWORD le permite limitar la entrada de los usuarios a una cierta lista de
palabras clave. La funcin INITGET se utiliza para configurar la entrada que la funcin
GETKWORD aceptar.
(INITGET 1 "# 4 # 5 # 6 # 8 # 10 1/4 5/16 3/8 7/16 1/2 5/8 3/4 7/8 1")
(GETKWORD "\ nSize de tornillo tipo Allen:")
Cualquier nmero de artculos se puede pasar a la funcin INITGET. Todos los artculos
deben estar en la misma lnea en su programa; no se lee nada en una lnea separada.
Entrada de un archivo
Apertura / cierre de un archivo
La funcin de apertura se utiliza para abrir un archivo para su uso por el programa. Antes
de poder utilizar un archivo, ya sea de entrada o de salida en el archivo debe ser abierto.
Va a establecer una variable, que ser un apuntador de archivo al archivo real que se
utiliza.
Los archivos pueden abrirse en uno de tres modos: lectura, escritura, o Anexar. La
funcin open necesita dos parmetros que se le pasan. El primer parmetro le dice a ella
que archivo para abrir y el segundo parmetro le dice qu modo para abrirlo pulg
(Setq fp ("nombre de archivo" abierto "r"))
Los nombres de archivo deben ser escritos de una manera especfica para AutoLISP
para entender lo que le est diciendo a ella. Como se dijo en una leccin anterior, la barra
invertida tiene un significado especial para AutoLISP y no puede ser utilizado por s
mismo como lo hara normalmente cuando se escribe una ruta de acceso. Observe el uso
de dobles barras invertidas en el siguiente ejemplo, esta es la forma en que iba a escribir
un trazado utilizando barras invertidas en AutoLISP. Si usted va a escribir una ruta con su
nombre, uno de los tres mtodos se deben utilizar.
(Setq fp (abierto "c: \ \ acad \ \ filename.ext" "r"))
(Setq fp (abierto "c :/ acad / filename.ext" "r"))
(Setq fp (open (findfile "filename.ext") "r"))
El ltimo ejemplo muestra el uso de la funcin FindFile. Esta funcin puede ser usada
para encontrar un archivo que se encuentra en la ruta del entorno AutoCAD. Si no se
encuentra el archivo que volver a cero, as que asegrese de comprobar si se encuentra
el archivo antes de intentar utilizar el archivo o se estrellar su programa. Cuando haya
terminado de utilizar un archivo que tendr que ser cerrado. La funcin de cierre se utiliza
para cerrar cualquier archivo que haya abierto antes. Si no cierra los archivos cuando
haya terminado con ellos que va a utilizar la memoria que podra ser utilizado para la
apertura de otros archivos para su uso.
Una vez que se cierra un archivo que no se puede reutilizar hasta que se vuelve a abrir.
Esto es cierto incluso si todava existe el puntero del fichero; debe volver a abrir el
archivo antes de usarlo, una vez que se ha cerrado.
La lectura de datos desde un archivo
Las funciones READ-LINE READ-CHAR o se utilizan para la lectura de datos desde un
archivo. El archivo debe ser un archivo de texto ASCII. Ambas funciones devuelven
datos del tipo cadena.
Si usted tiene un archivo que desea leer un caracter a la vez que se utilizara la funcin
READ-CHAR. Se leer un archivo y devolver el cdigo de caracteres ASCII para ese
personaje. Usted puede encontrar el final de la lnea de la caza para el carcter de
retorno de carro. Recuerde, una vez que se ha encontrado el carcter de retorno de carro
para leer un carcter ms antes de iniciar el procesamiento en la lnea siguiente o el
primer carcter que obtendr ser el salto de lnea. Lneas en ficheros ASCII se terminan
con la combinacin de retorno de carro / lnea.
Si usted desea leer una lnea entera a la vez, deber utilizar la funcin READ-LINE.
Como he dicho en el prrafo anterior una lnea de texto ASCII se termina con la
combinacin de retorno de carro / lnea, y esto es lo que persigue leer online para.
(Setq LineIn (lectura-line fp))
La escritura de datos en un archivo
Las funciones WRITE-LINE WRITE-CHAR o se utilizan para poner los datos en un
archivo para su uso posterior. Al igual que con las funciones de la lectura, el archivo
primero debe abrirse de acuerdo con las reglas para la apertura de un archivo.
La salida WRITE-CHAR funcin de la voluntad de los cdigos de caracteres ASCII, de
cualquier caracteres que usted est escribiendo a cabo, en el fichero, que est
actualmente abierto. Se construir un archivo de caracteres sin retornos de carro o
avances de lnea. La WRITE-LINE funcin voluntad de salida una cadena de caracteres
ASCII en el archivo, que est actualmente abierto. Cada vez que la funcin WRITE-LINE
se llama escribir una nueva lnea al archivo. Si se abre el archivo en modo "append", se
agregar la lnea al final del archivo. Si se abre el archivo en modo "texto", el archivo se
sobrescribe con la nueva lnea.
(Write-line fp LineOut)
Escribiendo a los AutoLISP pantalla tiene un muy poderoso conjunto de funciones para
el control de la pantalla. La funcin pronto es la funcin de salida de base para su uso
con AutoLISP. Se dar salida a una cadena en la pantalla. Es la funcin slo provoc
que slo emite a la pantalla.
La funcin PRINC se puede utilizar para la produccin de una cadena o bien a la pantalla
o a un archivo. Evala una expresin y devuelve los resultados, ya sea a la pantalla oa
un archivo.
La funcin de impresin se puede utilizar para la produccin de una cadena, ya sea a la
pantalla oa un archivo. Evala una expresin y devuelve los resultados, ya sea a la
pantalla oa un archivo con caracteres de control incluidos mediante el formato "\".
La funcin de impresin se puede utilizar para la produccin de una cadena, ya sea a la
pantalla oa un archivo. Evala una expresin y devuelve los resultados, ya sea a la
pantalla oa un archivo, con una nueva lnea que precede el resultado y un espacio que le
sigue. Los caracteres de control incluyen con el formato "\". El carcter TERPRI genera
nicamente una nueva lnea. No hay parmetros que se pueden pasar a esta funcin.
Las funciones descritas anteriormente deben ser juzgados en diferentes combinaciones
para que cuando usted necesita una cierta salida usted sabr qu funcin le dar los
resultados deseados. Esta es un rea donde la experimentacin dar sus frutos ms
tarde por conseguir que la salida que est buscando.
Si ha cargado ansi.sys en sus archivos de configuracin de computadoras, hay otras
cosas que puede hacer para controlar la pantalla. Yo no estoy a favor de la utilizacin de
ansi.sys como un medio general de la programacin, debido al hecho de que si usted est
escribiendo sus programas para su uso por personas que no sean los de su empresa, que
puede o no tener ansi.sys cargado. Si las personas que utilizan sus programas no son
cautivos de su empresa y no tienen ansi.sys cargado, lo nico que van a conseguir en sus
pantallas son algunos personajes extraos, y esto no es lo que ellos quieren ver. Utilice
ansi.sys con cuidado. Para utilizar ansi.sys para controlar la visualizacin de la pantalla
que usted tendr que usar la secuencia de escape de caracteres como
(Prompt "\ e [2J")
El cdigo se puede utilizar para limpiar la pantalla. Para aprender las mejores formas de
utilizar ansi.sys tambin tomar un poco de prctica, por lo que dejar de lado algo de
tiempo para practicar ser bien vale la pena el esfuerzo invertido.
Funcin Screen ANSI.sys Comandos
Desactive la pantalla Esc [2J
Mover a la nueva posicin Esc [#, # H
Cursor hacia adelante (derecha) Esc [1C
Retroceso del cursor (izquierda) Esc [1D
Cursor arriba Esc [1A
Cursor abajo Esc [1B
El uso de combinaciones de las funciones que se muestran aqu, usted ser capaz de
obtener su interfaz de usuario que busca lo que quiere.
Fin de la leccin AutoLISP