Upload
jachles
View
90
Download
4
Embed Size (px)
Citation preview
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;
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];
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;
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);
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;
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);
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.
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;
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];
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;
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.
7/18/2019 Delphi
http://slidepdf.com/reader/full/delphi-56d65af8de038 12/12