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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2007, 18:28   #1
Chals
 
Аватар для Chals
 
Регистрация: 04.06.2007
Сообщений: 7
По умолчанию Пароль на приложение

Помогите поставить пароль на приложение, типа раз ввел и приложение при последующих запусках его не спрашивает.
Может это с реестром, я не могу разобраться, ПОМОГИТЕ!!!
Chals вне форума Ответить с цитированием
Старый 10.06.2007, 10:45   #2
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

Можно поробовать создать форму-там 2 edit. Один раз правильно ввел пароль- в label2 выдается доступ разрешен и потом вы сохраняете это в файл(доступ разрешен). Естественно перед открытием первой формы надо поставить условие- чтение из файла куда вы изначально записали "доступ разрешен".(Первоначально туда можно вписать запрещено ит.п.). И потом при открытии формы спрашивать что написано в файле. Если "доступ разрешен" то form1.hide(форма с проверкой пароля).
bill вне форума Ответить с цитированием
Старый 10.06.2007, 13:29   #3
VDLab
Embedder
Пользователь
 
Аватар для VDLab
 
Регистрация: 01.11.2006
Сообщений: 68
По умолчанию

Можно либо через TRegIniFile(запись в реестре) либо через WinIniFile(Ini файл в системной папке)
При запуске приложения проверяешь наличие определенного ключа в реестре(ну или Ini файла в сис папке), если его нет, значит пароль еще не вводился, запросить пароль, пароль совпал- создаешь ключ в реестре(тот, который при след. запусках проверять будешь). Как работать с ними, можно увидеть в делфёвом хелпе. Если уж совсем туго будет с пониманием выложу примерный алгоритм( а то сейчас лениво как то , воскресенье все таки)
[SHIFT] вправо, [SHIFT] влево считается [ESCAPE]ом и карается REBOOTом!
VDLab вне форума Ответить с цитированием
Старый 21.06.2007, 09:15   #4
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Помогите поставить пароль на приложение, типа раз ввел и приложение при последующих запусках его не спрашивает.
Для твоего случая можно придумать кучу всякого. Так, навскидку:

1. При запуске приложения проверяется наличие какого-нибудь файла. Если он отсутсутствует - ввод пароля и при верном вводе создать этот файл.
Плюсы: Самый простой способ, не требует специальных ресурсов, не засоряет системный реестр, не оставляет следов после деинсталяции проги.
Минусы: Продвинутые юзьвери могут стереть этот файл, посчитав его излишним. Ну ,тогда, пусть пеняют на себя и вводят пароль снова.

2. Сохранить отметку о вводе пароля в .ini файле (если он у тебя есть) вместе со всякой лабудой типа сохранения оконных параметров, настроек твоей проги и т.д.
Плюсы: Не засоряет системный реестр, меньше вероятность удаления этого файла.
Минусы: Требует подключение модуля IniFiles для работы с инициализационными файлами в приложении. Требуется программа деинсталяции чтобы не забыть удалить .ini файл при удалении программы (по умолчанию эти файлы хранятся в системном каталоге Windows).

3. (самое распространенное) Сохранить отметку в системном реестре. В системном реестре программеры хранят множество всякой билеберды, в том числе и пароли.
Плюсы: Такую запись простому юзьверю трудно найти, удалить или испортить.
Минусы: Требует подключения модуля Registry для работы с системным регистром. Раздувается системный реестр. Все эти данные все время болтаются памяти машины, даже когда они не нужны для работы. Требуется программа деинсталяции чтобы удалить записи из системного реестра (хороший тон диктует подчищать за собой заср..ки).

Работать с системным реестром элементарно. Можешь почитать, например, в книжке Гофман В.Э., Хменко А.Д. "Delphi 6" главу "Работа с системным реестром" или в любой другой подобной книге.
В чатности, предлагаю попробовать что-то типа следующего:

Код:
 
uses
      ..., Registry;
. . .
procedure Parol;
var 
     rgExample: TRegistry;
begin
  //создаю экземпляр класса TRegistry
  rgExample:=TRegisry.Create;
  //указываю текущий корневой раздел
  rgExample.RootKey:=HKEY_LOCAL_MACHINE;
  try   
    if NOT rgExample.OpenKey('\MyParol', false) then
    begin
      //если не могу открыть ключ HKEY_LOCAL_MACHINE\MyParol
     //вызов окна пароля
     . . .
     //проверка пароля
      if ...   then 
         //создаю этот ключ и отрываю его
         if NOT rgExample.OpenKey('\MyParol', true) 
         then ShowMessage('Не могу создать ключ');
      end;
   end;
 finally
    rgExample.CloseKey;
    rgExample.Free;
  end;
end;
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 21.06.2007, 11:27   #5
Трофимов Александр
Форумчанин
 
Аватар для Трофимов Александр
 
Регистрация: 03.11.2006
Сообщений: 321
По умолчанию

Я делал в своё время первым пунктом, только при этом пароль программы менялся в зависимости от серийного номера диска, где стоит windows. Как определить где папка windows - примеров много, как определить серийный номер диска - тоже, программа преобразует его по определённому алгоритму к виду, который является паролем и сравнивает с тем, что ввёл пользователь. Хранится всё в папке Window в файле, причём, расширение ставиши, чтобы запутать пользователя. Там же (в файле можно хранить и дату преобразованную по такому же принципу) это чтобы по времени проги создавать. Да и хранишь не пароль, а например серийник диска. При загрузке читаешь инфу из файла, сравниваешь не закончился ли срок работы проги, соответствует ли серийный номер диска текущему и усё. Если нет, то можно чтоб прога громко материлась на попытку нелегального копирования и закрывалась.
Трофимов Александр вне форума Ответить с цитированием
Старый 24.11.2007, 19:01   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от Chals Посмотреть сообщение
Помогите поставить пароль на приложение, типа раз ввел и приложение при последующих запусках его не спрашивает.
Может это с реестром, я не могу разобраться, ПОМОГИТЕ!!!
На лови исходник: вообщем запусти exe тебе выпадет окошко введи слово st и получишь сообщение о успешной регистрации следующий раз прога просить не чего не будет..... все храниться в ini вообщем там там строчка 2 не нужна в ини посмотри исходник переделай под себя.... в смысли не нужное убери...
Вложения
Тип файла: rar Взять.rar (173.5 Кб, 51 просмотров)
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 24.11.2007, 21:32   #7
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от Stanislav Посмотреть сообщение
На лови исходник: вообщем запусти exe тебе выпадет окошко введи слово st и получишь сообщение о успешной регистрации следующий раз прога просить не чего не будет..... все храниться в ini вообщем там там строчка 2 не нужна в ини посмотри исходник переделай под себя.... в смысли не нужное убери...
Извенякуюсь забыл удали в ini после Password = st
иначе прога не будет просить зарегиться....
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пароль на Windows ZvukOFF Безопасность, Шифрование 13 21.04.2009 09:08
Пароль Terran Общие вопросы Delphi 2 12.02.2008 22:32
Пароль Михаил Юрьевич Общие вопросы Delphi 3 06.02.2008 16:44
Пароль в BDE sander БД в Delphi 4 28.10.2007 11:16
Про пароль icq! sis Безопасность, Шифрование 2 03.05.2007 20:55