lazarus被成为快速开发工具,为什么说“快速”,重要的一点是,很多工具是现成的,可以拿来直接就用。比如数据导出,如果需要把数据集导出为excel格式文件,写代码可能需要很多时间。lazarus就不用了,有TFPSExport。另外还有很多其他格式的导出工具,简单设置一下属性就可以。
这是lazarus控件集的dataExport选项卡包含的各种导出控件:
从左到右依次是:
TCSVExporter,
TFixedLengthExporter,
TSQLExporter,
TXMLXSDExporter,
TSimpleXMLExporter,
TSimpleJSONExporter,
TFPDBFExport,
TTexExporter,
TRTFExporter,
TStandardExportFormats,
TFPDataExporter
叹为观止!
前几天我自己写了一个导出为sql文件的函数,废了不少时间。因为我原来不知道有这个东西,所以说熟悉工具很重要。
这些导出控件使用基本相同,以TSQLExporter为例,导出代码为:
varsql: string;fnOut: string;iStart: cardinal;
beginSaveDialog1.Filter := 'sql文件|*.sql';if SaveDialog1.Execute thenbeginfnOut := SaveDialog1.FileName;endelseexit;iStart := GetTickCount;sql := 'select * from ' + tableEn_crud_master +' where (1=1) ' + master_cust_query_sql_all;queryTmp.Close;queryTmp.SQL.Text := sql;//queryTmp.PacketRecords:= -1;queryTmp.Open;trySQLExporter1.Dataset := queryTmp;SQLExporter1.FormatSettings.TableName := tableEn_crud_master;SQLExporter1.FileName := fnOut;SQLExporter1.Execute;memo1.append('导出完成: ' + fnOut + Format(',用时%d毫秒。', [getTickCount64 - iStart]));//memo1.append();excepton E: Exception dobeginmemo1.append('出错了7: '+E.ClassName+'/'+E.Message);end;end;
程序中随便使用了几种格式:
导出速度很快,十来个字段1000条记录:
导出完成: D:\ssss.sql,用时46毫秒。