如何填充给定长度的空格字符串,即有一字符串变量,现要给该变量赋于10个空格的字符串,不通过循环写,可有现成的涵数?

解决方案 »

  1.   

    好像没有现成的。function StrN(Str: string; nCount: Integer): string;
    var
      i: Integer;
    begin
      Result:='';
      for i:=1 to nCount do
        Result:=Result+Str;
    end;//以后就可以直接用了啊。
      

  2.   

    var  S: array[0..79] of char;
    begin
      { Set to all spaces }
      FillChar(S, SizeOf(S), Ord(' '));
    end;
      

  3.   

    StringOfChar(' ', 10)————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  4.   

    借楼主宝地一用
    鉴别CSDN星星的含金量http://expert.csdn.net/Expert/topic/2147/2147062.xml?temp=.9299433
      

  5.   

    采用FillChar的时候如果动态设置变量长度,用ShowMessage显示的时候会出错!
    var
      vChar : array of Char;
    begin
      SetLength(vChar, 100); 
      FillChar(vChar, 100, Ord(' '));
      ShowMessage(String(vChar());---->提示地址访问出错!
    end;
    而采用StringOfChar则没有问题
    var
      vChar : string;
    begin
      vChar := StringOfChar(' ', 100);
      ShowMessage(String(vChar());---->正常
    end;
      

  6.   

    如果用FillChar对动态数组赋值,应该使用
    FillChar(vChar[0], 100, Ord(' ')); //其中100改为SizeOf(vChar)更有通用性
    而不能是
    FillChar(vChar, 100, Ord(' '));FillChar(vChar[0], 100, Ord(' ')); 指定从0索引处开始赋值。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  7.   

    同样的用FillChar对String赋值也是类似的。一下是正确的:
    var
      vChar : String ;
    begin
      SetLength(vChar, 100);
      FillChar(vChar[1], SizeOf(vChar), Ord(' '));  //如果将vChar[1]改为vChar就错了
      ShowMessage(vChar[1]);
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————