首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比对后将数据插入字符串列表

比对后将数据插入字符串列表
EN

Stack Overflow用户
提问于 2011-01-07 11:29:14
回答 1查看 393关注 0票数 0

嗨,我有stringlist...in我的字符串列表,如果item_type<> 'remark‘和gL_dept<>'’将检查记录..如果gl_dept中的记录具有相同的值,例如,400的400,400,401..the值出现两次,因此仅添加400一次,则它将转到下一个record..but。我的问题是,当我进行比较时,如果lstDept.indexOf(sdept)<> -1不转到此语句,但它将返回到此语句。如果(tblSODitemtype)..如何将值添加到我的字符串列表中。

代码语言:javascript
复制
  lstDept := TStringList.Create;  
  tblSOD.DisableControls;  
  try       
    tblSOD.First;  
    while (not tblSOD.Eof) do begin  
      sDept := tblSODGL_DEPT.AsString;  
      if (tblSODITEM_TYPE.AsString <> 'REMARK') and  (tblSODGL_DEPT.AsString <> '' ) then begin  
         if lstDept.IndexOf(sDept) <> -1  then begin  
            lstDept.add(tblSODGL_DEPT.asstring);  
            tblSOD.Next;  
         end;    
      end;  
    end;  
  finally  
    tblSOD.EnableControls;  
    lstDept.Free;  
  end;  
EN

回答 1

Stack Overflow用户

发布于 2011-01-07 11:41:21

我认为问题出在tblSOD.Next函数调用的位置

尝试更改此设置

代码语言:javascript
复制
while (not tblSOD.Eof) do begin  
  sDept := tblSODGL_DEPT.AsString;  
  if (tblSODITEM_TYPE.AsString <> 'REMARK') and  (tblSODGL_DEPT.AsString <> '' ) then begin  
     if lstDept.IndexOf(sDept) <> -1  then begin  
        lstDept.add(tblSODGL_DEPT.asstring);  
        tblSOD.Next;  //Problem 
     end;    
  end;  
end; 

到这个

代码语言:javascript
复制
while (not tblSOD.Eof) do begin  
  sDept := tblSODGL_DEPT.AsString;  
  if (tblSODITEM_TYPE.AsString <> 'REMARK') and  (sDept <> '' ) then begin
     if lstDept.IndexOf(sDept) <> -1  then 
        lstDept.add(sDept);                
  end;
  tblSOD.Next;  
end; 
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4622269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档