Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Форма LogIn   Найти похожие ветки 

 
wyt   (2004-09-23 17:41) [0]

Как показать форму логина до появления Mainform?


 
Fay ©   (2004-09-23 17:42) [1]

.Show;


 
wyt   (2004-09-23 17:46) [2]

Мне важно, что бы при отмене логина главная форма не появлялась.
делаю так:  
 Application.CreateForm(TLogin, Login);

 if not LoginOK then
   Application.Terminate;

 Application.Run;

и шлавная форма появляется и исчезает(моггает)
как правильнее это реализовать?


 
Fay ©   (2004-09-23 17:49) [3]

А ты вызови её в конструкторе главной формы.


 
wyt   (2004-09-23 17:52) [4]

Если я делаю так - то у меня возникает - при отмене логина непонятная для меня ошибка!!!
 if not LoginOK then
    Exit;
 Application.Run;
Я перделал на
if not LoginOK then
  Application.Terminate;
Эта ошибка вроде бы 0:-) пропала, но главная форма успевает появиться:-(


 
wyt   (2004-09-23 17:58) [5]

Так мне не подходит. Главная форма не должна креировать другую форму! А в автокриейте первой креироваться дожна только майн форма? LogIn еще нет :-(


 
Fay ©   (2004-09-23 18:00) [6]


> Так мне не подходит. Главная форма не должна креировать
> другую форму! А в автокриейте первой креироваться дожна
> только майн форма? LogIn еще нет :-(

Переведите, plz. Нифига не понятно. Особеннно 2-е предложение.


 
wyt   (2004-09-23 18:02) [7]

Мне логин нужно вызвать в файле проекта!
А не в методах другой формы!


 
wyt   (2004-09-23 18:07) [8]

Ну что? Никто никогда не делал диалог LogIn - ну очень нужно!!!
//Если я делаю так - то у меня возникает - при отмене логина непонятная для меня ошибка!!!
Я эту ошибку не смогу отследить!
Ну очень нужна помощь


 
DiamondShark ©   (2004-09-23 18:08) [9]

Login := TLogin.Create(Application);
if LoginOk then Application.Run;


 
DiamondShark ©   (2004-09-23 18:09) [10]

Фигню написал. Не обращать внимания.


 
alless   (2004-09-23 18:11) [11]

Hаписать Application.ShowMainForm:=false в файле пpоекта.


 
wyt   (2004-09-23 18:15) [12]

//Hаписать Application.ShowMainForm:=false в файле пpоекта.
Большое спасибо alless - то что нужно!!!


 
alless   (2004-09-23 18:18) [13]

2 wyt:
рекомендую Kuliba2000 там много интересного.


 
КаПиБаРа ©   (2004-09-24 08:44) [14]

Записывайте в аналы... :)


program Project1;

uses
 Forms, Controls, windows,
 Unit1 in "Unit1.pas" {Form1},
 Unit2 in "Unit2.pas" {LoginForm};

{$R *.res}
// Проверка пароля при запуске.
// Функцию можно вынести в отдельный модуль,
// Тогда в файл проекта нужно будет добавить всего 1 строчку
// if not LogIn then Exit;
function LogIn(AttemptCount: Integer): Boolean;
var
 n: Integer; // Счетчик показа формы
begin
 Result := False;
 n := AttemptCount;
 // пока счетчик не равен 0 или не введен
 // правильный пароль показываем форму
 while (n > 0) and not Result do
   // Для непонятливых создаем форму для ввода пароля
   with TLoginForm.Create(nil) do
   try
     // и показываем ее
     ShowModal;
     if ModalResult = mrOk then
     begin
       // Проверка пароля введенного в Edit1 :)
       Result := Edit1.Text = "пароль";
       Dec(n);
       if not Result then
         if (n > 0) then
           begin
           // Сообщаем пользователю о том что он неправильно ввел пароль
           if MessageBox(0, "Неправильно задан пароль"#13"Повторить ввод?",
                          "Внимание!", MB_YESNO or MB_ICONWARNING) = IDNO then
             // Если он отказывается повторить ввод пароля - выход
             Exit;
           end
         else
           // Если пользователь не угадал пароль за отведенное число попыток
           MessageBox(0, "Неправильно задан пароль"#13 +
                      "Вы превысили лимит попыток ввода!",
                      "Внимание!", MB_OK or MB_ICONERROR);
     end
     else
       // Выход при нажатии кнопки отмены
       Exit;
   finally
     Free;
   end;
end;

begin
 // Если не залогинились выход из приложения
 if not LogIn(3) then Exit;
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


==================================
Нашедшего выход затаптывают первым
==================================


 
KADAN ©   (2004-09-24 09:19) [15]

три раза создавать и убивать форму???? думаете гут?


 
П7   (2004-09-24 09:34) [16]

Дык, можно вообще не криэйтить Майновую форму при старте проекта. Убрать соответствующие строки из файла проекта и всё. Криэйтишь ЛогинФорму, далее, если всё ОК, то ЛогинФорма криетит Майновую форму а сама прихлопывается. Иначе просто прихлопывается... (:


 
Reals ©   (2004-09-24 10:05) [17]

А вот как у меня реализовано, работает без проблем:

program Prog;

uses
 Forms,
 Windows,
 Controls,
 uBizon in "uBizon.pas" {frmMain},
 uLogon in "uLogon.pas" {frmLogon};
{$R *.res}

begin

try
  frmLogon := TfrmLogon.Create(Application);
  frmLogon.Update;
  if frmLogon.ShowModal = mrOk then
  begin
   Application.Initialize;
   Application.CreateForm(TfrmMain, frmMain);
  end else
  begin
   frmLogon.Hide;
   frmLogon.Free;
   Halt(0);
  end;
  frmLogon.Hide;
finally
  frmLogon.Free;
end;
  Application.Run;
end.



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.046 c
1-1095660056
П7
2004-09-20 10:00
2004.10.10
TTreeNode.Data - как правильно использовать?


14-1095365667
Marser
2004-09-17 00:14
2004.10.10
Опрос: Сколько ников вы сменили


3-1094975672
limon_
2004-09-12 11:54
2004.10.10
Index


3-1094732647
Th
2004-09-09 16:24
2004.10.10
Ограничение размера поля типа ftString


14-1095864160
gn
2004-09-22 18:42
2004.10.10
Мастера а кто какой программой пользуется