在不同的备忘录中搜索数字并将它们分成一个

时间:2017-06-30 20:58:42

标签: delphi

我在搜索不同备忘录中的字符串并将其分开时遇到问题。 让我们去现场。

在Memo1中的

我有以下文字

18049,25047,text4
18047,25046,text2
18048,25045,text3
18050,25048,text5
18046,25044,text1

和Memo2

25049,9012646205,55315135004,adou4
25047,"",06252782912,textasidh
25046,"",44425660030,textblabla
25048,"",07649186806,textaldj

我需要将第一个数字分隔到memo2的逗号并获取到memo1并添加完整的行。 Memo3中的Memo1 + Memo2。

18046,25044,text1 25046,"",44425660030,textblabla
18047,25046,text2 25047,"",06252782912,textasidh
18048,25045,text3 25048,"",07649186806,textaldj
18049,25047,text4 25049,9012646205,55315135004,adou4

我已尝试使用function Split(Text, Delimitador: string): TSarray;但未成功

var
   I, J: Byte;
   Z : String;
begin
  for I := 1 to 2 do
  begin
    for J := 0 to TMemo(FindComponent('Memo'+IntToStr(I))).Lines.Count -1 do
      begin
        Z := Memo2.Lines[J];
        if Pos(Split(Z, ',')[0],TMemo(FindComponent('Memo'+IntToStr(I))).Lines[J]) > 0 then
        Memo3.Lines.Add(TMemo(FindComponent('Memo'+IntToStr(I))).Lines[J]);
      end;
  end;
end;

1 个答案:

答案 0 :(得分:-2)

解决

var
I, J : byte;
begin
  for I := 0 to Memo1.Lines.Count -1 do
  begin
    for J := 0 to Memo2.Lines.Count -1 do
    begin
      if Pos(Split(Memo2.Lines[J], ',')[0],Memo1.Lines[I]) > 0 then
        Memo3.Lines.Add(Memo1.Lines[I]+' # '+Memo2.Lines[J]);
    end;
  end;
end;