Ver Mensaje Individual
  #6
Antiguo 13 de noviembre de 2015, 18:11
Kuk
Administrador
Última Actividad 21.09.2026 18:24
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Joseg, no entiendo nada... Preguntabas por cómo cambiar el punto decimal por coma. Pensábamos que te referías al teclado, en tu programa, que cuando introduzcas el punto decimal del teclado numérico te aparezca coma en vez de punto. Luego, según lo que has dicho, he entendido que tendías muchos CmEdit (por ejemplo) y que te suponía muchos cambios en el código. El Form también tiene "PreKeyPress" en el cual si pones el código de Josber te cambia el punto por la coma en todos los controles de ese Form.

Pero ahora dices que no quieres alterar tu programa. Entonces nos vamos a la configuración de Windows (en adjuntos). Pero cambiar esta configuración significa que todos los programas la comparten. Lo cual, no es aconsejable, si en tu país es la norma es la configuración americana (999,999,999.00) y no la europea (999.999.999,00).

Se puede cambiar por programa y por tiempo limitado dicha configuración de WIndows, pero tampoco es aconsejable si usas otros programas al mismo tiempo.

Yo tengo código para comprobar el punto decimal, si es punto o coma (yo lo hago en el evento "Opened":

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  LOCALE-USER-DEFAULT     PIC S9(9) COMP-5 VALUE h"0400".
  5.  01  LOCALE-SDECIMAL         PIC S9(9) COMP-5 VALUE h"0E".
  6.  01  RET                     PIC S9(9) COMP-5.
  7.  01  LONG                    PIC S9(9) COMP-5.
  8.  01  BUFFER                  PIC X(256).
  9.  
  10.  PROCEDURE       DIVISION.
  11.  
  12.      MOVE 256 TO LONG
  13.      
  14.      CALL "GetLocaleInfoW" WITH STDCALL USING BY VALUE LOCALE-USER-DEFAULT    
  15.                                               BY VALUE LOCALE-SDECIMAL
  16.                                               BY REFERENCE BUFFER
  17.                                               BY VALUE LONG
  18.                                               RETURNING RET.
  19.          
  20.      IF  BUFFER(1:1) = ","
  21.          DISPLAY "COMA : " BUFFER  
  22.          
  23.      ELSE
  24.          DISPLAY "PUNTO : " BUFFER  
  25.      END-IF
  26.      
Imágenes Adjuntas
 



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita