var
  s: variant; 
begin
  s:='abc';
现在要比较 s 跟 Edit1.text 的内容是否一样  如何比较?谢谢!

解决方案 »

  1.   

    首部 function SameText(const S1, S2: string): Boolean; 
                      $[SysUtils.pas
                      功能 返回两个字符串是否相等
                      说明 不区分大小写
                      参考 <NULL>
                      例子 CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);
                      首部 function AnsiSameStr(const S1, S2: string): Boolean; 
                      $[SysUtils.pas
                      功能 返回两个字符串是否相等
                      说明 区分大小写
                      参考 function SysUtils.AnsiCompareStr
                      例子 CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);
      

  2.   

    谢谢feibob  我这还是比较不对  到底应该怎么写呢?var
      results: variant;
      p1 , p2: String;
    begin
      results:=ADOTable1.Lookup('name',edit1.Text,'password');
      label4.Caption:=edit2.Text;
      p1:=results;
      label3.Caption:=p1;
      p2:=edit2.Text;
      if ansisamestr(p1 , p2)
        then label5.Caption:='OK!'
        else label5.Caption:='Error!';end;
      

  3.   

    我 试了 CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);好用但CheckBox1.Checked := AnsiSameStr(Edit1.Text, 字符串变量); 就不好用了  前辈们帮帮忙啊  谢谢啦先!
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s: variant;
    begin
      s:='abc';
      if String(S) = Edit1.Text then
        button1.Caption := 'OK!'end;
    这是个最简单的方法,不用操心转换,注意条件的使用:)
      

  5.   

    如果直接赋值 abc的话 可以 但是从数据库返回的数值瞪眼不行  procedure TForm1.Button1Click(Sender: TObject);
    var
      s: variant;
    begin
      s:=ADOTable1.Lookup('name',edit1.Text,'password');
      //s:='1234';
       if String(s)=Edit2.Text then
         label5.Caption:='OK!'
        else label5.Caption:='Error!';end;真是麻烦了  谢谢
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s1, s2: string;
    begin
      s1:=ADOTable1.Lookup('name',edit1.Text,'password');
      s2:=copy(s1,0,length(edit2.Text));
       if s2=edit2.Text then
         label5.Caption:='OK!'
         else label5.Caption:='Error!';
    end;问题解决了,就是因为字符串的长度不一样,只要控制两个字符串的长度一样就可以了谢谢 灵猫啦 :
      

  7.   

    数据库里是定长的吧?用Trim(string)就能去掉前后的空格了
      

  8.   

    可以这样比较
    ......
      var 
        s1,s2:string;
      begin 
        if s1=s2 then
        begin
          .......
        end
        else
        begin
          ........  
        end; 
      end;