📄 unit12.pas
字号:
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, DBChart, StdCtrls, Series,
DB, ADODB, TeeTools, TeePageNumTool, Buttons, TeeLisB;
type
TForm12 = class(TForm)
DBChart1: TDBChart;
Panel1: TPanel;
Panel2: TPanel;
GroupBox1: TGroupBox;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
Panel3: TPanel;
Panel4: TPanel;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton1: TSpeedButton;
Button1: TButton;
Button2: TButton;
Button3: TButton;
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
cb:array[0..25] of Tcheckbox;
oldcolor:tcolor;
lineseries:array[0..25]of TLineSeries ;
procedure xxxClick(Sender: TObject);
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses main;
{$R *.dfm}
procedure TForm12.FormCreate(Sender: TObject);
var
j:integer;
begin
oldcolor:=clBtnFace;
ADOConnection1.LoginPrompt:=false;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+databasenamelog+';Persist Security Info=False ' ;
ADOConnection1.Open;
ADOTable1.Active:=true;
ADOTable1.TableName:='db';
ADOTable2.Active:=true;
ADOTable2.TableName:='type1';
//统计图表显示数量
with ADOTable2 do
begin
DisableControls;
try
j:=0;
First;
while not Eof do
begin
databasetablearay[j]:='';
databasetablearay[j]:=TrimRight (ADOTable2.Fields[0].AsString);
//创建图表显示项目
lineseries[j]:=TLineSeries.Create(Self);
With lineseries[j] do
begin
ParentChart := DBChart1;
DataSource := ADOTable1;
// XValues.ValueSource:=ADOTable1.FieldList[1].FieldName;
// xValues.DateTime:=true;
yvalues.ValueSource:=ADOTable1.FieldList[j+2].FieldName;
SeriesColor:=tcolortype1[j mod 15];
end;
// //显示控制选项
cb[j]:=Tcheckbox.Create(self) ;
cb[j].Parent := groupbox1 ;
cb[j].Width := 100 ;
cb[j].Height := 15 ;
cb[j].Top := 15+j*14 ;
cb[j].Left := 1 ;
cb[j].OnClick:=xxxClick;
cb[j].Caption:=format('%s',[databasetablearay[j]]);
cb[j].Font.Color:=lineseries[j].SeriesColor;
cb[j].Tag:=j;
cb[j].Checked:=true;
cb[j].Name:='bnxxx'+inttostr(j);
// cb[j].;
j:=j+1;
Next;
end;
finally
EnableControls;
end;
end;
serrisnum:=j;
groupbox1.Width :=110;
groupbox1.Height:=10+j*14+40;
end;
procedure TForm12.xxxClick(Sender: TObject);
Begin
if tcheckbox(sender).Checked=false then
begin
dbchart1.Series[ tcheckbox(sender).Tag].Active:=false;
tcheckbox(sender).Color:=(not tcheckbox(sender).Font.Color)and ($00ffffff);
end
else
begin
dbchart1.Series[ tcheckbox(sender).Tag].Active:=true;
tcheckbox(sender).Color:=oldcolor;
end
End;
procedure TForm12.Button2Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to serrisnum - 1 do // Iterate
begin
With lineseries[i] do
begin
ParentChart := DBChart1;
DataSource := ADOTable1;
if CheckBox1.Checked then
begin
XValues.ValueSource:=ADOTable1.FieldList[1].FieldName;
xValues.DateTime:=true;
end else
begin
lineseries[i]. XValues.ValueSource:='';
lineseries[i].xValues.DateTime:=false ;
end;
yvalues.ValueSource:=ADOTable1.FieldList[i+2].FieldName;
SeriesColor:=tcolortype1[i mod 15];
// dbchart1.Series[i].RefreshSeries;
end;
end; // for
DBChart1.Refresh;
end;
procedure TForm12.SpeedButton3Click(Sender: TObject);
begin
DBChart1.ZoomPercent(105);
end;
procedure TForm12.SpeedButton1Click(Sender: TObject);
begin
DBChart1.ZoomPercent(95);
end;
procedure TForm12.Button1Click(Sender: TObject);
begin
form12.Close;
end;
procedure TForm12.SpeedButton2Click(Sender: TObject);
begin
DBChart1. UndoZoom;
end;
procedure TForm12.Button3Click(Sender: TObject);
begin
DBChart1.RefreshData;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -