📄 unit4.pas
字号:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBCtrls, Grids, DBGrids, ADODB, ExtCtrls, StdCtrls, Mask,
TeEngine, Series, Chart, DbChart, ComCtrls, Buttons, comobj, TeeProcs,
ExtDlgs;
type
TForm4 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
Panel3: TPanel;
Panel4: TPanel;
Button1: TButton;
ADODataSet1: TADODataSet;
Button2: TButton;
DBChart1: TDBChart;
Series1: TLineSeries;
Series2: TLineSeries;
Series3: TLineSeries;
Series4: TLineSeries;
Series5: TLineSeries;
Series6: TLineSeries;
Series7: TLineSeries;
Series8: TLineSeries;
Series9: TLineSeries;
Series10: TLineSeries;
GroupBox1: TGroupBox;
Label1: TLabel;
Button3: TButton;
ADOQuery1: TADOQuery;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
OpenDialog1: TOpenDialog;
Button8: TButton;
Button9: TButton;
SavePictureDialog1: TSavePictureDialog;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private declarations }
cb:array[1..25] of Tcheckbox;
procedure xxxClick(Sender: TObject);
public
{ Public declarations }
end;
var
Form4: TForm4;
serrisnum:integer;
fname,foldname:string;
implementation
uses scom;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
dbchart1.Visible:=false;
dbgrid1.Visible:=true;
panel4.Visible:=true;
groupbox1.Visible:=false;
end;
procedure TForm4.FormCreate(Sender: TObject);
var
needcreat:Boolean;
x:integer;
cat:Variant;
sqlstring:string;
my_adoquery:TADOquery;
begin
needcreat:=False;
ADOConnection1.Connected:=false;
ADODataSet1.Active:=False;
ADOQuery1.Active:=false;
serrisnum:=dbchart1.SeriesList.Count;
for x:=1 to serrisnum do
begin
cb[x]:=Tcheckbox.Create(self) ;
cb[x].Parent := groupbox1 ;
cb[x].Width := 85 ;
cb[x].Height := 20 ;
cb[x].Top := 10+x*20 ;
cb[x].Left := 10 ;
cb[x].Caption:=format('系列%d',[x]);
cb[x].OnClick:=xxxClick;
cb[x].Tag:=x;
cb[x].Checked:=true;
end;
groupbox1.Width :=100;
groupbox1.Height:=15+x*20+30;
dbchart1.Visible:=false;
dbgrid1.Visible:=true;
panel4.Visible:=true;
groupbox1.Visible:=false;
if not DirectoryExists(application.GetNamePath+'data') then //二次目录存在否
CreateDirectory(PChar(application.GetNamePath+'data'),nil); //创建目录
foldname:= application.GetNamePath+'data/'+'data.mdb';
fname:=application.GetNamePath+'data/'+FormatdateTime('yy/mm/dd/hh.nn.ss',now)+'db.mdb';
if Fileexists(foldname) then //判断是否建立新数据库
begin
if Application.MessageBox('旧data数据库已存在!!!' + #13#10 +
'是否创建新数据库', '警告', MB_YESNO + MB_DEFBUTTON2 + MB_TOPMOST) =
IDNO then
begin
fname:=foldname;
end
else
begin
needcreat:=True;
end
end
else
begin
needcreat:=True;
fname:=foldname;
end;
if needcreat=True then
begin
if Fileexists(fname) then
begin
showmessage('数据库已经存在,请另外取名!');
exit;
end ;
try
cat:=CreateOleObject('ADOX.Catalog'); //创建数据库类
cat.Create(Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s',[fname]));
cat:=Unassigned;
except
showmessage('数据创建失败!');
end;
try
my_adoquery:=Tadoquery.Create(self); //创建adoquery组建
sqlstring:='create table db(状态 int ,日期 date,数据1 int,数据2 int,数据3 int,数据4 int,数据5 int,数据6 int,数据7 int,数据8 int,数据9 int,数据10 int)';
my_adoquery.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+fname+';';
my_adoquery.SQL.Clear ;
my_adoquery.SQL.Add(sqlstring);
my_adoquery.ExecSQL;
my_adoquery.Destroy;
// showmessage('创建成功!');
except
showmessage( '创建数据表失败!');
end;
end; //creat end
Form4.Caption:=fname;
Form4.Text:=fname;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+fname+';Persist Security Info=False ' ;
ADOConnection1.Open;
if not ADOConnection1.Connected then
showmessage('数据库连接不成功,请重新启动程序新建一数据库'); { connection unsuccessful };
ADOConnection1.Connected:=True;
Sleep(1000);
ADODataSet1.CommandText:=' select * from db';
ADODataSet1.Active:=True;
ADOQuery1.Active:=True;
BringWindowToTop (Application.handle);
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
dbchart1.Visible:=true;
dbgrid1.Visible:=false;
panel4.Visible:=false;
groupbox1.Visible:=true;
DBChart1.BufferedDisplay:=True;
end;
procedure TForm4.xxxClick(Sender: TObject);
Begin
if tcheckbox(sender).Checked=false then
begin
label1.Caption:='false'+inttostr(tcheckbox(sender).Tag);
// dbchart1.Series
dbchart1.Series[ tcheckbox(sender).Tag-1].Active:=false;
cb[tcheckbox(sender).Tag].Caption:=format('系列%d不显示',[ tcheckbox(sender).Tag]);
end
else
begin
label1.Caption:='true'+inttostr(tcheckbox(sender).Tag) ;
dbchart1.Series[ tcheckbox(sender).Tag-1].Active:=true;
cb[tcheckbox(sender).Tag].Caption:=format('系列%d显示',[ tcheckbox(sender).Tag]);
end
End;
procedure TForm4.Button3Click(Sender: TObject);
begin
form4.DBChart1.AutoRefresh:=False;
form4.DBGrid1.Enabled:=False;
DBChart1.Enabled:=False;
Form4.Close;
end;
procedure TForm4.Button4Click(Sender: TObject);
begin
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='select * from db ' ;
ADODataSet1.Active:=True;
end;
procedure TForm4.Button5Click(Sender: TObject);
begin
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='select * from db where 状态=0' ;
ADODataSet1.Active:=True;
end;
procedure TForm4.Button7Click(Sender: TObject);
begin
ADODataSet1.Active:=False;
try
with ADOQuery1 do
begin
Close;
SQL.Clear ;
SQL.Add('Delete * from db');
ExecSQL;
Close;
end;
finally
ADODataSet1.Active:=True;
end;
end;
procedure TForm4.Button6Click(Sender: TObject);
begin
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='select * from db where 状态<>0' ;
ADODataSet1.Active:=True;
end;
procedure TForm4.Button8Click(Sender: TObject);
begin
dbchart1.RefreshData;
DBChart1.Refresh;
end;
procedure TForm4.Button9Click(Sender: TObject);
begin
if
SavePictureDialog1.Execute then
DBChart1.SaveToMetafileEnh(savepicturedialog1.FileName);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -