Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Quick Report - Como obtener el valor de un QRExpr (https://www.clubdelphi.com/foros/showthread.php?t=26161)

bataola 14-10-2005 16:03:37

Quick Report - Como obtener el valor de un QRExpr
 
Holas!!

Gente alguien sabe como obtener el valor de un QRExpr en un reporte con Quick Report.
El tema es que al hacer QRExpr.Caption me muestra el "Text" digamos o la expresión asociada al componente, ejemplo: 'SUM(CANTIDAD)'. Y si hago QrExpr.Value el valor devuelto es del tipo TQREvResult y no se como utilizarlo.
Desde ya muchas gracias.

Saludos.

Lepe 15-10-2005 15:10:21

Cita:

Empezado por Ayuda QuickReports
type TQREvResultType = (resInt, resDouble, resString, resBool, resError)
type TQREvResult = record
case Kind : TQREvResultType of
resInt : (intResult : Longint);
resDouble : (dblResult : Double);
resString : (strResult : String[255]);
resBool : (booResult : Boolean);
end
property Value : TQREvResult

Description

Use the Value property to access the value of the Expression. It returns a variant record with the result of the calculation.

Por tanto: si sabes que el campo es un float:
Código Delphi [-]
 MiValorDouble := qrExpr.Value.resdouble;

Edito: Algo más general para utilizarlo en tiempo de ejecución sería:
Código Delphi [-]
var x:tqrevresult;
 valor:Variant;
begin
 case x.Kind of
  resInt    : valor := x.intResult;
  resDouble : valor := x.dblResult;
  resString : valor := x.strResult;
  resBool   : valor := x.booResult;
  else
      valor := Unassigned;
  end;
end;

saludos

Supermagayin 05-11-2005 02:38:55

Hola, tengo el mismo problema, pero me sale un error al declarar la varibale

var x:tqrevresult;

[Error] Undeclared identifier: 'TQREvResult'

Lepe 05-11-2005 10:32:30

Clic en tu código fuente (ojo: no en la ventana de errores de compilación), sobre la palabra QREvResult y F1, te dirá en qué unidad está declarado, y lo añades a los uses.

saludos

Supermagayin 05-11-2005 17:39:24

Hola de nuevo.

La unidad correcta que en este caso es QRCTRLS si esta en el uses.
Podria ser que mi delphi 4 no trae esa tipo de variable?

Gracias por la ayuda.

Lepe 09-11-2005 15:16:34

Cita:

Empezado por QuickReport help
Filename

QRCTRLS.DCU

Description

This unit includes all standard printable components

Components

TQRDBImage
TQRDBRichText
TQRDBText
TQRExpr
TQRExprMemo
TQRImage
TQRLabel
TQRMemo
TQRSysData
TQRRichText
TQRShape

Efectivamente está definido el TQrExpr, pero no el tipo de datos, ya que TQRevResult, es el tipo de la propiedad Value de un QrExpr.

Resulta que ese tipo de datos está en otra unidad, no en qrCtrls.

uses qrexpr;

saludos

telfaxh 17-08-2006 08:37:25

obtener el valor de un qrexpr
 
Hola amigos la verdad implemente su codigo del segundo ejemplo pero no me funciona . mi pregunta es como implementar u obtener ese valor con los ejemplos que dieros sean un poco mas claros por favor. estoy desesperado.

Lepe 17-08-2006 11:18:34

Uniendo mis mensajes anteriores....
Código Delphi [-]

uses qrexpr,QRCTRLS;

var x:tqrevresult;
 valor:Variant;
begin
 case x.Kind of
  resInt    : valor := x.intResult;
  resDouble : valor := x.dblResult;
  resString : valor := x.strResult;
  resBool   : valor := x.booResult;
  else
      valor := Unassigned;
  end;
end;

Saludos

telfaxh 19-08-2006 06:14:49

qrexpr
 
uses qrexpr,QRCTRLS;

var x:tqrevresult;
valor:Variant;
numero:Real
begin
x:=qrexpr1.value;

case x.Kind of
resInt : valor := x.intResult;
resDouble : valor := x.dblResult;
resString : valor := x.strResult;
resBool : valor := x.booResult;
else
valor := Unassigned;

numero:=qrexpr1.value.dblResult;
end;


como le asigno a numero el valor real de QRExpr1????

Lepe 19-08-2006 10:39:34

Declara numero como Double o Extended (yo siempre uso Extended).

Saludos

telfaxh 22-08-2006 23:17:42

QRExpr
 
Lamentabvlemente no tuve suerte con el codigo anterior siento que es imposible obtener el valor de un qrexp.

Gracias de todos modos!!

Lepe 23-08-2006 08:35:08

Sería bueno indicar qué error dá y de qué tipo. Además de explicar las circunstancias de uso.

Puede ser que intentes consultar el valor antes de abrir la consulta (por un descuido).

Supongo que el mejor momento para capturar el valor sería en el evento BeforePrint del componente.


Saludos

Alejandrina 13-07-2007 19:26:28

Hola a todos,
Tengo una gran,gran pregunta :confused:
Estoy intentando comparar un TQRExpr y un TQRDBText para saber cual es mayor e imprimirlo. El valor del TQRExpr lo obtengo de la forma anteriormente expuesta pero no se como obtener el del TQRDBText y compararlo. Los valores que estan dentro de estos campos son tipo numeric.
Si alguien me puede colaborar estare infinitamente agradecida.

Mi idea es la siguiente...se k el codigo puede estar orroroso pero es k no tengo idea...

Código:

procedure TInfCertificado.QRExpr23Print(sender: TObject;
  var Value: String);
  var numero,numero2:double;
begin
 numero:=QRExpr23.Value.dblResult;
 numero2:=StrToFloat(QRDBText21.Caption);
 if (numero>numero2) then
    begin
      QRExpr23.Value:=QRDBText21.Caption;
    end
 ELSE
  BEGIN
  END;
end;


Gracias...

laukri 15-12-2007 20:52:36

Cita:

Empezado por Lepe (Mensaje 114843)
Efectivamente está definido el TQrExpr, pero no el tipo de datos, ya que TQRevResult, es el tipo de la propiedad Value de un QrExpr.

Resulta que ese tipo de datos está en otra unidad, no en qrCtrls.

uses qrexpr;

saludos


hola a todos!!
yo tengo un problema con el QuickReport 4 y delphi 2007. Lo que me pasa es que al compilar no encuentra QRCtrls.dcu.
Donde lo puedo conseguir???
gracias!

Lepe 16-12-2007 09:21:59

Si tienes instalado el QuickReports y te funciona bien, es muy posible le hayan cambiado el nombre al archivo. Yo siempre he usado la versión 3 y pico.

Mira la ayuda de QR, buscando sobre TQRExpr, debe decirte en qué unidad está.

Saludos


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

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