📄 chartfrmunit.~pas
字号:
unit ChartFrmUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, TeeProcs, TeEngine, Chart, DbChart,
RXCtrls, Series, Grids, DBGrids, DB, ADODB, ComCtrls;
type
TChartFrm = class(TForm)
Image2: TImage;
Label2: TLabel;
Label1: TLabel;
BitBtn7: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ComboBox1: TComboBox;
RxLabel1: TRxLabel;
RxLabel2: TRxLabel;
Edit1: TEdit;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
ADOTable1: TADOTable;
RxLabel3: TRxLabel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBGrid1: TDBGrid;
DBChart1: TDBChart;
Series1: TBarSeries;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ChartFrm: TChartFrm;
implementation
uses MainFormUnit, MainDataModule;
{$R *.dfm}
procedure TChartFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TChartFrm.BitBtn7Click(Sender: TObject);
begin
gethelp;
end;
procedure TChartFrm.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TChartFrm.FormCreate(Sender: TObject);
var
i:integer;
begin
//
ModifyMenu(GetSystemMenu(Handle,False),6,MF_BYPOSITION,0,nil);
ADOTable1.TableName:='MainDataTable';
ADOTable1.Active:=true;
with adotable1 do
begin
for i:=2 to FieldCount-3 do
begin
combobox1.Items.add(fields[i].fieldname);
end;
end;
ADOTable1.Active:=false;;
end;
procedure TChartFrm.BitBtn1Click(Sender: TObject);
var
sqlstr:string;
i:integer;
begin
sqlstr:=combobox1.text;
sqlstr:='select top '+edit1.text+' '+sqlstr+',count('+sqlstr+') as 记录数 from MainDataTable group by '+sqlstr+' order by count('+sqlstr+') desc';
if strtoint(edit1.text)<11 then
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
while not eof do
begin
Series1.Clear;
for i:=1 to strtoint(edit1.text) do
begin
Series1.Add(fields[1].asinteger,fields[0].asstring,clTeeColor);
next;
end;
end;
end;
end;
end;
procedure TChartFrm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#8])then
begin
key:=#0;
MessageBeep(1);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -