Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2014
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 16
Caminante Va camino a la fama
Podrías calcular la diferencia de horas con la función HoursBetween que devuelve un entero y así multiplicarlo con el monto por hora.
Aunque cuando resto fechas de la forma que lo haces siempre me devuelve un entero.

Saludos
Responder Con Cita
  #2  
Antiguo 08-01-2014
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.700
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Deberías guardar la hora de entrada y la de salida en tipo "datetime", ahora llamado "timestamp". Aunque sólamente presentes la hora al usuario.

Así que:
Código Delphi [-]
 importe = preciohora * HoursBetween( fechahorasalida, fechahoraentrada )
Responder Con Cita
  #3  
Antiguo 08-01-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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 negrokau.
Cita:
Empezado por negrokau Ver Mensaje
...
Como multiplicar un dato tipo TIME con un NUMERIC?
Respondiendo a esa consulta, la ayuda de Delphi dice:
Cita:
Delphi stores date and time values in the TDateTime type. The integral part of a TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of a TDateTime value is fraction of a 24 hour day that has elapsed.
Atendiendo a lo anterior, podemos hacer por ejemplo:
Código Delphi [-]
function HourValue(const Entrada, Salida: TDateTime; const Valor: Double): Double;
begin
  Result :=  Frac(Salida - Entrada) * 24 * Valor;
end;

Y luego usar la función de este modo:
Código Delphi [-]
  with DATAMODULE1.Q_PRUEBA do
    FieldValues['MONTO'] := HourValue(FieldValues['HORA1'], FieldValues['HORA2'], PRUEBA.FieldValues['TARIFA']);

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
No se puede convertir variable de tipo null a tipo integer. JairoC Varios 5 30-11-2011 15:43:11
como insertar la hora del sistema en un campo de tipo interval pnsd_89 Oracle 2 31-10-2007 18:18:27
Convertir de hora GMT a hora local marceloalegre Varios 4 16-05-2007 23:35:58
¿Como convertir de texto a tipo fecha en firebird? Nelly SQL 5 22-02-2007 17:54:14
Duda con tipo decimal o numeric jwmoreira Firebird e Interbase 3 19-08-2004 11:20:33


La franja horaria es GMT +2. Ahora son las 04:32:53.


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