导出按钮代码:procedure TFormdrdf.BitBtn6Click(Sender: TObject);var tfile: TextFile; i: Integer;begin assignfile(tfile,'d:\11.txt'); rewrite(tfile);
begin ADOQuery1.first; for i:=1 to ADOQuery1.recordcount do begin writeln(tfile, Format('%.5d',[i])+ADOQuery1.fieldbyname('id').AsString + ADOQuery1.fieldbyname('姓名').AsString + ' ' + ADOQuery1.fieldbyname('帐号').AsString+ '00000000'+ StringReplace(ADOQuery1.fieldbyname('金额').AsString,'.','',[rfReplaceAll]) + ADOQuery1.fieldbyname('身份证号').AsString); ADOQuery1.next; end; end; closefile(tfile); MessageBox(GetActiveWindow(), '数据处理完毕,已保存到D盘,文件名为:dfgz.txt', '导出提醒', MB_OK + MB_ICONWARNING);end;我现在想判断ADOQuery1.fieldbyname('姓名').AsString 姓名字段的值,如果是两个字的名字后面就加10个空格字符,如果是三个字的名字就加12个空格,如果是四个字的就加15个空格,这段代码该如何改,急救啊,各位,谢了最终要达到如下格式,要后面的帐号要对齐,前面的空格则根据字的多少来补充00255伊来昌 6885120901200015193500000000218563012119740405281600256伊正权 6885120901200015194600000000437063012119391116281900257陈录 688512090120001519570000003146.463012119630524281200258陈启 68851209012000151968000000004807630121196412022815
begin ADOQuery1.first; for i:=1 to ADOQuery1.recordcount do begin writeln(tfile, Format('%.5d',[i])+ADOQuery1.fieldbyname('id').AsString + ADOQuery1.fieldbyname('姓名').AsString + ' ' + ADOQuery1.fieldbyname('帐号').AsString+ '00000000'+ StringReplace(ADOQuery1.fieldbyname('金额').AsString,'.','',[rfReplaceAll]) + ADOQuery1.fieldbyname('身份证号').AsString); ADOQuery1.next; end; end; closefile(tfile); MessageBox(GetActiveWindow(), '数据处理完毕,已保存到D盘,文件名为:dfgz.txt', '导出提醒', MB_OK + MB_ICONWARNING);end;我现在想判断ADOQuery1.fieldbyname('姓名').AsString 姓名字段的值,如果是两个字的名字后面就加10个空格字符,如果是三个字的名字就加12个空格,如果是四个字的就加15个空格,这段代码该如何改,急救啊,各位,谢了最终要达到如下格式,要后面的帐号要对齐,前面的空格则根据字的多少来补充00255伊来昌 6885120901200015193500000000218563012119740405281600256伊正权 6885120901200015194600000000437063012119391116281900257陈录 688512090120001519570000003146.463012119630524281200258陈启 68851209012000151968000000004807630121196412022815
解决方案 »
- 请教如何判断TADBQuery是否已经打开?
- Merry Christmas
- 如何使一组图片以随机效果出现?
- 怎么样将自定义的xml文件导入到数据库中?
- TStorProc控件ExecProc以后,马上进行界面上TTable的refresh,为什么会出错,程序自动退出,请教大侠!Thanks!
- adoquery.append;
- 请问有没有见到办法查看一下自己的哪些帖子没有结?
- 各位帮我看一下那错了
- adoconnection 连接sql server 数据库连接问题!!!
- SqlServer2000的问题:如何获得局域网里面所有的server实例的名字
- UniQuery控件SQL属性中采用多表查询,如何更新表中数据。
- DELPHI7导入EXCEL问题,大侠们请进来看看
var _i:integer;
namelength,spacelength,wholelength:integer;
begin
wholelength:=20;//连名带空长度一共20
namelength:=length(_name);
spacelength:=wholelength-namelength;
if spacelength<0 then result:=''//名字太长就不空格了
else for _i:=0 to spacelength-1 do result:=Result+' ';
end;没测……不过大体是这么个意思……不要笑我
var
i:Integer;
begin
Result:='';
for i:=1 to iCount do
Result:=Result+' ';
end;procedure TFormdrdf.BitBtn6Click(Sender: TObject);
const
iSpaceCount=20;//假设中间总共有20个空格的位置
var tfile: TextFile; i: Integer;
sSpace:string;//空格字符串
begin assignfile(tfile,'d:\11.txt'); rewrite(tfile);
begin ADOQuery1.first; for i:=1 to ADOQuery1.recordcount do begin
sSpace:=PrintSpace(iSpaceCount-Length(Format('%.5d',[i])+ADOQuery1.fieldbyname('id').AsString + ADOQuery1.fieldbyname('姓名').AsString));
writeln(tfile, Format('%.5d',[i])+ADOQuery1.fieldbyname('id').AsString + ADOQuery1.fieldbyname('姓名').AsString +sSpace+ ADOQuery1.fieldbyname('帐号').AsString+ '00000000'+ StringReplace(ADOQuery1.fieldbyname('金额').AsString,'.','',[rfReplaceAll]) + ADOQuery1.fieldbyname('身份证号').AsString);
ADOQuery1.next; end; end; closefile(tfile); MessageBox(GetActiveWindow(), '数据处理完毕,已保存到D盘,文件名为:dfgz.txt', '导出提醒', MB_OK + MB_ICONWARNING);end;未经测试,应该这是这样。PS:上一贴你还没结分