Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Вниз
Форма 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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.067 c