if Edit1.Text=''then
  begin
    ShowMessage('用户名不能为空');
  end
if (Edit2.Text<>Edit3.Text) then
  begin
    ShowMessage('两次输入密码不一致');
  end
else
  begin
    ………………………………………………
就是上面这个代码片段了,那密码输入不一致那里总是报错,我试过
if edit2.text<>edit3.text then
if 'edit2.text'<>'edit3.text' then
都不好用,到底应该怎么弄啊。

解决方案 »

  1.   

    if Trim(Edit3.Text)<>Trim(Edit2.Text) then
      

  2.   

    不行啊,还是有错误啊!
    unit FormNewUser;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, DB, ADODB;type
      TfrmNewUser = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Button1: TButton;
        Button2: TButton;
        ADOQuery1: TADOQuery;
        procedure Button2Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure FormShow(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      frmNewUser: TfrmNewUser;implementationuses FormSystemDesign;{$R *.dfm}procedure TfrmNewUser.Button2Click(Sender: TObject);
    begin
    close;
    end;procedure TfrmNewUser.Button1Click(Sender: TObject);
    begin
    if Edit1.Text=''then
      begin
        ShowMessage('用户名不能为空');
      end
    if Trim(Edit3.Text)<>Trim(Edit2.Text) then
      begin
        ShowMessage('两次输入密码不一致');
      end
    else
      begin
       with ADOQuery1 do begin
        Close;
        SQL.Clear;
        sql.Add('insert into 用户清单 (用户名,密码) values(:temp1,:temp2)');
        Parameters.ParamByName('temp1').Value:=Trim(Edit1.Text);
        Parameters.ParamByName('temp2').Value:=Trim(Edit2.Text);
        ExecSql;
        Close;
        Edit1.Clear;
        Edit2.Clear;
        Edit3.Clear;
        end;//end with
        end
    end;
    procedure TfrmNewuser.FormShow(Sender: TObject);
    begin
     Edit1.Clear;
     Edit2.Clear;
     end;end.
    急了,只能把代码都发上来,高手帮我改一下了,谢谢
      

  3.   

    begin
        ShowMessage('用户名不能为空');
      end //这里少个分号
      

  4.   

    不是了,加上分号也不行
    if Trim(Edit3.Text)<>Trim(Edit2.Text) then
      begin
        ShowMessage('两次输入密码不一致');
      end
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    主要是这里的错误
      

  5.   

    if Trim(Edit3.Text)<>Trim(Edit2.Text) then
      begin
        ShowMessage('两次输入密码不一致');
      end
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    if Trim(Edit3.Text)<>Trim(Edit2.Text) then
      begin
        ShowMessage('两次输入密码不一致')
      end;//加在这里...注意;区分;
      

  6.   

    不是了,加上分号也不行
    if Trim(Edit3.Text)<>Trim(Edit2.Text) then
      begin
        ShowMessage('两次输入密码不一致');
      end
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    主要是这里的错误
    -----------------------------
    ShowMessage('两次输入密码不一致'); //这个分号有问题,应该是;
      

  7.   

    楼上说的对
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ShowMessage('两次输入密码不一致'); 
    这里的分号错误,应该是输入法在 En 状态下(也就是英文状态)输入的分号。
      

  8.   

    if Edit1.Text=''then
      begin
        ShowMessage('用户名不能为空');
      end
    //逻辑也有问题吧?
    if Edit1.Text=''then
      begin
        ShowMessage('用户名不能为空');
        exit;//在这里就应该退出了吧? 
      end
      

  9.   

    ShowMessage('两次输入密码不一致');
    汉字的分号....