página(s) : 1/2 (4205 palabras totales en este texto) (23866 Lecturas)
Método:
Son procedimientos que ya vienen programados por el lenguaje y nosotros
solo tendremos que llamarlos para que actúen. Son métodos, añadir
campos a un Combobox, enviar el foco a cualquier objeto, abrir una
ventana, cerrarla, etc ... Como veremos cada uno de los objetos puede
tener sus propios métodos.
Para acceder a todos los métodos se utilizará la sentencia CALL, quedando su formato
de la siguente manera:
CALL método OF objeto USING parámetros.
A continuación vamos a explicar algunos de los métodos mas habituales.
Pero como siempre os digo, en los ejemplos prácticos es donde mejor se
comprende todo.
METODO
DESCRIPCION
ADDSTRING
ADDSTRING256
Para
añadir elementos a objetos ListBox y ComboBox. CALL ADDSTRING OF LISTA USING "PRIMER ELEMENTO".
ALARM
Aplicable
solo en los Sheet y produce un sonido, podemos escoger entre
varios predefinidos.POW-MBOK, POW-MBASTERISK, POW-MBQUESTION, POW-MBEXCLAMATION,
POW-MBHAND. CALL ALARM OF SHEET1 USING POW-MBOK.
CLEARLIST
Aplicable
a ListBox y ComboBox, conseguimos reiniciar los objetos de tal
manera que quedan vacios completamente. CALL CLEARLIST OF LISTA.
OPENPRINTER
WHITESHEET
CLOSEPRINTER
Solo
para el objeto Print. Abrimos y cerramos el objeto Print, para
provocar una salida por impresora de los objetos de nuestra
pantalla que tengan la opción PrnEnable activada. CALL OPENPRINTER OF IMPRESORA.
CALL WRITESHEET OF VENTANA1.
CALL CLOSEPRINTER OF IMPRESORA.
CLOSESHEET
Aplicable
solo a las ventanas, con ello las cerramos. CALL CLOSESHEET OF VENTANA1.
DELETESTRING
Aplicable
a los controles ListBox y ComboBox, y conseguimos borrar un
elemento de la lista. CALL DELETESTRING OF LISTA USING 1.
DISPLAYMESSAGE
Se
va a explicar en la parte final. Por ser un método muy utilizado
y util.
GETCELLNUMERIC
GETCELLTEXT
Aplicable
a las tablas y conseguimos extraer el contenido de las celdas, ya
sean numéricas o alfanuméricas. En el ejemplo moveremos a la
variable VALOR, el contenido de la celda situada en la columna 1
línea 1 de la tabla llamada TABLA. CALL GETCELLTEXT OF TABLA USING VALOR 1 1.
OPENSHEET
Aplicable
solo a las Sheet y con ella las abrimos. Las ventanas siempre
dependen de una padre. CALL OPENSHEET OF PRINCIPAL USING "SEGUNDA".
SETCELLNUMERIC
SETCELLTEXT
Aplicable
a las tablas y conseguimos introducir un valor en las celdas, ya
sean numéricas o alfanuméricas. En el ejemplo moveremos el valor
"HOLA" a la celda situada en la columna 1 línea 1 de la
tabla llamada TABLA. CALL SETCELLTEXT OF TABLA USING "HOLA" 1 1.
SETFOCUS
Aplicable
a la mayoría de los controles. Con el conseguimos pasar el foco
de un objeto a otro. CALL SETFOCUS OF LISTA.
Existen muchos mas métodos, pero estos son los mas utilizados. Veamos como un ejemplo
sencillo como rellenaríamos un ListBox a partir de una tabla definida en
la Working. Siendo LISTA l nombre que tiene nuestro ComboBox o ListBox. Y
además tenemos una tabla con dos columnas, en la primera introducimos el
número y en la segunda su nombre.
WORKING-STORAGE SECTION.
01 TABLA.
02 FILLER PIC X(10) VALUE
"PRIMERO".
02 FILLER PIC X(10) VALUE
"SEGUNDO".
02 FILLER PIC X(10) VALUE
"TERCERO".
02 FILLER PIC X(10) VALUE
"CUARTO".
02 FILLER PIC X(10) VALUE
"QUINTO".
01 TABLITA REDEFINES TABLA.
02 ELEMEN PIC X(10) OCCURS 5 TIMES.
01 CONTA PIC 9.
01 CAMPO PIC X(10).
...
PROCEDURE DIVISION.
INICIO.
MOVE 0 TO CONTA.
UNO.
ADD 1 TO CONTA IF CONTA > 5 GO
DOS.
* aqui cargamos el ComboBox.
CALL ADDSTRING OF LISTA USING ELEMEN (CONTA).
* aqui cargamos la tabla.
CALL SETCELLNUMERIC OF TABLA USING CONTA
CONTA 1.
MOVE ELEMEN (CONTA) TO CAMPO.
* en la version 3 de PowerCobol da error si introducimos un campo
* con subindice directamente en una tabla, por eso primero lo
* muevo a un
campo.
CALL SETCELLTEXT OF TABLA USING CAMPO
CONTA 2.
GO UNO.
DOS.
EXIT.