Форум: "Начинающим";
Текущий архив: 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.048 c