Скачиваний:
28
Добавлен:
01.05.2014
Размер:
2.86 Кб
Скачать
unit FilterModule;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Filter, NominalToBinary, Discretize, Instances,
BaseModule, Core, ForFilt;

type
TFormFilter = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
Button1: TButton;
Edit1: TEdit;
ComboBox2: TComboBox;
Edit2: TEdit;
procedure hide_unhide(Sender: TObject);
procedure btnclicked(Sender: TObject);
private
{ Private declarations }
public
data : TDMCore;
constructor Creating( core : TDMCore );
end;

var
FormFilter: TFormFilter;
//data : TDMCore;


implementation

{$R *.dfm}

constructor TFormFilter.Creating( core : TDMCore );
begin
Create(Application);
data := core;
end;

procedure TFormFilter.hide_unhide(Sender: TObject);
begin
if ComboBox1.ItemIndex <> 1 then
begin
Label2.Visible := false;
Edit1.Visible := false;
ComboBox2.Visible := false;
Edit2.Visible := false;
Label3.Visible := false;
Label1.Visible := false;
end
else
begin
Label1.Visible := true;
Label2.Visible := true;
Edit1.Visible := true;
ComboBox2.Visible := true;
Edit2.Visible := true;
Label3.Visible := true;
end;
end;



procedure TFormFilter.btnclicked(Sender: TObject);
var inst : TDMInstances;
filter : TDMFilter;
discr : TDMDiscretize;
begin
inst := data.GetData();
case ComboBox1.ItemIndex of
0 :
begin
filter := TDMNominalToBinary.Create();
inst := filter.useFilter(inst);
end ;
1 :
begin
if Edit1.Text <> '' then
discr := TDMDiscretize.Create(Edit1.Text)
else
discr := TDMDiscretize.Create();
discr.SetInputFormat(inst);
case ComboBox2.ItemIndex of
0 : discr.setFindNumBins(true);
1 : begin
discr.setFindNumBins(false);
discr.m_UseEqualFrequency := true;
discr.m_NumBins := StrToInt(Edit2.Text);
end;
2: begin
discr.setFindNumBins(false);
discr.m_UseEqualFrequency := false;
discr.m_NumBins := StrToInt(Edit2.Text);
end;
end;
inst := discr.useFilter(inst);
end;
2:
begin
// сюда удаление аттрибутов
inst := DellMissAttr(inst);

end;
3:
begin
inst := DellMissVect(inst);
// сюда удаление строчек
end;
4:
begin
inst := FillHole(inst);
// сюда вставка средних
end;



end;
data.SetData(inst);
Close;
end;

end.
Соседние файлы в папке FilterModule