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

Вниз

help meee   Найти похожие ветки 

 
Romm ©   (2007-04-14 17:42) [0]

На этот раз не могу додуматься как осуществить проверку пароля, т.е.
Есть главная форма и форма проверки пароля. Как бы мне показать форму проверки пароля ДО появления главной формы??

если сделать так:
procedure TMainForm.FormShow(Sender: TObject);
begin
 PasswordDlg.ShowModal;
end;


то при вводе неправильного пароля делаю Application.Terminate ->> мерцание главной формы, которая появляется и тут же умирает...
Посоветуйте ченидь


 
{RASkov}   (2007-04-14 20:32) [1]

Например
MainForm.Hide;
Application.Terminate;
или еще лучше пересмотреть/переделать организацию запроса пароля. Например, создавать окно запроса пароля до создания главной формы и если че не так, то и главную уже не создавать...


 
{RASkov}   (2007-04-14 20:34) [2]

> MainForm.Hide;

Хотя на OnShow такое не прокатит...


 
{RASkov}   (2007-04-14 20:39) [3]

В твоем варианте можно и так извернуться, но это не выход и не так лучше делать.
procedure TMainForm.FormShow(Sender: TObject);
begin
PasswordDlg.ShowModal;
width:=0;
Height:=0;
close;
end;


 
Desdechado ©   (2007-04-14 21:18) [4]

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


 
DrPass ©   (2007-04-14 21:20) [5]


> MainForm.Hide;
> Application.Terminate

MainForm.Visible:= false;
Application.ShowMainForm:= false;
Application.Terminate;
... И засунуть это можно хоть в OnCreate главной формы


 
{RASkov}   (2007-04-14 21:27) [6]

>
> MainForm.Visible:= false;

На OnShow будет:
Cannot change Visible in OnShow or OnHide
:)


 
DrPass ©   (2007-04-14 21:28) [7]


> {RASkov}   (14.04.07 21:27) [6]

Логично. Поэтому я и советую сунуть в OnCreate :)


 
Romm ©   (2007-04-15 09:55) [8]


> В файле проекта создавать форму пароля первой вручную, после
> чего в зависимости от результата или создавать остальные,
>  или отбрыкиваться

"вручную" - это НЕ Application.Create?? Хотя да, если таким методом, то форма проверки пароля станет главной... уу, а тогда как? :)


 
Romm ©   (2007-04-15 10:23) [9]

Хе-хей.. получилось. Сделал так:

procedure TPasswordDlg.OKBtnClick(Sender: TObject);
begin
 if (Password.Text=pass_1) or (Password.Text=pass_2) or (Password.Text=pass_3) then
   begin
     pas:=2;
     Close;
   end;
end;


 PasswordDlg:=TPasswordDlg.Create(nil);
 PasswordDlg.ShowModal;
 PasswordDlg.Repaint;
 if PasswordDlg.pas=2 then
   begin
     Application.Initialize;
     Application.CreateForm(TMainForm, MainForm);
     Application.CreateForm(TOptionForm, OptionForm);
     Application.CreateForm(TEditIPForm, EditIPForm);
     Application.CreateForm(TSendMesForm, SendMesForm);
     Application.Run;
   end
 else
   Application.Terminate;


всем спасибо!


 
Romm ©   (2007-04-15 10:37) [10]

Еще вопрос:

procedure TPasswordDlg.OKBtnClick(Sender: TObject);
var
 num:Integer;
begin
 num:=0;
 if (PasswordEdit.Text=pass_1) or (PasswordEdit.Text=pass_2) or (PasswordEdit.Text=pass_3) then
   begin
     pas:=2;
     Close;
   end
 else
   begin
     pas:=1;
       if num<5 then
         begin
           inc(num);
           Application.MessageBox("Неверынй пароль! Осталось "+IntToStr(5-num)+" попыток","Внимание",MB_OK);
         end
       else
         Close;
   end;
end;


компилятор ругается. Не нравится ему вот это место +IntToStr(5-num)+


 
Плохиш ©   (2007-04-15 11:27) [11]


> компилятор ругается. Не нравится ему вот это место

Странно, ни разу не встречал такого сообщения компилятора.


 
Romm ©   (2007-04-15 11:32) [12]


> Странно, ни разу не встречал такого сообщения компилятора

у меня Delphi SP_Russia :) пишет о несоответствии типов string i PAniChar как-то так..


 
Плохиш ©   (2007-04-15 12:09) [13]


> пишет о несоответствии типов string i PAniChar как-то так

Пора почитать раздел справки по приведению типов.


 
Romm ©   (2007-04-15 12:16) [14]


> Пора

знаю


> почитать

из английского знаю только begin и end :))

пожалуста на русском примерчик :)


 
DrPass ©   (2007-04-15 12:32) [15]


> MessageBox("Неверынй пароль! Осталось "+IntToStr(5-num)+"
> попыток","Внимание",MB_OK);

MessageBox(pchar("Неверынй пароль! Осталось "+IntToStr(5-num)+"
попыток"),"Внимание",MB_OK);


> у меня Delphi SP_Russia :)

Сотри эту ересь. От маминой сиськи ребенка пора отлучать


 
Плохиш ©   (2007-04-15 12:36) [16]


> Romm ©   (15.04.07 12:16) [14]
> из английского знаю только begin и end

Можешь дальше не продолжать, не интересно. Ну почему все кто занимается не своим делом всегда отсутствием знаний языка пытаются прикрыться? Ты и русского языка я гляжу не знаешь, т.к. на русском выпущено большое количество книг по программированию и на делфи в частности.


 
Romm ©   (2007-04-15 12:38) [17]


> MessageBox(pchar("Неверынй пароль! Осталось "+IntToStr(5-
> num)+"
> попыток"),"Внимание",MB_OK);

Оооо спасиб.. А то куда я только этот pchar() не "совал" :))
> Сотри эту ересь.

млин, да этож шутка :)


 
Romm ©   (2007-04-15 12:42) [18]


> Плохиш ©   (15.04.07 12:36) [16]



> Пора почитать раздел справки по приведению типов.
подразумевается Help Delphi, который на АНГЛИЙСКОМ!
> не своим делом
зря...
> Ты и русского языка я гляжу не знаешь

ты много чего не знаешь...
> т.к. на русском выпущено большое количество книг по программированию
> и на делфи в частности.

знаю! и русский и про книги.


 
Anatoly Podgoretsky ©   (2007-04-15 12:46) [19]

> Romm  (15.04.2007 12:16:14)  [14]

Приведение(Тип)


 
Плохиш ©   (2007-04-15 12:46) [20]


> знаю!

Знания без применения - это бессмысленный груз...


 
Romm ©   (2007-04-15 12:51) [21]


> Плохиш ©   (15.04.07 12:46) [20]

дык вот я пытаюсь применить... Когда в школе учат делать проги типа "Hellow World", а хочется чего-то больше - делаешь что-то более сложное и интересное, в результате чего тебе говорят: "тебе рано, иди делай проги типа "Hellow World"".. вопрос: как, если не на практике учиться програмировать?


 
Плохиш ©   (2007-04-15 12:56) [22]


> как, если не на практике учиться програмировать?

Перед тем как применять на практики надо прочитать теорию, чтобы иметь представление о том, что пытаешься применять на практиике. А у тебя вызвало проблему привведение типов, которое, думаю, во всех существующих книгах на русском языке описано в первых разделах вместе с описанием типов. Но ты вместо того, чтобы прочитать об этом (кстати, паралельно мог бы узнать много нового и неизвестного), начал плакаться и давить на жалость.

PS. Невозможно изучить программирование пользуясь только форумом.


 
Romm ©   (2007-04-15 13:11) [23]


> вызвало проблему привведение типов

вызвало проблему не незнание способов применения, а непонимание происходящего, в общем неважно...


> много нового и неизвестного

например как изменять заголовок формы или надпись на кнопе? :))


> плакаться и давить на жалость

не было такого - это все Ваше воображение :))


> Невозможно изучить программирование пользуясь только форумом
зато можно узнать много нового и неизвестного...

Ну да ладно.. через пару лет свяжусь с Вами и покажу как я несвоим делом занимаюсь :))


 
Romm ©   (2007-04-15 13:29) [24]

Мастера, во многих программах я видел ссылки на сайт, либо на отправку почты. Для этого пишется новый компонент или можно использовать TLabel??


 
Virgo_Style ©   (2007-04-15 13:34) [25]

Romm ©   (15.04.07 13:29) [24]
Для этого пишется новый компонент или можно использовать TLabel??

Или так, или так.


 
Romm ©   (2007-04-15 13:43) [26]

Покажи пожалуйста, как сделать ссылки скажем на www.delphimaster.ru и на отправку почты vasya_pupkin@mail.ru


 
Virgo_Style ©   (2007-04-15 14:06) [27]

свяжись через пару лет.


 
Virgo_Style ©   (2007-04-15 14:12) [28]

ShellExecute(0,"open","http://google.com",nil,nil,SW_SHOW);
ShellExecute(0,"open","mailto:alhpa@beta.ru",nil,nil,SW_SHOW);


это запуск браузера и почтовика по умолчанию с соотв. параметрами. Но оформление ссылок - или сам, или [27].


 
Romm ©   (2007-04-15 14:16) [29]


> Virgo_Style ©   (15.04.07 14:12) [28]

дык это так делается... а я то думал там... пасиб...



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

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

Наверх




Память: 0.54 MB
Время: 0.021 c
8-1156315403
Maxim new
2006-08-23 10:43
2007.05.06
Ассоциация файлов


15-1175851704
Vlad Oshin
2007-04-06 13:28
2007.05.06
Как прочитать из VBA excel ключ реестра?


15-1175952567
Mozart
2007-04-07 17:29
2007.05.06
Корзина...


1-1173691841
greg123
2007-03-12 12:30
2007.05.06
Как определить какие формы приложения открыты


2-1176491891
Костя
2007-04-13 23:18
2007.05.06
Удаление файлов