I find INIs less intrusive than Registry entries. They can also be written to and read from very easily.
SCAR Code:
program New;
var
TempUser, TempPass: String;
begin
WriteINI('Player1', 'Username', 'John3825', 'C:\Players.ini');
WriteINI('Player1', 'Password', 'mypassrocks', 'C:\Players.ini');
WriteINI('Player2', 'Username', 'Bobby95', 'C:\Players.ini');
WriteINI('Player2', 'Password', 'hispassrocks', 'C:\Players.ini');
ClearDebug;
TempUser := ReadINI('Player1', 'Username', 'C:\Players.ini');
TempPass := ReadINI('Player1', 'Password', 'C:\Players.ini');
Writeln(TempUser + ' - ' + TempPass);
TempUser := ReadINI('Player2', 'Username', 'C:\Players.ini');
TempPass := ReadINI('Player2', 'Password', 'C:\Players.ini');
Writeln(TempUser + ' - ' + TempPass);
end.