Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Delphi para la web (https://www.clubdelphi.com/foros/forumdisplay.php?f=51)
-   -   Problemas con JSON y Tabla de Memoria (https://www.clubdelphi.com/foros/showthread.php?t=96671)

jmbarrio 11-04-2024 11:37:05

Problemas con JSON y Tabla de Memoria
 
Buenos días, tengo el siguiente fichero json que recibo con componentes TREST y lo vuelco a una tabla de memoria TFDMemTable

Código:

[{"cal_serie":"24","cal_nro":2,"cal_fecha":"2024-04-03T00:00:00","cal_cliente":"000000","cal_rsocial":"MOVIMIENTOS INTERNOS",
"lineas":[{"lal_serie":"24","lal_nro":2,"lal_linea":1,"lal_cod":"002049","lal_alm":"1",......................,"lal_observ4":""}]

El campo líneas es otro array, que en el código se lo quiero asignar a un TMemo

para ello empleo
Código Delphi [-]
Memo.Lines.add( FDMemTable.fieldbyname('lineas').asstring)

El problema es que solo me coge 255 caracteres, da igual que cambie el size a 512 0 1024, o que en lugar de un asstring le diga al campo que sea widestring solo me copia en el memo 255 caracteres

¿Alguna idea?

Muchas gracias;

Neftali [Germán.Estévez] 11-04-2024 16:16:25

Cita:

Empezado por jmbarrio (Mensaje 555336)
El problema es que solo me coge 255 caracteres, da igual que cambie el size a 512 0 1024, o que en lugar de un asstring le diga al campo que sea widestring solo me copia en el memo 255 caracteres

¿Alguna idea?


Tal vez deberías poner algo de código que estás utilizando para saber porqué te está "cortando" la cadena a esa longitud.

jmbarrio 11-04-2024 16:50:27

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 555354)
Tal vez deberías poner algo de código que estás utilizando para saber porqué te está "cortando" la cadena a esa longitud.

Hola Neftalí, no he puesto código pq va todo por componentes TREST Client-Request-Response-ResponseDataSetAdapter configurados en diseño.

El ResponseDataSetAdapter enlaza con la FDMemTable con lo que la tabla se llena al hacer un Request.Execute

Al ver los campos de la tabla de memoria en el Bind Visually veo que el jsonarray líneas aparece como el campo lineas y es el FieldDefs 80 Las propiedades de

FDMemTable.FieldDefs[80] el Data Type es ftWideString y el size 255 y aunque le aumente a 512 se me sigue cortando a los 255 caracteres.

Gracias, un saludo.

cloayza 12-04-2024 00:18:28

Estimado le sugiero agregue los campos del FDMemTable como persistentes para ello doble click sobre el FDMemTable y agregar los campos con sus tipos y largos para los string y con el tipo Memo para el campo que le da problemas...

Saludos cordiales


La franja horaria es GMT +2. Ahora son las 14:01:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi