Ir al contenido


Foto

Componente TWavesPlotter


  • Por favor identifícate para responder
4 respuestas en este tema

#1 andres1569

andres1569

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 431 mensajes

Escrito 04 marzo 2011 - 01:09

Hola:

Subo aquí este componente que sirve para trazar ondas en pantalla. Parte de un componente muy básico que desarrollé hace años para atender una petición en el foro de ClubDelphi, llamado TElectrocardiograma (aunque la onda que dibujaba no se parecía en nada a un electrocardiograma    ) y que dejé inacabado y con una funcionalidad bastante reducida.

Ahora, atendiendo una petición de Mikrosurfer en otro hilo, lo he mejorado y renombrado como TWavesPlotter, que es un nombre más acorde con su finalidad que no es otra que la de trazar lineas a modo de ondas a medida que se le van introduciendo valores. No he encontrado otro componente, ni en otro lenguaje, que se llame igual, espero no estar plagiando el nombre a nadie  ^o| *-) . De momento sólo se trazan ondas en dirección horizontal, pudiendo elegir si partir de la izquierda o si de la derecha. Se permite trazar ondas de tres tipos: lineas rectas, lineas rectas ortogonales -es decir que mantienen ángulos rectos entre ellas- y finalmente lineas curvas.

Todo ello se realiza sobre un eje de coordenadas cartesiano, sobre el que opcionalmente pueden aparecer lineas de división horizontales y verticales, así como los propios ejes X e Y. También se permite mostrar etiquetas de numeración en los extremos del gráfico.

El componente maneja números reales, que se encarga de convertir en su correspondiente entero para ser trazados como píxels de pantalla, también permite aplicar escalas, diferentes si se quiere para una coordenada u otra, por lo que sirve para representar ondas provenientes de muy distintas fuentes, ya sea de medidas pequeñas, con decimales, o muy grandes, todo es cuestión de asignar las escalas correctas y aplicar los valores e intervalos correspondientes.

El componente se ofrece de forma gratuita y con el código fuente, en el fichero Leeme-WavesPlotter.txt se da más información de la licencia, condiciones y de cómo instalarlo. Lo he programado en Delphi 4.0, y probado también en Delphi XE, así que supongo que no debe dar problemas para instalarse y funcionar en otras versiones de Delphi. También adjunto un manual, WavesPlotter-Manual-SP.rtf, donde se explica con detalle su funcionamiento, propiedades, métodos y eventos.

Además adjunto una Demo con su código fuente que muestra algunos de sus posibles usos, ahí se puede probar el componente y ver cómo actúan sus propiedades.

Sólo falta que lo probéis y si a alguien le es de utilidad ya habrá merecido la pena. Aunque lo he probado concienzudamente y funciona bastante bien, eso sólo significa que pueden quedar unos 200 bugs ocultos  *-) , cualquier problema que os dé, o sugerencias o dudas que tengáis lo podéis escribir en este hilo y trataré de resolverlo.

Aclarar también que no soy ningún experto en ondas, lo he programado según mis conocimientos básicos del tema, si alguien que tenga experiencia en ese tipo de aparatos, osciloscopios, electros, sismógrafos ... etc ve algo incorrecto o que no se ajuste al funcionamiento esperado, por favor que me lo haga saber para tratar de mejorarlo.

Se me ocurren una serie de mejoras y nuevas funcionalidades, pero de momento para ser la primera versión creo que es suficiente, prefiero ampliarlo a medida que a alguien le sea necesario tal o cual reforma.

Saludos

Archivos adjuntos


  • 0

#2 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.950 mensajes
  • LocationMadrid - España

Escrito 04 marzo 2011 - 04:06

Interesante componente, andres1569, se ve que lo has trabajado bastante  .


Saludos.
  • 0

#3 pacopenin

pacopenin

    Member

  • Miembros
  • PipPip
  • 12 mensajes
  • LocationAsturias

Escrito 05 marzo 2011 - 06:19

Hola.

Muchas gracias, Andrés. Excelente.

Saludos,
  • 0

#4 mikrosurfer

mikrosurfer

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 155 mensajes

Escrito 05 marzo 2011 - 07:41



  Hola andres gracias por el componente  (b)
  • 0

#5 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 05 marzo 2011 - 09:36

Gracias  amigo.  (y) (y) (y)
  • 0