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 18-08-2004
rafstyle rafstyle is offline
Registrado
 
Registrado: may 2003
Posts: 6
Poder: 0
rafstyle Va por buen camino
Unhappy Conversion de tipos

Estoy intentando representar la funcion 'sin' en el canvas y al compilar se me produce un error que me dice algo así como 'incompatible types extended e integer'. Lo que escribo es lo siguiente: Canvas.LineTo(f,sin(f)); Que solucion me ofreceis? Hay algun lugar en el mundo donde pueda ver yo una lista de todas las funciones de conversion (IntToStr, FloatToStr, ...) ?
Gracias.
Responder Con Cita
  #2  
Antiguo 18-08-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
la función sin(f) devuelve un valor extended (de coma flotante y mucha, mucha, mucha precision).

El método LineTo del canvas, espera una posición x, y que deben ser enteros.

Pascal hace muchas veces la conversión automática de tipos, pero no en el caso de un número de coma floatante a un entero.

Lo que procede es decidir cómo queres tratar ese número, (tuncarlo, redondearlo, etc) y actuar en consecuencia.

dado que el seno de x siempre será un valor entre 0 y 1, creo que tanto al truncarlo como al redondearlo vas a obtener una gráfica de líneas rectas discontinuas ubicadas en -1, 0 y 1 pixels del eje y=0.

De cualquier forma, las funciones correspondientes son round y trunc.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 18-08-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
para sacar una gráfica de la función seno necesitas escalarla al "papel"


prueba con Canvas.LineTo(round(f*escalaX),round(sin(f)*escalaY)) y puedes "jugar" en runtime con los valores de escala.
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa.
Responder Con Cita
  #4  
Antiguo 24-09-2004
rafstyle rafstyle is offline
Registrado
 
Registrado: may 2003
Posts: 6
Poder: 0
rafstyle Va por buen camino
Muchas gracias a todos.
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


La franja horaria es GMT +2. Ahora son las 23:41:30.


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