Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   COBOL - General (https://www.cobolforo.es/forumdisplay.php?f=44)
-   -   [Sintaxis] Máximo valor de una variable (https://www.cobolforo.es/showthread.php?t=1133)

Begoguay 3 de mayo de 2020 19:37

Máximo valor de una variable
 
Hola foreros.

Tengo una duda. Para inicializar una variable se puede hacer con INITIALIZE variable. ¿Existe algo parecido para mover el máximo valor a una variable?

Un saludo.

Y feliz paseo. (Para los que puedan salir)

Josber 3 de mayo de 2020 20:19

Cita:

Citación del post de Begoguay (Mensaje 5608)
el máximo valor a una variable

Pues sí,
Código COBOL:
  1. MOVE HIGH-VALUES TO nombre_de_variable

También puedes usar HIGH-VALUE, además, tienes LOW-VALUE o LOW-VALUES to ..., que es para mover el valor más bajo posible a una variable

Un salu2.-

Kuk 4 de mayo de 2020 08:55

@Begoguay, @Josber, lleva razón.

Más info: el LOW-VALUES va a llenar el campo con X"00" y el HIGH-VALUES con X"FF".

Lo único, hay que tener cuidado con esto si el campo es un binario (COMP/COMP-4/COMP-5).

Joseg 4 de mayo de 2020 12:06

Cita:

Citación del post de Begoguay (Mensaje 5608)
Hola foreros.

Tengo una duda. Para inicializar una variable se puede hacer con INITIALIZE variable. ¿Existe algo parecido para mover el máximo valor a una variable?

Un saludo.

Y feliz paseo. (Para los que puedan salir)


Código COBOL:
  1. 01 AAAA PIC 9(10).
  2. 01 BBBB  PIC X(100)

Podes usar este comando:
Código COBOL:
  1. MOVE ALL 9  TO  AAAA
  2. MOVE ALL "z" TO BBBB

HIGH-VALUES/LOW-VALUES usar com cuidado em tabelas SQL, ficheiros ISAM funciona sem qualquer problema.

Begoguay 4 de mayo de 2020 18:30

Y otra pregunta: ¿Hay algún comando que me permita preguntar si una variable tiene el máximo valor, o el minimo?.

Del estilo: Si 'variable' = 'maximo valor' entonces...

---------- Post añadido : 18:30 ---------- Post anterior : 18:28 ----------

Cita:

Citación del post de Joseg (Mensaje 5624)
Código COBOL:
  1. 01 AAAA PIC 9(10).
  2. 01 BBBB  PIC X(100)

Podes usar este comando:
Código COBOL:
  1. MOVE ALL 9  TO  AAAA
  2. MOVE ALL "z" TO BBBB

HIGH-VALUES/LOW-VALUES usar com cuidado em tabelas SQL, ficheiros ISAM funciona sem qualquer problema.

De esta manera lo he hecho yo siempre, pero quería saber si se podía ir un poco más allá, para poder contemplar otros valores superiores / inferiores, por si la variable tuviera algún otro valor diferente a letras / numeros

Kuk 4 de mayo de 2020 18:49

@Begoguay,

Código COBOL:
  1.       IF  VARIABLE = LOW-VALUES
  2.  
  3.       IF  VARIABLE = HIGH-VALUES

Josber 4 de mayo de 2020 19:46

Cita:

Citación del post de Begoguay (Mensaje 5631)
MOVE ALL "z" TO BBBB

El problema de ésta forma es que la "z", tiene el valor ASCII 122, y, por ejemplo, la "ñ", tiene el valor ASCII 164, por lo que, obviamente, éste sistema falla en cuanto tengamos una ñ, o cualquier valor superior a ASCII 122, (como por ejemplo {,},Ç,ç y otros muchos), sobre todo si lo vamos a usar para posicionarnos en un fichero, por lo que yo recomiendo LOW o HIGH-VALUES antes que éste sistema.

Un saludo.-


La franja horaria es GMT +2. Ahora son las 23:59.

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