IDE:Delphi7
使用TClientDataSet控件在Delphi中保存内存数据集合(相当于Java中的List<Map>),代码片段:
procedure TMainForm.btnExportClick(Sender: TObject); tmpCds:TClientDataSet; tmpStr:string; begin //TClientDataSet作为内存数据集合使用 //*************************************************** try tmpCds := TClientDataSet.Create(Application); if(tmpCds<>nil) then begin tmpCds.FieldDefs.Add('col1', ftString,10); tmpCds.FieldDefs.Add('col2', ftString,10); tmpCds.CreateDataSet;
//插入数据 with tmpCds do begin Insert; fieldbyname('col1').AsString := '总行程:'; fieldbyname('col2').AsString := FormatFloat('#.##',yearStat.getyearMiles()); next; insert; fieldbyname('col1').AsString := '总加油量:'; fieldbyname('col2').AsString := FormatFloat('#.##',yearStat.gettotalOilBuy()); next; insert; fieldbyname('col1').AsString := '总平均油耗:'; fieldbyname('col2').AsString := FormatFloat('#.##',yearStat.getyearAvgOilExpense()); end; tmpCds.Post;
//读取数据 with tmpCds do begin open; first; while not tmpCds.Eof do begin tmpStr := fields[0].Value; OutputDebugString(PChar(tmpStr)); tmpStr := fields[1].Value; OutputDebugString(PChar(tmpStr)); next; end; end; end; finally tmpCds.Free; end; end;