Sei sulla pagina 1di 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 proporcionados en 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 el fondo 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 actual de cada puntero potencial (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 opcional es el elemento n-ésimo que se devolvería (x, y, x original, etc.) si se hubiera omitido
el parámetro (o –1 si no se registra actividad del puntero).

Ejemplo 4.-en este ejemplo se muestra lo que hace el comando MOUSE, para el
cual se ha agregado el 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
 Al iniciar el programa solo aparare el la pantalla de graficos con el menu 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 clic y anti-clic a la vez, aparecerá.


{{Xmovil, Ymovil, Xestatico, Yestatico, indice}, {Xmovil, Ymovil, Xestatico, Yestatico, indice}}.
 Si se hace un clic en el área de menú se queda, se puede ver el indice igual a 1.

 Si se hace clic y anti-clic a la vez por largo tiempo aparecerá 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 grafica guardada en G1
4: sobrepone el objeto grafico contenido en G1, en G0
5: crea la variable local TECLA
6: crea la variable local POS (POS:=100 es la posición donde se inicia para escribir)
7: inicia la estructura de repetición
8: se asigna valor a la variable local TECLA
9: inicio de la estructura de selección múltiple
10: si se presiona la tecla que tiene un ID 42
11: hacer
12: se asigna la siguiente posición del número a escribir
13: fin
14: final de la estructura de selección múltiple
15: hasta que
16: comparación tecla que tiene un ID 4(para terminar el programa) con el 4
17: final de la 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: Variable local TECLA
6: Variable local POS(posición horizontal donde se inicia es escribir)
7: Variable local POS_LIST(lista de posiciones lo los números )
8: Variable loca INC(para guardar la posición del siguiente carácter a escribir)
9: Inicio de estructura de repetición
10: Asignación de la variable TECLA
11: inicia estructura de selección múltiple
12: Si la tecla que se presiona corresponde a la tecla de ID 42
13: Hacer
14: Posición del siguiente número a escribir
15: Incrementa la variable INC en una unidad
16: Se guarda la posición del siguiente número a escribir en la posición 2 de la lista
17: Fin
18: Si la tecla que se presiona corresponde a la tecla de ID 19 y tamaño de lista es mayor que 1
19: Hacer
20: Disminuye la variable INC en una unidad
21: Escribe el número a borrar, de color blanco
22: Invierte la lista y se elimina el primer elemento de la lista
23: Invierte la lista
24: Posición del siguiente número a escribir
25: Fin
26: Si la tecla presionada corresponde a la tecla de ID 50
27: Hacer
28: Mostrar texto(en este caso el texto es la lista de posiciones de los 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 de la 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
FFFBF0000000F82165E80000000274524E5300007693CD38000000544944415478012DCEBB1180300C0
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, de esta manera, en lugar de resolver una tarea compleja y tediosa, resolveremos
otras más sencilla y a partir de ellas llegamos a la solución .esta técnica se usa mucho en programación ya
que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología
divide y 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 se les suele llamar módulos, de ahí viene el nombre de programación
modular.

Los procedimientos

Un procedimiento es un subprograma que realiza una tarea específica .para invocarlo, es decir, para hacer
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 escribir un número en pantalla se requiere una posición inicial horizontal y vertical

1 1 1 1

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);
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 subprogram FONDO().
22: END;
1: Declaración de variable local TECLA
2: Declaración de variable local TOCAR
3: Declaración de variable local FONDO()
4: Se estable como variable global programName()
5: Inicio de programa principal
6: Subprograma FONDO(),este subprograma coloca el fondo de pantalla
7: Inicio de estructura de repetición
8: Asignación de variable (se asigna el código de tecla al presionar una tecla)
9: Asignación de variable (si se toca la pantalla)
10: Inicio de estructura 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

Potrebbero piacerti anche