phone: array[1..20] of char;
  StringGrid1.Cells[col,row]:=phone;
  StringGrid1格子里除显示出来串信息外,后面还跟着很多小方块(不可见字符\0),怎么才能去掉
这些尾巴?????

解决方案 »

  1.   

    试下定义成
    phone: array of char;使用时用SetLength设置长度
      

  2.   

    既然指定了长度就应该全部赋值,如果只是想部分赋值,最简单的办法是先初始化数组。
      for I := Low(Phone) to High(Phone) do
        Phone[I] := #0;然后在后面对单个元素赋值。
      

  3.   

    谢谢上面的朋友回复,还有个情况,phone: array[1..20] of char
    的这个定义是我的DLL过程的一个入口参数,值是由外部传递的,我只知道最大长度是20,
    但实际有效的串信息长度多少并不知道,我该如何办呢???
      

  4.   

    for i:=1 to 20 do
    if not IsCharAlphaNumeric(phone[i]) then
      

  5.   

    for i:=1 to 20 do
      if not IsCharAlphaNumeric(phone[i]) then
      begin
         phone[i]=#0;
         break;
      end;