Ver Mensaje Individual
  #4  
Antiguo 02-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
No sé si conoces "la cara oculta de delphi 4" (está desfasado, pero los principios de programación y los métodos que usa son actuales) una búsqueda en google te llevará sin duda al link de descarga.

Lo que más dolores de cabeza te dará es tener en red a paradox funcionando sin fallos, busca en el foro por NETFILEDIR cuando lo necesites.

Si bien es cierto que el sql de paradox no es "actual" (porque se dejó de actualizar) tiene muchísimas características y siempre es más potente que las equivalentes instrucciones en delphi, es una opinión personal. Por ende, hazte de un manual de sql de internet.

Usando otra tecnología, mira en este hilo y en este otro

Para las horas totales, las fechas se guardan como un número flotante:
- la parte entera son los días transcurridos desde el 01/01/1900 (fecha base del calendario del ordenador)
- la parte decimal corresponde a la hora.

Esto permite restar fechas tal que así:
Código Delphi [-]
var  salida, entrada : TDatetime;
     total, horas:word;
begin
total := salida - entrada

horas := hoursBetween(salida, entrada);

Aquí he usado dos técnicas distintas:
- En total tienes los milisegundos transcurridos entre las dos fechas, ahora solo es cuestión de ir dividiendo y restando hasta obtener un resultado del tipo : " 1 día 2 horas 3 minutos 44 segundos"

- En horas, directamente ya tienes 26 horas "y pico"

Depende de qué quieras usar.

Para no tener que recalcular cada dos por tres las horas trabajadas, podrías añadir un campo en la tabla Entradas (que nombre más malo para esa tabla, quizás cambiando el nombre a "Horario" quedara más entendible), en fin, en esa tabla añades un campo "Horas" de tipo Double, de tal forma que al introducir la fecha de salida, también calculas la diferencia entre ambas y lo guardas, para solicitar listados te podría ayudar mucho.

Edito: Siendo tu primer programa en Delphi y con pocos conocimientos como tú has dicho, para ser sincero y realista, podrías usar Paradox, te dará dolores de cabeza, pero no hace falta muchos conceptos para hacerlo funcionar, más que nada hace falta imaginación para resolver los problemas que te llegarán. Con Firebird u otro sistema, necesitarás entender los conceptos y algo más de pericia al volante. Existe mucha información sobre Interbase / Firebird, pero la mejor documentación, viene en inglés en www.ibphoenix.com Si dominas el inglés leído, no te lo pienses y cambia a Interbase / Firebird / Mysql / etc.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 02-12-2006 a las 13:08:21.
Responder Con Cita