Приблизительно как-то так:
Код:
var
filename: string;
login, pass: string;
sl: TStringList;
i: integer;
begin
sl := TStringList.Create; // Создаём наш стринглист
filename := 'c:/list.txt'; // Тут задаём путь до списка, можно диалог или едит...
sl.LoadFromFile(filename); // Загружаем...
for i := 0 to sl.Count -1 do begin // Проходим по строкам
login := sl[i]; // Задаём логину всю строчку, далее...
if pos(';', login) > 0 then begin // Если в строке есть символ разделителя
pass := copy(login, pos(';', login) +1, length(login)); // То копируем из этой строчки пароль
login := copy(login, 1, pos(';', login) -1); // И обрезаем логин до разделителя
end else continue; // Если разделитель не найден, пропускаем строчку.
// Login, pass - юзаем и радуемся!
end; // Конец прохода
sl.Free; // Не забывает почистить за собой
end;
Писал на коленке, возможны мелкие ошибки...
Если неправильно обрубает логин/пароль, поиграйся с +/-1 в строчках с отделением пароля от логина.