📄 unit5.pas
字号:
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Menus,Prodave, DB, Grids, DBGrids, ADODB;
type
TForm5 = class(TForm)
Panel1: TPanel;
Button3: TButton;
Button4: TButton;
Panel2: TPanel;
Button2: TButton;
Button1: TButton;
Panel3: TPanel;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
OpenDialog1: TOpenDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
N300ms1: TMenuItem;
N500ms1: TMenuItem;
N1000ms1: TMenuItem;
N2000ms1: TMenuItem;
N5000ms1: TMenuItem;
Timer1: TTimer;
Timer2: TTimer;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1: TADOTable;
Button9: TButton;
Button10: TButton;
procedure Button5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N500ms1Click(Sender: TObject);
procedure N2000ms1Click(Sender: TObject);
procedure N300ms1Click(Sender: TObject);
procedure N5000ms1Click(Sender: TObject);
procedure N1000ms1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses strct, adodata, main, Unit10, Unit11, Unit12, drawdisp_time;
{$R *.dfm}
procedure TForm5.Button5Click(Sender: TObject);
begin
form9:=tform9.Create(self);
form9.ShowModal();
form9.Free;
if databaselogok then
begin
Button8.Enabled:=true;
button7.Enabled:=false;
end;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
Button7.Enabled:=false;
Button8.Enabled:=false;
Button1.Enabled:=false;
Button2.Enabled:=false;
button3.Enabled:=false;
button9.Enabled:=false;
Button4.Enabled:=false;
OpenDialog1.InitialDir :=application.GetNamePath+'data';
end;
procedure TForm5.Button8Click(Sender: TObject);
begin
DataModule1.ADOConnection1.LoginPrompt:=false;
DataModule1.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+databasenamelog+';Persist Security Info=False ' ;
DataModule1.ADOConnection1.Open;
DataModule1.ADOQuery1.Active:=true;
if not DataModule1.ADOConnection1.Connected then
showmessage('数据库连接不成功,请重新启动程序新建一数据库'); { connection unsuccessful };
if DataModule1.ADOConnection1.Connected then
begin
databaselogconnectok:=true;
Button7.Enabled:=true;
Button8.Enabled:=false;
Button5.Enabled:=false;
Button6.Enabled:=false;
Button1.Enabled:=true;
Button3.Enabled:=true;
Button4.Enabled:=true;
end;
Sleep(1000);
adotable1.Active:=true;
adotable1.TableName:='type1';
end;
procedure TForm5.Timer1Timer(Sender: TObject);
begin
form5.Caption:='请创建数据库并连接';
if databaselogok then
begin
form5.Caption:= databasenamelog +'创建成功' ;
end;
if databaselogconnectok and databaselogok then
begin
form5.Caption:= databasenamelog +'创建并连接成功';
end ;
end;
procedure TForm5.Button7Click(Sender: TObject);
begin
if DataModule1.ADOConnection1.Connected then
begin
adotable1.Active:=false;
dataModule1.ADOConnection1.Close;
DataModule1.ADOQuery1.Active:=false;
databaselogconnectok:=false;
Button8.Enabled:=true;
Button7.Enabled:=false;
Button5.Enabled:=true;
Button6.Enabled:=true;
Button1.Enabled:=false;
Button3.Enabled:=false;
end;
end;
procedure TForm5.Timer2Timer(Sender: TObject);
var
J, I: Integer;
temp1,temp2:Integer;
begin
if (not databaselogconnectok) and (not databaselogok) then exit;
//读取数据
datalogstatus:=Mix_Read(pansichar (@mixdata[0]),mixreturndata);
Prodave.Error_Message(datalogstatus, ErrMess);
// if datalogstatus then exit;
for I := 0 to 24 do // Iterate
begin
mixdatasave[i]:=0;
end; // for
j:=0;
for I := 0 to mixdatacount - 1 do // Iterate
begin
if mixdatatype[j]='b' then
begin
mixdatasave[i]:=mixreturndata[j];
j:=j+1;
end else
if mixdatatype[j]='w' then
begin
temp1:= mixreturndata[j] ;
temp2:= mixreturndata[j+1];
if not pareswap then mixdatasave[i]:=(temp1 shl 8) +temp2 else mixdatasave[i]:=(temp2 shl 8) +temp1 ;
j:=j+2;
end;
end; // for
//模拟数据
//Randomize;
// for I := 0 to mixdatacount-1 do
// begin
// mixdatasave[i]:=1000+Random(100);
// end;
//存储数据
datalogdata:='('+''''+inttostr(datalogstatus)+''''+','+''''+datetimetostr(now)+'''';
for I := 0 to mixdatacount - 1 do // Iterate
begin
datalogdata:= datalogdata +','+inttostr(mixdatasave[i]);
end; // for
datalogdata:= datalogdata +')';
datalogcommand:='INSERT INTO db ' + datalogname+ ' values '+datalogdata;
DataModule1.ADOConnection1.Execute(datalogcommand);
//保存显示数据
if ((sercount< 1020) and (sercount>=0)) then
begin
sercount:=sercount+1;
end else
sercount:=1020;
if sercount=1020 then
begin
for I := 0 to mixdatacount do // Iterate
begin
for j := 0 to 1020 do // Iterate
begin
drawdatatime[i][j]:=drawdatatime[i][j+1];
end; // for
drawdatatime[i][sercount]:=mixdatasave[i];
end; // for
end else
begin
for I := 0 to mixdatacount do // Iterate
begin
drawdatatime[i][sercount]:=mixdatasave[i];
end;
end;
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
if commustatus<>1 then
begin
showmessage('请先连接并通讯正常');
//exit;
end;
Timer2.Enabled:=true;
Button1.Enabled:=false;
Button2.Enabled:=true;
Button4.Enabled:=false;
Button7.Enabled:=false;
button9.Enabled:=true;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Timer2.Enabled:=false;
Button1.Enabled:=true;
Button2.Enabled:=false;
button4.Enabled:=true;
Button7.Enabled:=true;
button9.Enabled:=false;
end;
procedure TForm5.N500ms1Click(Sender: TObject);
begin
timer2.Interval:=500;
form13.Timer1.Interval:=timer2.Interval;
end;
procedure TForm5.N2000ms1Click(Sender: TObject);
begin
timer2.Interval:=2000;
form13.Timer1.Interval:=timer2.Interval;
end;
procedure TForm5.N300ms1Click(Sender: TObject);
begin
timer2.Interval:=300;
form13.Timer1.Interval:=timer2.Interval;
end;
procedure TForm5.N5000ms1Click(Sender: TObject);
begin
timer2.Interval:=5000;
form13.Timer1.Interval:=timer2.Interval;
end;
procedure TForm5.N1000ms1Click(Sender: TObject);
begin
timer2.Interval:=1000;
form13.Timer1.Interval:=timer2.Interval;
end;
procedure TForm5.Button6Click(Sender: TObject);
begin
form10:=tform10.Create(nil);
try form10.ShowModal();
finally form10.free ;
end;
if databaselogok then
begin
Button8.Enabled:=true;
button7.Enabled:=false;
end;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
if databaselogok then
begin
form11.ADOConnection1.LoginPrompt:=false;
form11.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+databasenamelog+';Persist Security Info=False ' ;
form11.ADOConnection1.Open;
if not form11.ADOConnection1.Connected then
showmessage('数据库连接不成功,请重新启动程序新建一数据库'); { connection unsuccessful };
if form11.ADOConnection1.Connected then databaselogconnectok:=true;
Sleep(1000);
form11.adotable1.Active:=true;
form11.adotable1.TableName:='db';
end;
//form11:=tform11.Create(self);
form11.Show;
//form11.free;
end;
procedure TForm5.Button4Click(Sender: TObject);
begin
form12:=tform12.Create(self);
form12.ShowModal;
form12.free ;
end;
procedure TForm5.Button9Click(Sender: TObject);
begin
form13.Timer1.Enabled:=true;
form13.show;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -