for Index := 0 to Memo1.Count - 1 do
begin
S := Memo1.Lines[Index];
for Index2 := Lenght(S) downto 1 do
if {} S[Index2] = ' ' then
break;
for Index3 := Lenght(s) downto 1 do
if S[Index] <> '|' then Break;
S := Copy(S, Index2, Index3 - Index2);
if S <> '' then
Memo2.Add(S);
end;