Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143
1

Чтение из файла данных авторизации

25.03.2011, 23:40. Просмотров 873. Ответов 6
Метки нет (Все метки)

Доброго времени суток.
Делаю что-то похожее на авторизацию.

На форме - Edit1, Edit2(поменяю на MaskEdit), Button1.
В папке с проектом - текстовый документ 1.txt, в котором, по идеи должны храниться аккаунты в таком вот виде:

Логин1
Пароль1
Логин2
Пароль2


Я написал 2 обработчика:
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.FormCreate(Sender: TObject);
begin
AssignFile (F, '1.txt');
Reset(F);
while not EOF(f) do
begin
Readln(f,Login);
Readln(f,Password);
end;
CloseFile(f);
end;
Delphi
1
2
3
4
5
6
procedure TForm1.Button1Click(Sender: TObject);
begin
 if (Edit1.Text<>Login) or (Edit2.Text<>Password) then
 showmessage('Error!') else
  showmessage('Welcome!')
end;
и файл заполнил следующим образом:
1
1
2
2


Если я ввожу "2" и "2" выдает сообщение, что все верно. Если "1","1" - сообщение об ошибке.

Как это исправить ? Сделать, чтоб "1" и "1" тоже были правильными логином-паролем.

Спасибо за внимание.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2011, 23:40
Ответы с готовыми решениями:

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит...

Чтение заголовка PCX файла и чтение растровых данных PCX файла
Привет форумчане! Столкнулся с такой проблемой. Нужно считать заголовок PCX файла и растровые...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt;...

Чтение из файла определённого места и сортировка данных исходя из этих данных
Есть некий текстовый документ, содержащий информацию о посещении сайта в формате: Например...

6
S9
Волшебник
653 / 256 / 88
Регистрация: 18.12.2010
Сообщений: 544
26.03.2011, 00:31 2
Этого можно добится вводом ещё двух переменных под 1-ый логин и пароль. У тебя ошибка в том что сначало в строки Login и Password вводится соответствено 1 логин и пароль и потом в них же вводится второй логин и пароль.
0
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143
26.03.2011, 10:09  [ТС] 3
а как это реализовать ?
я не знаю, сколько у меня этих логинов и паролей будет, 8-9 где-то...
0
12953 / 5805 / 1704
Регистрация: 19.09.2009
Сообщений: 8,807
26.03.2011, 12:06 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
IsSuccess := False;
while not EOF(f) do
begin
  Readln(f,Login);
  Readln(f,Password);
  if (Login = Edit1.Text) and (Password = Edit2.Text) then begin
    IsSuccess := True;
    Break;
  end;
end;
FileClose(F);
if IsSuccess then
  ShowMessage('Добро пожаловать!')
else
  ShowMessage('Вы не зарегистрированы!')
;
1
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143
26.03.2011, 12:41  [ТС] 5
Mawrat, объясните подробнее, пожалуйста, что происходит)

это обработчик кнопки ?
0
12953 / 5805 / 1704
Регистрация: 19.09.2009
Сообщений: 8,807
26.03.2011, 13:02 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Этот код должен быть в обработчике кнопки, которую пользователь нажимает после ввода имени и пароля.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
procedure TForm1.Button1Click(Sender: TObject);
const
  Fn = 'passwords.txt';
var
  F : TextFile;
  FileName, Login, Password : String;
  //Флаг, который показывает - прошёл ли пользователь идентификацию.
  IsSuccess : Boolean;
begin
  //Полное имя файла.
  FileName := ExtractFilePath( Application.ExeName ) + Fn;
  //Если файл не найден.
  if not FileExists(FileName) then begin
    ShowMessage('Сведения о пользователях не найдены. Действие отменено.');
    Exit;
  end;
 
  AssignFile(F, FileName);
  Reset(F);
 
  //Проверяем - есть ли в файле заданная комбинация имени и пароля.
  IsSuccess := False;
  //Перебор комбинаций в файле.
  while not EOF(f) do begin
    //Читаем очередную комбинацию.
    Readln(f, Login);
    Readln(f, Password);
    //Проверяем - совпадает ли очередная пара имя-пароль с введёнными данными.
    if (Login = Edit1.Text) and (Password = Edit2.Text) then begin
      //Если совпадает - выставляем флаг в истину и выходим из цикла поиска.
      IsSuccess := True;
      Break;
    end;
  end;
  //Закрытие файла.
  CloseFile(F);
 
  //Действия в зависимости от успешности идентификации.
  if IsSuccess then begin
    ShowMessage('Добро пожаловать!');
  end else begin
    ShowMessage('Вы не зарегистрированы!');
    Exit;
  end;
 
  //Далее идут какие-то действия, предусмотренные на случай, если
  //пользователь успешно идентифицировался.
  //...
  //...
  //...
end;
1
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143
26.03.2011, 13:15  [ТС] 7
Огромнейшее спасибо, Вы себе представить не можете, как Вы мне помогли

---
Mawrat: Пожалуйста.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2011, 13:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание текстового файла и чтение данных из файла
Здравствуйте. Дана задача : Создать файл, содержащий сведения о сдаче студентами первого курса...

Чтение текстового файла. Парсинг его данных. Создание исключений для данных. Запись свойств объектов в файл
Проблема такая. Есть файл data.txt. В нем например какие-то данные. Landon Donovan, 150, A...

Чтение данных из файла
Доброго времени, долго искал ответ, решил все таки спросить. Есть файл в котором такие данные TTT...

Чтение данных из файла
Доброго всем здравия, телесного и духовного! Код работает, не понятно лишь условие while ...

Чтение данных из файла
Написать программу в среде разработки Visual C#, позволяющую пользователю выбрать два файла, из...

Чтение данных из файла
Форумчане, доброе время суток! Помогите, п о ж а л у й с т а, в написании следующего: есть файл с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.