Cobol - Imprimir en Japonés

 
Vista:

Imprimir en Japonés

Publicado por luisjorge54 (1 intervención) el 23/11/2011 12:01:00
Hola,

Tengo un fichero secuencial en el cual guardo carácteres hexadecimales (texto en japonés). ¿Hay alguna forma de moverlo a una variable hexadecimal en cobol?

He leido por ahí que hay un VALUE H"texto fijo" a la hora de definir la variable pero te obliga a poner un texto fijo entrecomillado, lo que yo necesito es poder aceptarla directamente o en cuyo caso transformarlo de una manera directa o lo más sencilla posible.

Un saludo y gracias.

P.D.: Soy nuevo así que mis saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Convertir fichero secuencial de hexadecimal a variable hexadecimal

Publicado por Alejandro (300 intervenciones) el 11/09/2023 16:22:12
En COBOL, puedes leer un fichero secuencial que contiene caracteres hexadecimales y luego convertirlos en una variable hexadecimal. Para lograrlo, puedes seguir estos pasos:

1. Define una variable en tu programa COBOL para almacenar los caracteres hexadecimales leídos del fichero. Asegúrate de que la longitud de esta variable sea suficiente para contener los datos que planeas leer.

1
2
3
01 Hexadecimal-Data.
   05 Hexadecimal-Length PIC S9(4) COMP.
   05 Hexadecimal-Value  PIC X(1000).  -- Ajusta la longitud según tus necesidades.

2. Lee el fichero secuencial y almacena los caracteres hexadecimales en la variable `Hexadecimal-Value`.

3. Ahora, para convertir los caracteres hexadecimales en una variable hexadecimal, puedes utilizar una rutina de conversión personalizada en COBOL. Aquí tienes un ejemplo simplificado de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
01 Hexadecimal-Data.
   05 Hexadecimal-Length PIC S9(4) COMP.
   05 Hexadecimal-Value  PIC X(1000).  -- Ajusta la longitud según tus necesidades.
 
01 Hexadecimal-Variable.
   05 Hexadecimal-Output PIC X(500).  -- Ajusta la longitud según tus necesidades.
 
01 I PIC 9(4) COMP.
01 J PIC 9(4) COMP.
 
MOVE 1 TO I.
MOVE 1 TO J.
 
PERFORM UNTIL I > Hexadecimal-Length
   STRING Hexadecimal-Value(I:2) DELIMITED BY SIZE INTO Hexadecimal-Output(J:1)
   ADD 2 TO I
   ADD 1 TO J
END-PERFORM.

En este ejemplo, estamos leyendo caracteres hexadecimales de `Hexadecimal-Value` de dos en dos y almacenándolos en `Hexadecimal-Output`. Ajusta las longitudes y los nombres de las variables según tus necesidades.

Con estos pasos, habrás convertido los caracteres hexadecimales de tu fichero secuencial en una variable hexadecimal en COBOL. Ten en cuenta que este es un ejemplo simplificado y que puedes adaptarlo según tus requerimientos específicos. ¡Espero que esto te sea útil, Luis!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar