Pregunta

Tengo una cadena 'Raja' que debe ser escrito en un archivo como datos HEX. Aquí están los códigos de muestra que me ayudan a describir el problema. El caso (a)

name = 'RAJA'   
name = C2X(name) /* Hex value = '52414A41' */
QUEUE name.

Salida al archivo: 52414A41

Pero si utilizamos los datos HEX directamente a escribir en un archivo que está bien trabajar Caso (b)

name = '52414A41'X
QUEUE name.

Salida al archivo: RAJA

Problema: En el caso (a) cuando la cadena se convierte en HEX utilizando C2X, devuelve una cadena de datos no HEX unos datos de HEX. Pero en el caso (b) como datos HEX se escriben en el archivo. Mi pregunta es cómo hacer que REXX intérprete saber que el 'nombre' variable en el caso (a) tiene datos HEX y ser escrito como HEX. Espero haber dejado claro el tema. Lemme pisar hacia una solución.

¿Fue útil?

Solución 2

Finalmente, pude resolver haciendo tema principal descrito. No es función incorporada en REXX llamada 'interpretar', lo que nos ayuda en la construcción de REXX dinámica comandos. Aquí está la declaración única, me hizo correr el módulo de éxito:

INTERPRET name_hex "= '" || name || "'X"

Se crea dinámicamente un comunicado REXX:

name_hex = 'name'X

que le dirá REXX intérprete de la cadena en 'nombre' como datos HEX.

impresionante derecho! Espero haber dejado claro que .. No volver a mí con sus preguntas ..

Otros consejos

También es posible usar la función x2c

decir x2c (52414A41)

Muestra RAJA

Para la mayoría de las funciones como c2X invirtiendo los caracteres hace lo contrario

es decir.

decir d2c (C2D (10))

decir C2D (D2C (10))

decir x2d (d2x (10))

toda pantalla 10

No creo que usted tiene un buen conocimiento de lo que está tratando de hacer aquí ... Ejecute el siguiente programa REXX y luego averiguar por qué se muestra lo que hace. Una vez que haya logrado esto, es probable que pueda llegar a una mejor solución a su problema hex / personaje.


name = 'RAJA'
say name            /* RAJA */
name = C2X(name)
say name            /* 52414A41 */
name = X2C(name)
say name            /* RAJA */
name = '52414A41'x
say name            /* RAJA */
name = X2C('52414A41')
say name            /* RAJA */
name = '52414A41'
INTERPRET "name = '" || name || "'X"
say name            /* RAJA */
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top