各位:我想请问一下,有什么方法可以让edit里的信息从右到左显示,而不是平常的从左到右.就象计算器显示的样子一样?

解决方案 »

  1.   

    对于一个字符串,
    procedure invertstr(var str1);
    var
    str2:string;
    I:integer;
    begin
    setlength(str2,length(str1));
    for i:=0 to length(str1) do
       str2[length(str1)-i+1]:=str1[i];
    end;
    这样先用这个过程处理str1,再让str1显示在编辑框中,就可以了。如果要还原,只需要再次调用该过程
      

  2.   

    各位是不是有点误解我的意思啊,我是说要显示的位置是从右到左,而且是一边输字符,字符串整个长度向左增加,就跟计算器中的输入形式一样,
    而hkbarton(宁静至远||淡泊明志)的"改变其bidimode为bdRightToLeft"
    我也试过似乎也不行啊,
      

  3.   

    请看:声明一个公共变量
    var
      gs:string;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);  //取出最近一次输入的字母
    begin
      gs:=key;
    end;procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);var
      s1,s2:string;
    begin
      s1:=edit1.Text;
      delete(s1,Length(s1),1);  edit1.Text:=gs+s1;
      edit1.SelStart:=Length(edit1.text);
      edit1.SelLength:=0;
    end;
      

  4.   

    qwprince(e) 你的方法我试了.但是和我想要的还是不一样,我想要的是光标出现在编辑框的右边,而不是象平常一样出现在左边.你明白了吗?
      

  5.   

    同意:改变其bidimode为bdRightToLeft
      

  6.   

    fenzi(分子) 我试过了,没用啊,你试过吗?