DELPHI 两个Tstrings对比

我想只要物料规格中非切袋组的只要数字和切袋对比
如果上图 0.04*14 1/4*9 是切袋组
那么通过对比发现有0.04*14 1/4 就在这行 判断类别
如果类别是A,那么就在用量填AA,B是就填写BB,可是我以下代码不行呀
貌似是for j的问题,但是不循环这个list怎么对比,lv1.items也是个tstrings
var i,j,fin1,fin2:Integer; list:TStrings;begin list:=TStringList.Create; try for I := 0 to lv1.Items.Count -1 do begin if lv1.Items[i].SubItems.Strings[8]='切袋组' then begin fin1:=PosEx('*',lv1.Items[i].SubItems.Strings[1],1); fin2:=PosEx('*',lv1.Items[i].SubItems.Strings[1],fin1+1); list.Add(Copy(lv1.Items[i].SubItems.Strings[1],1,fin2-1)); end; for j := 0 to list.Count -1 do begin ShowMessage(lv1.Items[i].SubItems.Strings[1]+lv1.Items[i].SubItems.Strings[7]); if lv1.Items[i].SubItems.Strings[1]+'A'=list[j]+lv1.Items[i].SubItems.Strings[7] then lv1.Items[i].SubItems.Strings[4]:='aa'; if lv1.Items[i].SubItems.Strings[1]+'B'=list[j]+lv1.Items[i].SubItems.Strings[7] then lv1.Items[i].SubItems.Strings[4]:='bb'; if lv1.Items[i].SubItems.Strings[1]+'C'=list[j]+lv1.Items[i].SubItems.Strings[7] then lv1.Items[i].SubItems.Strings[4]:='cc'; end; end; finally list.Free; end;

var
  i:Integer;
  list:TStrings;
begin
  list:=TStringList.Create;
  try
    for I := 0 to lv1.Items.Count -1 do
    begin
        if pos('0.04*14 1/4',lv1.Items[i].SubItems.Strings[2]) > 0 then
        begin
            lv1.Items[i].SubItems.Strings[7]='切袋组';//组别赋值
            if lv1.Items[i].SubItems.Strings[8] = 'A' then
            begin
                lv1.Items[i].SubItems.Strings[5] := 'AA';
            end;
             if lv1.Items[i].SubItems.Strings[8] = 'B' then
            begin
                lv1.Items[i].SubItems.Strings[5] := 'BB';
            end; 
             if lv1.Items[i].SubItems.Strings[8] = 'C' then
            begin
                lv1.Items[i].SubItems.Strings[5] := 'CC';
            end;                     
        end 
     
  finally
    list.Free;
  end;

这是根据题意做的,可是根据你的代码理解,好像没那么简单,应该说题主没讲清楚需求

追问

肯定没这么简单,不可能pos 0.04*14 1/4
里面的东西是不可预知的,原需求比我说的都复杂很多,我只是提问解决我需要解决的
你的回答没有任何用处,我自己搞定了,多加了个tstring就行了,再把for i循环初始化就可以了

追答

提问是一种整理思路的方法,你写的东西往往都是经过一定整理的。你能解决说明不是难题,需要你写下来,不要放在脑子里像浆糊一样都糊在一起了。

温馨提示:答案为网友推荐,仅供参考
相似回答