如何将数据集转成字串 ( 积分: 100 )

  • 主题发起人 主题发起人 lucky_qiu
  • 开始时间 开始时间
L

lucky_qiu

Unregistered / Unconfirmed
GUEST, unregistred user!
数据集:
编号 钻石 玉石 宝石 假石 珍珠
002 3.3 0 0 0 1
003 0 4.5 0 0 0
005 0 2.2 3.5 0 0
009 0 0 0 3.6 2.1
..........................
============================================
要求结果:
002 钻石: 3.3,珍珠: 1;003 玉石: 4.5;005 玉石: 2.2,宝石: 3.5;009 假石:3.6,珍珠 2.1

请各位高人指教........
 
自己操作数据集,再组合成输出字符串
 
具体如何操作呀
 
你可以这样做:
str_fields[0..5]=('编号','钻石',...,'珍珠');
Str:='';
for i:=0 to recordcount-1 do
begin
Str:=Str+fields[0].asstring;
for j:=1 to length(str_fields)-1 do
if fields[j].asstring<>'0' then
begin
Str:=Str+str_fields[j]+':'+floattostr(fields[j].asfloat);
end;
Str:=Str+';';
next;
end;
 
自己写代码...怎么合都成
 
有没有完整例子
 
str_fields 如何定义?
 
解决了,多谢各位!!
 
var
Form1: TForm1;
strFields:array[0..9] of string;
Str: string;
i:integer;
j:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ac.Close;
ac.Open;
Str:='';
strFields[0]:='编号';
strFields[1]:='钻石';
strFields[2]:='红宝石';
strFields[3]:='蓝宝石';
strFields[4]:='绿宝石';
strFields[5]:='宝石';
strFields[6]:='养殖珍珠';
strFields[7]:='合成宝石';
strFields[8]:='玉石';
strFields[9]:='配件';
for i:=0 to ac.RecordCount-1 do
begin
Str:=Str+ac.Fields[0].asstring;
for j:=1 to length(strFields)-1 do
if ac.Fields[j].asstring<>'0' then
begin
Str:=Str+strFields[j]+':'+floattostr(ac.Fields[j].asfloat)+'g';
end;
Str:=Str+'; ';
next;
ac.next;
end;
memo1.Text:=Str;
end;
 
后退
顶部