Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Control de teclas pulsadas (https://www.cobolforo.es/showthread.php?t=987)

Kuk 23 de agosto de 2024 11:06

@lumalma, yo utilizo en tu caso el evento Change y funciona de maravilla incluso si pegas un texto copiado:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-ARG-KEYASCII PIC S9(4) COMP-5.
  6.  PROCEDURE       DIVISION USING POW-ARG-KEYASCII.
  7.      
  8.      EVALUATE POW-ARG-KEYASCII
  9.          
  10.          WHEN POW-KEY-A
  11.          WHEN POW-KEY-B
  12.          WHEN POW-KEY-C
  13.          WHEN POW-KEY-D
  14.          WHEN POW-KEY-BACK
  15.              CONTINUE
  16.          
  17.          WHEN OTHER
  18.              MOVE POW-KEY-CANCEL TO POW-ARG-KEYASCII
  19.      
  20.      END-EVALUATE
  21.      

lumalma 23 de agosto de 2024 13:07

Hola
@Josber, @Kuk, gracias por vuestras respuestas.

@Josber, en el evento MouseUp todavía no he pegado el carácter en el TextBox con lo que tengo que comprobarlo en el evento Change.

@Kuk, he probado en el evento Change pero este evento no tiene el parámetro POW-KEY-ASCII. He puesto el código en el evento KeyPress y si no me he confundido funciona bien. Puede ser que hayas puesto que es el evento Change cuando es el evento KeyPress?

Un saludo

Kuk 23 de agosto de 2024 13:38

@lumalma, efectivamente me he confundido. Es el evento KeyPress y no el Change.... El calor hija que hace evaporar las neuronas que nos quedan :mm: :D :D :D

Le he añadido la conversión de minúsculas a mayúsculas porque por lo que veo no hay constantes diferenciadas para ello en Power, con lo cual, con minúsculas no funcionaba antes:
Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  CHAR.
  6.      05  LETRA        PIC X.
  7.      05  FILLER       PIC X.
  8.  01  POW-ARG-KEYASCII  REDEFINES CHAR PIC S9(4) COMP-5.
  9.  
  10.  PROCEDURE       DIVISION USING POW-ARG-KEYASCII.
  11.      
  12.      INSPECT LETRA CONVERTING
  13.          "abcd" TO "ABCD"
  14.          
  15.      EVALUATE POW-ARG-KEYASCII
  16.          
  17.          WHEN POW-KEY-A THRU POW-KEY-D
  18.          WHEN POW-KEY-BACK
  19.              CONTINUE
  20.          
  21.          WHEN OTHER
  22.              MOVE POW-KEY-CANCEL TO POW-ARG-KEYASCII
  23.      
  24.      END-EVALUATE
  25.      

lumalma 2 de septiembre de 2024 17:07

Estupendo @Kuk, gracias


La franja horaria es GMT +2. Ahora son las 14:57.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.