Показать сообщение отдельно
  #1  
Старый 24.05.2017, 17:20
yurakulikovs yurakulikovs вне форума
Прохожий
 
Регистрация: 24.05.2017
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Проверка на "Вход"

Добрый день, помогите как вернее написать код.. Если же пользователь не верно ввел логин/пароль, то выдает cсообщение "Ошибка!" она повторяется несколько раз. Связано с базой данных Access, помогите пожалуйста
Т.к. я уже ломаю голову... Я новичок... Хоть где то дописать код или отредактировать...
P.S. Когда ввожу правильный логин и пароль, и она сразу выдает сообщение "Ошибка!" (и опять снова повторяется несколько раз) и открывается новая форма. Заранее буду благодарен!

Код:
procedure TForm16.BitBtn1Click(Sender: TObject);
var LogPass: array of string;
    i, h, Counts:integer;
    ResultLoginPassword:string;
begin
   if (Length(Trim(Edit1.Text)) = 0) or (Length(Trim(Edit2.Text)) = 0) then
  begin
      MessageBox(Handle, 'Обязательные поля не заполнены!', 'Ошибка!', mb_OK + mb_ICONWARNING);
  end;
  SetLength(LogPass, 255);
  ADODataSet1.Active:=true;
  ADODataSet1.First;
  for i:=0 to ADODataSet1.RecordCount - 1 do  //Обработка данных Логина и Пароля пользователя
    begin
      LogPass[i]:=ADODataSet1.FieldValues['UserName']+' '+ADODataSet1.FieldValues['UserPass'];
      ADODataSet1.Next;
      inc (Counts);
    end;
  ResultLoginPassword:=Trim(Edit1.Text)+' '+Trim(Edit2.Text);
  for h:=0 to Counts do  //Цикл проверки данных на истину
    begin
      if ResultLoginPassword = LogPass[h] then //Номер порядковый в базы данных Access, 
                                         //который пользователь вводит Логин и Пароль
        begin
          UserIndex:=h;
          Form18.Show;
          Form16.Close;
        end
        else
        begin
          MessageBox (handle, 'Неверный логин или пароль!', 'Ошибка!', mb_ok + MB_ICONERROR); //повторяется несколько раз
        end;
    end;
end;
Ответить с цитированием