有两个文本框。
edit1    edit2edit1中存的是10进制编码.edit2中存的是16进制编码
现在要求两个文本框中的内容同步。
基本内容已经实现。实现手法的两个文本框中的change属性同步.主要的问题是edit1中输数据edit2中显示正常,但是一但在edit2中输数据的话因为是通过change属性来控制的,所以edit2中的内容就自动变成文本框中内容的16进制了(8位)。
现在希望输入10进制的时候16进制正常显示(8位)如果在16进制框中输数据的话10进制框中的数据不影响16进制框中的数据(比方说16进制框中输0A,10进制框中就是10.而16进制框中的数据不会变成0000000A)
有没有办法可以解决这个问题?求教

解决方案 »

  1.   

    IntToHex函数的第二个参数可以指定转换后十六进制数的位数
      

  2.   

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      if Edit1.Focused then
      begin
        //修改 Edit2 里面的内容
      end;
    end;procedure TForm1.Edit2Change(Sender: TObject);
    begin
      if Edit2.Focused then
      begin
        //修改 Edit1 里面的内容
      end;
    end;
      

  3.   

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      if Edit1.Focused then
      begin
        //修改 Edit2 里面的内容
        Edit2.Text:=IntToHex(strtoint(Edit1.Text),8);
      end;
    end;procedure TForm1.Edit2Change(Sender: TObject);
    begin
      if Edit2.Focused then
      begin
        //修改 Edit1 里面的内容
        Edit1.Text:=Format('%d',[strtoint('$'+Edit2.text)]);
      end;
    end;