📄 child_chart1.pas
字号:
unit Child_Chart1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, TeEngine, Series, TeeProcs, Chart, ExtCtrls;
type
Tfrm_Chart1 = class(TForm)
Panel1: TPanel;
Chart1: TChart;
Series1: TBarSeries;
Table1: TTable;
Table2: TTable;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_Chart1: Tfrm_Chart1;
implementation
uses Main;
{$R *.DFM}
procedure Tfrm_Chart1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
with Mainform do
begin
if MDIChildCount=1 then
StatusBar.Panels[1].Text:='';
end;
Table1.Close;
Table2.Close;
Action:=caFree;
end;
procedure Tfrm_Chart1.FormCreate(Sender: TObject);
begin
Height:=Constraints.MinHeight;
Width:=Constraints.MinWidth;
Panel1.Align:=alClient;
Chart1.Align:=alClient;
Table1.DatabaseName:=MainForm.GetExePath+'mdb';
Table1.TableName:='Lab.DB';
Table1.Open;
Table2.DatabaseName:=MainForm.GetExePath+'mdb';
Table2.TableName:='Type.DB';
Table2.Open;
end;
procedure Tfrm_Chart1.FormActivate(Sender: TObject);
begin
MainForm.StatusBar.Panels[1].Text:='仪器分类统计图表';
end;
procedure Tfrm_Chart1.FormShow(Sender: TObject);
var
i:integer;
data_sum:array[1..127] of integer;
Data_Name:array[1..127] of String;
begin
for i:=1 to Table2.RecordCount do
data_sum[i]:=0;
Table1.First;
while not Table1.Eof do
begin
Table2.First;
while not Table2.Eof do
begin
if Table1.FieldByName('分类').AsString=Table2.Fields[0].AsString then
data_sum[Table2.RecNo]:=data_sum[Table2.RecNo]+1;
data_name[Table2.RecNo]:=Table2.Fields[1].AsString;
Table2.Next;
end;
Table1.Next;
end;
for i:=1 to Table2.RecordCount do
Series1.Add(data_sum[i],Data_Name[i],clTeeColor);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -