⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ufrmopviewfactanalysisafc.pas

📁 ADaM is a data mining and image processing toolkit
💻 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 + -