12
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Menus, TeEngine, Series, AxCtrls, OleCtrls, VCF1, CPort, TeeProcs, Chart, StdCtrls, CPortCtl, sSkinManager, sSkinProvider, TeeDBEdit, TeeDBCrossTab, TeeEdit; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Button1: TButton; Button2: TButton; MainMenu1: TMainMenu; Chart1: TChart; FILE1: TMenuItem; OPEN1: TMenuItem; SAVE1: TMenuItem; EXIT1: TMenuItem; SETTING1: TMenuItem; Timer1: TTimer; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; Label5: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Label4: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Edit7: TEdit; Label9: TLabel; ComLed1: TComLed; Label10: TLabel; sSkinManager1: TsSkinManager; sSkinProvider1: TsSkinProvider; ComPort1: TComPort; ChartEditor1: TChartEditor; Series2: TFastLineSeries; Series1: TFastLineSeries;

Delphi

  • Upload
    jachles

  • View
    90

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 1/12

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, Menus, TeEngine, Series, AxCtrls, OleCtrls, VCF1,

CPort, TeeProcs, Chart, StdCtrls, CPortCtl, sSkinManager, sSkinProvider,

TeeDBEdit, TeeDBCrossTab, TeeEdit;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

Button2: TButton;

MainMenu1: TMainMenu;Chart1: TChart;

FILE1: TMenuItem;

OPEN1: TMenuItem;

SAVE1: TMenuItem;

EXIT1: TMenuItem;

SETTING1: TMenuItem;

Timer1: TTimer;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Label5: TLabel;

Edit1: TEdit;Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Label4: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Edit7: TEdit;

Label9: TLabel;

ComLed1: TComLed;

Label10: TLabel;

sSkinManager1: TsSkinManager;

sSkinProvider1: TsSkinProvider;

ComPort1: TComPort;

ChartEditor1: TChartEditor;

Series2: TFastLineSeries;

Series1: TFastLineSeries;

Page 2: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 2/12

  Shape1: TShape;

Label11: TLabel;

Shape2: TShape;

Label12: TLabel;

Label13: TLabel;

Edit8: TEdit;

procedure FormCreate(Sender: TObject);

procedure OPEN1Click(Sender: TObject);

procedure SAVE1Click(Sender: TObject);

procedure EXIT1Click(Sender: TObject);

procedure SETTING1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure ComPort1RxChar(Sender: TObject; Count: Integer);

procedure Timer1Timer(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure ComPort1Break(Sender: TObject);

procedure ComPort1RxBuf(Sender: TObject; const Buffer; Count: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

i : integer;

keluaran,setpoint,rpm : double;output : string;

implementation

uses Unit2;

{$R *.dfm}

function RemoveWhiteSpace(const s: string): string;

var

i, j: Integer;

begin

SetLength(Result, Length(s));

 j := 0;

for i := 1 to Length(s) do begin

if not (s[i] in [#9,#32])then begin

inc(j);

Result[j] := s[i];

Page 3: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 3/12

  end;

end;

SetLength(Result, j);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

//ShellExecute(Handle, 'open',PAnsiChar('regsvr32.exe'), PAnsiChar('/s VCF132.OCX'),nil, SW_HIDE); 

end;

procedure TForm1.OPEN1Click(Sender: TObject);

var ftype: smallint;

begin

OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName);

if OpenDialog1.Execute then

begin

form2.f1book1.Read(opendialog1.FileName,ftype);

form2.Visible:=true;end;

i:=1;

while form2.F1Book1.TextRC[i,1]<>'' do

begin

keluaran:=strtofloat(form2.F1Book1.TextRC[i,1]);

series1.AddXY(i,keluaran,'',clTeeColor);

i:=i+1;

end;

end;

procedure TForm1.SAVE1Click(Sender: TObject);begin

SaveDialog1.InitialDir

:=ExtractFilePath(Application.ExeName);

if savedialog1.Execute then

begin

form2.F1Book1.Write(savedialog1.FileName,1);

end;

end;

procedure TForm1.EXIT1Click(Sender: TObject);

begin

comport1.Close;

close;

end;

procedure TForm1.SETTING1Click(Sender: TObject);

begin

comport1.ShowSetupDialog;

end;

Page 4: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 4/12

 

procedure TForm1.Button1Click(Sender: TObject);

begin

series1.Clear;

series2.Clear;

comport1.Open;

comport1.WriteStr('1');

timer1.Enabled:=true;

edit1.Text :='';

series1.Repaint;

i:=1;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

//comport1.WriteStr('0');comport1.Close;

timer1.Enabled:=false;

label2.Caption :=' ';

label5.Caption :=' ';

end;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);

var str5,str1,a,b,az,pwm,er,der,def: string;

htung,c,d,e,f,fh,g,gh,h,hh,i,ih,hoh : integer;teg:double;

begin

comport1.ReadStr(str5,count);

label2.caption:=label2.Caption+str5;

label5.Caption:=label2.Caption;

edit8.Text :=

c:=pos('A',label5.Caption);

d:=pos('B',label5.Caption);

e:=d-c;

f:=pos('C',label5.caption);

fh:=f-d;

g:=pos('D',label5.caption);

gh:=g-f;

h:=pos('E',label5.caption);

Page 5: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 5/12

hh:=h-g;

i:=pos('F',label5.caption);

ih:=i-h;

a:=copy(label5.Caption,1,c-1);

edit1.Text :=a;

b:=copy(label5.Caption,c+1,(e-1));

edit2.Text :=b;

pwm:=copy(label5.Caption,d+1,(fh-1));

edit3.Text :=pwm;

er:=copy(label5.Caption,f+1,(gh-1));

edit4.Text :=er;

der:=copy(label5.Caption,g+1,(hh-1));edit5.Text :=der;

def:=copy(label5.Caption,h+1,(ih-1));

edit6.Text :=def;

edit1.Text:=RemoveWhiteSpace(edit1.Text);

edit2.Text:=RemoveWhiteSpace(edit2.Text);

edit3.Text:=RemoveWhiteSpace(edit3.Text);

edit4.Text:=RemoveWhiteSpace(edit4.Text);

edit5.Text:=RemoveWhiteSpace(edit5.Text);edit6.Text:=RemoveWhiteSpace(edit6.Text);

try

if (edit1.Text<>'') then

setpoint:=strtoint(edit1.Text);

except

setpoint:=0;

end;

try

if (edit2.Text<>'') then

rpm:=strtoint(edit2.Text);

except

rpm:=0;

end;

try

if (edit3.Text<>'') then

edit3.Text:=edit3.Text;

Page 6: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 6/12

except

edit3.Text:=' ';

end;

try

if (edit3.Text<>'') then

teg:= (strtofloat(edit3.Text)/255)*10.5;

except

teg:=0;

end;

try

if (edit4.Text<>'') then

edit4.Text:=edit4.Text;

except

edit4.Text:=' ';

end;

try

if (edit5.Text<>'') then

edit5.Text:=edit5.Text;

except

edit5.Text:=' ';

end;

try

if (edit6.Text<>'') then

edit6.Text:=edit6.Text;

exceptedit6.Text:=' ';

end;

edit7.Text:=floattostr(teg);

//strtoint(edit3.Text) ;

//edit4.Text:= StringReplace(edit3.Text, #9, '',[rfReplaceAll]);

//edit4.Text :=inttostr(c);

END;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

//comport1.WriteStr('a');

series1.AddXY(i,setpoint,'',clTeeColor);

series2.AddXY(i,rpm,'',clblue);

Page 7: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 7/12

form2.F1Book1.TextRC[i,1]:=edit2.Text;

i:=i+1;

label2.Caption:='';

COMPORT1.Close;

COMPORT1.Open;

//label2.Caption:=label2.Caption;

//label2.Caption:=label2.Caption;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

comport1.Close;

end;

procedure TForm1.ComPort1Break(Sender: TObject);

begin

label2.Caption:='';

end;

procedure TForm1.ComPort1RxBuf(Sender: TObject; const Buffer;

Count: Integer);

var str2 : string;

begincomport1.ReadStr(str2,count);

end;

end.

Page 8: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 8/12

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, CPort, StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Chart,

Menus, shellAPI, unit2;

type

TForm1 = class(TForm)

Timer1: TTimer;

Label1: TLabel;

Label2: TLabel;

ComPort1: TComPort;

Label3: TLabel;

Label4: TLabel;

Chart1: TChart;Series1: TLineSeries;

SaveDialog1: TSaveDialog;

OpenDialog1: TOpenDialog;

MainMenu1: TMainMenu;

File1: TMenuItem;

Setting1: TMenuItem;

Open1: TMenuItem;

Save1: TMenuItem;

Exit1: TMenuItem;

Button1: TButton;

Button2: TButton;Label5: TLabel;

Label6: TLabel;

Series2: TLineSeries;

procedure Timer1Timer(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ComPort1RxChar(Sender: TObject; Count: Integer);

procedure Open1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Save1Click(Sender: TObject);

procedure Exit1Click(Sender: TObject);

procedure Setting1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

Page 9: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 9/12

var

Form1: TForm1;

i: integer;

keluaran: real;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);

begin

comport1.WriteStr('A');

label2.Caption:='';

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

ShellExecute(Handle, 'open', PAnsiChar('regsvr32.exe'), PAnsiChar('/s VCF132.OCX'), nil, SW_HIDE);end;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);

var

str1,str2,str3,str5: string;

teg, PORTB: real;

a: integer;

begin

//label2.Caption:='';

comport1.ReadStr(str5,8);label2.Caption:=label2.Caption+str5;

str1:=label2.Caption;

if str1[2]='a' then

begin

str2:=str1[1];

if str1[4]='b' then str3:=str1[3]

else if str1[5]='b' then str3:=str1[3]+str1[4]

else if str1[6]='b' then str3:=str1[3]+str1[4]+str1[5];

end

else if str1[3]='a' then

begin

str2:=str1[1]+str1[2];

if str1[5]='b' then str3:=str1[4]

else if str1[6]='b' then str3:=str1[4]+str1[5]

else if str1[7]='b' then str3:=str1[4]+str1[5]+str1[6];

end

else if str1[4]='a' then

begin

str2:=str1[1]+str1[2]+str1[3];

Page 10: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 10/12

  if str1[6]='b' then str3:=str1[5]

else if str1[7]='b' then str3:=str1[5]+str1[6]

else if str1[8]='b' then str3:=str1[5]+str1[6]+str1[7];

end;

//teg:=strtoint(str2)*5/255;

//label2.Caption:=str2;

if str2<>'' then

begin

teg:=strtoint(str2)*5/255;

label4.Caption:=floattostr(teg);

series1.AddXY(i,teg,'',clTeeColor);

form2.F1Book1.TextRC[i,1]:=Label4.Caption;

end;

if str3<>'' then

begin

PORTB:=strtoint(str3)*5/255;

label6.Caption:=floattostr(PORTB);series2.AddXY(i,PORTB,'',clTeeColor);

form2.F1Book1.TextRC[i,2]:=Label4.Caption;

i:=i+1;

end;

end;

procedure TForm1.Open1Click(Sender: TObject);

var ftype: smallint;

begin

OpenDialog1.InitialDir :=ExtractFilePath(Application.ExeName);

if OpenDialog1.Execute thenbegin

form2.f1book1.Read(opendialog1.FileName,ftype);

form2.Visible:=true;

end;

i:=1;

while form2.F1Book1.TextRC[i,1]<>'' do

begin

keluaran:=strtofloat(form2.F1Book1.TextRC[i,1]);

series1.AddXY(i,keluaran,'',clTeeColor);

i:=i+1;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

comport1.Open;

timer1.Enabled:=true;

i:=1;

end;

Page 11: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 11/12

 

procedure TForm1.Save1Click(Sender: TObject);

begin

if savedialog1.Execute then

begin

form2.F1Book1.Write(savedialog1.FileName,1);

end;

end;

procedure TForm1.Exit1Click(Sender: TObject);

begin

comport1.Close;

close;

end;

procedure TForm1.Setting1Click(Sender: TObject);

begin

comport1.ShowSetupDialog;end;

procedure TForm1.Button2Click(Sender: TObject);

begin

timer1.Enabled:=false;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

comport1.Close;

end;

end.

Page 12: Delphi

7/18/2019 Delphi

http://slidepdf.com/reader/full/delphi-56d65af8de038 12/12