SlideShare una empresa de Scribd logo
1 de 16
DIMGROB_P.-Establece las dimensiones de GROB G en ancho*alto.Inicializa la gráfica G con color o
con datos de gráfica proporcionadosen la lista. Si la gráfica se inicializa utilizando datos de gráfica, lista
será una lista de enteros. Cada entero, como se muestra en la base 16, describe un color cada 16 bits.Los
colores cuentan con formato A1R5G5B5 (es decir,1 bit para cada canal alfa y 5 bits para R, G y B).
Sintaxis:DIMGROB_P(G,w, h, [color])
Ejemplo 1.-Mostrar la parte restante del texto “manual de programación HP-
PRIME.escribir en antalla” .
EXPORT programName ()
BEGIN
LOCAL TEXT_MOSTAR:="MANUAL DE PROGRAMACION HP-PRIME ESCRIBIR EN PANTALLA-2019";
DIMGROB_P(G1,640,240,RGB(255,255,255));
TEXTOUT_P(TEXT_MOSTAR,G1,0,100,2,RGB(0,0,255));
BLIT_P(G0,G1,320,0);
FREEZE;
END;
TEXTOUT_P.-Dibuja texto de color c1 en la posición x,y de la gráfica G con la fuente especificada. No
dibuje texto con un ancho en píxeles mayor que el especificado y borre elfondo antes de dibujar el texto
utilizando el color c2. G puede ser cualquiera de las variables gráficas y es opcional. El valor
predeterminado es G0. La fuente puede ser:
0: fuente actual seleccionada en la pantalla de modo,
1: fuente pequeña
2: fuente grande.
La fuente es opcional y, si no se especifica, es la fuente actual seleccionada en la pantalla Configuración de Inicio. c1
puede ser cualquier color especificado como #RRGGBB. El valor predeterminado es negro (#000000). ancho es opcional
y, si no se especifica, no se realiza ningún recorte.B).
Ejemplo 2.-mostar el texto “PRONTO” después del texto “MANUAL DE
PROGRAMACION HP PRIME “.
EXPORT programName()
BEGIN
LOCAL SI;
LOCAL TEXT_ESCRI:="MANUAL DE PROGRAMACION HP PRIME";
DIMGROB_P(G1,320,240,RGB(255,255,255));
SI:=TEXTOUT_P(TEXT_ESCRI,G1,10,50,2,RGB(0,0,255),320,RGB(255,255,255));
TEXTOUT_P("PRONTO",G1,SI+2,50,2,RGB(0,0,255),320,RGB(255,255,255));
BLIT_P(G0,G1);
FREEZE;
END;
GETKEY .-Devuelve el ID de la primera tecla del búfer de teclado o -1 si no se ha pulsado ninguna tecla
desde la última llamada a GETKEY. Los ID de tecla son enteros de 0 a 50, numerados desde la esquina
superior izquierda (tecla 0) a la esquina inferior derecha (tecla 50) como se muestra en la figura 27-1.
Sintaxis:GETKEY
Ejemplo 3.-mostara un mensaje de texto que identifique la tecla presionada.
En este caso la tecla del comando “-”tiene un ID 45 y la tecla del comando “+”
tiene un ID 50
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
BLIT_P(G0,G1);
LOCAL TECLA;
REPEAT
TECLA:=GETKEY;
CASE
IF TECLA==-1 THEN TEXTOUT_P(STRING(TECLA),G0,10,20,7) ;END;
IF TECLA==45 THEN MSGBOX("-");BLIT_P(G0,G1);END;
IF TECLA==50 THEN MSGBOX("+");BLIT_P(G0,G1);END;
END;
UNTIL
TECLA == 4
END;
END;
MOUSE .-Devuelve dos listas que describen la ubicación actualde cada punteropotencial(o listas vacías
si no se utilizan punteros). La salida es {x , y, z original, y original, tipo} donde tipo es 0 (para nuevo), 1
(para completado), 2 (para arrastrar), 3 (para alargar), 4 (para girar) y 5 (para un clic largo). El índice de
parámetros opcionales el elemento n-ésimo que se devolvería (x, y, x original, etc.) sise hubiera omitido
el parámetro (o –1 si no se registra actividad del puntero).
Ejemplo4.-eneste ejemplo se muestraloque hace el comando MOUSE, para el
cual se ha agregadoel comando WAIT (), para evitar el parpadeo de la pantalla.
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(0,0,0));
BLIT_P(G0,G1);
DRAWMENU("","","","BORRAR","ATRAS","OK");
LOCAL TACTIL;
LOCAL TOCAR;
REPEAT
TACTIL:=WAIT(-1);
TOCAR:=MOUSE();
BLIT_P(G0,G1);
TEXTOUT_P(B→R(TACTIL),G0,50,60,5,RGB(255,255,255),250,RGB(0,0,0));
TEXTOUT_P(B→R(TOCAR),G0,5,120,3,RGB(255,255,255),320,RGB(0,0,0));
DRAWMENU("","","","BORRAR","ATRAS","OK");
UNTIL
ISKEYDOWN(4)
END;
END;
OBSERVACIONES
 Aliniciar el programa solo aparare el la pantalla de graficos con elmenu en la parte inferior,eso se debe por
que se a colocado el comando WAIT() que detiene la ejecucion del programa.
 Para poder ver lo que hace el comando MOUSE ,si no se presiona la pantalla (no hay actividad del
mouse),no tocar la pantalla durante un minuto y aparecera como que se muesra en la figura {{},{}}.
 Si se hace un clic, aparece {{Xmovil,Ymovil,Xestatico,Yestatico,indice},{}}.
 Si se hace un anti-clic, aparecerá{{},{Xmovil,Ymovil,Xestatico,Yestatico, indice}}.
 Si de se hace clicy anti-clicala vez,aparecerá.
{{Xmovil,Ymovil, Xestatico,Yestatico, indice},{Xmovil,Ymovil, Xestatico,Yestatico, indice}}.
 Si se hace un clic enel área de menú se queda,se puede verel indice igual a1.
 Si se hace clic y anti-clicala vezpor largotiempoapareceráel indice 7.
Ejemplo 5.-crear un menú en la variable grafica G2
ICON name5L
89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445
FFFBF0000000F82165E
80000000274524E5300007693CD380000005649444154780175CEB10D80300C44D12FA5A0CC081925A
3304AB2012BB10123843128900F2720A8A89E2C59FAC724E980E89C901C83AC3D098AB6A68AB434AD
4E1CD883BF0EDA3F16BEAB742AB9E32163B6377B8FB80059885C7192B359A10000000049454E44AE42
6082;
ICON name6L
89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445
FFFBF0000000F82165E80000000274524E5300007693CD380000004D49444154780155CEB11180300C4
3D1DF516604466134329AB7610452E410068B0237EF72B6E5B0481AD092096B72C19608F6878E744A9
11C45B4975EF07BB9E749EF65C517E6681FF2D9FAC40D3F905C8C788CCEC60000000049454E44AE4260
82;
ICON name7L
89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445
FFFBF0000000F82165E80000000274524E5300007693CD38000000544944415478012DCEBB1180300C0
35075D06501EE324A464B26E3330B4340C14558B61BBF7361C95848BE40313EA01A136806812E063479
8A23A8CE5E9CCDB7B936DFEC468C38B8825B743E0ACBE82CCADA78E20724BF5BCB5C25E3160000000
049454E44AE426082;
LOCAL CAS_MEN:={{181,215,223,235},{225,215,267,235},{269,215,311,235}};
EXPORT programName()
BEGIN
DIMGROB_P(G2,320,240,RGB(255,255,255));
BLIT_P(G2,CAS_MEN(1,1),CAS_MEN(1,2),CAS_MEN(1,3),CAS_MEN(1,4),"name5L");
BLIT_P(G2,CAS_MEN(2,1),CAS_MEN(2,2),CAS_MEN(2,3),CAS_MEN(2,4),"name6L");
BLIT_P(G2,CAS_MEN(3,1),CAS_MEN(3,2),CAS_MEN(3,3),CAS_MEN(3,4),"name6L");
LOCAL j;
FOR j FROM 1 TO 3 DO
TEXTOUT_P("L:",G2,10+j,192-j,2,RGB(192,192,192),120);
RECT_P(G2,25+j,190-j,65+j,170-j+35,RGB(0,0,0),RGB(0,0,0));
END;
TEXTOUT_P("L:",G2,10,192,2,RGB(0,0,255),120);
RECT_P(G2,25,190,65,205,RGB(0,0,0),RGB(255,255,255));
RECT_P(G2,20,217,110,232,RGB(255,255,255),RGB(255,255,255));
TEXTOUT_P("1:",G2,10,222,1,RGB(0,0,0),120,RGB(255,255,255));
BLIT_P(G0,G2);
FREEZE;
END;
Ejemplo 6.-escribir en pantalla, sabiendo que la tecla de ID 41 corresponde al
número 1,
1: EXPORT programName()
2: BEGIN
3: DIMGROB_P(G1,320,240,RGB(255,255,255));
4: BLIT_P(G0,G1);
5: LOCAL TECLA;
6: LOCAL POS:=100;
7: REPEAT
8: TECLA:=GETKEY;
9: CASE
10: IF TECLA = 42
11: THEN
12: POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
13: END;
14: END;
15: UNTIL
16: TECLA= 4
17: END;
18: END;
1: Exporta a nivel global
2: inicio del programa principal
3: dimensionamiento de la pantalla graficaguardada en G1
4: sobrepone el objeto grafico contenido en G1, en G0
5: crea la variablelocal TECLA
6: crea la variablelocal POS (POS:=100 es la posición dondese inicia paraescribir)
7: iniciala estructura derepetición
8: se asigna valora la variablelocal TECLA
9: inicio dela estructura de selección múltiple
10: si sepresiona la tecla que tiene un ID 42
11: hacer
12: se asigna la siguienteposición del número a escribir
13: fin
14: final dela estructura de selección múltiple
15: hasta que
16: comparación tecla quetiene un ID 4(para terminar el programa) con el 4
17: final dela estructura de repetición
Ejemplo 7.-escribir en pantalla, el numero 0.123456789
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
BLIT_P(G0,G1);
LOCAL TECLA;
LOCAL POS:=100;
REPEAT
TECLA:=GETKEY;
CASE
IF TECLA = 42 THEN
POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 43 THEN
POS:=TEXTOUT_P("2", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 44 THEN
POS:=TEXTOUT_P("3", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 37 THEN
POS:=TEXTOUT_P("4", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 38 THEN
POS:=TEXTOUT_P("5", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 39 THEN
POS:=TEXTOUT_P("6", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 32 THEN
POS:=TEXTOUT_P("7", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 33 THEN
POS:=TEXTOUT_P("8", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 34 THEN
POS:=TEXTOUT_P("9", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 47 THEN
POS:=TEXTOUT_P("0", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
IF TECLA = 48 THEN
POS:=TEXTOUT_P(".",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
END;
END;
UNTIL TECLA= 4
END;
END;
Ejemplo 8.-escribir en pantalla, el numero 11111 Y borrar
1: EXPORT programName()
2: BEGIN
3: DIMGROB_P(G1,320,240,RGB(255,255,255));
4: BLIT_P(G0,G1);
5: LOCAL TECLA;
6: LOCAL POS:=100;
7: LOCAL POS_LIST:={100};
8: LOCAL INC:=1;
9: REPEAT
10: TECLA:=GETKEY;
11: CASE
12: IF TECLA = 42
13: THEN
14: POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
15: INC:=INC+1;
16: POS ▶ POS_LIST(INC);
17: END;
18: IF TECLA = 19 AND SIZE(POS_LIST)>1
19: THEN
20: INC:=INC-1;
21: TEXTOUT_P("1",G0,POS_LIST(INC),200,7,RGB(255,255,255),50,RGB(255,255,255));
22: POS_LIST:=tail(revlist(POS_LIST));
23: POS_LIST:=revlist(POS_LIST);
24: POS:=POS_LIST(INC);
25: END;
26: IF TECLA = 50
27: THEN
28: TEXTOUT_P(POS_LIST,G0,50,20,3,RGB(0,0,255),320,RGB(255,255,255));
29: END;
30: END;
31: UNTIL TECLA= 4
32: END;
33: END;
1: Exporta a nivel global
2: Incio del programa
3: Dimensionamiento del objeto grafico en G1
4: Reemplazando el objeto grafico contenido en G1
5: Variablelocal TECLA
6: Variablelocal POS(posición horizontal dondese inicia es escribir)
7: Variablelocal POS_LIST(lista deposiciones lo losnúmeros )
8: Variableloca INC(para guardar laposición del siguientecarácter a escribir)
9: Inicio deestructura de repetición
10: Asignación dela variableTECLA
11: iniciaestructura deselección múltiple
12: Si la tecla que sepresiona correspondea la tecla de ID 42
13: Hacer
14: Posición del siguientenúmero a escribir
15: Incrementa la variableINC en una unidad
16: Se guarda la posición del siguientenúmero a escribir en la posición 2 dela lista
17: Fin
18: Si la tecla que sepresiona correspondea la tecla de ID 19 y tamaño de lista es mayor que 1
19: Hacer
20: Disminuye la variableINC en una unidad
21: Escribeel número a borrar,de color blanco
22: Invierte la lista y seelimina el primer elemento de la lista
23: Invierte la lista
24: Posición del siguientenúmero a escribir
25: Fin
26: Si la tecla presionada correspondea la tecla de ID 50
27: Hacer
28: Mostrar texto(en este caso el texto es la lista deposicionesdelos números)
29: Fin
30: Fin de la estructura e selección múltiple
31: Hasta que se presione la tecla de ID 4
32: Final dela estructura de repetición
33: Final del programa
Ejemplo 9.-escribir en pantalla, el número 0.123456789 Y borrar
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
BLIT_P(G0,G1);
LOCAL TECLA;
LOCAL POS:=100;
LOCAL POS_LIST:={100};
LOCAL INC:=1;
REPEAT
TECLA:=GETKEY;
CASE
IF TECLA = 42 THEN
POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 43 THEN
POS:=TEXTOUT_P("2", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 44 THEN
POS:=TEXTOUT_P("3", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 37 THEN
POS:=TEXTOUT_P("4", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 38 THEN
POS:=TEXTOUT_P("5", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 39 THEN
POS:=TEXTOUT_P("6", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 32 THEN
POS:=TEXTOUT_P("7", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 33 THEN
POS:=TEXTOUT_P("8", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 34 THEN
POS:=TEXTOUT_P("9", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 47 THEN
POS:=TEXTOUT_P("0", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 48 THEN
POS:=TEXTOUT_P(".",G0, G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255));
INC:=INC+1;
POS ▶ POS_LIST(INC);
END;
IF TECLA = 19 AND SIZE(POS_LIST)>1 THEN
INC:=INC-1;
TEXTOUT_P("1",G0,POS_LIST(INC),200,7,RGB(255,255,255),50,RGB(255,255,255));
POS_LIST:=tail(revlist(POS_LIST));
POS_LIST:=revlist(POS_LIST);
POS:=POS_LIST(INC);
END;
IF TECLA = 50 THEN
TEXTOUT_P(POS_LIST,G0,50,20,3,RGB(0,0,255),320,RGB(255,255,255));
END;
END;
UNTIL TECLA= 4
END;
END;
Ejemplo 10.-fondo de pantalla para carga distribuida
ICON name5
89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445
FFFBF0000000F82165E80000000274524E5300007693CD380000005649444154780175CEB10D80300C4
4D12FA5A0CC081925A3304AB2012BB10123843128900F2720A8A89E2C59FAC724E980E89C901C83AC3
D098AB6A68AB434AD4E1CD883BF0EDA3F16BEAB742AB9E32163B6377B8FB80059885C7192B359A100
00000049454E44AE426082;
ICON name6
89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445
FFFBF0000000F82165E80000000274524E5300007693CD380000004D49444154780155CEB11180300C4
3D1DF516604466134329AB7610452E410068B0237EF72B6E5B0481AD092096B72C19608F6878E744A9
11C45B4975EF07BB9E749EF65C517E6681FF2D9FAC40D3F905C8C788CCEC60000000049454E44AE4260
82;
ICON name7
89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445
FFFBF0000000F82165E80000000274524E5300007693CD38000000544944415478012DCEBB1180 300C0
35075D06501EE324A464B26E3330B4340C14558B61BBF7361C95848BE40313EA01A136806812E063479
8A23A8CE5E9CCDB7B936DFEC468C38B8825B743E0ACBE82CCADA78E20724BF5BCB5C25E3160000000
049454E44AE426082;
LOCAL
CA_MEN:={{5,215,47,235},{49,215,91,235},{93,215,135,235},{137,215,179,235},{181,215,223,235},{225,
215,267,235},{269,215,311,235}};
EXPORT programName()
BEGIN
LOCAL j;
DIMGROB_P(G4,320,240,RGB(255,255,255));
BLIT_P(G4,CA_MEN(5,1),CA_MEN(5,2),"name5");
BLIT_P(G4,CA_MEN(6,1),CA_MEN(6,2),"name6");
BLIT_P(G4,CA_MEN(7,1),CA_MEN(7,2),"name7");
FOR j FROM 1 TO 4 DO
TEXTOUT_P("NC:",G4,20+j,180-j+2,2,RGB(192,192,192),120);
RECT_P(G4,40+j,180-j,40+j+25,180-j+15,RGB(0,0,0),RGB(255,255,255));
TEXTOUT_P("Xo:",G4,75+j,180-j+2,2,RGB(192,192,192),120);
RECT_P(G4,90+j,180-j,90+j+40,180-j+15,RGB(255,255,255),RGB(0,0,0));
TEXTOUT_P("Wo:",G4,140+j,180-j+2,2,RGB(192,192,192),120);
RECT_P(G4,160+j,180-j,160+j+40,180-j+15,RGB(255,255,255),RGB(0,0,0));
TEXTOUT_P("Xf:",G4,75+j,180-j+2+20,2,RGB(192,192,192),120);
RECT_P(G4,90+j,180-j+16,90+j+40,180-j+15+16,RGB(0,0,0),RGB(255,255,255));
TEXTOUT_P("Wf:",G4,140+j,180-j+2+20,2,RGB(192,192,192),120);
RECT_P(G4,160+j,180-j+16,160+j+40,180-j+15+16,RGB(0,0,0),RGB(255,255,255));
END;
TEXTOUT_P("1:",G4,1,220+2,2,RGB(0,0,0),120,RGB(255,255,255));
RECT_P(G4,1,178,1+15,178+15,RGB(0,0,0),RGB(255,255, 255));
TEXTOUT_P("◀",G4,1,170+2,7,RGB(0,0,255),120);
RECT_P(G4,210,178,210+15,178+15,RGB(0,0,0),RGB(255,255,255));
TEXTOUT_P("▶",G4,210,170+2,7,RGB(0,0,255),120);
TEXTOUT_P("NC:",G4,20,180+2,2,RGB(255,0,0),120);
RECT_P(G4,40,180,40+25,180+15,RGB(0,0,0),RGB(255,255,255));
TEXTOUT_P("1",G4,45,180+5,1,RGB(255,0,0),120);
TEXTOUT_P("Xo:",G4,75,180+2,2,RGB(0,0,255),120);
RECT_P(G4,90,180,90+40,180+15,RGB(0,0,0),RGB(255,255,255));
TEXTOUT_P("Wo:",G4,140,180+2,2,RGB(0,0,255),120);
RECT_P(G4,160,180,160+40,180+15,RGB(0,0,0),RGB(255,255,255));
TEXTOUT_P("Xf:",G4,75,180+2+20,2,RGB(0,0,255),120);
RECT_P(G4,90,180+16,90+40,180+15+16,RGB(0,0,0),RGB(255,255,255));
TEXTOUT_P("Wf:",G4,140,180+2+20,2,RGB(0,0,255),120);
RECT_P(G4,160,180+16,160+40,180+15+16,RGB(0,0,0),RGB(255,255,255));
BLIT_P(G0,G4);
FREEZE;
END;
QUE ES PROGRAMACION MODULAR
Uno de los métodos más conocidas para resolver un problema es dividirlo en problemas más pequeños,
llamados subproblemas,deesta manera, en lugar deresolver una tarea compleja y tediosa,resolveremos
otras más sencilla y a partir deellasllegamos a la solución .esta técnica seusa mucho en programación ya
que programar no es más que resolver problemas, y sele suelellamar diseño descendente, metodología
dividey vencerás o programación top-Down. Es evidente que si esta metodología nos lleva a tratar con
subproblemas, entonces también tengamos necesidad de poder crear y trabajar con subprogramas para
resolverlos .a estos subprogramas seles suele llamar módulos,deahí viene el nombre de programación
modular.
Los procedimientos
Un procedimiento es un subprograma querealiza una tarea específica.para invocarlo,es decir,parahacer
que se ejecute, basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa
principal .pero hay que tener en cuenta que su declaración debe hacerse antes de que sea llamado por
otro modulo
Para escribirun número en pantalla serequiereuna posición inicial horizontal y vertical
Ejemplo 11.-fondo de pantalla para escribir en una casilla
LOCAL FONDO();
EXPORT programName()
BEGIN
FONDO();
END;
FONDO()
BEGIN
DIMGROB_P(G4,320,240,RGB(255,255,255));
LOCAL j;
FOR j FROM 1 TO 4 DO
TEXTOUT_P("Xo:",G4,75+j,180-j+2,2,RGB(192,192,192),120);
1 1 1 1
RECT_P(G4,90+j,180-j,90+j+40,180-j+15,RGB(255,255,255),RGB(0,0,0));
END;
TEXTOUT_P("Xo:",G4,75,180+2,2,RGB(0,0,255),120);
RECT_P(G4,90,180,90+40,180+15,RGB(0,0,0),RGB(255,255,255));
BLIT_P(G0,G4);
FREEZE;
END;
Ejemplo 12.-mostar el fondo de pantalla hasta que se presione la tecla Esc
1: LOCAL TECLA;
2: LOCAL TOCAR;
3: LOCAL FONDO();
4: EXPORT programName()
5: BEGIN
6: FONDO();
7: REPEAT
8: TECLA:=GETKEY;
9: TOCAR:=MOUSE;
10: CASE
11: IF SIZE(TOCAR(1))=0 THEN
12: END;
13: IF SIZE(TOCAR(1)) THEN
14: END;
15: END;
16: UNTIL TECLA = 4 ;
17: END;
18: END;
19: FONDO()
20: BEGIN
21: //commando del subprogramFONDO().
22: END;
1: Declaración devariablelocal TECLA
2: Declaración devariablelocal TOCAR
3: Declaración devariablelocal FONDO()
4: Se establecomo variableglobal programName()
5: Inicio deprograma principal
6: Subprograma FONDO(),este subprograma coloca el fondo de pantalla
7: Inicio deestructura de repetición
8: Asignación devariable(seasigna el código detecla al presionar una tecla)
9: Asignación devariable(si setoca la pantalla)
10: Inicio deestructura de selección múltiple
11: Si el tamaño de la primera lista es igual a cero(sin elementos) hacer
12: Fin
13: Si el tamaño de la primera lista es igual a uno(un elemento) hacer
14: Fin
15: Fin de la estructura de selección múltiple
16: Hasta que se presión una tecla cuyo código se a 4 (ID 4)
17: Fin de la estructura de repetición
18: Fin del programa principal

Más contenido relacionado

La actualidad más candente

Accesos directos que se pueden hacer con el teclado
Accesos directos que se pueden hacer con el tecladoAccesos directos que se pueden hacer con el teclado
Accesos directos que se pueden hacer con el tecladoElvis Sarchi
 
Angel fernado salazar ortega amilcar gamaliel cruz morales
Angel fernado salazar ortega  amilcar gamaliel cruz moralesAngel fernado salazar ortega  amilcar gamaliel cruz morales
Angel fernado salazar ortega amilcar gamaliel cruz morales2244090
 
Partes de teclado (2)
Partes de teclado (2)Partes de teclado (2)
Partes de teclado (2)MatasLauretta
 
Presentación1
Presentación1Presentación1
Presentación1UNEXPO
 
Ventanas Aero
Ventanas AeroVentanas Aero
Ventanas Aeronieblina
 
Teclado ignacio mariani
Teclado ignacio marianiTeclado ignacio mariani
Teclado ignacio marianinacho585
 
52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigoStefa Naranjo Meza
 
Teclado Andrea Zocchi 1ªG
Teclado Andrea Zocchi 1ªGTeclado Andrea Zocchi 1ªG
Teclado Andrea Zocchi 1ªGandreazocchi2
 
Intro opengl
Intro openglIntro opengl
Intro openglsispro
 
Método SQL para Calcular el valor máximo de un conjunto de columnas de una Tabla
Método SQL para Calcular el valor máximo de un conjunto de columnas de una TablaMétodo SQL para Calcular el valor máximo de un conjunto de columnas de una Tabla
Método SQL para Calcular el valor máximo de un conjunto de columnas de una TablaSebastian Rodriguez Robotham
 
Reporte de practica uso de funciones y graficas
Reporte de practica uso de funciones y graficasReporte de practica uso de funciones y graficas
Reporte de practica uso de funciones y graficasoscar1306404
 
Proxy mas
Proxy masProxy mas
Proxy masDurero
 

La actualidad más candente (20)

Accesos directos que se pueden hacer con el teclado
Accesos directos que se pueden hacer con el tecladoAccesos directos que se pueden hacer con el teclado
Accesos directos que se pueden hacer con el teclado
 
pseudocodigo
pseudocodigopseudocodigo
pseudocodigo
 
Angel fernado salazar ortega amilcar gamaliel cruz morales
Angel fernado salazar ortega  amilcar gamaliel cruz moralesAngel fernado salazar ortega  amilcar gamaliel cruz morales
Angel fernado salazar ortega amilcar gamaliel cruz morales
 
tarea#2
tarea#2tarea#2
tarea#2
 
Partes de teclado (2)
Partes de teclado (2)Partes de teclado (2)
Partes de teclado (2)
 
Presentación1
Presentación1Presentación1
Presentación1
 
Metacomandos de windows
Metacomandos de windowsMetacomandos de windows
Metacomandos de windows
 
Comandos del teclado
Comandos del tecladoComandos del teclado
Comandos del teclado
 
Ventanas Aero
Ventanas AeroVentanas Aero
Ventanas Aero
 
Teclado ignacio mariani
Teclado ignacio marianiTeclado ignacio mariani
Teclado ignacio mariani
 
52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo
 
Programación 1: arreglos en C
Programación 1: arreglos en CProgramación 1: arreglos en C
Programación 1: arreglos en C
 
Teclado Andrea Zocchi 1ªG
Teclado Andrea Zocchi 1ªGTeclado Andrea Zocchi 1ªG
Teclado Andrea Zocchi 1ªG
 
Intro opengl
Intro openglIntro opengl
Intro opengl
 
Método SQL para Calcular el valor máximo de un conjunto de columnas de una Tabla
Método SQL para Calcular el valor máximo de un conjunto de columnas de una TablaMétodo SQL para Calcular el valor máximo de un conjunto de columnas de una Tabla
Método SQL para Calcular el valor máximo de un conjunto de columnas de una Tabla
 
Reporte de practica uso de funciones y graficas
Reporte de practica uso de funciones y graficasReporte de practica uso de funciones y graficas
Reporte de practica uso de funciones y graficas
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Proxy mas
Proxy masProxy mas
Proxy mas
 
16algoritmo
16algoritmo16algoritmo
16algoritmo
 
Conalep 1
Conalep 1Conalep 1
Conalep 1
 

Similar a Manual escribir en pantalla (autoguardado)

Similar a Manual escribir en pantalla (autoguardado) (20)

Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2
 
EL TECLADO
EL TECLADOEL TECLADO
EL TECLADO
 
Ex3
Ex3Ex3
Ex3
 
Ex3
Ex3Ex3
Ex3
 
GRAPHAPP
GRAPHAPPGRAPHAPP
GRAPHAPP
 
Informe de informatica 16 17
Informe de informatica 16 17Informe de informatica 16 17
Informe de informatica 16 17
 
Programando en Logo
Programando en LogoProgramando en Logo
Programando en Logo
 
Trabajo en As400
Trabajo en As400 Trabajo en As400
Trabajo en As400
 
Tutorial Hp user rpl modo algebraico 1.2
Tutorial Hp user rpl modo algebraico 1.2Tutorial Hp user rpl modo algebraico 1.2
Tutorial Hp user rpl modo algebraico 1.2
 
Tutorial hp user_rpl_modo _algebraicov1.2
Tutorial hp user_rpl_modo _algebraicov1.2Tutorial hp user_rpl_modo _algebraicov1.2
Tutorial hp user_rpl_modo _algebraicov1.2
 
G. sheets clase3 fórmulas básicas
G. sheets clase3 fórmulas básicasG. sheets clase3 fórmulas básicas
G. sheets clase3 fórmulas básicas
 
Lenguaje logo
Lenguaje logoLenguaje logo
Lenguaje logo
 
Practicas derive 6
Practicas derive 6Practicas derive 6
Practicas derive 6
 
Gnuplot tut
Gnuplot tutGnuplot tut
Gnuplot tut
 
Graphapp
GraphappGraphapp
Graphapp
 
Apuntes 20 q_basic
Apuntes 20 q_basicApuntes 20 q_basic
Apuntes 20 q_basic
 
Ejercicio 05 Subrutinas
Ejercicio 05 SubrutinasEjercicio 05 Subrutinas
Ejercicio 05 Subrutinas
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
MANUAL CALCULADORA VOYAGE Capitulo 4(8)
MANUAL CALCULADORA VOYAGE Capitulo 4(8)MANUAL CALCULADORA VOYAGE Capitulo 4(8)
MANUAL CALCULADORA VOYAGE Capitulo 4(8)
 
Diseño de pantallas en as400
Diseño de pantallas en as400Diseño de pantallas en as400
Diseño de pantallas en as400
 

Más de Leo Suca Yunga

Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020Leo Suca Yunga
 
317979915 ntc-4483-concretos
317979915 ntc-4483-concretos317979915 ntc-4483-concretos
317979915 ntc-4483-concretosLeo Suca Yunga
 
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...Leo Suca Yunga
 
Informe final del metropolitano nilda
Informe final del metropolitano  nildaInforme final del metropolitano  nilda
Informe final del metropolitano nildaLeo Suca Yunga
 
Informe final del metropolitano briss
Informe final del metropolitano  brissInforme final del metropolitano  briss
Informe final del metropolitano brissLeo Suca Yunga
 
Historietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolarHistorietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolarLeo Suca Yunga
 

Más de Leo Suca Yunga (16)

Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020
 
Afiche okii 1
Afiche okii 1Afiche okii 1
Afiche okii 1
 
Manual hp-prime-2021
Manual hp-prime-2021Manual hp-prime-2021
Manual hp-prime-2021
 
Volante
VolanteVolante
Volante
 
317979915 ntc-4483-concretos
317979915 ntc-4483-concretos317979915 ntc-4483-concretos
317979915 ntc-4483-concretos
 
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
 
Digital zone
Digital zoneDigital zone
Digital zone
 
Informe final del metropolitano nilda
Informe final del metropolitano  nildaInforme final del metropolitano  nilda
Informe final del metropolitano nilda
 
Informe final del metropolitano briss
Informe final del metropolitano  brissInforme final del metropolitano  briss
Informe final del metropolitano briss
 
Historietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolarHistorietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolar
 
Lira
LiraLira
Lira
 
Fany gladys corregido
Fany gladys corregidoFany gladys corregido
Fany gladys corregido
 
En la ficha insertar
En la ficha insertarEn la ficha insertar
En la ficha insertar
 
Doc1
Doc1Doc1
Doc1
 
Cobre
CobreCobre
Cobre
 
Armaduras
ArmadurasArmaduras
Armaduras
 

Último

Clase de Aines - Terapeutica médica eToxicologia
Clase de Aines - Terapeutica médica eToxicologiaClase de Aines - Terapeutica médica eToxicologia
Clase de Aines - Terapeutica médica eToxicologiaRaphaelCruz46
 
CAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.ppt
CAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.pptCAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.ppt
CAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.pptSandraCardenas92
 
SISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptx
SISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptxSISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptx
SISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptxGenaroElmerSifuentes6
 
TEMA 6 LA II REPÚBLICA (1931-1936)_.pdf
TEMA 6         LA II REPÚBLICA (1931-1936)_.pdfTEMA 6         LA II REPÚBLICA (1931-1936)_.pdf
TEMA 6 LA II REPÚBLICA (1931-1936)_.pdfanagc806
 
PARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar II
PARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar IIPARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar II
PARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar IIgeraldinagutierrez81
 
IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...
IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...
IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...MarcoFlores940553
 
IMPORTANCIA D ELAS VACUNAS EN LA POBLACION
IMPORTANCIA D ELAS VACUNAS EN LA POBLACIONIMPORTANCIA D ELAS VACUNAS EN LA POBLACION
IMPORTANCIA D ELAS VACUNAS EN LA POBLACIONDanielaSantos100046
 
Sesión - Vacunación del Adulto (Revisión tema).pdf
Sesión - Vacunación del Adulto (Revisión tema).pdfSesión - Vacunación del Adulto (Revisión tema).pdf
Sesión - Vacunación del Adulto (Revisión tema).pdfLas Sesiones de San Blas
 
Indicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptx
Indicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptxIndicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptx
Indicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptx Estefa RM9
 
PROYECTO 3 4 5 AÑOS del nivel inicial
PROYECTO    3 4 5 AÑOS del nivel inicialPROYECTO    3 4 5 AÑOS del nivel inicial
PROYECTO 3 4 5 AÑOS del nivel inicialArtemisaReateguiCaro
 

Último (10)

Clase de Aines - Terapeutica médica eToxicologia
Clase de Aines - Terapeutica médica eToxicologiaClase de Aines - Terapeutica médica eToxicologia
Clase de Aines - Terapeutica médica eToxicologia
 
CAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.ppt
CAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.pptCAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.ppt
CAPACITACIÓN VIGIA EN SEGURIDAD Y SALUD EN EL TRABAJO.ppt
 
SISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptx
SISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptxSISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptx
SISTEMA DE CLORACIÓN - PARA SISTEMA DE AGUA POTABLE VIVIENDA.pptx
 
TEMA 6 LA II REPÚBLICA (1931-1936)_.pdf
TEMA 6         LA II REPÚBLICA (1931-1936)_.pdfTEMA 6         LA II REPÚBLICA (1931-1936)_.pdf
TEMA 6 LA II REPÚBLICA (1931-1936)_.pdf
 
PARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar II
PARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar IIPARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar II
PARASITOSIS INTESTINAL en Pediatría, Enfermería y Familiar II
 
IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...
IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...
IVU-PIELO-SEPSIS listo.pptxLos problemas de salud más comunes en los bebés in...
 
IMPORTANCIA D ELAS VACUNAS EN LA POBLACION
IMPORTANCIA D ELAS VACUNAS EN LA POBLACIONIMPORTANCIA D ELAS VACUNAS EN LA POBLACION
IMPORTANCIA D ELAS VACUNAS EN LA POBLACION
 
Sesión - Vacunación del Adulto (Revisión tema).pdf
Sesión - Vacunación del Adulto (Revisión tema).pdfSesión - Vacunación del Adulto (Revisión tema).pdf
Sesión - Vacunación del Adulto (Revisión tema).pdf
 
Indicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptx
Indicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptxIndicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptx
Indicaciones y contraindicaciones de la sonda vesical y sonda nasogastrica.pptx
 
PROYECTO 3 4 5 AÑOS del nivel inicial
PROYECTO    3 4 5 AÑOS del nivel inicialPROYECTO    3 4 5 AÑOS del nivel inicial
PROYECTO 3 4 5 AÑOS del nivel inicial
 

Manual escribir en pantalla (autoguardado)

  • 1. DIMGROB_P.-Establece las dimensiones de GROB G en ancho*alto.Inicializa la gráfica G con color o con datos de gráfica proporcionadosen la lista. Si la gráfica se inicializa utilizando datos de gráfica, lista será una lista de enteros. Cada entero, como se muestra en la base 16, describe un color cada 16 bits.Los colores cuentan con formato A1R5G5B5 (es decir,1 bit para cada canal alfa y 5 bits para R, G y B). Sintaxis:DIMGROB_P(G,w, h, [color]) Ejemplo 1.-Mostrar la parte restante del texto “manual de programación HP- PRIME.escribir en antalla” . EXPORT programName () BEGIN LOCAL TEXT_MOSTAR:="MANUAL DE PROGRAMACION HP-PRIME ESCRIBIR EN PANTALLA-2019"; DIMGROB_P(G1,640,240,RGB(255,255,255)); TEXTOUT_P(TEXT_MOSTAR,G1,0,100,2,RGB(0,0,255)); BLIT_P(G0,G1,320,0); FREEZE; END; TEXTOUT_P.-Dibuja texto de color c1 en la posición x,y de la gráfica G con la fuente especificada. No dibuje texto con un ancho en píxeles mayor que el especificado y borre elfondo antes de dibujar el texto utilizando el color c2. G puede ser cualquiera de las variables gráficas y es opcional. El valor predeterminado es G0. La fuente puede ser: 0: fuente actual seleccionada en la pantalla de modo, 1: fuente pequeña 2: fuente grande. La fuente es opcional y, si no se especifica, es la fuente actual seleccionada en la pantalla Configuración de Inicio. c1 puede ser cualquier color especificado como #RRGGBB. El valor predeterminado es negro (#000000). ancho es opcional y, si no se especifica, no se realiza ningún recorte.B).
  • 2. Ejemplo 2.-mostar el texto “PRONTO” después del texto “MANUAL DE PROGRAMACION HP PRIME “. EXPORT programName() BEGIN LOCAL SI; LOCAL TEXT_ESCRI:="MANUAL DE PROGRAMACION HP PRIME"; DIMGROB_P(G1,320,240,RGB(255,255,255)); SI:=TEXTOUT_P(TEXT_ESCRI,G1,10,50,2,RGB(0,0,255),320,RGB(255,255,255)); TEXTOUT_P("PRONTO",G1,SI+2,50,2,RGB(0,0,255),320,RGB(255,255,255)); BLIT_P(G0,G1); FREEZE; END; GETKEY .-Devuelve el ID de la primera tecla del búfer de teclado o -1 si no se ha pulsado ninguna tecla desde la última llamada a GETKEY. Los ID de tecla son enteros de 0 a 50, numerados desde la esquina superior izquierda (tecla 0) a la esquina inferior derecha (tecla 50) como se muestra en la figura 27-1. Sintaxis:GETKEY Ejemplo 3.-mostara un mensaje de texto que identifique la tecla presionada. En este caso la tecla del comando “-”tiene un ID 45 y la tecla del comando “+” tiene un ID 50
  • 3. EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); BLIT_P(G0,G1); LOCAL TECLA; REPEAT TECLA:=GETKEY; CASE IF TECLA==-1 THEN TEXTOUT_P(STRING(TECLA),G0,10,20,7) ;END; IF TECLA==45 THEN MSGBOX("-");BLIT_P(G0,G1);END; IF TECLA==50 THEN MSGBOX("+");BLIT_P(G0,G1);END; END; UNTIL TECLA == 4 END; END; MOUSE .-Devuelve dos listas que describen la ubicación actualde cada punteropotencial(o listas vacías si no se utilizan punteros). La salida es {x , y, z original, y original, tipo} donde tipo es 0 (para nuevo), 1 (para completado), 2 (para arrastrar), 3 (para alargar), 4 (para girar) y 5 (para un clic largo). El índice de parámetros opcionales el elemento n-ésimo que se devolvería (x, y, x original, etc.) sise hubiera omitido el parámetro (o –1 si no se registra actividad del puntero). Ejemplo4.-eneste ejemplo se muestraloque hace el comando MOUSE, para el cual se ha agregadoel comando WAIT (), para evitar el parpadeo de la pantalla. EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(0,0,0)); BLIT_P(G0,G1); DRAWMENU("","","","BORRAR","ATRAS","OK"); LOCAL TACTIL; LOCAL TOCAR; REPEAT TACTIL:=WAIT(-1); TOCAR:=MOUSE(); BLIT_P(G0,G1);
  • 4. TEXTOUT_P(B→R(TACTIL),G0,50,60,5,RGB(255,255,255),250,RGB(0,0,0)); TEXTOUT_P(B→R(TOCAR),G0,5,120,3,RGB(255,255,255),320,RGB(0,0,0)); DRAWMENU("","","","BORRAR","ATRAS","OK"); UNTIL ISKEYDOWN(4) END; END; OBSERVACIONES  Aliniciar el programa solo aparare el la pantalla de graficos con elmenu en la parte inferior,eso se debe por que se a colocado el comando WAIT() que detiene la ejecucion del programa.  Para poder ver lo que hace el comando MOUSE ,si no se presiona la pantalla (no hay actividad del mouse),no tocar la pantalla durante un minuto y aparecera como que se muesra en la figura {{},{}}.  Si se hace un clic, aparece {{Xmovil,Ymovil,Xestatico,Yestatico,indice},{}}.  Si se hace un anti-clic, aparecerá{{},{Xmovil,Ymovil,Xestatico,Yestatico, indice}}.  Si de se hace clicy anti-clicala vez,aparecerá. {{Xmovil,Ymovil, Xestatico,Yestatico, indice},{Xmovil,Ymovil, Xestatico,Yestatico, indice}}.
  • 5.  Si se hace un clic enel área de menú se queda,se puede verel indice igual a1.  Si se hace clic y anti-clicala vezpor largotiempoapareceráel indice 7. Ejemplo 5.-crear un menú en la variable grafica G2 ICON name5L 89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445 FFFBF0000000F82165E 80000000274524E5300007693CD380000005649444154780175CEB10D80300C44D12FA5A0CC081925A 3304AB2012BB10123843128900F2720A8A89E2C59FAC724E980E89C901C83AC3D098AB6A68AB434AD 4E1CD883BF0EDA3F16BEAB742AB9E32163B6377B8FB80059885C7192B359A10000000049454E44AE42 6082; ICON name6L 89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445 FFFBF0000000F82165E80000000274524E5300007693CD380000004D49444154780155CEB11180300C4 3D1DF516604466134329AB7610452E410068B0237EF72B6E5B0481AD092096B72C19608F6878E744A9 11C45B4975EF07BB9E749EF65C517E6681FF2D9FAC40D3F905C8C788CCEC60000000049454E44AE4260 82; ICON name7L 89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445 FFFBF0000000F82165E80000000274524E5300007693CD38000000544944415478012DCEBB1180300C0 35075D06501EE324A464B26E3330B4340C14558B61BBF7361C95848BE40313EA01A136806812E063479 8A23A8CE5E9CCDB7B936DFEC468C38B8825B743E0ACBE82CCADA78E20724BF5BCB5C25E3160000000 049454E44AE426082; LOCAL CAS_MEN:={{181,215,223,235},{225,215,267,235},{269,215,311,235}};
  • 6. EXPORT programName() BEGIN DIMGROB_P(G2,320,240,RGB(255,255,255)); BLIT_P(G2,CAS_MEN(1,1),CAS_MEN(1,2),CAS_MEN(1,3),CAS_MEN(1,4),"name5L"); BLIT_P(G2,CAS_MEN(2,1),CAS_MEN(2,2),CAS_MEN(2,3),CAS_MEN(2,4),"name6L"); BLIT_P(G2,CAS_MEN(3,1),CAS_MEN(3,2),CAS_MEN(3,3),CAS_MEN(3,4),"name6L"); LOCAL j; FOR j FROM 1 TO 3 DO TEXTOUT_P("L:",G2,10+j,192-j,2,RGB(192,192,192),120); RECT_P(G2,25+j,190-j,65+j,170-j+35,RGB(0,0,0),RGB(0,0,0)); END; TEXTOUT_P("L:",G2,10,192,2,RGB(0,0,255),120); RECT_P(G2,25,190,65,205,RGB(0,0,0),RGB(255,255,255)); RECT_P(G2,20,217,110,232,RGB(255,255,255),RGB(255,255,255)); TEXTOUT_P("1:",G2,10,222,1,RGB(0,0,0),120,RGB(255,255,255)); BLIT_P(G0,G2); FREEZE; END; Ejemplo 6.-escribir en pantalla, sabiendo que la tecla de ID 41 corresponde al número 1, 1: EXPORT programName() 2: BEGIN 3: DIMGROB_P(G1,320,240,RGB(255,255,255)); 4: BLIT_P(G0,G1); 5: LOCAL TECLA; 6: LOCAL POS:=100; 7: REPEAT 8: TECLA:=GETKEY; 9: CASE 10: IF TECLA = 42
  • 7. 11: THEN 12: POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); 13: END; 14: END; 15: UNTIL 16: TECLA= 4 17: END; 18: END; 1: Exporta a nivel global 2: inicio del programa principal 3: dimensionamiento de la pantalla graficaguardada en G1 4: sobrepone el objeto grafico contenido en G1, en G0 5: crea la variablelocal TECLA 6: crea la variablelocal POS (POS:=100 es la posición dondese inicia paraescribir) 7: iniciala estructura derepetición 8: se asigna valora la variablelocal TECLA 9: inicio dela estructura de selección múltiple 10: si sepresiona la tecla que tiene un ID 42 11: hacer 12: se asigna la siguienteposición del número a escribir 13: fin 14: final dela estructura de selección múltiple 15: hasta que 16: comparación tecla quetiene un ID 4(para terminar el programa) con el 4 17: final dela estructura de repetición Ejemplo 7.-escribir en pantalla, el numero 0.123456789 EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); BLIT_P(G0,G1); LOCAL TECLA; LOCAL POS:=100;
  • 8. REPEAT TECLA:=GETKEY; CASE IF TECLA = 42 THEN POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 43 THEN POS:=TEXTOUT_P("2", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 44 THEN POS:=TEXTOUT_P("3", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 37 THEN POS:=TEXTOUT_P("4", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 38 THEN POS:=TEXTOUT_P("5", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 39 THEN POS:=TEXTOUT_P("6", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 32 THEN POS:=TEXTOUT_P("7", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 33 THEN POS:=TEXTOUT_P("8", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 34 THEN POS:=TEXTOUT_P("9", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 47 THEN POS:=TEXTOUT_P("0", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; IF TECLA = 48 THEN POS:=TEXTOUT_P(".",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); END; END; UNTIL TECLA= 4 END; END;
  • 9. Ejemplo 8.-escribir en pantalla, el numero 11111 Y borrar 1: EXPORT programName() 2: BEGIN 3: DIMGROB_P(G1,320,240,RGB(255,255,255)); 4: BLIT_P(G0,G1); 5: LOCAL TECLA; 6: LOCAL POS:=100; 7: LOCAL POS_LIST:={100}; 8: LOCAL INC:=1; 9: REPEAT 10: TECLA:=GETKEY; 11: CASE 12: IF TECLA = 42 13: THEN 14: POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); 15: INC:=INC+1; 16: POS ▶ POS_LIST(INC); 17: END; 18: IF TECLA = 19 AND SIZE(POS_LIST)>1 19: THEN 20: INC:=INC-1; 21: TEXTOUT_P("1",G0,POS_LIST(INC),200,7,RGB(255,255,255),50,RGB(255,255,255)); 22: POS_LIST:=tail(revlist(POS_LIST)); 23: POS_LIST:=revlist(POS_LIST); 24: POS:=POS_LIST(INC); 25: END; 26: IF TECLA = 50 27: THEN 28: TEXTOUT_P(POS_LIST,G0,50,20,3,RGB(0,0,255),320,RGB(255,255,255)); 29: END; 30: END; 31: UNTIL TECLA= 4 32: END; 33: END; 1: Exporta a nivel global 2: Incio del programa 3: Dimensionamiento del objeto grafico en G1 4: Reemplazando el objeto grafico contenido en G1 5: Variablelocal TECLA 6: Variablelocal POS(posición horizontal dondese inicia es escribir) 7: Variablelocal POS_LIST(lista deposiciones lo losnúmeros ) 8: Variableloca INC(para guardar laposición del siguientecarácter a escribir) 9: Inicio deestructura de repetición 10: Asignación dela variableTECLA
  • 10. 11: iniciaestructura deselección múltiple 12: Si la tecla que sepresiona correspondea la tecla de ID 42 13: Hacer 14: Posición del siguientenúmero a escribir 15: Incrementa la variableINC en una unidad 16: Se guarda la posición del siguientenúmero a escribir en la posición 2 dela lista 17: Fin 18: Si la tecla que sepresiona correspondea la tecla de ID 19 y tamaño de lista es mayor que 1 19: Hacer 20: Disminuye la variableINC en una unidad 21: Escribeel número a borrar,de color blanco 22: Invierte la lista y seelimina el primer elemento de la lista 23: Invierte la lista 24: Posición del siguientenúmero a escribir 25: Fin 26: Si la tecla presionada correspondea la tecla de ID 50 27: Hacer 28: Mostrar texto(en este caso el texto es la lista deposicionesdelos números) 29: Fin 30: Fin de la estructura e selección múltiple 31: Hasta que se presione la tecla de ID 4 32: Final dela estructura de repetición 33: Final del programa Ejemplo 9.-escribir en pantalla, el número 0.123456789 Y borrar EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); BLIT_P(G0,G1); LOCAL TECLA; LOCAL POS:=100; LOCAL POS_LIST:={100}; LOCAL INC:=1; REPEAT TECLA:=GETKEY; CASE IF TECLA = 42 THEN
  • 11. POS:=TEXTOUT_P("1",G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 43 THEN POS:=TEXTOUT_P("2", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 44 THEN POS:=TEXTOUT_P("3", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 37 THEN POS:=TEXTOUT_P("4", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 38 THEN POS:=TEXTOUT_P("5", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 39 THEN POS:=TEXTOUT_P("6", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 32 THEN POS:=TEXTOUT_P("7", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 33 THEN POS:=TEXTOUT_P("8", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 34 THEN POS:=TEXTOUT_P("9", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 47 THEN POS:=TEXTOUT_P("0", G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1; POS ▶ POS_LIST(INC); END; IF TECLA = 48 THEN POS:=TEXTOUT_P(".",G0, G0,POS,200,7,RGB(0,0,255),50,RGB(255,255,255)); INC:=INC+1;
  • 12. POS ▶ POS_LIST(INC); END; IF TECLA = 19 AND SIZE(POS_LIST)>1 THEN INC:=INC-1; TEXTOUT_P("1",G0,POS_LIST(INC),200,7,RGB(255,255,255),50,RGB(255,255,255)); POS_LIST:=tail(revlist(POS_LIST)); POS_LIST:=revlist(POS_LIST); POS:=POS_LIST(INC); END; IF TECLA = 50 THEN TEXTOUT_P(POS_LIST,G0,50,20,3,RGB(0,0,255),320,RGB(255,255,255)); END; END; UNTIL TECLA= 4 END; END; Ejemplo 10.-fondo de pantalla para carga distribuida ICON name5 89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445 FFFBF0000000F82165E80000000274524E5300007693CD380000005649444154780175CEB10D80300C4 4D12FA5A0CC081925A3304AB2012BB10123843128900F2720A8A89E2C59FAC724E980E89C901C83AC3 D098AB6A68AB434AD4E1CD883BF0EDA3F16BEAB742AB9E32163B6377B8FB80059885C7192B359A100 00000049454E44AE426082; ICON name6 89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445 FFFBF0000000F82165E80000000274524E5300007693CD380000004D49444154780155CEB11180300C4 3D1DF516604466134329AB7610452E410068B0237EF72B6E5B0481AD092096B72C19608F6878E744A9 11C45B4975EF07BB9E749EF65C517E6681FF2D9FAC40D3F905C8C788CCEC60000000049454E44AE4260 82; ICON name7 89504E470D0A1A0A0000000D494844520000002A000000140103000000C17D3DC500000006504C5445 FFFBF0000000F82165E80000000274524E5300007693CD38000000544944415478012DCEBB1180 300C0 35075D06501EE324A464B26E3330B4340C14558B61BBF7361C95848BE40313EA01A136806812E063479
  • 13. 8A23A8CE5E9CCDB7B936DFEC468C38B8825B743E0ACBE82CCADA78E20724BF5BCB5C25E3160000000 049454E44AE426082; LOCAL CA_MEN:={{5,215,47,235},{49,215,91,235},{93,215,135,235},{137,215,179,235},{181,215,223,235},{225, 215,267,235},{269,215,311,235}}; EXPORT programName() BEGIN LOCAL j; DIMGROB_P(G4,320,240,RGB(255,255,255)); BLIT_P(G4,CA_MEN(5,1),CA_MEN(5,2),"name5"); BLIT_P(G4,CA_MEN(6,1),CA_MEN(6,2),"name6"); BLIT_P(G4,CA_MEN(7,1),CA_MEN(7,2),"name7"); FOR j FROM 1 TO 4 DO TEXTOUT_P("NC:",G4,20+j,180-j+2,2,RGB(192,192,192),120); RECT_P(G4,40+j,180-j,40+j+25,180-j+15,RGB(0,0,0),RGB(255,255,255)); TEXTOUT_P("Xo:",G4,75+j,180-j+2,2,RGB(192,192,192),120); RECT_P(G4,90+j,180-j,90+j+40,180-j+15,RGB(255,255,255),RGB(0,0,0)); TEXTOUT_P("Wo:",G4,140+j,180-j+2,2,RGB(192,192,192),120); RECT_P(G4,160+j,180-j,160+j+40,180-j+15,RGB(255,255,255),RGB(0,0,0)); TEXTOUT_P("Xf:",G4,75+j,180-j+2+20,2,RGB(192,192,192),120); RECT_P(G4,90+j,180-j+16,90+j+40,180-j+15+16,RGB(0,0,0),RGB(255,255,255)); TEXTOUT_P("Wf:",G4,140+j,180-j+2+20,2,RGB(192,192,192),120); RECT_P(G4,160+j,180-j+16,160+j+40,180-j+15+16,RGB(0,0,0),RGB(255,255,255)); END; TEXTOUT_P("1:",G4,1,220+2,2,RGB(0,0,0),120,RGB(255,255,255)); RECT_P(G4,1,178,1+15,178+15,RGB(0,0,0),RGB(255,255, 255)); TEXTOUT_P("◀",G4,1,170+2,7,RGB(0,0,255),120); RECT_P(G4,210,178,210+15,178+15,RGB(0,0,0),RGB(255,255,255)); TEXTOUT_P("▶",G4,210,170+2,7,RGB(0,0,255),120); TEXTOUT_P("NC:",G4,20,180+2,2,RGB(255,0,0),120); RECT_P(G4,40,180,40+25,180+15,RGB(0,0,0),RGB(255,255,255)); TEXTOUT_P("1",G4,45,180+5,1,RGB(255,0,0),120); TEXTOUT_P("Xo:",G4,75,180+2,2,RGB(0,0,255),120); RECT_P(G4,90,180,90+40,180+15,RGB(0,0,0),RGB(255,255,255)); TEXTOUT_P("Wo:",G4,140,180+2,2,RGB(0,0,255),120); RECT_P(G4,160,180,160+40,180+15,RGB(0,0,0),RGB(255,255,255)); TEXTOUT_P("Xf:",G4,75,180+2+20,2,RGB(0,0,255),120); RECT_P(G4,90,180+16,90+40,180+15+16,RGB(0,0,0),RGB(255,255,255)); TEXTOUT_P("Wf:",G4,140,180+2+20,2,RGB(0,0,255),120); RECT_P(G4,160,180+16,160+40,180+15+16,RGB(0,0,0),RGB(255,255,255)); BLIT_P(G0,G4); FREEZE; END;
  • 14. QUE ES PROGRAMACION MODULAR Uno de los métodos más conocidas para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas,deesta manera, en lugar deresolver una tarea compleja y tediosa,resolveremos otras más sencilla y a partir deellasllegamos a la solución .esta técnica seusa mucho en programación ya que programar no es más que resolver problemas, y sele suelellamar diseño descendente, metodología dividey vencerás o programación top-Down. Es evidente que si esta metodología nos lleva a tratar con subproblemas, entonces también tengamos necesidad de poder crear y trabajar con subprogramas para resolverlos .a estos subprogramas seles suele llamar módulos,deahí viene el nombre de programación modular. Los procedimientos Un procedimiento es un subprograma querealiza una tarea específica.para invocarlo,es decir,parahacer que se ejecute, basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal .pero hay que tener en cuenta que su declaración debe hacerse antes de que sea llamado por otro modulo Para escribirun número en pantalla serequiereuna posición inicial horizontal y vertical Ejemplo 11.-fondo de pantalla para escribir en una casilla LOCAL FONDO(); EXPORT programName() BEGIN FONDO(); END; FONDO() BEGIN DIMGROB_P(G4,320,240,RGB(255,255,255)); LOCAL j; FOR j FROM 1 TO 4 DO TEXTOUT_P("Xo:",G4,75+j,180-j+2,2,RGB(192,192,192),120); 1 1 1 1
  • 15. RECT_P(G4,90+j,180-j,90+j+40,180-j+15,RGB(255,255,255),RGB(0,0,0)); END; TEXTOUT_P("Xo:",G4,75,180+2,2,RGB(0,0,255),120); RECT_P(G4,90,180,90+40,180+15,RGB(0,0,0),RGB(255,255,255)); BLIT_P(G0,G4); FREEZE; END; Ejemplo 12.-mostar el fondo de pantalla hasta que se presione la tecla Esc 1: LOCAL TECLA; 2: LOCAL TOCAR; 3: LOCAL FONDO(); 4: EXPORT programName() 5: BEGIN 6: FONDO(); 7: REPEAT 8: TECLA:=GETKEY; 9: TOCAR:=MOUSE; 10: CASE 11: IF SIZE(TOCAR(1))=0 THEN 12: END; 13: IF SIZE(TOCAR(1)) THEN 14: END; 15: END; 16: UNTIL TECLA = 4 ; 17: END; 18: END; 19: FONDO() 20: BEGIN 21: //commando del subprogramFONDO(). 22: END;
  • 16. 1: Declaración devariablelocal TECLA 2: Declaración devariablelocal TOCAR 3: Declaración devariablelocal FONDO() 4: Se establecomo variableglobal programName() 5: Inicio deprograma principal 6: Subprograma FONDO(),este subprograma coloca el fondo de pantalla 7: Inicio deestructura de repetición 8: Asignación devariable(seasigna el código detecla al presionar una tecla) 9: Asignación devariable(si setoca la pantalla) 10: Inicio deestructura de selección múltiple 11: Si el tamaño de la primera lista es igual a cero(sin elementos) hacer 12: Fin 13: Si el tamaño de la primera lista es igual a uno(un elemento) hacer 14: Fin 15: Fin de la estructura de selección múltiple 16: Hasta que se presión una tecla cuyo código se a 4 (ID 4) 17: Fin de la estructura de repetición 18: Fin del programa principal