Самое простое, как раз в цикле перебирать строчки мемо, пока они не кончатся. Например так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
log, pwd: string;
begin
for i := 0 to Memo1.Lines.Count-1 do
begin
Log:= Copy(Memo1.Lines[i],1,Pos(':',Memo1.Lines[i])- 1);
Pwd:= Copy(Memo1.Lines[i], Pos(':',Memo1.Lines[i])+ 1, Length(Memo1.Lines[i]));
...
ShowMessage(Log + ' - ' + Pwd);
...
end;
end;