Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2013
nefore nefore is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 25
Poder: 0
nefore Va por buen camino
Controlar Tiempo e Imprimir Formulario de Informe

Hola estoy aprendiendo a programar en Delphi, y me he topado con el siguiente problema:

Tengo un sistema de ABM de Base de Datos y necesito controlar el tiempo para generar un informe (semanal y mensual) sobre las diversas tablas que contiene la BD, es decir, necesito controlar que, al pasar una semana, se emita un informe en un form del delphi y permita al usuario imprimirlo.
El problema es que no tengo idea de como hacer para controlar que haya transcurrido esa semana y mucho menos el de imprimir un formulario.

Muchas gracias por su atencion
Responder Con Cita
  #2  
Antiguo 20-08-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
que tipo de informe sera ese?

quieres chequear las tablas que existen en la base de datos?
se un poco mas claro en tus consultas por favor
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 20-08-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
nefore, vamos a tener que recordarte la guía del novato , ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Responder Con Cita
  #4  
Antiguo 20-08-2013
nefore nefore is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 25
Poder: 0
nefore Va por buen camino
Cita:
Empezado por nefore Ver Mensaje
Hola estoy aprendiendo a programar en Delphi, y me he topado con el siguiente problema:

Tengo un sistema de ABM de Base de Datos y necesito controlar el tiempo para generar un informe (semanal y mensual) sobre las diversas tablas que contiene la BD, es decir, necesito controlar que, al pasar una semana, se emita un informe en un form del delphi y permita al usuario imprimirlo.
El problema es que no tengo idea de como hacer para controlar que haya transcurrido esa semana y mucho menos el de imprimir un formulario.

Muchas gracias por su atencion
Lo siento si no he sido claro, como he dicho al principio estoy aprendiendo a programar y no queria ser muy amplio en el sentido de aburrir.
En fin, para aclarar:
Tengo un ABM de Personas (codigo de persona, nombre, dni, sexo, direccion, etc.) y Medicos (ademas de los datos de personas posee también datos como nº matricula, direccion del consultorio, etc).
A todo esto, genero una inspeccion (con su respectivo codigo de inspeccion, ademas de tener asociado un codigo de persona sobre la cual realizo la inspeccion) en donde se consideran aspectos como: Si esta enfermo, si es una mujer si esta embarazada, cuando fue su ultima inspeccion, etc.

Ahora bien, teniendo en cuenta las inspecciones, yo semanalmente debo generar un informe que contenga los pacientes de dicha semana, reflejando la inspeccion correspondiente a esas personas por Ejemplo:
Tengo una tabla en donde deberia mostrar

Codigo
125

DNI
37456789

Apellido y Nombre
Gonzalez Jose

Enfermedad
x

Contagiosa
x

Tratamiento

Embarazo


Y asi sucesivamente con todos los clientes de la semana
Asi tambien, debo brindar la posibilidad de imprimir este informe

De ahi que me surgen la preguntas: ¿Como haria para controlar una semana? y ¿Como hago para imprimir ese formulario o la tabla?
Espero haber sido claro y disculpen las molestias
Responder Con Cita
  #5  
Antiguo 20-08-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por nefore Ver Mensaje
Lo siento si no he sido claro, como he dicho al principio estoy aprendiendo a programar y no queria ser muy amplio en el sentido de aburrir.
En fin, para aclarar:
Tengo un ABM de Personas (codigo de persona, nombre, dni, sexo, direccion, etc.) y Medicos (ademas de los datos de personas posee también datos como nº matricula, direccion del consultorio, etc).
A todo esto, genero una inspeccion (con su respectivo codigo de inspeccion, ademas de tener asociado un codigo de persona sobre la cual realizo la inspeccion) en donde se consideran aspectos como: Si esta enfermo, si es una mujer si esta embarazada, cuando fue su ultima inspeccion, etc.

Ahora bien, teniendo en cuenta las inspecciones, yo semanalmente debo generar un informe que contenga los pacientes de dicha semana, reflejando la inspeccion correspondiente a esas personas por Ejemplo:
Tengo una tabla en donde deberia mostrar

Codigo DNI Apellido y Nombre Enfermedad Peligrosidad Tratamiento Embarazo
125 37456789 Gonzalez Jose x x


Y asi sucesivamente con todos los clientes de la semana
Asi tambien, debo brindar la posibilidad de imprimir este informe

De ahi que me surgen la preguntas: ¿Como haria para controlar una semana? y ¿Como hago para imprimir ese formulario o la tabla?
Espero haber sido claro y disculpen las molestias
esta explicacion difiere totalmente de tu explicacion inicial
mmm yo me pregunto

porque no simplemente colocas un rango de fecha y que el usuario defina que fecha utilizar, segun mi experiencia no es saludable limitar ciertos procesos, conociendo la idiosincracia de los usuarios a veces te salen con cada requerimiento que es para jalarse los pelos
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 20-08-2013
nefore nefore is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 25
Poder: 0
nefore Va por buen camino
Creeme que lo haria con un par de DateTimePicker si pudiera, pero en realidad es un trabajo de universidad, y en el documento para la creacion del programa, me exige que semanalmente realize este informe, o sea, en el formulario debe aparecer solamente un edit conteniendo la fecha de emision (del informe) y una tabla con el resumen semanal de controles de los pacientes. Ademas de dos botones de cerrar e impimir
Responder Con Cita
  #7  
Antiguo 20-08-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cuando se realiza la inspección de un paciente, se anota la fecha, sólo has de controlar esa fecha cada vez que quieras sacar un informe.
O incluso puedes añadir un campo que sea la fecha de una semana próxima. Al sacar el informe será entra una semana atrás y la fecha actual.
De todas formas, como dice oscarac, eso en la vida real no tiene mucha utilidad, no es práctico, usable y además es fácilmente descontrolable.
Responder Con Cita
  #8  
Antiguo 20-08-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por nefore Ver Mensaje
Creeme que lo haria con un par de DateTimePicker si pudiera, pero en realidad es un trabajo de universidad, y en el documento para la creacion del programa, me exige que semanalmente realize este informe, o sea, en el formulario debe aparecer solamente un edit conteniendo la fecha de emision (del informe) y una tabla con el resumen semanal de controles de los pacientes. Ademas de dos botones de cerrar e impimir
Independientemente de cómo llegues a configurarlo, el "preguntar" por la condición no debería ser problema. Una vez que llegues al menú o pantalla principal, corres un procedimiento o función que te avise que para ciertos registros ya se cumplió la condición de haber pasado una semana.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #9  
Antiguo 21-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola nefore.

Al igual que mis compañeros, pienso que lo mas simple y flexible es usar una consulta con rango de fechas .

Según veo para generar el listado habría, al menos, dos tablas involucradas: PACIENTES e INSPECCION y estas están relacionadas por el campo CODIGO.

Creo que una consulta similar a esta resolvería tu problema:
Código SQL [-]
SELECT T1.CODIGO,
       T1.DNI,
       T1.APELLIDONOMBRE,
       T2.ENFERMEDAD,
       T2.CONTAGIOSA,
       T2.TRATAMIENTO,
       T2.EMBARAZO
FROM PACIENTES T1, INSPECCION T2
WHERE T1.CODIGO = T2.CODIGO
  AND T2.FECHA_INSPECCION >= :DESDE AND T2.FECHA_INSPECCION <= :HASTA
Luego a los parámetros DESDE y HASTA le envias los rangos de fechas que desees (por semana, por mes, etc.).

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 22-08-2013
nefore nefore is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 25
Poder: 0
nefore Va por buen camino
Cita:
Empezado por tiammat Ver Mensaje
Independientemente de cómo llegues a configurarlo, el "preguntar" por la condición no debería ser problema. Una vez que llegues al menú o pantalla principal, corres un procedimiento o función que te avise que para ciertos registros ya se cumplió la condición de haber pasado una semana.
Cita:
Empezado por ecfisa Ver Mensaje
Hola nefore.

Al igual que mis compañeros, pienso que lo mas simple y flexible es usar una consulta con rango de fechas .

Según veo para generar el listado habría, al menos, dos tablas involucradas: PACIENTES e INSPECCION y estas están relacionadas por el campo CODIGO.

Creo que una consulta similar a esta resolvería tu problema:
Código SQL [-]
SELECT T1.CODIGO,
       T1.DNI,
       T1.APELLIDONOMBRE,
       T2.ENFERMEDAD,
       T2.CONTAGIOSA,
       T2.TRATAMIENTO,
       T2.EMBARAZO
FROM PACIENTES T1, INSPECCION T2
WHERE T1.CODIGO = T2.CODIGO
  AND T2.FECHA_INSPECCION >= :DESDE AND T2.FECHA_INSPECCION <= :HASTA
Luego a los parámetros DESDE y HASTA le envias los rangos de fechas que desees (por semana, por mes, etc.).

Saludos
Efectivamente, son buenas ideas, muchas gracias a todos por tomarse su tiempo para entender y responder.
Ahora por el tema de los parámetros por ejemplo: ¿Existira alguna funcion en delphi, que me devuelva los dias de la semana, de acuerdo a una determinada fecha?, o sea por ejemplo yo en una variable tengo la fecha de hoy (22/08/13), y ¿existira una funcion que me devuelva "jueves"?
Responder Con Cita
  #11  
Antiguo 22-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por nefore Ver Mensaje
¿Existira alguna funcion en delphi, que me devuelva los dias de la semana, de acuerdo a una determinada fecha?, o sea por ejemplo yo en una variable tengo la fecha de hoy (22/08/13), y ¿existira una funcion que me devuelva "jueves"?
Hola nefore.

Código Delphi [-]
...
uses DateUtils;

function DayName(aDate: TDate): string;
begin
  case GetUserDefaultLangID and $03FF of
    LANG_SPANISH: Result := LongDayNames[DayOfTheWeek(aDate)+1];
    LANG_ENGLISH: Result := LongDayNames[DayOfTheWeek(aDate)];
    //...
  end;
end;

// Ejemplo de uso:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(DayName(StrToDate('22/08/2013')));
end;

Saludos.

Edito: Para la próxima, recuerda que debes crear un nuevo hilo para una nueva pregunta.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 22-08-2013 a las 23:04:19.
Responder Con Cita
  #12  
Antiguo 23-08-2013
nefore nefore is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 25
Poder: 0
nefore Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola nefore.

Código Delphi [-]
...
uses DateUtils;

function DayName(aDate: TDate): string;
begin
  case GetUserDefaultLangID and $03FF of
    LANG_SPANISH: Result := LongDayNames[DayOfTheWeek(aDate)+1];
    LANG_ENGLISH: Result := LongDayNames[DayOfTheWeek(aDate)];
    //...
  end;
end;

// Ejemplo de uso:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(DayName(StrToDate('22/08/2013')));
end;

Saludos.

Edito: Para la próxima, recuerda que debes crear un nuevo hilo para una nueva pregunta.
Ah muchas gracias! y disculpa nuevamente, me parece que no estoy con los pies sobre la tierra
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
Demasiado tiempo para generar un informe. Miguel45 Impresión 5 16-04-2009 20:26:47
Controlar el tiempo de ejecucion cyber_zero Varios 1 22-09-2008 01:01:05
Controlar el tiempo actual Alexis7788 Varios 3 28-09-2006 20:14:21
No imprimir informe vicvil Impresión 1 30-07-2005 01:02:18
Problema al abrir informe desde formulario en acces novaten Tablas planas 3 15-04-2005 23:11:02


La franja horaria es GMT +2. Ahora son las 17:31:38.


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