Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2006
RJNewbyte RJNewbyte is offline
Registrado
 
Registrado: dic 2006
Posts: 3
Poder: 0
RJNewbyte Va por buen camino
Question Tipos Incompatibles?

Hola a todos, estos son mis inicios en Delphi lo estoy aprendiendo por mi cuenta y bueno jeje imaginaros que lio .

Bueno el tema es que intento hacer un calculo de unos datos:
Código Delphi [-]
var
HI, MI, SI, MBI,HItoS, MItoS, SIT, SF, MBF, HF, H1, H2, H3, M1, M2, S1, S2: extended;
begin
  HI := StrToFloat (edit1.text) ;  //Horas Iniciales
  MI := StrToFloat (edit2.text);   //Minutos Iniciales
  SI := StrToFloat (edit3.Text);   //Segundos Iniciales
  MBI := StrToFloat (edit4.Text);  //Megas Iniciales
  MBF := StrToFloat (edit5.Text);  //Megas Finales
  HItoS := HI * 3600;              //Horas Iniciales a Segundos
  MItoS := MI * 60;                //Minutos Iniciales a segundos
  SIT := HItoS+MItoS+SI;           //Segundos Iniciales Totales
  SF := SIT * MBF /MBI;            //Segundos Finales
  HF := SF/3600;                 //Horas Finales
  H1 := SF div XXX;       //AQUI DA FALLO
  H2 := H1*3600;
  H3 := SF mod 3600;    // Y AQUI
  M1 := SF div 60;        //Y AQUI
  M2 := M1*60;
  S1 := H2+M2;
  S2 :=  SF-S1;
  Edit5.Text := FloatToStr (HF);
  Edit6.Text := FloatToStr (H1);
  Edit7.Text := FloatToStr (SIT);
  Edit8.Text := FloatToStr (SF);
  Edit9.Text := FloatToStr (HF);
end;


Pues en este codigo nose porque son incompatibles los datos con los operadores div y mod si alguien me lo pudiera explicar le estaria muy agradecido...suponiendo que ese sea el fallo claro....

Un Saludo
Responder Con Cita
  #2  
Antiguo 17-12-2006
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
div y mod son para operaciones entre tipos enteros intenta esto:
Código Delphi [-]
 H1 := round(SF) div round(XXX)
__________________
self.free;
Responder Con Cita
  #3  
Antiguo 17-12-2006
RJNewbyte RJNewbyte is offline
Registrado
 
Registrado: dic 2006
Posts: 3
Poder: 0
RJNewbyte Va por buen camino
Gracias, asi no me da error.

Pero nose como enviar el valor resultante a un edit...se supone que round convierte el valor a integer no es asi? que deveria poner en el edit?

Perdon pero me e liado un poco con esto, llevo la tarde mirando como usar el comando trunc para esto aunque creo que no es lo mismo...

Un Saludo
Responder Con Cita
  #4  
Antiguo 22-12-2006
Avatar de fedelphi
fedelphi fedelphi is offline
Miembro
 
Registrado: abr 2006
Ubicación: Santa Fe
Posts: 122
Poder: 19
fedelphi Va por buen camino
Para mostrar el resultado en un edit debes hacer
Código Delphi [-]
edit.Text:=inttostr(resultado_integer)
donde resultado_integer es el valor que quieres mostrar y debe ser entero.
Saludos
__________________
De lo que hay no falta nada!!!
Responder Con Cita
  #5  
Antiguo 28-12-2006
RJNewbyte RJNewbyte is offline
Registrado
 
Registrado: dic 2006
Posts: 3
Poder: 0
RJNewbyte Va por buen camino
Talking Resuelto

Gracias por vuestra ayuda, el problema principal era encontar un comando como TRUNC que finalmente sirvió mejor a mis intenciones que ROUND.

Ademas del problema de los tipos porque tenia que poner algunos valores como INTEGER para poder expresarlos en los EDIT.

Muchas gracias por vuestra ayuda, así da gusto comenzar.
Código Delphi [-]
procedure TForm2.Resultado(Sender: TObject);
var
HI, MI, SI, MBI, HItoS, MItoS, SIT, SF, MBF, HF: extended;
H1, H2, H3, M1, M2, S1, S2: integer;
begin
  HI := StrToFloat (edit1.text) ;  //Horas Iniciales
  MI := StrToFloat (edit2.text);   //Minutos Iniciales
  SI := StrToFloat (edit3.Text);   //Segundos Iniciales
  MBI := StrToFloat (edit4.Text);  //Megas Iniciales
  MBF := StrToFloat (edit5.Text);  //Megas Finales
  HItoS := HI * 3600;              //Horas Iniciales a Segundos
  MItoS := MI * 60;                //Minutos Iniciales a segundos
  SIT := HItoS+MItoS+SI;           //Segundos Iniciales Totales
  SF := SIT * MBF /MBI;            //Segundos Finales
  HF := SF/3600;                 //Horas Finales
  H1 := trunc (SF) div 3600;
  H2 := H1 * 3600;
  H3 := trunc (SF) mod 3600;
  M1 := H3 div 60;
  M2 := M1*60;
  S1 := H2+M2;
  S2 :=  trunc(SF)-S1;
  Edit6.Text := FloatToStr (H1);
  Edit7.Text := FloatToStr (M1);
  Edit8.Text := FloatToStr (S2);
end;
Un Saludo
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
Libertad y negocios, incompatibles? marcoszorrilla Noticias 6 14-06-2005 22:01:35
TPanel y bucle incompatibles JoseQ Varios 1 03-03-2005 19:30:02
...tipos de sueldos.... Jure Humor 0 29-07-2004 15:28:25
Enviar archivo por socket. 'TStream' y 'TFileStream' Incompatibles. Sr_Sombrero Internet 6 01-07-2004 07:45:37
... 100 tipos... Jure Humor 0 18-03-2004 14:24:30


La franja horaria es GMT +2. Ahora son las 07:31:46.


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