Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2012, 11:18   #1
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию Ошибка с полем для пароля

Здравствуйте,я решил создать пароль для своей программы,это я пишу для окна с паролем:
Код:
procedure TPasswordDlg.FormCloseQuery(Sender: TObject; 
var CanClose: Boolean);
const p='password'; // Указываем пароль для программы
begin
if Password.Text = p then CanClose:=true
else Application.Terminate;
end; // Если пароль совпадает с константой p - появится главная форма, если нет - программа закончит работу
А это в главной форме Form1:
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
PasswordDlg.ShowModal;
end;
Что не так?Просто запускаться не хочет





___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.09.2012 в 11:42.
qpuTuJlb вне форума Ответить с цитированием
Старый 13.09.2012, 11:52   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

зря поиском по форуму не пользуетесь!

Вот, например, сюда не пробовали заглянуть?

Готовый пример программы (c) BDA

или

Пароль для входа в программу

или
Пароль с количеством попыток!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.09.2012, 12:28   #3
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
зря поиском по форуму не пользуетесь!

Вот, например, сюда не пробовали заглянуть?

Готовый пример программы (c) BDA

или

Пароль для входа в программу

или
Пароль с количеством попыток!
ну вот хорошо а как тут пароль сменить?
Готовый пример программы (c) BDA
На какой бы не менял всеравно будет тот же самый
qpuTuJlb вне форума Ответить с цитированием
Старый 13.09.2012, 12:56   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
ну вот хорошо а как тут пароль сменить?
вот так:
Цитата:
Сообщение от BDA
Логин и пароль считываются из Settings.ini.
И тот и другой дважды зашифрованы sha1, т.е. строка в settings.ini - sha1(sha1(логин)).
Цитата:
Готовый пример программы (c) BDA
На какой бы не менял всеравно будет тот же самый
да?!

а на какой меняли? и, главное, ГДЕ меняли?

я проверил.
поменял в файле settings.ini
записал логин и пароль одинаковый хэш:
Цитата:
[Main]
Login=8BE64875D187CE458B5565072E927 62EBE34D1DE
Password=8BE64875D187CE458B5565072E 92762EBE34D1DE
проверил. всё работает! (и логин: admin и пароль admin)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.09.2012, 18:51   #5
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

а как мне тогда свой пароль зашифровать?
qpuTuJlb вне форума Ответить с цитированием
Старый 13.09.2012, 19:16   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

По поводу исходного вопроса: mainform создается раньше, чем PasswordDlg, в итоге когда срабатывает Form1.FormShow, PasswordDlg еще не существует. По идее код не то что не работать - выкидывать ошибку должен.

В качестве варианта предлагаю mainform сооздавать PasswordDlg, а в событие OnClose основной рабочей формы добавить строчку PasswordDlg.Close, тогда Ваше приложение будет закрываться.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 13.09.2012, 19:19   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,292
По умолчанию

Цитата:
Сообщение от qpuTuJlb Посмотреть сообщение
а как мне тогда свой пароль зашифровать?
http://www.tools4noobs.com/online_php_functions/sha1/
Вводите желаемый логин/пароль
Нажимаете "SHA1 this"
Копируете из строки Result полученный хеш в верхнее поле
Заменяете маленькие буквы на большие (заглавные)
Еще раз нажимаете "SHA1 this"
Еще раз переводите в верхний регистр и записываете в settings.ini
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.09.2012, 11:44   #8
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

Всем спасибо,понял
qpuTuJlb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с RDP. При вводе пароля ошибка Lauri Общие вопросы Delphi 4 08.01.2011 22:23
Создание класса с полем типа TStringList. Ошибка при его заполнении Son Общие вопросы Delphi 8 13.04.2010 21:38
Ошибка работы с blob полем, в похожем проекте все работает Lokos БД в Delphi 6 25.02.2010 08:17
Ошибка с пустым полем и 30.00 в Double Bobrik Общие вопросы .NET 6 25.05.2009 12:06
Сохранение пароля для расшифровки Lime Общие вопросы Delphi 25 01.03.2009 19:57