有什么办法在字符位数不够的情况下自动补位,比如我需要位数位8个字节,但是现在有字符串‘我们’,不够8位,我想它自动补位,不知道format能不能实现
解决方案 »
- Delphi adoquery 窗体之间传递
- 为啥有的窗体我只能在最小化时才能在状态栏显示出右键菜单,
- 控制台程序中,怎么样结束掉整个程序,类似于窗体程序中的application.terminate
- ly_liuyang(Liu Yang) 领分~~再给你100~
- 实时的显示时间的问题!!(简单噢)
- delphi调用access数据库进行查询条件中带有比较时间的大小如何解决。
- 我装了第三方控件,为什么用不来?
- DELPHI中如何在一个应用程序里生成另一个可执行文件?谁可以帮我解决这个问题
- identifier expected but 'BEGIN' found 是怎么回事啊
- 请问在Adoquery控件中Sql语句使用日期型参数??
- 这样可以吗?
- button的颜色
RightStr('要补的字符串' + '我们', 8)
补在右边
LeftStr('我们' + '要补的字符传', 8)
format('%8s', [s]); //左边补齐
format('%-8s', [s]); //右边补齐
function padc(instring:string;numchars:byte;fmtstr:char):string; //在两边侧补
function padl(instring:string;numchars:byte;fmtstr:char):string; //在左侧补
function padr(instring:string;numchars:byte;fmtstr:char):string; //在右侧补function padr(instring:string;numchars:byte;fmtstr:char):string;
begin
if numchars<=length(trim(instring)) then
begin
result:=copy(trim(instring),1,numchars);
end
else
begin
result:=trim(instring)+stringofchar(fmtstr,numchars-length(trim(instring)));
end;
end;function padl(instring:string;numchars:byte;fmtstr:char):string;
begin
if numchars<=length(trim(instring)) then
begin
result:=copy(trim(instring),1,numchars);
end
else
begin
result:=stringofchar(fmtstr,numchars-length(trim(instring)))+trim(instring);
end;
end;function padc(instring:string;numchars:byte;fmtstr:char):string;
begin
if numchars<=length(trim(instring)) then
begin
result:=copy(trim(instring),1,numchars);
end
else
if odd(numchars-length(trim(instring))) then
begin
result:=stringofchar(fmtstr,((numchars-1-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars+1-length(trim(instring))) div 2));
end
else
begin
result:=stringofchar(fmtstr,((numchars-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars-length(trim(instring))) div 2));
end;end;
补在左边:
RightStr('要补的字符串' + '我们', 8)
补在右边
LeftStr('我们' + '要补的字符传', 8)
_____________________________________________学习ing只要 '要补的字符串' 长度大于需要的字符串长度就OK了, 而且想补什么都行,