我有一个表cz 里面有字段xm , zh,je,sfz 四个字段,中文字段意思就是:姓名,帐号,金额,身份证,je字段是数值型,其它三个都是文本型,我现在想把这表里的数据输出为TXT,但从EXCEL表里导入到MDB数据库金额是这样的形式,如:23.57 就是这样的金额,如果表里有这样的一行数据姓名 帐号 金额 身份证张三 63012523384938293 340.00 510282198510152331但格式要必须是这样输出为TXT:0001张三 63012523384938293000000034000510282198510152331也就是姓名前自动加四位数的序号,金额小数后的要保留,小数点去掉就行了,帐号后面是7个0补上不知如何转换格式,是浮点转字符吗?还是????小弟不才,请各位大侠给出输出按钮的代码还有就是要判断如果没有帐号,自动用空格进行补齐,像下面这样的格式:0001张三 000000034000510282198510152331
如果觉得分不够,我可以加分,只要我有~_~
大概就是这样的TXT:
0001张三 63012523384938293000000034000510282198510152331
0002李四 000000034000510282198510152331 这一行是没有帐号要这样输出
01787白连德 000000000000630121197607077116 这一行是没有帐号和金额要这样输出我的QQ1185394991
如果觉得分不够,我可以加分,只要我有~_~
大概就是这样的TXT:
0001张三 63012523384938293000000034000510282198510152331
0002李四 000000034000510282198510152331 这一行是没有帐号要这样输出
01787白连德 000000000000630121197607077116 这一行是没有帐号和金额要这样输出我的QQ1185394991
解决方案 »
- 请教一个菜鸟问题,dll里面的循环
- Clientdataset更新问题
- 用鼠标右键单击一个桌面图标、单击“属性”发现“查找目标按钮”是灰色
- delphi关闭并重新启动explorer.exe进程不影响打开的文件夹
- **紧急求救:如何在delphi程序中,通过点击按钮来预览和打印Rave报表?要求单击按钮时只预览不打印,而单击另外一个按钮时只打印不预览.
- p2p打洞问题?
- 如何把标注文字加在条形码的下面??
- 怎样获得鼠标在屏幕上的坐标
- 大家帮我出个招,这个SQL语句该怎么写
- 如何更改BUTTON中CAPTION属性中字体的颜色?
- 200分求助一个数据库的查询问题
- delphi idftp断点上传问题
xm := rightstr('0000'+ inttostr(i),4) ,
zh := copy(读到的证件号+ '0000000',1,(需要证件号的长度)) ,
je := inttostr(strtoint(读到的金额) *100) ,
sfz 无需处理
你再拼一下就Ok,就用到左截取和右截取的函数而已
tfile: TextFile;
i: Integer;begin
assignfile(tfile,'c:\dfgz.txt');
rewrite(tfile);
begin
Edit1.Text:= ADOQuery1.FieldByName('金额').AsString; Edit1.Text:=format('%d%d',[edit1.text]); for i:=1 to ADOQuery1.recordcount do
begin
writeln(tfile,ADOQuery1.fieldbyname('姓名').AsString + #9+#9 + ADOQuery1.fieldbyname('帐号').AsString +'0000000'+ ADOQuery1.fieldbyname('金额').AsString + ADOQuery1.fieldbyname('身份证').AsString );
ADOQuery1.fieldbyname('BD_MName').AsString+ #9 +'123'+ #9 + '[' + #9 + ']'); ADOQuery1.next;
end;
application.MessageBox('恭喜你,工资数据生成成功,请上传到服务器代发','信息提示',mb_ok);
//showmessage('输出成功');
end;
end;
这是我的输出按钮,如果把金额进行格式转换成字符呢,去掉“.“ 这个小圆点
tfile: TextFile;
i: Integer;begin
assignfile(tfile,'c:\dfgz.txt');
rewrite(tfile);
begin for i:=1 to ADOQuery1.recordcount do
begin
writeln(tfile,ADOQuery1.fieldbyname('姓名').AsString + #9+#9 + ADOQuery1.fieldbyname('帐号').AsString +'0000000'+ ADOQuery1.fieldbyname('金额').AsString + ADOQuery1.fieldbyname('身份证').AsString ); ADOQuery1.next;
end;
application.MessageBox('恭喜你,工资数据生成成功,请上传到服务器代发','信息提示',mb_ok);
//showmessage('输出成功');
end;
end;
这是我的输出按钮,如果把金额进行格式转换成字符呢,去掉“.“ 这个小圆点,刚才我发错了,这个才是我按钮里的代码,要如何修改才能把金额的点给去除掉呢,代码该如何写
TemIntJE: integer;
TemStrJE: string;
TemJE:= ADOQuery1.fieldbyname('金额').Asinteger;
TemStrJE := inttostr(TemIntJE*100 );
建议不要直接去小数点,如果传了个10.1,它的金额还是合法的,但你的程序就SB了
var
sTem: string;
begin
sTem := '898899388485.878991901';
sTem := StringReplace(sTem,'.','',[rfReplaceAll]);
ShowMessage(sTem);
end;
StringReplace(ADOQuery1.fieldbyname('金额').AsString,'.','',[])