Hola.
Me resulta confuso el planteo, no se si entendí lo que buscas...
Si interpreté bién no veo la necesidad de usar dos
TListBox, podrías hacer algo similar a esto:
Código Delphi
[-]
....
var
User, Password: TStrings;
procedure TForm1.FormCreate(Sender: TObject);
begin
User := TStringList.Create;
Password := TStringList.Create;
User.LoadFromFile('Users.txt');
Password.LoadFromFile('Passwords.txt');
end;
procedure TForm1.btnAceptaClick(Sender: TObject);
var
ix : Integer;
pIn,uIn: Boolean;
begin
ix := User.IndexOf(edUser.Text);
uIn := ix <> -1;
if uIn then
pIn := edPassword.Text = Password[ix];
if not (pIn and uIn) then
raise Exception.Create('Nombre de usuario o contraseña incorrectos');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
User.Free;
Password.Free;
end;
Saludos