Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2008
mtirado mtirado is offline
Miembro
 
Registrado: mar 2007
Posts: 26
Poder: 0
mtirado Va por buen camino
Validacion FastReport. Urgente, plz...

Hola a todos. tenog una duda sobre como validar en FastReport.
El caso es que necesito hallar el porciento de cumplimiento de dos planes de producciones, Plan1 y Plan2, la formula es %=Plan2*100/Plan1 El plan1 es el planidicado y el plan2 es el real realizado. Como puedo validar para el caso en el que el Plan1 o Plan2 sea igual a cero, y no me de error de division por cero???? Por otra parte como puedo cambiar el color del valor del %, es decir si el % me da por debajo de 95 poner la letra en rojo, sino en azul. Como hago eso? Espeor puedan ayudarme.
Saludos.
Responder Con Cita
  #2  
Antiguo 25-04-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Primero que nada, te recomiendo que repases de nuevo la Guía de Estilo de estos foros (enlace en el menú superior del foro). Esto es por que en estos foros no existe el concepto de Urgencia...

Sobre tu problema, solo te puedo dar pistas, ya que no uso FastReport...

Checa que el componente Label que usas para mostrar el resultado de la operación tenga un evento OnBeforePrint o un OnGetText...

Para verificar que tu operación no te produzca un error de División por Cero puedes validar mediante un if..then:

Código Delphi [-]
if (Plan1 = 0) then
  Porcentaje := x
else
  Porcentaje := (Plan2 * 100) / Plan1;

// Cambiar el color dependiendo del resultado:

if Porcentaje < 95 then
  LabelFastReport.Font.Color := clRed
else
  LabelFastReport.Font.Color := clBlue;
Text := Format(%d%%', [Porcentaje])


Saludos...
Responder Con Cita
  #3  
Antiguo 25-04-2008
mtirado mtirado is offline
Miembro
 
Registrado: mar 2007
Posts: 26
Poder: 0
mtirado Va por buen camino
a ver....

No sabia que no se podia poner lo de urgencia, solo era una forma de poner un titulo al hilo...
A ver yo se como hacer ese codigo que me dices, pero como nunca he trabajado en el fastreport no se como decirle por codigo que me haga una u otra cosa, esa era mi dudo. Por lo que necesito es ver a alguien que si haya trabajado con el FASTREPORT y haya pasado por esa o similar situacion a la mia. NO se si me entiendes?
Saludos a todos.
Responder Con Cita
  #4  
Antiguo 25-04-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Pues con lo que te puse te estoy dando respuesta...

Casi todos, si no es que todos, los componentes de reportes de los reporteadores tienen eventos OnBeforePrint, OnAfterPrint...

Entonces solo tienes que usar ese evento para realizar lo que necesitas:

Código Delphi [-]
procedure TForm1.frLabelBeforePrint(Sender: TObject);
begin
  // Calculamos el porcentaje
  // Cambiamos el color de acuerdo al resultado
  // Asiganmos el resultado a la propiedad Text o Caption del Label
end;


Saludos...
Responder Con Cita
  #5  
Antiguo 25-04-2008
mtirado mtirado is offline
Miembro
 
Registrado: mar 2007
Posts: 26
Poder: 0
mtirado Va por buen camino
Salduos.

Crees que eso sea asi? Es que cuanod pongo un label en el reporte, no veo ninguna propiedad del mismo o evento, ni tansiquiera el nmbre del mismo, eso es lo raro.
Responder Con Cita
  #6  
Antiguo 25-04-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Leyendo en la página de FastReport, parece ser que este usa Scripts...

Puede que ahí esté la solución a tus problemas...



Saludos...
Responder Con Cita
  #7  
Antiguo 25-04-2008
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 915
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Edita el objeto TfrMemoView, que usaras para desplegar tu calculo,

Y coloca el siguiente codigo.

Código Delphi [-]
[IF(Table1."PLAN1">0,Table1."PLAn2"*100/Table1."PLAN1",0)]

Luego en las propiedades del TfrMemoView, busca la que dice "Highlight", presiona sobre los "...", se mostrara un Dialogo, en "Condition" coloca lo siguiente:

Código Delphi [-]
VALUE<95

En Font presiona el boton "A Color", y le das el color que desees.

Espero que te sirva.
Saludos desde

Concepcion-Chile
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Validación de nif Acker Varios 4 20-06-2006 13:44:03
Validacion spaike Varios 2 19-04-2006 19:56:12
Ayuda urgente con manejo de ventanas y validación de usuario TrUnkS Varios 1 27-12-2005 09:04:22
validación Nelly Varios 8 12-10-2005 19:32:33
validacion halifax Tablas planas 7 06-02-2005 23:25:53


La franja horaria es GMT +2. Ahora son las 21:12:35.


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
Copyright 1996-2007 Club Delphi