• Martes 16 de Abril de 2024, 20:33

Autor Tema:  grafica de datos/tiempo  (Leído 1437 veces)

Pablet

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
grafica de datos/tiempo
« en: Viernes 23 de Enero de 2009, 12:29 »
0
Hola, estoy haciendo un programa que regula la canntidad de luz en una habitacion por medio de una TAQ. Esta me va dando cada segundo el valor de la luz actual que hay dentro y fuera de la habitacion. Yo quiero ponerle una grafica que me valla mostrando la evolucion de la luz en el tiempo, y que me genere una recta. Para ello habia pensado en utilizar el elemento Performance Graph pero no tengo ni idea de como utilizarlo, si alguien sabe y me lo quiere explicar. . . o si sabeis alguna forma alternativaa de hacerlo. .  quiero evitar crear bases de datos,  ya que llos datos me da igual que se pierdan. Gracias por adelantadoo. Un saludo

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: grafica de datos/tiempo
« Respuesta #1 en: Viernes 23 de Enero de 2009, 15:07 »
0
Mira eso es sencillo....

Yo utilizo los siguentes componentes

TPaintBox de system --- este para manejar la linea de tiempo
TTimer de system --- para manejar los intervalos de tiempo
CSpinButton ---- este lo utilizo para simular el valor del sensor....pruebas rapidas..

mejor dicho el codigo del form es algo asi

Código: Text
  1.  
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma link "CSPIN"
  10. #pragma link "PERFGRAP"
  11. #pragma resource "*.dfm"
  12. TForm1 *Form1;
  13. int j=0;
  14. int x=0;
  15. //---------------------------------------------------------------------------
  16. __fastcall TForm1::TForm1(TComponent* Owner)
  17.         : TForm(Owner)
  18. {
  19. }
  20. //---------------------------------------------------------------------------
  21.  
  22.  
  23. void __fastcall TForm1::CSpinButton1DownClick(TObject *Sender)
  24. {
  25.   j-=10;
  26.   Edit1->Text=j;//decremento valor relativo del sensor
  27. }
  28. //---------------------------------------------------------------------------
  29. void __fastcall TForm1::CSpinButton1UpClick(TObject *Sender)
  30. {
  31.  j+=10;
  32.  Edit1->Text=j; //incremento valor relativo del sensor
  33. }
  34. //---------------------------------------------------------------------------
  35. void __fastcall TForm1::Button1Click(TObject *Sender)
  36. {
  37.  PaintBox1->Canvas->Pen->Color=clRed;//para que la linea en el tiempo sea roja
  38.  Timer1->Interval=100;//tiempo en que se activara el timer para realizar el muestreo de datos
  39.  Timer1->Enabled=true;
  40. }
  41. //---------------------------------------------------------------------------
  42. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  43. {
  44.  if(x>PaintBox1->Width)//si el valor en x es mayor que el tamaño del ancho de la grafica..
  45.  {
  46.   PaintBox1->Enabled=false;//esto lo hago para borrar lo anteriormente puesto...creo que tambien con refresh funciona..
  47.   PaintBox1->Enabled=true;
  48.   x=0;
  49.  }
  50.  PaintBox1->Canvas->LineTo(x,j);
  51.  x=x+10;
  52. }
  53. //---------------------------------------------------------------------------
  54. void __fastcall TForm1::FormCreate(TObject *Sender)
  55. {
  56.  
  57. }
  58.  
  59.  

cualquier cosa que pruebalo y me cuentas....
de resto es cuadrar para que se vea al derecho..jaja.....

Taluego.........
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]


Pablet

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: grafica de datos/tiempo
« Respuesta #2 en: Viernes 23 de Enero de 2009, 20:09 »
0
Gracias!! ya lo tengo hecho y semifuncionando!! ya he arreglado para que salga del derecho restando k a la altura del paintbox. Muchas gracias!! Un saludo!