📄 unit_tu.pas
字号:
unit Unit_TU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Series, TeEngine, ExtCtrls, TeeProcs, Chart, StdCtrls, Buttons,
TeeFunci, DbChart, ComCtrls, Grids, Aligrid, IniFiles;
type
TForm_TU = class(TForm)
Panel1: TPanel;
Chart1: TChart;
GroupBox1: TGroupBox;
DateTimePicker_S: TDateTimePicker;
DateTimePicker_Z: TDateTimePicker;
ComboBox_spot: TComboBox;
ComboBox_type1: TComboBox;
ComboBox_type2: TComboBox;
ComboBox_type3: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
GroupBox2: TGroupBox;
RadioButton_juxing: TRadioButton;
RadioButton_xianxing: TRadioButton;
CheckBox_3D: TCheckBox;
BitBtn_TJ: TBitBtn;
CheckBox_xx: TCheckBox;
BitBtn_ZJ: TBitBtn;
BitBtn_tjb: TBitBtn;
GroupBox4: TGroupBox;
ComboBox_XMM: TComboBox;
BitBtn_Del: TBitBtn;
BitBtn_XMM: TBitBtn;
Panel_TU: TPanel;
Panel2: TPanel;
MonthCalendar_S: TMonthCalendar;
MonthCalendar_Z: TMonthCalendar;
Label7: TLabel;
Label8: TLabel;
BitBtn_tjtu: TBitBtn;
BitBtn_tjbiao: TBitBtn;
GroupBox3: TGroupBox;
RadioButton_dizi: TRadioButton;
RadioButton_fenqu: TRadioButton;
RadioButton_fenlei: TRadioButton;
RadioButton_xiangmu: TRadioButton;
RadioButton_ri: TRadioButton;
RadioButton_yue: TRadioButton;
RadioButton_nian: TRadioButton;
StringAlignGrid1: TStringAlignGrid;
Bevel1: TBevel;
Label_rcS: TLabel;
Label_rcZ: TLabel;
Label_rcD: TLabel;
procedure DateTimePicker_SChange(Sender: TObject);
procedure ComboBox_type1Click(Sender: TObject);
procedure ComboBox_type2Click(Sender: TObject);
procedure BitBtn_TJClick(Sender: TObject);
procedure DateTimePicker_ZChange(Sender: TObject);
procedure CheckBox_3DClick(Sender: TObject);
procedure CheckBox_xxClick(Sender: TObject);
procedure BitBtn_ZJClick(Sender: TObject);
procedure BitBtn_tjbClick(Sender: TObject);
procedure BitBtn_XMMClick(Sender: TObject);
procedure BitBtn_DelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox_XMMChange(Sender: TObject);
procedure MonthCalendar_SClick(Sender: TObject);
procedure BitBtn_tjbiaoClick(Sender: TObject);
procedure BitBtn_tjtuClick(Sender: TObject);
procedure MonthCalendar_ZClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_TU: TForm_TU;
implementation
uses jia;
{$R *.dfm}
procedure TForm_TU.DateTimePicker_SChange(Sender: TObject);
begin
DateTimePicker_Z.Date :=DateTimePicker_S.Date;
Form1.SDate := DateTimePicker_Z.Date;
Form1.EDate := DateTimePicker_Z.Date;
end;
procedure TForm_TU.DateTimePicker_ZChange(Sender: TObject);
begin
Form1.EDate := DateTimePicker_Z.Date;
end;
procedure TForm_TU.ComboBox_type1Click(Sender: TObject);
var
mynode: TTreeNode;
i,j: Integer;
begin
ComboBox_type2.Clear;
ComboBox_type3.Clear;
for i:=0 to Form1.TreeView1.Items.Count -1 do
begin
mynode := Form1.TreeView1.Items[i];
if (mynode.Text = ComboBox_type1.Text) and (mynode.Level = 0) then
begin
for j:=0 to mynode.Count -1 do
ComboBox_type2.Items.Add(mynode.item[j].Text);
Break;
end;
end;
ComboBox_type2.Items.Insert(0,'');
end;
procedure TForm_TU.ComboBox_type2Click(Sender: TObject);
var
mynode: TTreeNode;
i,j: Integer;
begin
ComboBox_type3.Clear;
for i:=0 to Form1.TreeView1.Items.Count -1 do
begin
mynode := Form1.TreeView1.Items[i];
if mynode.Level = 1 then
if (mynode.Text = ComboBox_type2.Text)
and (mynode.Parent.Text = ComboBox_type1.Text) then
begin
for j:=0 to mynode.Count -1 do
ComboBox_type3.Items.Add(mynode.item[j].Text);
Break;
end;
end;
ComboBox_type3.Items.Insert(0,'');
end;
procedure TForm_TU.BitBtn_TJClick(Sender: TObject);
begin
Chart1.RemoveAllSeries;
BitBtn_ZJClick(Sender);
end;
procedure TForm_TU.BitBtn_ZJClick(Sender: TObject);
var
S,S1,mydate,TSDate,nian,yue,ri : String;
j : Integer;
T : Boolean;
MySeries : TChartSeries;
begin
Panel_TU.Show;
Panel_TU.Update;
if RadioButton_juxing.Checked then
MySeries := TBarSeries.Create(Self)
else
MySeries := TLineSeries.Create(Self);
MySeries.Marks.Style := smsValue;
MySeries.Marks.Frame.Visible := False;
MySeries.Marks.Transparent := True;
MySeries.Marks.Font.Color := clBlue;
Form1.DBGrid1.DataSource.Enabled := False;
Form1.chaxun;
if ComboBox_spot.Text <> '' then
S := '(spot='+#39+ComboBox_spot.Text+#39+')';
if ComboBox_type1.Text <> '' then
if S = '' then
S := '(type1='+#39+ComboBox_type1.Text+#39+')'
else
S := S+ 'and(type1='+#39+ComboBox_type1.Text+#39+')';
if ComboBox_type2.Text <> '' then
if S = '' then
S := '(type2='+#39+ComboBox_type2.Text+#39+')'
else
S := S+ 'and(type2='+#39+ComboBox_type2.Text+#39+')';
if ComboBox_type3.Text <> '' then
if S = '' then
S := '(type3='+#39+ComboBox_type3.Text+#39+')'
else
S := S+ 'and(type3='+#39+ComboBox_type3.Text+#39+')';
Form1.Table1.Filter := S;
Form1.Table1.Filtered := True;
Form1.Table1.First;
if RadioButton_nian.Checked then //年的选择 888888888888888888888888888
begin
while not Form1.Table1.Eof do
begin
mydate := Form1.Table1.FieldValues['DATE'];
Form1.Table1.Next;
nian := Copy(mydate,1,4);
T := False;
for j:=0 to MySeries.Count -1 do
if nian = Copy(MySeries.XLabel[j],1,4) then
begin
T := True;
Break;
end;
if (Not T)or(MySeries.Count = 0) then
MySeries.Add(0,Copy(mydate,1,4));
end;
for j:=0 to MySeries.Count -1 do
begin
nian := Copy(MySeries.XLabel[j],1,4);
if S <> '' then
S1 := S + 'and(DATE>='+nian+'-1-1)and(DATE<='+nian+'-12-31)'
else
S1 := '(DATE>='+nian+'-1-1)and(DATE<='+nian+'-12-31)';
Form1.Table1.Filter := S1;
Form1.Table1.Filtered := True;
MySeries.YValue[j] := Abs(Form1.TableMoneyJS);
end;
Form1.DBGrid1.DataSource.Enabled := True;
end;
if RadioButton_yue.Checked then //月的选择 888888888888888888888
begin
while not Form1.Table1.Eof do
begin
myDate := FormatDateTime('yyyy-mm-dd',StrToDate(Form1.Table1.FieldValues['DATE']));
Form1.Table1.Next;
nian := Copy(mydate,1,4);
yue := Copy(mydate,6,2);
T := False;
for j:=0 to MySeries.Count -1 do
begin
TSDate := MySeries.XLabel[j];
if (nian = Copy(TSDate,1,4))and(yue = Copy(TSDate,6,2)) then
begin
T := True;
Break;
end;
end;
if (Not T)or(MySeries.Count = 0) then
MySeries.Add(0,Copy(mydate,1,7));
end;
for j:=0 to MySeries.Count -1 do
begin
TSDate := MySeries.XLabel[j];
nian := Copy(TSDate,1,4);
yue := Copy(TSDate,6,2);
if S <> '' then
S1 := S + 'and(DATE>='+nian+'-'+yue+'-1)and(DATE<='+nian+'-'+yue+'-'+IntToStr(Form1.SetMMax(StrToInt(nian),StrToInt(yue)))+')'
else
S1 := '(DATE>='+nian+'-'+yue+'-1)and(DATE<='+nian+'-'+yue+'-'+IntToStr(Form1.SetMMax(StrToInt(nian),StrToInt(yue)))+')';
Form1.Table1.Filter := S1;
Form1.Table1.Filtered := True;
MySeries.YValue[j] := Abs(Form1.TableMoneyJS);
end;
Form1.DBGrid1.DataSource.Enabled := True;
end;
if RadioButton_ri.Checked then //日的选择 8888888888888888888
begin
while not Form1.Table1.Eof do
begin
myDate := FormatDateTime('yyyy-mm-dd',StrToDate(Form1.Table1.FieldValues['DATE']));
Form1.Table1.Next;
T := False;
for j:=0 to MySeries.Count -1 do
begin
TSDate := FormatDateTime('yyyy-mm-dd',StrToDate(MySeries.XLabel[j]));
if mydate = TSDate then
begin
T := True;
Break;
end;
end;
if (Not T)or(MySeries.Count = 0) then
MySeries.Add(0,mydate);
end;
for j:=0 to MySeries.Count -1 do
begin
TSDate := FormatDateTime('yyyy-mm-dd',StrToDate(MySeries.XLabel[j]));
nian := Copy(TSDate,1,4);
yue := Copy(TSDate,6,2);
ri := Copy(TSDate,9,2);
if S <> '' then
S1 := S + 'and(DATE='+nian+'-'+yue+'-'+ri+')'
else
S1 := '(DATE='+nian+'-'+yue+'-'+ri+')';
Form1.Table1.Filter := S1;
Form1.Table1.Filtered := True;
MySeries.YValue[j] := Abs(Form1.TableMoneyJS);
end;
Form1.DBGrid1.DataSource.Enabled := True;
end;
if RadioButton_dizi.Checked then //地址的选择 888888888888888888888888888
begin
while not Form1.Table1.Eof do
begin
mydate := Form1.Table1.FieldValues['SPOT'];
Form1.Table1.Next;
T := False;
for j:=0 to MySeries.Count -1 do
if mydate = MySeries.XLabel[j] then
begin
T := True;
Break;
end;
if (Not T)or(MySeries.Count = 0) then
MySeries.Add(0,mydate);
end;
for j:=0 to MySeries.Count -1 do
begin
mydate := MySeries.XLabel[j];
if S <> '' then
S1 := S + 'and(SPOT='+#39+mydate+#39+')'
else
S1 := '(SPOT='+#39+mydate+#39+')';
Form1.Table1.Filter := S1;
Form1.Table1.Filtered := True;
MySeries.YValue[j] := Abs(Form1.TableMoneyJS);
end;
Form1.DBGrid1.DataSource.Enabled := True;
end;
if RadioButton_fenqu.Checked then //分区的选择 888888888888888888888888888
begin
while not Form1.Table1.Eof do
begin
mydate := Form1.Table1.FieldValues['TYPE1'];
Form1.Table1.Next;
T := False;
for j:=0 to MySeries.Count -1 do
if mydate = MySeries.XLabel[j] then
begin
T := True;
Break;
end;
if (Not T)or(MySeries.Count = 0) then
MySeries.Add(0,mydate);
end;
for j:=0 to MySeries.Count -1 do
begin
mydate := MySeries.XLabel[j];
if S <> '' then
S1 := S + 'and(TYPE1='+#39+mydate+#39+')'
else
S1 := '(TYPE1='+#39+mydate+#39+')';
Form1.Table1.Filter := S1;
Form1.Table1.Filtered := True;
MySeries.YValue[j] := Abs(Form1.TableMoneyJS);
end;
Form1.DBGrid1.DataSource.Enabled := True;
end;
if RadioButton_fenlei.Checked then //分类的选择 888888888888888888888888888
begin
while not Form1.Table1.Eof do
begin
mydate := Form1.Table1.FieldValues['TYPE2'];
Form1.Table1.Next;
T := False;
for j:=0 to MySeries.Count -1 do
if mydate = MySeries.XLabel[j] then
begin
T := True;
Break;
end;
if (Not T)or(MySeries.Count = 0) then
MySeries.Add(0,mydate);
end;
for j:=0 to MySeries.Count -1 do
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -