Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запаролить открытие формы в Delphi? 
:(
    Опции темы
AlexSn
Дата 9.12.2004, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.7.2004

Репутация: нет
Всего: нет



Подскажите как запаролить открытие формы в Delphi
PM MAIL   Вверх
Satana
Дата 9.12.2004, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: 1
Всего: 5



Если я тебя правильно понял, то самое простое для тебя будет перед показом требуемой формы вывести еще одну с логином и паролем если все совпало то показываешь искомую форму если нет пишешь типа access dinied smile


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Vladimir13
Дата 9.12.2004, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



на FormActivate скрыть все объекты, оставив толькокнопку и, например,Edit. Потом проверяем условие: if Edit1.text='password' then <и все что надо делаем видимым>
Можно еще заморочиться и прописать все через коды клавиш,а в edit'е печатать *, т.е. при нажатие на клавишу считывать ее код в строку ( а:string ), а в Edit печатать *.
Выбор пользователя - через ComboBox. Там можно автоматически добавлять новых пользователей.
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
Patrius
Дата 9.12.2004, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 9.12.2004
Где: Харьков

Репутация: нет
Всего: нет



Vladimir13
Цитата
на FormActivate скрыть все объекты, оставив толькокнопку и, например,Edit.

интересно а что ты предложишь если ентих самых обьектов окло 15 - 20....
по моему разумнее добавить еще одну "парольную" форму...
а идея по поводу
Цитата

Выбор пользователя - через ComboBox

интересная задумка...
кста енту парольную форму действительно мона кинуть в FormActivate...

Добавлено @ 08:50
только один нюанс...
а где и в каком виде ты предлогаешь хранить список юзверей и их пасворды?
PM MAIL ICQ   Вверх
Vladimir13
Дата 9.12.2004, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



все очень просто: все храниться в Memo как строки. соответственно, проверяем в зависимости от имени (ComboBox1.Text) ставим в ComboBox2.text его пароль.
if ComboBox1.Text='Name1' then ComboBox2.Text:=memo1.Lines[1]; или сразу ComboBox2.Text:='Password1';
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
Satana
Дата 9.12.2004, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: 1
Всего: 5



Цитата(Patrius @ 9.12.2004, 08:49)
Vladimir13
Цитата

интересно а что ты предложишь если ентих самых обьектов окло 15 - 20....

А можно очень просто решить эту проблему помести все компоненты на Panel, и растяни ее на всю форму и простым движением
Panel1.visible:=true

Компоненты на панели становятся видимыми smile


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Ddddddelphi
Дата 9.12.2004, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 1.12.2004

Репутация: нет
Всего: нет



Программист может поместить любой код до обращения к методу Application.Run. В частности, он может показать диалоговое окно с запросом пароля и блокировать вызов Application.Run, если введенный пользователем пароль неверен. В следующем примере в проекте используются две формы: стандартная форма InputQuery и главная форма MainForm. Форма InputQuery создается при обращении к одноименной функции, определенной в модуле Dialogs. Она представляет собой небольшое диалоговое окно с однострочным редактором TEdit и двумя кнопками — ОК и Cancel. В окне пользователь должен ввести пароль (Delphi) и нажать Enter.

Код

program Password;
 
uses
 Forms,
 Dialogs,  // В этом модуле определена функция InputQuery  
 Unit1 in 'Unit1.pas' {MainForm};
 
{$R *.RES}
var
 Passwrd: String;
begin
 // Запрашиваем пароль:
 if InputQuery('Окно ввода пароля','Введите пароль:',Passwrd)    then
 // Проверяем его:
 if Passwrd = 'Delphi' then
 begin  // Все в порядке, пароль верен
   Application.CreateForm(TMainForm, MainForm);
   Application.Run;
 end else
   ShowMessage('Пароль не верен!');
end.

PM MAIL   Вверх
Vladimir13
Дата 9.12.2004, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 1



c учетом того что AlexSn - - новичок, то ему будет понятнее мой способ, оптимизированный Satana.
Satana - умное решение, я не догадался smile
--------------------
Лучший метод - метод тыкаобращаться по адресу: mvdr
PM MAIL ICQ   Вверх
SlaUr
Дата 9.12.2004, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



В JEDI есть специальна компонета - login,Pasword
Если ее кинуть на главную форму то перед открытием формы возникнет окно где нужно ввести логин и пасворд.
PM MAIL   Вверх
Zero
Дата 9.12.2004, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Ddddddelphi, ты тоже пользуешься книгой В. Фаронов, из Delphi6. smile
PM MAIL ICQ   Вверх
Ddddddelphi
Дата 9.12.2004, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 1.12.2004

Репутация: нет
Всего: нет



нет у меня Фаронов Delphi 5, а приведённый мной код по-моему он писал, но только я нашёл это в инете в статейтке "Заметки прграммиста". А тебе его книга понравилась? Уж слишком у него всё поверхностно описывается... сейчас читаю Архангельского..... smile
PM MAIL   Вверх
Zero
Дата 10.12.2004, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата(Ddddddelphi @ 9.12.2004, 19:49)
А тебе его книга понравилась? Уж слишком у него всё поверхностно описывается...

Конечно, понравилась!!! Я с ней только и работаю, и ещё с форумом. smile
И вовсе там не поверхносно описано, там описано основа Delphi, а дальше к основным компонентам свойства. Начинал учить по ней с нуля (за исключением того что уже знал Паскаль), и помоему боле-менее научился, по крайней мере получил представление о Delphi. smile
PM MAIL ICQ   Вверх
RA
Дата 10.12.2004, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Цитата(Ddddddelphi @ 9.12.2004, 10:25)

program Password;

uses
Forms,
Dialogs,  // В этом модуле определена функция InputQuery 
Unit1 in 'Unit1.pas' {MainForm};

{$R *.RES}
var
Passwrd: String;
begin
// Запрашиваем пароль:
if InputQuery('Окно ввода пароля','Введите пароль:',Passwrd)    then
// Проверяем его:
if Passwrd = 'Delphi' then
begin  // Все в порядке, пароль верен
   Application.CreateForm(TMainForm, MainForm);
   Application.Run;
end else
   ShowMessage('Пароль не верен!');
end.



Хочу добавить, юзание выше описанного примера совершенно безполезно
если строка:
Код

 Application.CreateForm(TForm1, Form1);

небыла удалена, из Project.dpr.

Это сообщение отредактировал(а) RAdmin - 10.12.2004, 01:37
PM   Вверх
J. Bravo
Дата 10.12.2004, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 23.10.2004

Репутация: нет
Всего: нет



Цитата(Vladimir13 @ 9.12.2004, 08:14)
при нажатие на клавишу считывать ее код в строку ( а:string ), а в Edit печатать *.

Для этого нужно использовать свайство PasswordChar.
Например, так:
Код
Edit1.PasswordChar := '*';

PM   Вверх
Medved
Дата 11.12.2004, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата(Zero @ 9.12.2004, 22:24)
Ddddddelphi, ты тоже пользуешься книгой В. Фаронов, из Delphi6. smile


Фараонова я вообще не воспринимаю. Много и ни о чем. ИМХО единственный грамотный русскоязычный автор - Шумаков, другие только вату катают. Если хотите получить профессиональные знания, даже если вы только начинающий, то я бы порекомендовал книги зарубежных авторов.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0753 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.