Más arriba planteábamos que para activar un BIT determinando mediante la suma del valor decimal que devuelve nuestra función (bit posición) era necesario verificar que ese BIT no estuviera ya activo. Esto lo podemos lograr con la función LOGIOR. También para LOGIOR recurriremos a Jon Fleming * en su aporte a la mencionada discusión en autodesk.autocad.customization:
ALGUNOS EJEMPLOS:De Tony Tanzillo <tony.tanzillo@worldnet.att.net> tomamos los siguientes ejemplos del uso de estas funciones: Determinar si un bloque es una Referencia Externa (RefX): Esta función toma la lista de asociación devuelta por (tblsearch/siguiente), y devuelve T si el bloque es una referencia externa:
Comprobar el valor de la variable CMDACTIVE:No debemos utilizar la función = para comprobar el valor de CMDACTIVE, ya que su valor puede variar (y de hecho asumir valores no documentados y totalmente inesperados). En lugar de
se debe utilizar:
Desactivar REFENT:Para dejar sin efecto mediante LISP las referencias a objeto de carácter permanente (establecidas mediante REFENT) sin cambiar los valores preestablecidos (lo que equivaldría a pulsar la tecla F3), se puede activar el noveno bit (valor decimal de 16384): (setvar "OSMODE" (logior (getvar "osmode") 16384)) o utilizando la función BIT antes definida:
Otros ejemplos los podemos obtener de los mismos programas LISP que acompañan a AutoCAD. Para el uso de LOGIOR puede consultarse DDOSNAP.LSP de la versión 13, AI_UTILS.LSP, DDCHPROP.LSP, DDMODIFY.LSP y DDSELECT.LSP, de las versiones 13 y 14 y EXCHPROP.LSP y MPEDIT.LSP, estos últimos de la versión 14. * De: Jon Fleming <jonf@fleming-group.com> Newsgroup: autodesk.autocad.customization Asunto: Logand, logior, lsh, etc... Fecha: Jueves, 26 Feb 1998 20:35:37 EST Organización: The Fleming Group Traducción del inglés: Reinaldo Togores |
Apuntes para un Curso... > Programación de Aplicaciones Gráficas > 2. Técnicas Fundamentales > 2.3. Estructuras de Control > 2.3.4. Operadores Lógicos Binarios >