Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2012, 15:23   #1
студентка_диплом
Новичок
Джуниор
 
Регистрация: 07.04.2012
Сообщений: 7
По умолчанию Как сделать вход по логину и паролю для 2 пользователей

для 1 пользователя получается сделать а второго не могу добавить. подскажите что и где приписать надо?
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, StdCtrls;

type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    XPManifest1: TXPManifest;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2; l,p:integer;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
form2.Close;

end;


procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (edit1.text<>'логин1') or (edit2.text<>'пароль1')
then  form1.close ;

end;

end.

Последний раз редактировалось Stilet; 07.04.2012 в 19:51.
студентка_диплом вне форума Ответить с цитированием
Старый 07.04.2012, 19:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну если твоей логике следовать то:
Код:
if ( 
     (edit1.text<>'логин1') and(edit2.text<>'пароль1')
   ) or (
     (edit1.text<>'логин2') and(edit2.text<>'пароль2')
   )
then
 зашли
else
 неверно
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.04.2012, 20:20   #3
студентка_диплом
Новичок
Джуниор
 
Регистрация: 07.04.2012
Сообщений: 7
По умолчанию

Нет так не получается.
после then я написала form1.close,
else как ошибку дал, если удалить else, программа запускается но при вводе нужного логина и пароля выкидывает из программы.

до этого я пробовала с таким кодом
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, StdCtrls;

type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    XPManifest1: TXPManifest;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2; l,p:integer;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
 if edit1.text='é' then l:=1 else l:=0;
if edit2.text='é' then p:=1 else p:=0;
if(p+l)>1 then form2.close else label4.caption:='Ââåäåí íåâåðíûé ëîãèí èëè ïàðîëü';
if edit1.text='ö' then l:=1 else l:=0;
if edit2.text='ö' then p:=1 else p:=0;
if(p+l)>1 then form2.close else label4.caption:='Ââåäåí íåâåðíûé ëîãèí èëè ïàðîëü';

end;

end.
все работало
но потом обнаружила что при закрытии окна авторизации, главная форма все равно открывается, на форуме тут прочитала что лучше на кнопке прописать
Код:
form2.close;
а вот код в FormClose
Попытка тупо скопировать это
Код:
f edit1.text='é' then l:=1 else l:=0;
if edit2.text='é' then p:=1 else p:=0;
if(p+l)>1 then form2.close else label4.caption:='Ââåäåí íåâåðíûé ëîãèí èëè ïàðîëü';
if edit1.text='ö' then l:=1 else l:=0;
if edit2.text='ö' then p:=1 else p:=0;
if(p+l)>1 then form2.close else label4.caption:='Ââåäåí íåâåðíûé ëîãèí èëè ïàðîëü';
в FormClose, потерпела неудачу. попробовала так как описала выше, но работает только на 1 пользователя как добавить второго так и не пойму((

Последний раз редактировалось Stilet; 07.04.2012 в 21:21.
студентка_диплом вне форума Ответить с цитированием
Старый 07.04.2012, 21:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот так работает:
Код:
if ( 
     (edit1.text='логин1') and(edit2.text='пароль1')
   ) or (
     (edit1.text='логин2') and(edit2.text='пароль2')
   )
then
 ShowMessage('Бобро пожаловать')
else
 ExitProcess(0);
I'm learning to live...

Последний раз редактировалось Stilet; 07.04.2012 в 22:49.
Stilet вне форума Ответить с цитированием
Старый 07.04.2012, 21:33   #5
студентка_диплом
Новичок
Джуниор
 
Регистрация: 07.04.2012
Сообщений: 7
По умолчанию

если сделать так то при запуске сразу выдается сообщение добро пожаловать.
а потом открывается форма авторизации(она у меня не главная) и если на крестик закрыть снова открывается главное меню(главная форма). а у меня вся проблема в том что я не могу совместить чтобы было 2 пользователя и при закрытии окна авторизации програмка закрывалась а не переходила на главную форму т.к весь смысл паролей теряется ведь можно просто нажать на крестик и откроется главная форма.
студентка_диплом вне форума Ответить с цитированием
Старый 07.04.2012, 22:49   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я понял (хоть и не сразу) поправил пост. Просто ExitProcess или Halt используй если пароль неверный.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать вход для сайта? Masafi PHP 12 31.07.2012 17:50
Вход по паролю skript12 Общие вопросы Delphi 2 28.02.2012 11:47
вход по логину и паролю nikdemars Общие вопросы Delphi 7 12.12.2010 13:55
вход в админку по паролю Next PHP 3 17.07.2009 12:41
Помогите сделать баланс для пользователей CasperKZ PHP 2 27.10.2008 23:34