procedure TForm1.Memo1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
str,S1,S2: string;
arr,A1,A2: TArray<string>;
i: Integer;
begin
str := Memo1.SelText;
if not str.Contains(sLineBreak) then
begin
Beep;
Exit;
end;
arr := str.Split([sLineBreak+sLineBreak]);
if Length(arr) <> 2 then
begin
Beep;
Exit;
end;
S1 := arr[0].Trim;
S2 := arr[1].Trim;
A1 := S1.Split([sLineBreak]);
A2 := S2.Split([sLineBreak]);
if Length(A1) <> Length(A2) then
begin
Beep;
Exit;
end;
for i := 0 to Length(A1) - 1 do
begin
A1[i] := A1[i] + sLineBreak + A2[i];
end;
str := string.Join(sLineBreak+sLineBreak, A1);
Memo1.SelText := str;
end;