📄 ufrmopviewfactanalysisafc.pas
字号:
unit UFrmOpViewFactAnalysisAFC;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UFrmBaseOperator, Menus, ActnList, ComCtrls, ExtCtrls, TeEngine,
Series, TeeProcs, Chart, StdCtrls, UCompFactAnalysisAFC;
type
TFrmOpViewFactAnalysisAFC = class(TFrmBaseOperator)
TabChart: TTabSheet;
panelChart: TPanel;
cmbX2: TComboBox;
cmbX1: TComboBox;
chart: TChart;
SerieLigne: TPointSeries;
SerieColonne: TPointSeries;
actCopyChart: TAction;
actZoomIn: TAction;
actZoomOut: TAction;
N1: TMenuItem;
Copychart1: TMenuItem;
Zoomin1: TMenuItem;
Zoomout1: TMenuItem;
N2: TMenuItem;
procedure cmbX1Change(Sender: TObject);
procedure pgctrlFondChange(Sender: TObject);
procedure actCopyChartExecute(Sender: TObject);
procedure actZoomInExecute(Sender: TObject);
procedure actZoomOutExecute(Sender: TObject);
private
{ D閏larations priv閑s }
//op閞ateur
FOpAFC: TOpFactAFC;
//rafra頲hir la vue
procedure refreshView();
public
{ D閏larations publiques }
procedure PrepareView(); override;
end;
var
FrmOpViewFactAnalysisAFC: TFrmOpViewFactAnalysisAFC;
implementation
uses UDatasetImplementation;
{$R *.dfm}
{ TFrmOpViewFactAnalysisAFC }
procedure TFrmOpViewFactAnalysisAFC.PrepareView;
var a: integer;
begin
inherited;
//r閏up閞er l'op閞ateur
FOpAFC:= Operator as TOpFactAFC;
//m鄇 des combo
for a:= 1 to FOpAFC.FNbAxis do
begin
self.cmbX1.Items.Add(format('Axis_%d',[a]));
self.cmbX2.Items.Add(format('Axis_%d',[a]));
end;
//s閘ectionner
self.cmbX1.ItemIndex:= 0;
self.cmbX2.ItemIndex:= 0;
//
self.refreshView();
end;
procedure TFrmOpViewFactAnalysisAFC.refreshView;
var x1,x2: integer;
i,j: integer;
begin
x1:= self.cmbX1.ItemIndex + 1;
x2:= self.cmbX2.ItemIndex + 1;
if (x1 > 0) and (x2 > 0)
then
begin
//monter la s閞ie en ligne
self.SerieLigne.Clear();
for i:= 1 to FOpAFC.FNbLig do
self.SerieLigne.AddXY(FOpAFC.FLigCoord^[i]^[x1],FOpAFC.FLigCoord^[i]^[x2],FOpAFC.WorkData.LstAtts[asTarget].Attribute[0].sValue[FOpAFC.WorkData.Examples.Number[i]]);
//monter la s閞ie en colonne
self.SerieColonne.Clear();
for j:= 1 to FOpAFC.FNbCol do
self.SerieColonne.AddXY(FOpAFC.FColCoord^[j]^[x1],FOpAFC.FColCoord^[j]^[x2],FOpAFC.WorkData.LstAtts[asInput].Attribute[pred(j)].Name);
end;
end;
procedure TFrmOpViewFactAnalysisAFC.cmbX1Change(Sender: TObject);
begin
self.refreshView();
end;
procedure TFrmOpViewFactAnalysisAFC.pgctrlFondChange(Sender: TObject);
begin
if (self.pgctrlFond.ActivePage = self.TabChart)
then
begin
self.actCopy.Enabled:= false;
self.actCopyChart.Enabled:= true;
self.actZoomIn.Enabled:= true;
self.actZoomOut.Enabled:= true;
end
else
begin
self.actCopy.Enabled:= true;
self.actCopyChart.Enabled:= false;
self.actZoomIn.Enabled:= false;
self.actZoomOut.Enabled:= false;
end;
end;
procedure TFrmOpViewFactAnalysisAFC.actCopyChartExecute(Sender: TObject);
begin
self.chart.CopyToClipboardMetafile(false);
end;
procedure TFrmOpViewFactAnalysisAFC.actZoomInExecute(Sender: TObject);
begin
self.SerieLigne.Marks.Font.Size:= self.SerieLigne.Marks.Font.Size + 1;
self.SerieColonne.Marks.Font.Size:= self.SerieColonne.Marks.Font.Size + 1;
end;
procedure TFrmOpViewFactAnalysisAFC.actZoomOutExecute(Sender: TObject);
begin
self.SerieLigne.Marks.Font.Size:= self.SerieLigne.Marks.Font.Size - 1;
self.SerieColonne.Marks.Font.Size:= self.SerieColonne.Marks.Font.Size - 1;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -