输入Edit控件里的数字自动改变成两个数字为一组,类似十六进制的数字,
例如:
输入123456  在控件里显示 12 34 56 ,
或者简单的说 如何让Edit控件里的数字两个为一组,中间是空格,困扰我好久了。
只有24分,全部分了。

解决方案 »

  1.   

    自己去完善var
      s:string;
      i:Integer;
    begin
      s := Edit1.Text;
      for i := Length(s) downto 1 do
      begin
        if i mod 2 = 0 then
        begin
          Insert(' ',s,i+1);
        end;
      end;
      Edit1.Text := s;
    end;
      

  2.   

    var
      s:string;
      i:Integer;
    begin
    s:=edit1.text;
    edit1.text:='';
      for i := 1 to trunc(length(s)/2) do
      begin
      Edit1.Text:=Edit1.Text +s[2*i-1]+s[2*i]+' ';
      end;
      if (length(s) mod 2)<> 0 then
      Edit1.Text:=Edit1.Text +s[length(s)];
    end;
      

  3.   


    //我来完善一下
    function TForm1.SplitEditText(aText: string): string;
    var
      i, j: Integer;
      //j变量可以保证从右数满足两位一空格
    begin
      j := 0;
      for i := Length(aText) + 1 downto 2 do
      begin
        Inc(j);
        if (j Mod 2 <> 0) then
        Insert(' ', aText, i);
      end;
      Result := aText;
    end;
      

  4.   

    注意有时候label.caption属性不能像一个字符串变量一样操作,需要先赋值到字符串变量,操作完了再赋值回去。
    edit.text是不是也一样?
    Pascal实用的字符串功能可以实现很多效果,insert、copy、pos、delete几个函数用起来妙趣无穷。
    而C总感觉很别扭,每次在输入输出格式上花的时间比算法还多。