Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовой проект групп 3341 и 3382 / DMModules / Core
.pas unit Core;
interface
uses
Classes, Instances, Attribute, RuleItem, Grids, FastVector, DmmConstants;
type TDMCore = class
private
m_instances: TDMInstances;
m_rules: TList;
public
constructor Create;
procedure SetData(var inst: TDMInstances);
function GetData(): TDMInstances;
procedure SetRules(rules: TList);
function GetRules(): TList;
procedure UpdateTable(StringGrid: TStringGrid);
end;
implementation
uses SysUtils;
constructor TDMCore.Create;
begin
m_instances:=nil;
m_rules:=nil;
end;
procedure TDMCore.SetData(var inst: TDMInstances);
begin
m_instances:=inst;
end;
procedure TDMCore.SetRules(rules: TList);
begin
m_rules:=rules;
end;
function TDMCore.GetData(): TDMInstances;
begin
GetData:=m_instances;
end;
function TDMCore.GetRules(): TList;
begin
GetRules:=m_rules;
end;
procedure TDMCore.UpdateTable(stringGrid: TStringGrid);
var
attrNum: integer;
instancesNum: integer;
attrs: TDMFastVector;
inst: TDMInstances;
cur: TDMInstance;
attr: TDMAttribute;
i,j: integer;
begin
attrs:=m_instances.attributes();
attrNum:=attrs.size();
instancesNum:=m_instances.numInstances();
stringGrid.ColCount:=attrNum+1;
stringGrid.RowCount:=instancesNum+1;
for i:=0 to attrNum-1 do
begin
StringGrid.Cells[i+1, 0]:=(attrs.elementAt(i) as TDMAttribute).name();
end;
for j:=0 to instancesNum-1 do
begin
StringGrid.Cells[0, j+1]:=IntToStr(j);
cur:=m_instances.instance(j);
for i:=0 to attrNum-1 do
begin
attr:=cur.attribute(i);
if cur.isMissing(i) then
StringGrid.Cells[i+1, j+1]:='?'
else if attr.attrType=ATTRIBUTE_TYPE_NUMERIC then
StringGrid.Cells[i+1, j+1]:=FloatToStr(cur.value(i))
else
StringGrid.Cells[i+1, j+1]:=cur.stringValue(i);;
end;
end;
end;
end.
interface
uses
Classes, Instances, Attribute, RuleItem, Grids, FastVector, DmmConstants;
type TDMCore = class
private
m_instances: TDMInstances;
m_rules: TList;
public
constructor Create;
procedure SetData(var inst: TDMInstances);
function GetData(): TDMInstances;
procedure SetRules(rules: TList);
function GetRules(): TList;
procedure UpdateTable(StringGrid: TStringGrid);
end;
implementation
uses SysUtils;
constructor TDMCore.Create;
begin
m_instances:=nil;
m_rules:=nil;
end;
procedure TDMCore.SetData(var inst: TDMInstances);
begin
m_instances:=inst;
end;
procedure TDMCore.SetRules(rules: TList);
begin
m_rules:=rules;
end;
function TDMCore.GetData(): TDMInstances;
begin
GetData:=m_instances;
end;
function TDMCore.GetRules(): TList;
begin
GetRules:=m_rules;
end;
procedure TDMCore.UpdateTable(stringGrid: TStringGrid);
var
attrNum: integer;
instancesNum: integer;
attrs: TDMFastVector;
inst: TDMInstances;
cur: TDMInstance;
attr: TDMAttribute;
i,j: integer;
begin
attrs:=m_instances.attributes();
attrNum:=attrs.size();
instancesNum:=m_instances.numInstances();
stringGrid.ColCount:=attrNum+1;
stringGrid.RowCount:=instancesNum+1;
for i:=0 to attrNum-1 do
begin
StringGrid.Cells[i+1, 0]:=(attrs.elementAt(i) as TDMAttribute).name();
end;
for j:=0 to instancesNum-1 do
begin
StringGrid.Cells[0, j+1]:=IntToStr(j);
cur:=m_instances.instance(j);
for i:=0 to attrNum-1 do
begin
attr:=cur.attribute(i);
if cur.isMissing(i) then
StringGrid.Cells[i+1, j+1]:='?'
else if attr.attrType=ATTRIBUTE_TYPE_NUMERIC then
StringGrid.Cells[i+1, j+1]:=FloatToStr(cur.value(i))
else
StringGrid.Cells[i+1, j+1]:=cur.stringValue(i);;
end;
end;
end;
end.
Соседние файлы в папке DMModules