Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Cambiar tipo de un dato en Rave 5 en tiempo de ejecución (https://www.clubdelphi.com/foros/showthread.php?t=8005)

Berto2003 04-03-2004 09:32:52

Cambiar tipo de un dato en Rave 5 en tiempo de ejecución
 
Hola de nuevo amig@s!!

Me ha surgido otro asunto. Necesito cambiar en tiempo de ejecución y desde Delphi, el tipo de datos de un DataBand de un projecto .rav en RaveReport5 creado mediante un DirectDataView. El tipo que quiero cambiar es DataView1codigo: BCDField component y quiero cambiarlo por un StringField component. ¿Es posible hacerlo desde Delphi en tiempo de ejecución? En el programa Delphi tengo un TrvProject, TrvSystem y un TrvDataSetConnection conectado con un TClientDataSet que es la tabla que le paso al Rave mediante dicho DataSetConnection.

Gracias de antemano,
Saludos,
Alberto. :)

jachguate 04-03-2004 17:06:04

Queres cambiarlo en el dataset? No es posible hacerlo con el mismo field, pues las clases son especializadas: TBCDField, TStringField, TBooleanField, etc.

Lo que si podes hacer es crear un Field nuevo y deshacerte del anterior, aunque a la conversión de BCD a String no le hallo mucho sentido, creo que podes hacer (es cosa de probar, pues no me es usual destruir fields en tiempo de ejecución, y quizas quede un puntero en el dataset que produzca algun error...):

Código:

Var
  sf : TStringField;

Begin
  //te deshaces del Field Anterior:
  MiDataSet.FieldByName['CAMPO'].Free;
  sf := TStringField.Create(Parametros);
  sf.FieldName := 'CAMPO';
  sf.TextWidth := 50;
  // los nombres de las propiedades los digo de memoria y puede que no sean asi...
  // pero en la ayuda encontras todo lo relacionado con TField y TStringField.
  ..

Vale la pena probarlo...

Hasta luego. ;)

Berto2003 05-03-2004 15:41:21

Re: jachguate
 
Hola jachguate,

Sí, eso quiero, cambiarlo a través del objeto del Rave DataSetConnection, pero el problema es que creo en tiempo de diseño dentro del informe Rave el DataView y ahí los campos que genero son fijos, vamos, no sé si me explico bien. Por ej., codigo -> TBCDField, nombre -> TStringField (esto dentro del DataView del .rav) Y quiero cambiar "codigo" a tipo TStringField pero desde Delphi y una vez creado el informe.

Gracias de nuevo,
Hasta luego.


La franja horaria es GMT +2. Ahora son las 05:05:44.

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