嗨,我有stringlist...in我的字符串列表,如果item_type<> 'remark‘和gL_dept<>'’将检查记录..如果gl_dept中的记录具有相同的值,例如,400的400,400,401..the值出现两次,因此仅添加400一次,则它将转到下一个record..but。我的问题是,当我进行比较时,如果lstDept.indexOf(sdept)<> -1不转到此语句,但它将返回到此语句。如果(tblSODitemtype)..如何将值添加到我的字符串列表中。
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; 发布于 2011-01-07 11:41:21
我认为问题出在tblSOD.Next函数调用的位置
尝试更改此设置
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; 到这个
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; https://stackoverflow.com/questions/4622269
复制相似问题