比如  我有如下代码
varstr1,str2:string;
i:integer;......str1:='土木工程';
str2:='土木工程';if str1=str2 then
i:=1
else
i:=0;为什么我的结果总是i:=0呢?

解决方案 »

  1.   

    varstr1,str2:string;
    i:integer;......str1:='土木工程';
    str2:='土木工程';if   SameText(str1,str2)   then
    i:=1
    else
    i:=0; 
      

  2.   

    varstr1,str2:string;
    i:integer;......str1:='土木工程';
    str2:='土木工程';if   str1=str2   then
    showmessage('I=1');
     
    else
    showmessage('I<>1');这样去试试
      

  3.   

    楼主的比较方法肯定是正确的,应该返回1。
    同时说明=和SameText的区别:这两种都是比较使用的,=比较是大小写敏感比较,而SameText是大小写不敏感比较,楼主根据自己的需要选择了。
      

  4.   

    http://topic.csdn.net/u/20071102/09/7bec890b-5998-478c-9da0-ba79615f0f32.html
      

  5.   

    跟踪调试,
    要不把其他代码贴出来,Look、Look
      

  6.   

    可能有空格
     if trim(str1)=trim(str2)
      

  7.   

    else后面有没有代码了,最好if then后加begin end,else后也一样
      

  8.   

    假如str1和str2是变量结果就不对了
    又应该怎么比较呢?
      

  9.   

    var str1,str2:string; 
    i:integer; ...... str1:='土木工程'; 
    str2:='土木工程'; if   trim(str1)=trim(str2)   then 
    i:=1 
    else 
    i:=0; 
      

  10.   

    var   str1,str2:string;   
    i:integer;   ......   str1:='土木工程';   
    str2:='土木工程';   if  str1=str2 then
    begin   
      i:=1 ;
    end;  
    else
    begin   
      i:=0;
    end;