Buenas.
Este es un ejemplo de Scott Klement. El truco esta el la palabra clave BASED al
declarar una variable. No hay (hasta la versión que conozco) una función que
haga el reverso de %ADDR. Pero no debería ser difícil implementar una librería
con funciones que, dada una dirección de memoria, te devuelvan el entero, real,
cadena, indicador, etc. que se almacena. Pero todo hecho con BASED
D Var1 S 12A
D Ptr S *
D Var2 S 12A based(Ptr)
c eval Ptr = %addr(Var1)
** This displays "Hello World!"
c eval Var1 = 'Hello World!'
c dsply Var2
** This displays "World Hello!"
c eval Var2 = 'World Hello!'
c dsply Var1
c eval *inlr = *on
c return
Saludos
Gustavo Adolfo Márquez Álvarez.
Departamento de Sistemas.
[email protected]
inforZitro, S. L.
Carretera de Níjar, nº 404.
04007 Almería (España).
Teléfono: 950 226 658.
Extensión: 148.
Fax: 950 223 620.
From: [email protected]
Sent: Tuesday, June 17, 2014 5:19 AM
To: forum.help400
Subject: Punteros en rpg
buenas noches agradeceré su apoyo en lo siguiente. Se que para obtener
dirección de memoria de una variable de la siguiente manera: ptr=%DDR(var1)
pero como hago lo contrario var1=%xxx(ptr) ósea como obtengo el valor o el
contenido a partir de una posición de memoria?.
De antemano Gracias.
Roberto Palomino
--------------------------------------------------------------------------------
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.