Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jan 31st, 2010, 11:07 PM   #11
squills
Professional Programmer
 
squills's Avatar
 
Join Date: Feb 2009
Posts: 275
Rep Power: 2 squills is on a distinguished road
Re: Pop-up screen

put the code for the counting in a while statement and pop up after the while statement

while i < 3000

...
...
...
end while

show pop up
__________________
Best use ever for C++...
http://www.planet-source-code.com/Up...3165921697.jpg
squills is offline   Reply With Quote
Old Feb 5th, 2010, 11:35 PM   #12
abdul.gafur
Trying to be a Real Coder
 
abdul.gafur's Avatar
 
Join Date: Feb 2010
Location: Bandung, Indonesia
Posts: 108
Rep Power: 1 abdul.gafur is on a distinguished road
Send a message via Yahoo to abdul.gafur
Re: Pop-up screen


for i:=1 to 60 do
begin
{do something}
end;
showMessage('Please get up and relax your eyes');


popup will appear fastly

you can add delay to your code

for i:=1 to 60 do
begin
{do something}
{delay i.g 1 sec}
end;
showMessage('Please get up and relax your eyes');


{do something} will be executed every 1 second and popup appears after 1 minute
__________________
just a drop of dew in the morning

if we facilitate other people's business in the world,
then our business will be facilitated in the world and the hereafter
abdul.gafur is offline   Reply With Quote
Old Feb 7th, 2010, 7:51 PM   #13
Raudhah
Newbie
 
Join Date: Jan 2010
Location: Singapore
Posts: 21
Rep Power: 0 Raudhah is on a distinguished road
Re: Pop-up screen

Quote:
Originally Posted by abdul.gafur View Post

for i:=1 to 60 do
begin
{do something}
end;
showMessage('Please get up and relax your eyes');


popup will appear fastly

you can add delay to your code

for i:=1 to 60 do
begin
{do something}
{delay i.g 1 sec}
end;
showMessage('Please get up and relax your eyes');


{do something} will be executed every 1 second and popup appears after 1 minute
Can u specific the {do something} part? I really don't know what to put in there. Sorry to bother u if I ask silly question.
Raudhah is offline   Reply With Quote
Old Feb 7th, 2010, 8:51 PM   #14
abdul.gafur
Trying to be a Real Coder
 
abdul.gafur's Avatar
 
Join Date: Feb 2010
Location: Bandung, Indonesia
Posts: 108
Rep Power: 1 abdul.gafur is on a distinguished road
Send a message via Yahoo to abdul.gafur
Re: Pop-up screen

try this :
delphi Syntax (Toggle Plain Text)
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls, ExtCtrls;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Button1: TButton;
  12. Timer1: TTimer;
  13. Label1: TLabel;
  14. procedure Timer1Timer(Sender: TObject);
  15. procedure Button1Click(Sender: TObject);
  16. procedure FormCreate(Sender: TObject);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. end;
  22.  
  23. var
  24. Form1: TForm1;
  25. i : integer;
  26.  
  27. implementation
  28.  
  29. {$R *.dfm}
  30.  
  31. procedure TForm1.Timer1Timer(Sender: TObject);
  32. begin
  33. Label1.Caption:=IntToStr(i);
  34. if (i=10) then
  35. begin
  36. Timer1.Enabled:=false;
  37. i:=1;
  38. ShowMessage('Please get up and relax your eyes');
  39. Button1.Enabled:=true;
  40. end;
  41. Inc(i);
  42. end;
  43.  
  44. procedure TForm1.Button1Click(Sender: TObject);
  45. begin
  46. Timer1.Enabled:=true;
  47. Button1.Enabled:=false;
  48. i:=1;
  49. end;
  50.  
  51. procedure TForm1.FormCreate(Sender: TObject);
  52. begin
  53. timer1.Enabled:=false;
  54. end;
  55.  
  56. end.
__________________
just a drop of dew in the morning

if we facilitate other people's business in the world,
then our business will be facilitated in the world and the hereafter
abdul.gafur is offline   Reply With Quote
Old Feb 7th, 2010, 9:07 PM   #15
Raudhah
Newbie
 
Join Date: Jan 2010
Location: Singapore
Posts: 21
Rep Power: 0 Raudhah is on a distinguished road
Exclamation Re: Pop-up screen

I will give u the code so that u know where to insect the code.

procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str,temp, ZW_WAR: String;
  DateTime : TDateTime;
  b,Nodeadresse:byte;
  dbm, D751, HeatSink, HeatFlux,thot,tcold,DT,TEGV,Ubat,Pout,rssi,energybalance :double;
  a:byte;
  dummy:integer;
  letzte:longint;
  begin
  //get actual data and store it in "str"
  ComPort.ReadStr(Str, Count);
  //store every char from str in "rawdata" until cr + lf
  for a := 1 to length(str) do begin
    inc(laenge);
    rawdata[laenge]:=ord(str[a]);
    if (rawdata[laenge]=10) and (rawdata[laenge-1]= 13)then begin
      // if received protocol have the defined length of 11 then it is the right one
      if laenge=11 then begin
         //give rawdate from "rawdata" to "rawdata2" and clear rawdata
         for dummy:=1 to 11 do begin rawdata2[dummy]:=rawdata[dummy];rawdata[dummy]:=0;end;
         edit6.Text:='';
         for dummy:= 1 to 11 do edit6.Text:=edit6.Text+inttostr(rawdata2[dummy])+' ';
         nodeadresse:=ord(rawdata2[1]);
         //check if the address of the actual TE-Power-NODE already exists or not
         if nodeadressen[1]=0 then begin nodeadressen[1]:=nodeadresse;pagecontrol1.Pages[0].Caption:='NODE '+inttostr(nodeadresse);end;
         node:=99;
         for dummy:=1 to nodeanzahl do
             if nodeadressen[dummy]=nodeadresse then node:=dummy;
             if node = 99 then if nodeanzahl<5 then begin
                inc(nodeanzahl);nodeadressen[nodeanzahl]:=nodeadresse;node:=nodeanzahl;
                pagecontrol1.Pages[nodeanzahl-1].Caption:='NODE '+inttostr(nodeadresse);pagecontrol1.Pages[nodeanzahl-1].TabVisible:=true;
             end;
      //convert the rawdata to temperature, voltage and RSSI value and store it in the diagram
      if node=1 then begin
         ankunftnode1:=now;
        //..................................................
        try
        thot:=(rawdata2[2]+rawdata2[3]*256)/10;
        except
        thot:=0;
        end;
        chart1.Series[1].AddXY(time,thot);
        //..................................................
        try
        tcold:=(rawdata2[4]+rawdata2[5]*256)/10;
        except
        tcold:=0;
        end;
        chart1.Series[0].AddXY(time,tcold);
        //..................................................
        DT:=ABS(thot-tcold);
        chart1.Series[2].AddXY(time,dt);
        //..................................................
        TEGV:=DT*0.07;
        chart1.Series[3].AddXY(time,tegv);
        //..................................................
        try
        Ubat:=rawdata2[8]/10;
        except
        Ubat:=0;
        end;
        chart1.Series[4].AddXY(time,Ubat);
        //..................................................
        try
        rssi:=(rawdata2[9]- 128) * 100 / 128;;
        except
        rssi:=0;
        end;
        chart1.Series[5].AddXY(time,rssi);
      end;

Really really need ur help in this. Thank you.
Raudhah is offline   Reply With Quote
Old Feb 7th, 2010, 9:22 PM   #16
abdul.gafur
Trying to be a Real Coder
 
abdul.gafur's Avatar
 
Join Date: Feb 2010
Location: Bandung, Indonesia
Posts: 108
Rep Power: 1 abdul.gafur is on a distinguished road
Send a message via Yahoo to abdul.gafur
Re: Pop-up screen

I don't understand what your asking. When we show the pop-up?
Can I get the full code?
__________________
just a drop of dew in the morning

if we facilitate other people's business in the world,
then our business will be facilitated in the world and the hereafter
abdul.gafur is offline   Reply With Quote
Old Feb 7th, 2010, 9:33 PM   #17
Raudhah
Newbie
 
Join Date: Jan 2010
Location: Singapore
Posts: 21
Rep Power: 0 Raudhah is on a distinguished road
Exclamation Re: Pop-up screen

The full is very long. But if u want to see, I will give you.

unit TE_MainForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, CPort, CPortCtl, TeEngine, Series, TeeProcs, Chart,
  ComCtrls, SDL_ProgBar, jpeg, Mask,dateutils;

type
  TForm1 = class(TForm)
    StaticText1: TStaticText;
    StaticText2: TStaticText;
    StaticText3: TStaticText;
    StaticText4: TStaticText;
    StaticText5: TStaticText;
    StaticText6: TStaticText;
    StaticText7: TStaticText;
    StaticText8: TStaticText;
    StaticText9: TStaticText;
    StaticText10: TStaticText;
    StaticText11: TStaticText;
    StaticText12: TStaticText;
    StaticText13: TStaticText;
    StaticText14: TStaticText;
    StaticText15: TStaticText;
    StaticText16: TStaticText;
    StaticText17: TStaticText;
    StaticText18: TStaticText;
    StaticText19: TStaticText;
    StaticText20: TStaticText;
    StaticText21: TStaticText;
    StaticText22: TStaticText;
    StaticText23: TStaticText;
    StaticText24: TStaticText;
    StaticText25: TStaticText;
    StaticText26: TStaticText;
    StaticText27: TStaticText;
    StaticText28: TStaticText;
    StaticText29: TStaticText;
    StaticText30: TStaticText;
    StaticText31: TStaticText;
    StaticText32: TStaticText;
    StaticText33: TStaticText;
    StaticText34: TStaticText;
    StaticText35: TStaticText;
    StaticText36: TStaticText;
    StaticText37: TStaticText;
    StaticText38: TStaticText;
    StaticText39: TStaticText;
    StaticText40: TStaticText;
    StaticText41: TStaticText;
    StaticText42: TStaticText;
    StaticText43: TStaticText;
    StaticText44: TStaticText;
    StaticText45: TStaticText;
    StaticText46: TStaticText;
    StaticText47: TStaticText;
    StaticText48: TStaticText;
    StaticText49: TStaticText;
    Timer1: TTimer;
    Timer2: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Chart1: TChart;
    Chart2: TChart;
    Chart3: TChart;
    Chart4: TChart;
    Series1: TPointSeries;
    Series2: TPointSeries;
    Series3: TPointSeries;
    Series4: TPointSeries;
    Series5: TPointSeries;
    Series6: TPointSeries;
    Series7: TPointSeries;
    Series8: TPointSeries;
    Series9: TPointSeries;
    Series10: TPointSeries;
    ComPort: TComPort;
    Button_Open: TButton;
    Button_Settings: TButton;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Image1: TImage;
    Image2: TImage;
    ProgBar1: TProgBar;
    PageControl1: TPageControl;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    SaveDialog1: TSaveDialog;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox10: TCheckBox;
    CheckBox11: TCheckBox;
    CheckBox12: TCheckBox;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    RadioGroup3: TRadioGroup;
    RadioGroup4: TRadioGroup;
    PointSeries1: TPointSeries;
    PointSeries2: TPointSeries;
    PointSeries3: TPointSeries;
    PointSeries4: TPointSeries;
    PointSeries5: TPointSeries;
    PointSeries6: TPointSeries;
    PointSeries7: TPointSeries;
    PointSeries8: TPointSeries;
    PointSeries9: TPointSeries;
    PointSeries10: TPointSeries;
    PointSeries11: TPointSeries;
    PointSeries12: TPointSeries;
    PointSeries13: TPointSeries;
    PointSeries14: TPointSeries;
    CheckBox3: TCheckBox;
    CheckBox8: TCheckBox;
    CheckBox9: TCheckBox;
    CheckBox13: TCheckBox;
    CheckBox14: TCheckBox;
    CheckBox15: TCheckBox;

    
    procedure Button_OpenClick(Sender: TObject);
    procedure Button_SettingsClick(Sender: TObject);
    procedure ComPortOpen(Sender: TObject);
    procedure ComPortClose(Sender: TObject);
    procedure ComPortRxChar(Sender: TObject; Count: Integer);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox5Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure CheckBox6Click(Sender: TObject);
    procedure CheckBox7Click(Sender: TObject);
    procedure CheckBox8Click(Sender: TObject);
    procedure CheckBox9Click(Sender: TObject);
    procedure CheckBox10Click(Sender: TObject);
    procedure CheckBox11Click(Sender: TObject);
    procedure CheckBox12Click(Sender: TObject);
    procedure Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure RadioGroup1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Chart2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure RadioGroup2Click(Sender: TObject);
    procedure RadioGroup3Click(Sender: TObject);
    procedure Chart3MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Chart4MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure RadioGroup4Click(Sender: TObject);
    procedure CheckBox13Click(Sender: TObject);
    procedure CheckBox14Click(Sender: TObject);
    procedure CheckBox15Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);



  private
     procedure ProgBarForm2(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  rxbuffer: String;
  rawdata:array[1..11] of byte;
  rawdata2:array[1..11] of byte;
  laenge:byte=0;
  empfang:string;
  ankunft:double;
  harvestingtime,harvestingstarttime,programmstart:double;
  Datei: TextFile;
  loadsetting:boolean = false;
  bcapacity:real;
  energybalance:real;
  oldx,oldy:integer;
  nodeadressen:array[1..5] of byte;
  nodeanzahl:byte=1;
  node:byte;
  bereitlogging:boolean=false;
  trennzeichen:char;
  ankunftnode1,ankunftnode2,ankunftnode3,ankunftnode4,oldnow:double;
  node1letzte,node2letzte,node3letzte,node4letzte:integer;
implementation

uses energycharging;

{$R *.DFM}

//at programstart load the last COM-Port settings
//initialize the diagrams
//read the country settings for decimalseparator and separator for the *.csv file
procedure TForm1.FormCreate(Sender: TObject);
var s:string;
begin
getdir(0,s);
ComPort.loadSettings(stIniFile, s+'\COMSETS.ini');
harvestingstarttime:=now;
oldnow:=now;
chart1.series[0].Active:=true;
chart1.series[1].Active:=true;
chart1.series[2].Active:=false;
chart1.series[3].Active:=false;
chart1.series[4].Active:=true;
chart1.series[5].Active:=true;
chart2.series[0].Active:=true;
chart2.series[1].Active:=true;
chart2.series[2].Active:=false;
chart2.series[3].Active:=false;
chart2.series[4].Active:=true;
chart2.series[5].Active:=true;
chart3.series[0].Active:=true;
chart3.series[1].Active:=true;
chart3.series[2].Active:=false;
chart3.series[3].Active:=false;
chart3.series[4].Active:=true;
chart3.series[5].Active:=true;
chart4.series[0].Active:=true;
chart4.series[1].Active:=true;
chart4.series[2].Active:=false;
chart4.series[3].Active:=false;
chart4.series[4].Active:=true;
chart4.series[5].Active:=true;

pagecontrol1.Pages[1].TabVisible:=false;
pagecontrol1.Pages[2].TabVisible:=false;
pagecontrol1.Pages[3].TabVisible:=false;
pagecontrol1.Pages[4].TabVisible:=false;
programmstart:=now;
if decimalseparator='.' then trennzeichen:=',';
if decimalseparator=',' then trennzeichen:=';';
end;

// open or close COM-Port
procedure TForm1.Button_OpenClick(Sender: TObject);
begin
  if ComPort.Connected then
    ComPort.Close
  else begin
    ComPort.Open;
    //send "n" over COM to switch USB Receiver to raw data transmission
    ComPort.WriteStr('n');
    //Timer for Energy balance gets actual time
    harvestingstarttime:=now;
    end;
    end;

procedure TForm1.Button_SettingsClick(Sender: TObject);
var
s:string;
begin

  ComPort.ShowSetupDialog;
  getdir(0,s);
  //save COM-Port settings in a *.ini file
  ComPort.StoreSettings(stIniFile, s+'\COMSETS.ini');
end;


procedure TForm1.ComPortOpen(Sender: TObject);
begin
  Button_Open.Caption := 'Stop';
end;

procedure TForm1.ComPortClose(Sender: TObject);
begin
  if Button_Open <> nil then
    Button_Open.Caption := 'Run';
end;

procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str,temp, ZW_WAR: String;
  DateTime : TDateTime;
  b,Nodeadresse:byte;
  dbm, D751, HeatSink, HeatFlux,thot,tcold,DT,TEGV,Ubat,Pout,rssi,energybalance :double;
  a:byte;
  dummy:integer;
  letzte:longint;

begin

  //get actual data and store it in "str"
  ComPort.ReadStr(Str, Count);
  //store every char from str in "rawdata" until cr + lf
  for a := 1 to length(str) do begin
    inc(laenge);
    rawdata[laenge]:=ord(str[a]);
    if (rawdata[laenge]=10) and (rawdata[laenge-1]= 13)then begin
      // if received protocol have the defined length of 11 then it is the right one
      if laenge=11 then begin
         //give rawdate from "rawdata" to "rawdata2" and clear rawdata
         for dummy:=1 to 11 do begin rawdata2[dummy]:=rawdata[dummy];rawdata[dummy]:=0;end;
         edit6.Text:='';
         for dummy:= 1 to 11 do edit6.Text:=edit6.Text+inttostr(rawdata2[dummy])+' ';
         nodeadresse:=ord(rawdata2[1]);
         //check if the address of the actual TE-Power-NODE already exists or not
         if nodeadressen[1]=0 then begin nodeadressen[1]:=nodeadresse;pagecontrol1.Pages[0].Caption:='NODE '+inttostr(nodeadresse);end;
         node:=99;
         for dummy:=1 to nodeanzahl do
             if nodeadressen[dummy]=nodeadresse then node:=dummy;
             if node = 99 then if nodeanzahl<5 then begin
                inc(nodeanzahl);nodeadressen[nodeanzahl]:=nodeadresse;node:=nodeanzahl;
                pagecontrol1.Pages[nodeanzahl-1].Caption:='NODE '+inttostr(nodeadresse);pagecontrol1.Pages[nodeanzahl-1].TabVisible:=true;
             end;
      //convert the rawdata to temperature, voltage and RSSI value and store it in the diagram
      if node=1 then begin
         ankunftnode1:=now;
        //..................................................
        try
        thot:=(rawdata2[2]+rawdata2[3]*256)/10;
        except
        thot:=0;
        end;
        chart1.Series[1].AddXY(time,thot);
        //..................................................
        try
        tcold:=(rawdata2[4]+rawdata2[5]*256)/10;
        except
        tcold:=0;
        end;
        chart1.Series[0].AddXY(time,tcold);
        //..................................................
        DT:=ABS(thot-tcold);
        chart1.Series[2].AddXY(time,dt);
        //..................................................
        TEGV:=DT*0.07;
        chart1.Series[3].AddXY(time,tegv);
        //..................................................
        try
        Ubat:=rawdata2[8]/10;
        except
        Ubat:=0;
        end;
        chart1.Series[4].AddXY(time,Ubat);
        //..................................................
        try
        rssi:=(rawdata2[9]- 128) * 100 / 128;;
        except
        rssi:=0;
        end;
        chart1.Series[5].AddXY(time,rssi);
      end;


      if node=2 then begin
        ankunftnode2:=now;
        //..................................................
        try
        thot:=(rawdata2[2]+rawdata2[3]*256)/10;
        except
        thot:=0;
        end;
        chart2.Series[1].AddXY(time,thot);
        //..................................................
        try
        tcold:=(rawdata2[4]+rawdata2[5]*256)/10;
        except
        tcold:=0;
        end;
        chart2.Series[0].AddXY(time,tcold);
        //..................................................
        DT:=ABS(thot-tcold);
        chart2.Series[2].AddXY(time,dt);
        //..................................................
        TEGV:=DT*0.07;
        chart2.Series[3].AddXY(time,tegv);
        //..................................................
        try
        Ubat:=rawdata2[8]/10;
        except
        Ubat:=0;
        end;
        chart2.Series[4].AddXY(time,Ubat);
        //..................................................
        try
        rssi:=(rawdata2[9]- 128) * 100 / 128;;
        except
        rssi:=0;
        end;
        chart2.Series[5].AddXY(time,rssi);
      end;

      if node=3 then begin
        ankunftnode3:=now;
        //..................................................
        try
        thot:=(rawdata2[2]+rawdata2[3]*256)/10;
        except
        thot:=0;
        end;
        chart3.Series[1].AddXY(time,thot);
        //..................................................
        try
        tcold:=(rawdata2[4]+rawdata2[5]*256)/10;
        except
        tcold:=0;
        end;
        chart3.Series[0].AddXY(time,tcold);
        //..................................................
        DT:=ABS(thot-tcold);
        chart3.Series[2].AddXY(time,dt);
        //..................................................
        TEGV:=DT*0.07;
        chart3.Series[3].AddXY(time,tegv);
        //..................................................
        try
        Ubat:=rawdata2[8]/10;
        except
        Ubat:=0;
        end;
        chart3.Series[4].AddXY(time,Ubat);
        //..................................................
        try
        rssi:=(rawdata2[9]- 128) * 100 / 128;;
        except
        rssi:=0;
        end;
        chart3.Series[5].AddXY(time,rssi);
      end;

      if node=4 then begin
        ankunftnode4:=now;
        //..................................................
        try
        thot:=(rawdata2[2]+rawdata2[3]*256)/10;
        except
        thot:=0;
        end;
        chart4.Series[1].AddXY(time,thot);
        //..................................................
        try
        tcold:=(rawdata2[4]+rawdata2[5]*256)/10;
        except
        tcold:=0;
        end;
        chart4.Series[0].AddXY(time,tcold);
        //..................................................
        DT:=ABS(thot-tcold);
        chart4.Series[2].AddXY(time,dt);
        //..................................................
        TEGV:=DT*0.07;
        chart4.Series[3].AddXY(time,tegv);
        //..................................................
        try
        Ubat:=rawdata2[8]/10;
        except
        Ubat:=0;
        end;
        chart4.Series[4].AddXY(time,Ubat);
        //..................................................
        try
        rssi:=(rawdata2[9]- 128) * 100 / 128;;
        except
        rssi:=0;
        end;
        chart4.Series[5].AddXY(time,rssi);
      end;

      //update the data around the picture with the actual selected TAB (diagram)
      if pagecontrol1.ActivePageIndex=0 then begin
        label7.Caption:=inttostr(Nodeadressen[1]);
        if (now-ankunftnode1)<0.0001 then begin
          if chart1.Series[1].count>0 then begin
          try
          thot:=chart1.Series[1].YValue[chart1.Series[1].count-1];
          edit2.Text:=Format('%3.1f', [thot]);
          label1.Caption:='T2 = '+edit2.text+' °C';
          tcold:=chart1.Series[0].YValue[chart1.Series[0].count-1];
          edit3.Text:=Format('%3.1f', [tcold]);
          label3.Caption:='T1 = '+edit3.Text+' °C';
          Ubat:=chart1.Series[4].YValue[chart1.Series[4].count-1];
          edit5.Text:=Format('%2.1f', [Ubat]);
          label2.Caption:='U = '+edit5.Text+' V';
          rssi:=chart1.Series[5].YValue[chart1.Series[5].count-1];
          edit4.Text:=Format('%3.0f', [rssi]);;
          except
          end;
        label1.Visible:=true;
        label2.Visible:=true;
        label3.Visible:=true;
        label4.Visible:=true;
        image2.Visible:=true;
        progbar1.Visible:=true;
       end;
      end
      else begin
        label1.Visible:=false;
        label2.Visible:=false;
        label3.Visible:=false;
        label4.Visible:=false;
        image2.Visible:=false;
        progbar1.Visible:=false;
        thot:=0;
        tcold:=0;
        edit2.Text:='0';
        edit3.Text:='0';
        edit5.Text:='0';
      end;
     end;

     if pagecontrol1.ActivePageIndex=1 then begin
       label7.Caption:=inttostr(Nodeadressen[2]);
       if (now-ankunftnode2)<0.0001 then begin
         if chart2.Series[1].count>0 then begin
           try
           thot:=chart2.Series[1].YValue[chart2.Series[1].count-1];
           edit2.Text:=Format('%3.1f', [thot]);
           label1.Caption:='T2 = '+edit2.text+' °C';
           tcold:=chart2.Series[0].YValue[chart2.Series[0].count-1];
           edit3.Text:=Format('%3.1f', [tcold]);
           label3.Caption:='T1 = '+edit3.Text+' °C';
           Ubat:=chart2.Series[4].YValue[chart2.Series[4].count-1];
           edit5.Text:=Format('%2.1f', [Ubat]);
           label2.Caption:='U = '+edit5.Text+' V';
           rssi:=chart2.Series[5].YValue[chart2.Series[5].count-1];
           edit4.Text:=Format('%3.0f', [rssi]);;
           except
           end;
         label1.Visible:=true;
         label2.Visible:=true;
         label3.Visible:=true;
         label4.Visible:=true;
         image2.Visible:=true;
         progbar1.Visible:=true;
       end;
     end
     else begin
      label1.Visible:=false;
      label2.Visible:=false;
      label3.Visible:=false;
      label4.Visible:=false;
      image2.Visible:=false;
      progbar1.Visible:=false;
      thot:=0;
      tcold:=0;
      edit2.Text:='0';
      edit3.Text:='0';
      edit5.Text:='0';
     end;
    end;


      if pagecontrol1.ActivePageIndex=2 then begin
        label7.Caption:=inttostr(Nodeadressen[3]);
        if (now-ankunftnode3)<0.0001 then begin
          if chart3.Series[1].count>0 then begin
             try
             thot:=chart3.Series[1].YValue[chart3.Series[1].count-1];
             edit2.Text:=Format('%3.1f', [thot]);
             label1.Caption:='T2 = '+edit2.text+' °C';
             tcold:=chart3.Series[0].YValue[chart3.Series[0].count-1];
             edit3.Text:=Format('%3.1f', [tcold]);
             label3.Caption:='T1 = '+edit3.Text+' °C';
             Ubat:=chart3.Series[4].YValue[chart3.Series[4].count-1];
             edit5.Text:=Format('%2.1f', [Ubat]);
             label2.Caption:='U = '+edit5.Text+' V';
             rssi:=chart3.Series[5].YValue[chart3.Series[5].count-1];
             edit4.Text:=Format('%3.0f', [rssi]);;
             except
         end;
         label1.Visible:=true;
         label2.Visible:=true;
         label3.Visible:=true;
         label4.Visible:=true;
         image2.Visible:=true;
         progbar1.Visible:=true;
       end;
     end
     else begin
      label1.Visible:=false;
      label2.Visible:=false;
      label3.Visible:=false;
      label4.Visible:=false;
      image2.Visible:=false;
      progbar1.Visible:=false;
      thot:=0;
      tcold:=0;
      edit2.Text:='0';
      edit3.Text:='0';
      edit5.Text:='0';
     end;
    end;

      if pagecontrol1.ActivePageIndex=3 then begin
        label7.Caption:=inttostr(Nodeadressen[4]);
        if (now-ankunftnode4)<0.0001 then begin
          if chart4.Series[1].count>0 then begin
            try
            thot:=chart4.Series[1].YValue[chart4.Series[1].count-1];
            edit2.Text:=Format('%3.1f', [thot]);
            label1.Caption:='T2 = '+edit2.text+' °C';
            tcold:=chart4.Series[0].YValue[chart4.Series[0].count-1];
            edit3.Text:=Format('%3.1f', [tcold]);
            label3.Caption:='T1 = '+edit3.Text+' °C';
            Ubat:=chart1.Series[4].YValue[chart4.Series[4].count-1];
            edit5.Text:=Format('%2.1f', [Ubat]);
            label2.Caption:='U = '+edit5.Text+' V';
            rssi:=chart4.Series[5].YValue[chart4.Series[5].count-1];
            edit4.Text:=Format('%3.0f', [rssi]);;
            except
          end;
         label1.Visible:=true;
         label2.Visible:=true;
         label3.Visible:=true;
         label4.Visible:=true;
         image2.Visible:=true;
         progbar1.Visible:=true;
       end;
     end
     else begin
      label1.Visible:=false;
      label2.Visible:=false;
      label3.Visible:=false;
      label4.Visible:=false;
      image2.Visible:=false;
      progbar1.Visible:=false;
      thot:=0;
      tcold:=0;
      edit2.Text:='0';
      edit3.Text:='0';
      edit5.Text:='0';
     end;
   end;
   //thermal resistance of MPG-D751: 13 K/W
   D751:= 13;
   //update the data for electrical and thermal details
   try
   progbar1.Value:=rssi;
   DT:=abs(thot-tcold);
   edit9.Text:=format('%3.1f',[dt]);
   tegv:=DT*0.07;
   edit10.Text:=format('%4.3f',[TEGV]);
   Pout:=(TEGV*TEGV)/0.35;
   edit11.Text:=format('%4.3f',[Pout]);
   HeatFlux:=DT/D751;
   edit7.Text:=Format('%3.2f', [HeatFlux]);
   Label4.Caption:= 'Q = '+Format('%3.2f', [HeatFlux])+' W';
   except
   end;
   //..................................................
   ankunft:=now;
  end;
  laenge:=0;
 end
end;
end;

//check every second if the received data´s are not older then a definied time (10s)
//update every second the values of energy charging
procedure TForm1.Timer1Timer(Sender: TObject);
var verbrauch,TEGenergy:real;
//SMsg: String;
begin
  //Timer1.Enabled := False;
  //SMsg := 'Please get up and relax your eyes';
  //ShowMessage(SMsg);

if form2.visible=false then checkbox5.Checked :=false;

if (now-ankunftnode1)<0.0001 then pagecontrol1.Pages[0].Highlighted:=true
  else pagecontrol1.Pages[0].Highlighted:=false;
if (now-ankunftnode2)<0.0001 then pagecontrol1.Pages[1].Highlighted:=true
  else pagecontrol1.Pages[1].Highlighted:=false;
if (now-ankunftnode3)<0.0001 then pagecontrol1.Pages[2].Highlighted:=true
  else pagecontrol1.Pages[2].Highlighted:=false;
if (now-ankunftnode4)<0.0001 then pagecontrol1.Pages[3].Highlighted:=true
  else pagecontrol1.Pages[3].Highlighted:=false;

if now-ankunft>0.0001 then
  begin
  edit2.Text:='0';
  edit3.Text:='0';
  edit5.Text:='0';
  edit7.Text:='0';
  edit9.Text:='0';
  edit10.Text:='0';
  edit11.Text:='0';
  label1.Visible:=false;
  label2.Visible:=false;
  label3.Visible:=false;
  label4.Visible:=false;
  image2.Visible:=false;
  progbar1.Visible:=false;
  end;

form2.ProgBar1.Value:=bcapacity;
form2.statictext10.visible:=false;
try
form2.Edit10.Text:=format('%4.3f',[strtofloat(edit11.Text)*strtofloat(form2.edit3.Text)/100]);
except
end;
try
verbrauch:=(strtofloat(form2.edit4.Text)*strtofloat(form2.edit5.Text)+strtofloat(form2.edit6.Text)*strtofloat(form2.edit7.Text))
           /(strtofloat(form2.edit4.Text)+strtofloat(form2.edit6.Text));
form2.edit9.text:=Format('%4.3f', [verbrauch]);
TEGenergy:=strtofloat(edit11.text)*strtofloat(form2.edit3.Text)/100;
energybalance:=TEGenergy-verbrauch;
form2.edit8.Text:=Format('%4.3f', [ENERGYBALANCE]);

if strtofloat(form2.Edit1.text) > 0 then begin
form2.ProgBar1.Max:=strtofloat(form2.Edit1.text);

if strtofloat(Edit11.Text) > 0 then begin
if form2.checkbox1.Checked=true then
bcapacity:=bcapacity+strtofloat(edit11.Text)/strtofloat(form2.Edit2.text)/3600*strtofloat(form2.edit3.text)/100-(verbrauch/strtofloat(form2.edit2.Text)/3600)
else
bcapacity:=bcapacity+strtofloat(edit11.Text)/strtofloat(form2.Edit2.text)/3600*strtofloat(form2.edit3.text)/100;
if bcapacity<=0 then bcapacity:=0;
if bcapacity>=form2.ProgBar1.Max then bcapacity:=form2.ProgBar1.Max;
form2.Label1.Caption:= Format('%3.6f', [bcapacity])+' mAh';

if strtofloat(edit11.Text)*strtofloat(form2.edit3.text)/100-verbrauch > 0 then form2.ProgBar1.ColorMin:=clLime
else
if form2.checkbox1.Checked=true then form2.ProgBar1.ColorMin:=clRed else form2.ProgBar1.ColorMin:=clLime;
end;
end;

except
form2.StaticText10.visible:=true
end;
form2.Label4.Caption:=timetostr(now-harvestingstarttime);
end;

//clear the data of the diagrams
procedure TForm1.Button1Click(Sender: TObject);
begin
  chart1.Series[0].Clear;
  chart1.Series[1].Clear;
  chart1.Series[2].Clear;
  chart1.Series[3].Clear;
  chart1.Series[4].Clear;
  chart1.Series[5].Clear;
  node1letzte:=-1;
  chart2.Series[0].Clear;
  chart2.Series[1].Clear;
  chart2.Series[2].Clear;
  chart2.Series[3].Clear;
  chart2.Series[4].Clear;
  chart2.Series[5].Clear;
  node2letzte:=-1;
  chart3.Series[0].Clear;
  chart3.Series[1].Clear;
  chart3.Series[2].Clear;
  chart3.Series[3].Clear;
  chart3.Series[4].Clear;
  chart3.Series[5].Clear;
  node3letzte:=-1;
  chart4.Series[0].Clear;
  chart4.Series[1].Clear;
  chart4.Series[2].Clear;
  chart4.Series[3].Clear;
  chart4.Series[4].Clear;
  chart4.Series[5].Clear;
  node4letzte:=-1;
end;

//save in realtime: shows the savedialog and create a logfile
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then
if savedialog1.Execute then
if fileexists(SaveDialog1.FileName) then
if MessageDlg('File exists. Overwrite ? ',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
  AssignFile(Datei, savedialog1.FileName);
  Rewrite(Datei);
  Writeln(Datei,'TE-Power-NODE');Writeln(Datei,'');
  Writeln(Datei,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei,'');
  Writeln(Datei,'adress',trennzeichen,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  Closefile(Datei);
  bereitlogging:=true;
 end
 else checkbox1.checked := false
 else begin
  AssignFile(Datei, savedialog1.FileName);
  Rewrite(Datei);
  Writeln(Datei,'TE-Power-NODE');Writeln(Datei,'');
  Writeln(Datei,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei,'');
  Writeln(Datei,'adress',trennzeichen,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  Closefile(Datei);
  bereitlogging:=true;
 end;
end;

//save diagram1, shows the savedialog create a datafile and
//save the data of the diagram1 to the file
procedure TForm1.Button2Click(Sender: TObject);
var datei2:Textfile;
    i:longint;
begin
if chart1.series[0].LastValueIndex >= 0 then
if savedialog1.Execute then
if fileexists(SaveDialog1.FileName) then
if MessageDlg('File exists. Overwrite ? ',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[1]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart1.series[0].count-1 do
  writeln(Datei2,timetostr(chart1.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart1.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart1.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07*(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart1.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart1.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


  end
 else
 else begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[1]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart1.series[0].count-1 do
  writeln(Datei2,timetostr(chart1.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart1.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart1.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07*(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart1.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart1.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


 end
 else
 else
 showmessage('no data received yet');
end;

//save diagram2, shows the savedialog create a datafile and
//save the data of the diagram2 to the file
procedure TForm1.Button7Click(Sender: TObject);
var datei2:Textfile;
    i:longint;
begin
if chart2.series[0].LastValueIndex >= 0 then
if savedialog1.Execute then
if fileexists(SaveDialog1.FileName) then
if MessageDlg('File exists. Overwrite ? ',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[2]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart2.series[0].LastValueIndex do
  writeln(Datei2,timetostr(chart2.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart2.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart2.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07*(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart2.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart2.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


  end
 else
 else begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[2]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart2.series[0].LastValueIndex do
  writeln(Datei2,timetostr(chart2.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart2.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart2.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07*(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart2.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart2.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


 end
else
else
showmessage('no data received yet');
end;

//save diagram3, shows the savedialog create a datafile and
//save the data of the diagram3 to the file
procedure TForm1.Button8Click(Sender: TObject);
var datei2:Textfile;
    i:longint;
begin
if chart3.series[0].LastValueIndex >= 0 then
if savedialog1.Execute then
if fileexists(SaveDialog1.FileName) then
if MessageDlg('File exists. Overwrite ? ',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[3]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart3.series[0].LastValueIndex do
  writeln(Datei2,timetostr(chart3.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart3.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart3.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07*(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart3.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart3.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


  end
 else
 else begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[3]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart3.series[0].LastValueIndex do
  writeln(Datei2,timetostr(chart3.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart3.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart3.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07*(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart3.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart3.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


 end
else
else
showmessage('no data received yet');
end;

//save diagram4, shows the savedialog create a datafile and
//save the data of the diagram4 to the file
procedure TForm1.Button10Click(Sender: TObject);
var datei2:Textfile;
    i:longint;
begin
if chart4.series[0].LastValueIndex >= 0 then
if savedialog1.Execute then
if fileexists(SaveDialog1.FileName) then
if MessageDlg('File exists. Overwrite ? ',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[3]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart4.series[0].LastValueIndex do
  writeln(Datei2,timetostr(chart4.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart4.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart4.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07*(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart4.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart4.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


  end
 else
 else begin
  AssignFile(Datei2, savedialog1.FileName);
  Rewrite(Datei2);
  Writeln(Datei2,'TE-Power-NODE');Writeln(Datei2,'');
  Writeln(Datei2,'Adress:',trennzeichen,nodeadressen[3]);
  Writeln(Datei2,'Date:',trennzeichen,datetostr(programmstart));
  Writeln(Datei2,'');

  Writeln(Datei2,'time[hh:mm:ss]',trennzeichen,'T1[°C]',trennzeichen,'T2[°C]',trennzeichen,'DT[K]',trennzeichen,'Q[W]',trennzeichen,'TEG-V[V]',trennzeichen,'TEG-P[mW]',trennzeichen,'MCU-V[V]',trennzeichen,'RSSI[%]');
  for i:=0 to chart4.series[0].LastValueIndex do
  writeln(Datei2,timetostr(chart4.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart4.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart4.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07*(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart4.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart4.Series[5].YValue[i]]),trennzeichen
               );
  closefile(Datei2)


 end
else
else
showmessage('no data received yet');
end;

//Exit button
procedure TForm1.Button3Click(Sender: TObject);
begin
application.Terminate;
end;

//open the window for thermal and electrical details
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if checkbox2.Checked then begin
  groupbox1.Visible:=true;
  groupbox2.Visible:=true;
  form1.ClientWidth:=880
end
  else begin
  groupbox1.Visible:=false;
  groupbox2.Visible:=false;
  form1.ClientWidth:=623;
end;
end;

//open the window for energy charging
procedure TForm1.CheckBox5Click(Sender: TObject);
begin
if checkbox5.Checked then
begin
 form2.ProgBar1.OnDblClick:=  ProgBarForm2;
 form2.show
end
else form2.hide;
end;

//reset the capacity of the battery and harvesting time
procedure TForm1.ProgBarForm2(Sender: TObject);
begin
bcapacity:=0;
form2.label1.Caption:='0 mAh';
harvestingstarttime:=now;
end;

//Reset the zoom for diagram1
procedure TForm1.Button4Click(Sender: TObject);
begin
chart1.LeftAxis.Minimum:=0;
chart1.LeftAxis.AutomaticMaximum:=true;
chart1.BottomAxis.Automatic:=true;
chart1.RightAxis.Minimum:=0;
chart1.RightAxis.AutomaticMaximum:=true;
end;

//Reset the zoom for diagram2
procedure TForm1.Button5Click(Sender: TObject);
begin
chart2.LeftAxis.Minimum:=0;
chart2.LeftAxis.AutomaticMaximum:=true;
chart2.BottomAxis.Automatic:=true;
chart2.RightAxis.Minimum:=0;
chart2.RightAxis.AutomaticMaximum:=true;
end;

//Reset the zoom for diagram3
procedure TForm1.Button6Click(Sender: TObject);
begin
chart3.LeftAxis.Minimum:=0;
chart3.LeftAxis.AutomaticMaximum:=true;
chart3.BottomAxis.Automatic:=true;
chart3.RightAxis.Minimum:=0;
chart3.RightAxis.AutomaticMaximum:=true;
end;

//Reset the zoom for diagram4
procedure TForm1.Button9Click(Sender: TObject);
begin
chart4.LeftAxis.Minimum:=0;
chart4.LeftAxis.AutomaticMaximum:=true;
chart4.BottomAxis.Automatic:=true;
chart4.RightAxis.Minimum:=0;
chart4.RightAxis.AutomaticMaximum:=true;
end;

//activate or deactivate T1,T2 in diagram1
procedure TForm1.CheckBox4Click(Sender: TObject);
begin
if checkbox4.Checked=true then begin
  chart1.Series[0].active:=true;
  chart1.Series[1].Active:=true;
  end
  else begin
  chart1.Series[0].Active:=false;
  chart1.Series[1].Active:=false;
  end;
end;

//activate or deactivate T1,T2 in diagram2
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
if checkbox3.Checked=true then begin
  chart2.Series[0].active:=true;
  chart2.Series[1].Active:=true;
  end
  else begin
  chart2.Series[0].Active:=false;
  chart2.Series[1].Active:=false;
  end;
end;


//activate or deactivate T1,T2 in diagram3
procedure TForm1.CheckBox10Click(Sender: TObject);
begin
if checkbox10.Checked=true then begin
  chart3.Series[0].active:=true;
  chart3.Series[1].Active:=true;
  end
  else begin
  chart3.Series[0].Active:=false;
  chart3.Series[1].Active:=false;
  end;
end;


//activate or deactivate T1,T2 in diagram4
procedure TForm1.CheckBox13Click(Sender: TObject);
begin
if checkbox13.Checked=true then begin
  chart4.Series[0].active:=true;
  chart4.Series[1].Active:=true;
  end
  else begin
  chart4.Series[0].Active:=false;
  chart4.Series[1].Active:=false;
  end;
end;

//activate or deactivate DT in diagram1
procedure TForm1.CheckBox6Click(Sender: TObject);
begin
if checkbox6.Checked=true then chart1.Series[2].active:=true
   else chart1.Series[2].Active:=false;
end;

//activate or deactivate DT in diagram2
procedure TForm1.CheckBox8Click(Sender: TObject);
begin
if checkbox8.Checked=true then chart2.Series[2].active:=true
   else chart2.Series[2].Active:=false;
end;

//activate or deactivate DT in diagram3
procedure TForm1.CheckBox11Click(Sender: TObject);
begin
if checkbox11.Checked=true then chart3.Series[2].active:=true
   else chart3.Series[2].Active:=false;
end;

//activate or deactivate DT in diagram4
procedure TForm1.CheckBox14Click(Sender: TObject);
begin
if checkbox14.Checked=true then chart4.Series[2].active:=true
   else chart4.Series[2].Active:=false;
end;

//activate or deactivate TEG voltage in diagram1
procedure TForm1.CheckBox7Click(Sender: TObject);
begin
if checkbox7.Checked=true then chart1.Series[3].active:=true
   else chart1.Series[3].Active:=false;
end;

//activate or deactivate TEG voltage in diagram2
procedure TForm1.CheckBox9Click(Sender: TObject);
begin
if checkbox9.Checked=true then chart2.Series[3].active:=true
   else chart2.Series[3].Active:=false;
end;

//activate or deactivate TEG voltage in diagram3
procedure TForm1.CheckBox12Click(Sender: TObject);
begin
if checkbox12.Checked=true then chart3.Series[3].active:=true
   else chart3.Series[3].Active:=false;
end;

//activate or deactivate TEG voltage in diagram4
procedure TForm1.CheckBox15Click(Sender: TObject);
begin
if checkbox15.Checked=true then chart4.Series[3].active:=true
   else chart4.Series[3].Active:=false;
end;

//show the coordinates of the mouse in diagram1
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
  var tmpX,tmpY:double;

  begin
    if PtInRect( Chart1.ChartRect, point(X,Y)) then
    begin
      chart1.Cursor:=crCross;
      if radiogroup1.Itemindex=0 then
      With chart1.Series[1] do
        begin
          GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
          Label5.Caption:=GetVertAxis.LabelValue(tmpY);
          Label6.Caption:=GetHorizAxis.LabelValue(tmpX);
        end
        else
        With chart1.Series[3] do
        begin
          GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
          Label5.Caption:=GetVertAxis.LabelValue(tmpY);
          Label6.Caption:=GetHorizAxis.LabelValue(tmpX);
        end;
       end
       else chart1.Cursor:=crDefault;
 end;


//show the coordinates of the mouse in diagram2
procedure TForm1.Chart2MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
  var tmpX,tmpY:double;

  begin
  if PtInRect( Chart2.ChartRect, point(X,Y)) then
  begin
    chart2.Cursor:=crCross;
    if radiogroup2.Itemindex=0 then
    With chart2.Series[1] do
    begin
      GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
      Label8.Caption:=GetVertAxis.LabelValue(tmpY);
      Label9.Caption:=GetHorizAxis.LabelValue(tmpX);
    end
    else
    With chart2.Series[3] do
    begin
      GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
      Label8.Caption:=GetVertAxis.LabelValue(tmpY);
      Label9.Caption:=GetHorizAxis.LabelValue(tmpX);
    end;
  end
  else chart2.Cursor:=crDefault;
end;


//show the coordinates of the mouse in diagram3
procedure TForm1.Chart3MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
  var tmpX,tmpY:double;

  begin
  if PtInRect( Chart3.ChartRect, point(X,Y)) then
  begin
    chart3.Cursor:=crCross;
    if radiogroup3.Itemindex=0 then
    With chart3.Series[1] do
    begin
      GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
      Label10.Caption:=GetVertAxis.LabelValue(tmpY);
      Label11.Caption:=GetHorizAxis.LabelValue(tmpX);
    end
    else
    With chart3.Series[3] do
    begin
      GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
      Label10.Caption:=GetVertAxis.LabelValue(tmpY);
      Label11.Caption:=GetHorizAxis.LabelValue(tmpX);
    end;
  end
  else chart3.Cursor:=crDefault;
end;

//show the coordinates of the mouse in diagram4
procedure TForm1.Chart4MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
  var tmpX,tmpY:double;

  begin
  if PtInRect( Chart4.ChartRect, point(X,Y)) then
  begin
    chart4.Cursor:=crCross;
    if radiogroup4.Itemindex=0 then
    With chart4.Series[1] do
    begin
      GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
      Label12.Caption:=GetVertAxis.LabelValue(tmpY);
      Label13.Caption:=GetHorizAxis.LabelValue(tmpX);
    end
    else
    With chart4.Series[3] do
    begin
      GetCursorValues(tmpX,tmpY);  { <-- get values under mouse cursor }
      Label12.Caption:=GetVertAxis.LabelValue(tmpY);
      Label13.Caption:=GetHorizAxis.LabelValue(tmpX);
    end;
  end
  else chart4.Cursor:=crDefault;
end;

//check if TEG voltage chart is active to switch to y2 in diagram1
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
if radiogroup1.ItemIndex=1 then if checkbox7.Checked=false then radiogroup1.ItemIndex:=0;
end;

//check if TEG voltage chart is active to switch to y2 in diagram2
procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
if radiogroup2.ItemIndex=1 then if checkbox9.Checked=false then radiogroup2.ItemIndex:=0;
end;

//check if TEG voltage chart is active to switch to y2 in diagram3
procedure TForm1.RadioGroup3Click(Sender: TObject);
begin
if radiogroup3.ItemIndex=1 then if checkbox12.Checked=false then radiogroup3.ItemIndex:=0;
end;

//check if TEG voltage chart is active to switch to y2 in diagram4
procedure TForm1.RadioGroup4Click(Sender: TObject);
begin
if radiogroup4.ItemIndex=1 then if checkbox15.Checked=false then radiogroup4.ItemIndex:=0;
end;


//Timer2 is for realtime logging
//every 10s the last received data from the diagrams will be saved in the logfile
procedure TForm1.Timer2Timer(Sender: TObject);
var
i:integer;
begin

if checkbox1.Checked and bereitlogging then begin
if (node1letzte<chart1.Series[1].count-1)then begin
        try
        append(Datei);
        for i:=node1letzte+1 to chart1.Series[1].count-1 do
         writeln(Datei,nodeadressen[1],trennzeichen
               ,timetostr(chart1.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart1.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart1.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07*(chart1.Series[1].YValue[i]-chart1.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart1.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart1.Series[5].YValue[i]]),trennzeichen
               );

      node1letzte:=chart1.Series[1].count-1;
      except
      end;
      end;

if (node2letzte<chart2.Series[1].count-1)then begin
        try
        append(Datei);
        for i:=node2letzte+1 to chart2.Series[1].count-1 do
         writeln(Datei,nodeadressen[2],trennzeichen
               ,timetostr(chart2.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart2.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart2.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07*(chart2.Series[1].YValue[i]-chart2.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart2.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart2.Series[5].YValue[i]]),trennzeichen
               );

      node2letzte:=chart2.Series[1].count-1;
      except
      end;
      end;

if (node3letzte<chart3.Series[1].count-1)then begin
        try
        append(Datei);
        for i:=node3letzte+1 to chart3.Series[1].count-1 do
         writeln(Datei,nodeadressen[3],trennzeichen
               ,timetostr(chart3.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart3.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart3.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07*(chart3.Series[1].YValue[i]-chart3.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart3.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart3.Series[5].YValue[i]]),trennzeichen
               );

      node3letzte:=chart3.Series[1].count-1;
      except
      end;
      end;

if (node4letzte<chart4.Series[1].count-1)then begin
        try
        append(Datei);
        for i:=node4letzte+1 to chart4.Series[1].count-1 do
         writeln(Datei,nodeadressen[4],trennzeichen
               ,timetostr(chart4.Series[0].XValue[i]),trennzeichen
               ,Format('%3.2f', [chart4.Series[0].YValue[i]]),trennzeichen
               ,Format('%3.2f', [chart4.Series[1].YValue[i]]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])/13]),trennzeichen
               ,Format('%3.2f', [abs(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07]),trennzeichen
               ,Format('%3.3f', [(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07*(chart4.Series[1].YValue[i]-chart4.Series[0].YValue[i])*0.07/0.35]),trennzeichen
               ,Format('%3.1f', [chart4.Series[4].YValue[i]]),trennzeichen
               ,Format('%2.0f', [chart4.Series[5].YValue[i]]),trennzeichen
               );

      node4letzte:=chart4.Series[1].count-1;
      except
      end;
      end;
      try
      closefile(datei);
      except end;
      end;

//clear the diagrams at 00:00 o´clock
if comparedate(oldnow,now)<0 then
begin
  oldnow:=now;
  button1.Click;
end
else
oldnow:=now;
end;

end.

What I want now is when the temperature is been detacted, the counter will count and after a few count, a pop-up screen will appear.
Raudhah is offline   Reply With Quote
Old Feb 7th, 2010, 10:02 PM   #18
abdul.gafur
Trying to be a Real Coder
 
abdul.gafur's Avatar
 
Join Date: Feb 2010
Location: Bandung, Indonesia
Posts: 108
Rep Power: 1 abdul.gafur is on a distinguished road
Send a message via Yahoo to abdul.gafur
Re: Pop-up screen

delphi Syntax (Toggle Plain Text)
  1. type
  2. TForm1 = class(TForm)
  3. Timer1: TTimer; //add type
  4. procedure Timer1Timer(Sender: TObject); //add procedure
  5. procedure FormCreate(Sender: TObject); //add procedure
  6. StaticText1: TStaticText;
  7. var
  8. i : integer; //add var
  9. Form1: TForm1;
  10. rxbuffer: String;
  11. rawdata:array[1..11] of byte;
  12. rawdata2:array[1..11] of byte;
  13. laenge:byte=0;
  14. ....
  15.  
  16. implementation
  17.  
  18. {$R *.dfm}
  19. //add procedure
  20. procedure TForm1.Timer1Timer(Sender: TObject);
  21. begin
  22. if (i=10) then
  23. begin
  24. Timer1.Enabled:=false;
  25. i:=0;
  26. ShowMessage('Please get up and relax your eyes');
  27. end;
  28. Inc(i);
  29. end;
  30.  
  31. procedure TForm1.FormCreate(Sender: TObject);
  32. begin
  33. timer1.Enabled:=false;
  34. end;
  35.  
  36. // After the temperature is displayed, add the following code :
  37. Timer1.Enabled:=true;
  38. i:=1;
  39. ....
__________________
just a drop of dew in the morning

if we facilitate other people's business in the world,
then our business will be facilitated in the world and the hereafter
abdul.gafur is offline   Reply With Quote
Old Feb 7th, 2010, 10:19 PM   #19
Raudhah
Newbie
 
Join Date: Jan 2010
Location: Singapore
Posts: 21
Rep Power: 0 Raudhah is on a distinguished road
Re: Pop-up screen

Quote:
Originally Posted by abdul.gafur View Post
delphi Syntax (Toggle Plain Text)
  1. type
  2. TForm1 = class(TForm)
  3. Timer1: TTimer; //add type
  4. procedure Timer1Timer(Sender: TObject); //add procedure
  5. procedure FormCreate(Sender: TObject); //add procedure
  6. StaticText1: TStaticText;
  7. var
  8. i : integer; //add var
  9. Form1: TForm1;
  10. rxbuffer: String;
  11. rawdata:array[1..11] of byte;
  12. rawdata2:array[1..11] of byte;
  13. laenge:byte=0;
  14. ....
  15.  
  16. implementation
  17.  
  18. {$R *.dfm}
  19. //add procedure
  20. procedure TForm1.Timer1Timer(Sender: TObject);
  21. begin
  22. if (i=10) then
  23. begin
  24. Timer1.Enabled:=false;
  25. i:=0;
  26. ShowMessage('Please get up and relax your eyes');
  27. end;
  28. Inc(i);
  29. end;
  30.  
  31. procedure TForm1.FormCreate(Sender: TObject);
  32. begin
  33. timer1.Enabled:=false;
  34. end;
  35.  
  36. // After the temperature is displayed, add the following code :
  37. Timer1.Enabled:=true;
  38. i:=1;
  39. ....
This code below, where to put, is it at the TTimer procedure?

// After the temperature is displayed, add the following code :
Timer1.Enabled:=true;
i:=1;
....
Raudhah is offline   Reply With Quote
Old Feb 7th, 2010, 10:27 PM   #20
abdul.gafur
Trying to be a Real Coder
 
abdul.gafur's Avatar
 
Join Date: Feb 2010
Location: Bandung, Indonesia
Posts: 108
Rep Power: 1 abdul.gafur is on a distinguished road
Send a message via Yahoo to abdul.gafur
Re: Pop-up screen

sorry, my english bad.

You can place right below code for display a temperature.

malay {mungkin membantu} :
letakkan langsung dibawah code untuk menampilkan temperatur
kita hanya perlu setting
delphi Syntax (Toggle Plain Text)
  1. Timer1.Enabled:=true;
  2. i:=1;

dengan code diatas, procedure TForm1.Timer1Timer(Sender: TObject); akan dijalankan
__________________
just a drop of dew in the morning

if we facilitate other people's business in the world,
then our business will be facilitated in the world and the hereafter
abdul.gafur is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
full screen help, html css privateD.lister HTML / XHTML / CSS 2 Apr 28th, 2008 4:32 PM
Clear screen with Java Eric the Red Java 9 Feb 22nd, 2006 11:28 PM
Getting size of user's screen elford Java 1 Jan 1st, 2006 5:09 AM
Senior Capstone-Spying Screen Saver Hounder Project Ideas 23 Dec 16th, 2005 8:00 PM
Print Screen? Sane C++ 5 Jul 27th, 2005 2:44 AM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 2:40 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC