In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Xailer i HASHes

Foro de Xailer profesional en español
Responder
Avatar de Usuario
XeviCOMAS
Mensajes: 586
Registrado: Sab Mar 12, 2011 8:16 pm

Xailer i HASHes

Mensaje por XeviCOMAS »

Bien, entrando en el tema de hash (array indeterminado)... un nuevo mundo por descubrir para mi, bien, pues veo que los controles de Xailer no estan familiarizados a tratar con ese typo de variables (Valtype() de un hash = "H") y no lo muestra en un sencillo Logdebug( miHash) o un MsgInfo(miHash) muestra { >= } pero nunca su contenido.

Para mostrar un contenido de un hash, debo de hacer LogDebug( HB_JsonEncode( hHash ) )
O un MsgInfo... MsgInfo( HB_JsonEncode( hHash ) )

No se... si se puede añadir a esas funciones que si se trata de mostrar un hash, que internamente ya lo haga la propia función.

Gracias.
Un Saludo,
Xevi.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9252
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Xailer i HASHes

Mensaje por ignacio »

Buenas tardes,

Creo que está mezclando dos temas completamente distintos aunque muchas veces se usen conjuntamente, que son los HASH y los JSONs.

Un hash de Harbour es simplemente una matriz 'especial' y cada uno de sus elementos puede tener cualquier tipo de valor, al igual que ocurre con las matrices. El logdebug() de una matriz no muestra su contenido, porque puede ser tremendamente compleja e incluso a veces alguno de sus elementos apuntan a otras matrices que a su vez apuntan a la matriz inicial y se crean referencias circulares. Por el mismo motivo no se muestra el contenido de un Hash.

Le adjunto más información acerca de los JSON: https://es.wikipedia.org/wiki/JSON

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
XeviCOMAS
Mensajes: 586
Registrado: Sab Mar 12, 2011 8:16 pm

Re: Xailer i HASHes

Mensaje por XeviCOMAS »

Bien, tampoco se trata de un tema preocupante... si de esta manera puedo visualizar el contenido de un hash

LogDebug( HB_JsonEncode( hHash ) )
O un MsgInfo... MsgInfo( HB_JsonEncode( hHash ) )


Y además, para poder visualizarlo "ordenadamente" puedo utilizar el segundo parámetro de hb_jsonencode()
HB_JsonEncode( hHash, .T. )

y el resultado es más "cómodo" de verlo...

{
"installed":
{
"client_id": "xxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"project_id": "xxxx-apis-xxxxxx",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "12345678901234567-xxxxxx",
"redirect_uris":
[
"urn:ietf:wg:oauth:2.0:oob",
"http://localhost"
]
}
}
Un Saludo,
Xevi.
Responder