var
  b:boolean;
b:=true;
for l:=0 to memo1.Lines.Count-1 do
  if fieldbyname('servicetype').asstring<>memo1.Lines.strings[l] then
begin
  b:=false;
  break;
end;
if b then
  memo2.lines.Add('相等')
else
  memo2.lines.Add('不相等');
是这样吗

解决方案 »

  1.   

    比较时,等式两边都用trim试试
      

  2.   

    用newyj(老鬼)的办法,还是出现其他问题.全段如下
    procedure TForm1.BitBtn4Click(Sender: TObject);
    var
      i,l:integer;
      j,h:string;
      b:boolean;
    begin
      b:=true;
      RxTrayIcon1.animated:=true;
      label4.Visible:=false;
      screen.Cursor:=crhourglass;
      memo4.lines.clear;
    begin
       for i:=0 to memo3.lines.count-1 do
       begin
          with adodataset1 do
            try
               if active then close;
               j:=memo3.Lines.strings[i];
               h:=copy(j,13,(length(j)-12));
               CommandText:='select servicetype from servicetype where servicename='''+h+'''';
               open;
               if fieldbyname('servicetype').asstring='' then
               memo4.lines.Add(memo3.Lines.strings[i]+'无此内容')
               else
               begin
               for l:=0 to memo6.Lines.Count-1 do
                   if fieldbyname('servicetype').asstring<>memo6.Lines.strings[l] then
                     begin
                       b:=false;
                       break;
                     end;
                      if b then
                       memo4.lines.Add(memo3.Lines.strings[i]+'有参数')
                       else
                       memo4.lines.Add((copy(j,1,11))+'     '+fieldbyname('servicetype').asstring);
                end;
                finally
                  close;
          END;
          end;
        label4.Visible:=true;
         END;
          screen.Cursor:=crDefault;
          rxtrayicon1.animated:=false;
      end;
      

  3.   

    当条件满足
    memo4.lines.Add(memo3.Lines.strings[i]+'有参数')好象不执行,还是继续执行memo4.lines.Add((copy(j,1,11))+'     '+fieldbyname('servicetype').asstring);
      

  4.   

    if fieldbyname('servicetype').asstring = '' then
              memo4.lines.Add(memo3.Lines.strings[i] + '无此内容')
            else
            begin
               b := true;
              for l := 0 to memo6.Lines.Count - 1 do
                if fieldbyname('servicetype').asstring <> memo6.Lines.strings[l] then
                begin
                  b := false;
                  break;
                end;
              if b then
                memo4.lines.Add(memo3.Lines.strings[i] + '有参数')
              else
                memo4.lines.Add((copy(j, 1, 11)) + '     ' + fieldbyname('servicetype').asstring);
            end;
    再试试
      

  5.   

    布尔变量 b在循环前初始化了
    b:=true;
    我觉的顺序乱,可是不知道怎么整理,请大家帮助我
      

  6.   

    //看看你提供的测试数据,如果测试数据都是错的还怎么玩?
    ShowMessage(FieldByName('servicetype').AsString);
    ShowMessage(Memo1.Text);for l := 0 to Memo1.Lines.Count - 1 do
      if SameText(Trim(FieldByName('servicetype').AsString), Trim(Memo1.Lines[l])) then
        Memo2.lines.Add('相等')
      else Memo2.lines.Add('不相等');
      

  7.   

    //测试如下代码
    if Memo1.Lines.IndexOf(FieldByName('servicetype').AsString) >= 0 then
      Memo2.lines.Add('相等')
    else  Memo2.lines.Add('不相等');
      

  8.   

    这段程序怎么执行,不关是否满足条件都执行“memo4.lines.Add((copy(j,1,11))+'     '+fieldbyname('servicetype').asstring);
      

  9.   

    1、删除第7行的b:=true
    2、在for l:=0 to memo6.Lines.Count-1 do之前加入b:=false
    3、将
       begin
         b:=false;
         break;
       end;
       改成
       begin
         b:=true;
         break;
       end;
      

  10.   

    雪茄,能不能把那个显示一列的MEMO显示一下,以前我用MEMO做过一个格式转换器,就是让A财务软件生成的上报盘数据可以读入B财务软件,可以从MEMO的格式上找到规律,所以我个人认为上面的方法不是很好。
      

  11.   

    这个里面没有显示一列的。其实是:
    MEMO3(手机号#9姓名):
    13900001251#9张三
    13815465416#9李四
    转换为MEMO4(手机号#9工号):
    13900001251#90001
    13815465416#90002

    MEMO6是一个记录工号的,如果MEMO4转换的工号在MEMO6中则
    在NEMO4中显示:
    13900001251#90001相等
      

  12.   

    dzogchen(雪茹) 
    有没有试过我说的?
      

  13.   

    newyj(老鬼)与niu_zai(牛仔)的办法需要折衷.就可以了
    if fieldbyname('servicetype').asstring = '' then
              memo4.lines.Add(memo3.Lines.strings[i] + '无此内容')
            else
            begin
               b :=false ;
              for l := 0 to memo6.Lines.Count - 1 do
                if fieldbyname('servicetype').asstring = memo6.Lines.strings[l] then
                begin
                  b := true;
                  break;
                end;
              if b then
                memo4.lines.Add(memo3.Lines.strings[i] + '有参数')
              else
                memo4.lines.Add((copy(j, 1, 11)) + '     ' + fieldbyname('servicetype').asstring);
            end;