Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.046 c
15-1176200510
Megabyte
2007-04-10 14:21
2007.05.06
ДАО программирования


2-1176525285
Belorus
2007-04-14 08:34
2007.05.06
Классы


15-1176093581
vajo
2007-04-09 08:39
2007.05.06
Подскажите с апгрейдом компа.


2-1176458606
allucard
2007-04-13 14:03
2007.05.06
Ошибка: Type TRec needs finalization - not allowed in file type


2-1176425212
koha
2007-04-13 04:46
2007.05.06
Не могу сравнить две даты - результат ошибка помогите разобраться





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский