Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Componente] Número de más de 4 decimales en Textbox (https://www.cobolforo.es/showthread.php?t=375)

Fito 21 de abril de 2016 23:16

Número de más de 4 decimales en Textbox
 
Hola Amigos:

Necesito ingresar un número que tiene mas de 4 decimales, el textbox solamente me permite 4, qué control puedo usar.

Probé con el ctNedit de dbi-tech, pero debe haber alguna incompatibilidad porque me da un errror y se cierra el proyecto.

Saludos.

Fito...

Kuk 22 de abril de 2016 09:21

Fito, define el "RenderText" en "Standard" y haz lo siguiente:

Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01  EDT-DECIMAL        PIC Z(5)9,9(6).
  3.  
  4.  PROCEDURE DIVISION:
  5.  
  6.      MOVE 1234,456789 TO EDT-DECIMAL
  7.      
  8.      MOVE EDT-DECIMAL TO POW-TEXT OF CmText1

Fito 22 de abril de 2016 15:04

Hola KUK: Gracias por responder.

Para cuando quiero mostrar lo puedo hacer de esa manera, el tema es que quiero que el operador ingrese ese dato, y siempre me redondea en 4 decimales.

Gracias. Fito...

lfarias 22 de abril de 2016 15:38

Hola Fito:
Net Cobol soporta hasta 4 digitos decimales.. no mas que eso.
Es increible pero es asi.
Saludos. luis

Fito 22 de abril de 2016 17:08

Hola amigos:

Buscando en mi "baúl de descargas" (siempre descargo cosas que en algún momento te sirve) encontré una solución, siempre hay alguno que le pasó lo mismo. No sé de quien es el código para agradecerle.

En el rendertext lo puse como COBOL PICTURE, y definí el picture z.z(6), me dio el error de que no puede tener mas de 4 decimales, pero no le di importancia.

Para mover los valores creé un par de variables.

Código COBOL:
  1. 01  w-texto            pic x(9).
  2. 01  w-numero redefines w-texto   pic +z.z(6).

y para asignar un valor al textbox

Código COBOL:
  1. move campo            to w-numero.
  2. move w-texto          to "text" of txtTextBox.

y para tomar el valor ingresado por el operador hago al reves.
Código COBOL:
  1. move "text" of txtTextBox     to w-texto.
  2. move w-numero                 to campo.

Saludos.

Fito.

Kuk 22 de abril de 2016 17:21

Fito, quieres decir que con PIC editado aunque de error no lo modifica automáticamente a 4 decimales?

Yo lo que haría es meter 2 TextBox, evaluando cuando se haya llenado uno y enfocando el segundo.
También está el OCX MaskEdit de Microsoft.

Fito 22 de abril de 2016 17:28

Exacto KUK.

En realidad se maneja como texto y lo convertís a número con el redefines. Pero con el picture así validás que sean números y que el punto decimal esté donde queremos.

Fijate que la variable numérica editada tiene el signo, es importante.

El tema de los dos textbox no me gusta tanto, hay que hacer varios controles.

Saludos.

Fito


La franja horaria es GMT +2. Ahora son las 15:26.

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