PDF de programación - Comenzando en clip

Imágen de pdf Comenzando en clip

Comenzando en clipgráfica de visualizaciones

Publicado el 19 de Abril del 2018
518 visualizaciones desde el 19 de Abril del 2018
167,0 KB
19 paginas
Creado hace 18a (15/07/2005)
Comenzando en clip

El presente documento, fue desarrollado en base al trabajo realizado por
Sergio A. Carrasco L., quien esta realizando un trabajo excelente y lo publica
en breves mail, este documento es una compilación de estos.
Gustavo Carlos Asborno

Indice

EXTENSIONES DEL LENGUAJE Y FUNCIONES

Instrucción SWITCH
Nuevo operador ":=@" :
Soporte de llamadas a bloques de código vía función
Constantes Hexadecimales
Aritmética Racional
Arreglos Asociativos
Instrucción FOR ... IN
Cadenas como Arreglos
GENERANDO NUESTRO CHARSETS
Charsets
Añadir Nuevos Charset
Keymaps

GENERANDO NUESTRO KEYMAPS
MOUSE
PROGRAMACIÓN ORIENTADA A OBJETOS EN CLIP

Introducción al Modelo OO
Crear tu Propia Clase
Control del Cambio de Atributos
Recuperando y/o Reactivando Objetos
Operadores de Sobrecarga para 0bjetos

SECUENCIA DE INICIO DE UN PROGRAMA CLIP
TECLADO
TERMINALES MODO TEXTO EN CLIP

MANEJADORES DE BASES DE DATOS REEMPLAZABLES (RDD)

Introducción
Tips para Cambiar Resolución
La Variable TERM
TERMCAP Y TERMINFO
Configurando TERMCAP para CLIP
Introducción
Características de los RDDs
Manejadores de Tablas
Manejadores de Indices
Manejadores de Memos

TRADUCCION DE MENSAJES

EXTENSIONES DEL LENGUAJE Y FUNCIONES
CLIP es un compilador de Clipper, en otras palabras, incluye la sintaxis
estándar de Clipper. Debido a esto, consulte los manuales de Clipper para
comenzar a programar. Sólo las extensiones del lenguaje serán consideradas
aquí.
En la práctica debemos agregar que la sintaxis, está más cercana al Clipper
5.3 (para que lo usen como referencia). Además, aquí sólo se mencionarán estas
características extendidas pues no vale la pena su traducción. Si se desea
hacer uso de ellas y saber explícitamente como usarlas, debe consultarse el
manual oficial de CLIP en inglés, que trata de este tema en el capítulo 10. Si
aún no lo obtienes, puedes bajarlo de:
ftp://ftp.itk.ru/pub/clip/clip-doc-en-html.tgz en formato HTML
ftp://ftp.itk.ru/pub/clip/clip-doc-en-pdf.tgz en formato PDF
Instrucción SWITCH :

[DO] SWITCH <expression>
CASE <const11>[,<const12>,...]
<statements>,...
[ CASE <const21>[,<const22>,...] ]
<statements>,...
[ OTHERWISE ]
<statements>,...
END[SWITCH]
Nuevo operador ":=@" :
a := "a" ; b := @a ; ? a,b // "a","a"
Soporte estilo FoxPro para acceso de arreglos :

aVar := {1,2,3,4}
? aVar(nIndex)
Soporte de llamadas a bloques de código vía función:

cb := {|x1,x2|qout(x2,x2),"return value"}
? cb(1,2)

Constantes hexadecimales:
0xff //255 en decimal
Aritmética racional:
//Compilador convierte a doble presición, perdiendo presición
x := 123456789012345678901234567890
//Forma correcta de usar constantes de números grandes.
set(_SET_RATIONAL,.t.) ó SET RATIONAL ON
x:=val("123456789012345678901234567890")
x:=val("1234.567890")
x:=val("1/3")
La función STR ahora soporta los parámetros "len" y "dec" :

? str(val("7/3"),1000,990)

Añadida función RSTR que da el resultado en forma de numerador/denominador :

? rstr(val("7/3")+val("5/6")) // 19/6
Arreglos asociativos:

declare m[5]
m[1]=11; m[2]=12; ....
Instrucción FOR ... IN :

FOR <element> IN <associative_array>

<statements>...

ó

NEXT

NEXT

FOR <key> IN <associative_array> KEYS

<statements>...

Cadenas como arreglos:

string[ <position>, |<length>| ]
Modelo orientado a objetos :
Debido al modelo OO y la compilación a un programa C, existe la posibilidad de
escribir las clases estándar Tbrowse y Get en Clipper mismo. Al mismo tiempo,
la eficiencia de estas clases NO es peor que aquellas escritas en puro C.
Algunas de las CLASES predefinidas de CLIP, son las siguientes:
CODBDEPOSITORY CODBDICTIONARY CODBIDLIST
CODBLIST DATETIME FIND
HISTORY LISTITEM MEDIT
QUEUE SORTEDARRAY STACK
TEXTEDIT
Las siguientes CLASES son para uso con la librería gráfica "libclip-ui.so":
UIBUTTON UIBUTTONBAR UICHECKBOX
UICHILDWINDOW UICHOICE UICOLOR
UICOMBOBOX UIDOCUMENT UIDRIVER
UIEDIT UIEDITTEXT UIFONT
UIFORM UIFRAME UIGRID
UIHBOX UIIMAGE UILABEL
UIMAINWINDOW UIMENU UIMENUCHECKEDITEM
UIMENUITEM UIPOPUPMENU UISPLITTER
UISTATUSBAR UITABLE UITIMER
UITOOLBAR UITOOLBUTTON UITREE
UIVBOX UIWINDOW UIWORKSPACE
Otras CLASES:
XFL_FORMS XMLTAG
FUNCIONES CLIP Ordenadas alfabéticamente (no traducidas)
(* sólo se incluirá su nombre y descripción breve en el instructivo en
PDF *)

-----------------------------------------------

GENERANDO NUESTRO CHARSETS
Linux y por consecuencia CLIP, vienen preparados para su uso internacional.
Esto significa que podemos adaptarlo, en teoría, a cada uno de nuestros
requerimientos nacionales. Para esto se vale principalmente, de dos
herramientas: "keymaps" y "charsets".
Charsets: Traducido generalmente como "juego o tabla de caracteres", es un
archivo donde aparecen los 256 códigos ASCII en una columna y su
correspondiente codificación a caracteres en otra. Generalmente en los
primeros 128 no hay problemas, en los segundos 128 es donde se marca la
diferencia. Este archivo es la base para interpretar, mostrar o imprimir
nuestros caracteres. En general para el ámbito latinoamericano se usa la tabla
"cp850" (codepage 850).
La nacionalización de una aplicación CLIP, incluye dispositivos de pantalla,
teclado, constantes de cadena y funciones embebidas.
Los dispositivos de pantalla son la consola, el terminal y el emulador de
terminal. Uno puede configurar el entorno por medios estándar que el S.O.
proporciona, por ej. cargado de fonts, terminal dependiente de BIOS, o por
controladores de teclado/pantalla.
Algunas funciones Clipper ( tales como upper, lower, isalpha, isdigit ),
pseudográficos, coeficientes de peso para indexación y comparación, etc.,
tienen características nacionales. Se dispone de la utilidad "gen_tbl" para la
creación de un archivo con estas especificaciones.
CLIP posee especiales seteos para poder usar datos de DBF para distintos
usuarios con diferentes "charsets" simultáneamente:

set("DBF_CHARSET","cp866")

O en forma de comando:

set dbf charset to cp866

Donde cp866 es el nombre del archivo "tbl" (tabla) con las descripciones
de las características nacionales.
Puede darse que los datos son almacenados en una DBF con un "charset", un
programa los opera con otro y un tercero, los muestra a su vez con un set
distinto.
También existe la posibilidad de setear un "charset" para la impresora:

set("PRINTER_CHARSET","cp866")

O en su forma de comando:

set printer charset to cp866

¿Cómo crearlo?
Los "charsets" (set de caracteres) son usados para recodificar las entradas y
salidas de un terminal, para transacciones con terminales pseudográficos, para
determinar ordenamientos y, para recodificación de archivos y bases de datos
en las finalizaciones de entradas y salidas.
Al igual que los "keymaps", CLIP usa su propio formato para almacenar
"charsets", pero cuenta con una utilidad para la generación estándar de mapeos
"charset-a-unicode".

Para añadir nuevos "charset":
1) Copia el apropiado mapeo de "charset" desde /usr/share/consoletrans/ (de
cualquier distribución):

$ cp cp850.sfm.gz $CLIPROOT/chartsets/

2) Cambiarse al directorio y descomprimir cambiandole el nombre:

$ cd $CLIPROOT/charsets/

$ zcat cp850.sfm.gz > cp850.uni

Advertencia: Algunos archivos de mapeo unicode, proporcionan mapeo sólo para
parte de los 256 símbolos en el "charset". Para tales casos probablemente,
debes agregar manualmente los caracteres faltantes.

3) Usa la utilidad gen_tbl, para la generación del archivo *.tbl:

$ zcat UnicodeData-2.1.8.txt.gz | $CLIPROOT/bin/gen_tbl cp850.uni > p850.tbl

4) Setea la variable CLIP_CHARSET, en tu archivo de configuración ".profile" o
".bash_profile" :

xport CLIP_CHARSET=cp850

Este seteo fue probado y me funcionó perfectamente. Falta verlo al imprimir y
en la ordenación de claves de índices.
-----------------------------------
GENERANDO NUESTRO KEYMAPS
Keymaps: Traducido como "mapa de caracteres o teclas", también se corresponde
con un archivo donde se define el comportamiento del controlador del teclado
(como se debe interpretar las pulsaciones de las teclas).
En el caso del teclado en modo SCAN, su diseño y codificación son hechos por
medio de la creación de un archivo "keymap" (mapa de teclas) específico para
CLIP, que viene con descripciones predefinidas para controladores de teclado.
Para que una aplicación CLIP pueda ser capaz de usar el modo SCAN, es
necesario generar la descripción del "keymap" deseado usando la utilidad
"genmap.sh", para obtener nuestro mapa en el directorio "$CLIPROOT/keymaps/".
La configuración del mapa de teclado para ambiente de consola ("terminal") en
GNU/linux, se realiza con uno de los siguientes comandos:

# kbdconfig (Otras distribuciones)
# dpkg-reconfigure console-data (Debian)
(ver también "install-keymap" y "loadkey")

Producto de esta acción, se selecciona un mapa desde
"/usr/share/keymaps/i386/qwerty/" y se almacena
como "/etc/console/*.kmap.gz".
Los "keymaps" son usados en modo de teclado directo, por ahora posible sobre

consola linux y, sobre algunos tipos de terminales que pueden ser switcheados
a modo SCAN por secuencias de escape.
CLIP usa el mismo "keymap" del kernel de linux y, el procesamiento de SCAN es
tomado prestado desde los fuentes del núcleo. Esto significa, que puedes
fácilmente añadir nuevos "keymaps" y modificarlos cuando lo requieras.
¿Cómo crearlo?
  • Links de descarga
http://lwp-l.com/pdf10495

Comentarios de: Comenzando en clip (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad