H
hurryman
Unregistered / Unconfirmed
GUEST, unregistred user!
客户要求用饼形图来显示工具库里的工具的状态(新,半新,旧..)状态的图形显示;
我不太会用chart,我把我的实现方法即程序给大家,请大家帮我指正。
1,我把chart的样式设为饼形(不是三维的);
2,我的程序:
procedure TForm18.FormShow(Sender: TObject);
var
i:integer;
data_sum:array[1..127] of integer;//某种状态的仪器数量
Data_Name:array[1..127] of String;//某种状态的名称
begin
if not (adoTable2.Active ) then
adoTable2.Active :=true;//工具状态库
if not (adotable1.Active ) then
adotable1.Active :=true;//工具库
for i:=1 to adoTable2.RecordCount do//工具状态种数
data_sum:=0;
adoTable1.First;
while not adoTable1.Eof do
begin
// adoTable2.First;
while not adoTable2.Eof do
begin
adoTable2.First;
if adoTable1.FieldByName('toolstate').AsString=adoTable2.FieldByName('state').AsString then
begin
data_sum[adoTable2.RecNo]:=data_sum[adoTable1.RecNo]+1;
data_name[adoTable2.RecNo]:=adoTable2.Fieldbyname('state').AsString;//statenum为工具状态编号
adoTable2.Next;
end;
end;
adoTable1.Next;
end;
for i:=1 to adoTable2.RecordCount do
Series1.Add(data_sum,Data_Name,clTeeColor);
end;
工具状态库(
state,//state为工具状态;
statenum//statenum为状态编号;
);
工具库(
toolnum,//工具编号;
toolname,//工具名称;
toolcount,//toolcount为该种工具数量;由于一个编号对应一种这里衡为:1件;(客户以后要用)
toolstate,//toolstate为工具状态
......
);
看看您的到的是什么样的结果,我的到的始终不对。
3,如果Chart设置有误请大家贴出他的设置
我不太会用chart,我把我的实现方法即程序给大家,请大家帮我指正。
1,我把chart的样式设为饼形(不是三维的);
2,我的程序:
procedure TForm18.FormShow(Sender: TObject);
var
i:integer;
data_sum:array[1..127] of integer;//某种状态的仪器数量
Data_Name:array[1..127] of String;//某种状态的名称
begin
if not (adoTable2.Active ) then
adoTable2.Active :=true;//工具状态库
if not (adotable1.Active ) then
adotable1.Active :=true;//工具库
for i:=1 to adoTable2.RecordCount do//工具状态种数
data_sum:=0;
adoTable1.First;
while not adoTable1.Eof do
begin
// adoTable2.First;
while not adoTable2.Eof do
begin
adoTable2.First;
if adoTable1.FieldByName('toolstate').AsString=adoTable2.FieldByName('state').AsString then
begin
data_sum[adoTable2.RecNo]:=data_sum[adoTable1.RecNo]+1;
data_name[adoTable2.RecNo]:=adoTable2.Fieldbyname('state').AsString;//statenum为工具状态编号
adoTable2.Next;
end;
end;
adoTable1.Next;
end;
for i:=1 to adoTable2.RecordCount do
Series1.Add(data_sum,Data_Name,clTeeColor);
end;
工具状态库(
state,//state为工具状态;
statenum//statenum为状态编号;
);
工具库(
toolnum,//工具编号;
toolname,//工具名称;
toolcount,//toolcount为该种工具数量;由于一个编号对应一种这里衡为:1件;(客户以后要用)
toolstate,//toolstate为工具状态
......
);
看看您的到的是什么样的结果,我的到的始终不对。
3,如果Chart设置有误请大家贴出他的设置