могу ощибаться, но в блоке
цитирую:
while memo1.lines[j]'' do
begin
s:= s + memo1.lines[j];
j:= j+1;
s:= s+#10+#13;
end;
можно было достать весь текст из мемки s=memo1.text
а для очистки проще воспользоваться стандартной
цитирую:
while memo1.lines[j2]'' do
begin
memo1.lines[j2]:='';
j2:= j2+1;
end;
memo1.clear