2
本声明(在Delphi 7)德尔福格式字符串 - 宽度和精度值的限制?
writeln(logfile,format('%16.16d ',[FileInfo.size])+full_name);
导致这个输出
0000000021239384 C:\DATA\DELPHI\sxf_archive10-13.zip
此语句
writeln(logfile,format('%17.17d ',[FileInfo.size])+full_name);
导致这个输出
21239384 C:\DATA\DELPHI\sxf_archive10-13.zip
当精度说明符大于16时,带前导零的填充符变为前导空格符。帮助信息中说:“如果格式字符串包含精度说明符,则表示结果字符串必须至少包含指定的数字位数;如果值少的数字,生成的字符串左侧填充零。”
有另一种方式来格式化与前导零20个字符的整数?
谢谢!这是做到这一点的正确方法 - 如果我没有做到64位的大小,它最终会在> 2GB的文件上失败。当我将“windows”单元添加到ULARGE_INTEGER类型的使用列表中时,它在“Findclose”的其他地方导致了错误。我不得不跟踪Windows单元定义了一个不同的findclose过程,所以我必须将我的用法更改为Sysutils.findclose。 – tim11g