各位,为了不让别人知道自己密码的位数,一般会将Edit中显示出来的部分定义为一固定长度的星号,请问怎样实现?

解决方案 »

  1.   

    private
        s:String;   //并在适当位置初始化为空串procedure Edit1KeyDown(Sender:TObject;Key:Word;Shift:TShiftState);
    begin
        s:=s+Chr(Key);   //密码从s取出
        TEdit(Sender).Text='*********';
    end;
      

  2.   


    procedure Edit1KeyDown(Sender:TObject;Key:Word;Shift:TShiftState);
    begin
        s:=s+Chr(Key);   //密码从s取出
        TEdit(Sender).Text='*********';
    end;好!
      

  3.   

    将edit的passwordchar设为“*”就可以了
      

  4.   

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      if Length(Edit1.Text) > 8 then
        Exit;
    end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      Edit1Change(nil);
      Key := #0;
    end;
      

  5.   

    将edit的passwordchar设为“*”,固定长度为5
      

  6.   

    WWWWA(aaaa)大侠,你所说的固定长度在哪里设置?
      

  7.   

    都不对,最重要的是把数据与显示分离。
    1.设置TEdit.PassWordChar := '*';
    2.在其它地方定义一个变量FPass;
    3.在TEdit.OnChanged事件中procedure TForm1.Edit1Change(Sender: TObject);
    begin
      FPass := Edit1.Text;
      Edit1.Text := 'AAAAAAAA';
    end;在判断密码的地方用FPass.