Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.11.2010, 22:15
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
Смущение Как вернуться обратно?

Здраствуйте, я хочу сделать чтобы при заходе в программу у пользователя спрашивало ключ вот это я сделал. Вопрос будет ниже, вот весь код.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  value : string;
  lol : Integer;
  lol2 : Integer;

implementation

{$R *.dfm}

begin
  // Спрашиваем у полльзователя ключ
  repeat
    if not InputQuery('Активация программы', 'Пожалуйста, введите ключ диска', value)
    then ShowMessage('Идет онлайн активация, этого делать нельзя!');
  until value <> '';

  //проверяем ключ
  if value='AAAA-AAAA-AAAA-AAAA' then
 lol :=  MessageDlg('Ключ введен правильно! Пользуйтесь на здоровье:)',mtWarning, mbOKCancel, 0) else
 lol2 :=  MessageDlg('Возможно вы ошиблись, попробуйте снова!',mtError, mbOKCancel, 0);

 // Показ выбранной кнопки на переменной 'lol'
  if lol = mrCancel then ?????11111;

  // Показ выбранной кнопки на переменной 'lol2'
  if lol2 = mrCancel then  ??????22222;
  if lol2 = mrOK then ???????33333;
end.

Хочу чтото вставить в этой строке вместо знаков вопроса чтобы при нажатии на кнопку это окошко закрывалось т.е программа прекращала работать
Код:
// Показ выбранной кнопки на переменной 'lol'
  if lol = mrCancel then ?????11111;


тоже самое и с этой строчкой
Код:
  // Показ выбранной кнопки на переменной 'lol2'
  if lol2 = mrCancel then  ??????22222;

ну а с этой строчкой
Код:
  if lol2 = mrOK then ???????33333;
чтобы программа опять возвращало сюда
Код:
begin
  // Спрашиваем у полльзователя ключ
  repeat
    if not InputQuery('Активация программы', 'Пожалуйста, введите ключ диска', value)
    then ShowMessage('Идет онлайн активация, этого делать нельзя!');
  until value <> '';......

Вот и все! Заранее благодарен!
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #2  
Старый 03.11.2010, 22:24
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Просто:
Код:
if value='AAAA-AAAA-AAAA-AAAA' then
begin

// тут код программы

end

else

begin
//тут если ключ не верен
end;

Опять же, стоит помнить что всегда можно дисассемблировать программунайти строку с if-ом и проставить
PHP код:
if true then 

И тогда не нужен будет никакой код активации.

Последний раз редактировалось Konrad, 03.11.2010 в 22:27.
Ответить с цитированием
  #3  
Старый 03.11.2010, 23:57
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

В коде программы хранить ключ конечно не стоит, тут даже дизасемблер может не понадобится. Можно несколько осложнить жизнь злоумышленнику, если ключ будет задаваться извне и сам ключ будет использован для расшифровки всех текстовых ресурсов. Бредовые сообщения на формах, вместо нормальных надписей малопривлекательны.
Но хорошей защитой это конечно назвать будет нельзя.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 04.11.2010, 00:08
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

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

А вобщем, на месте автора париться с защитой не стоит.
Так как пишется, судя по вопросам, скорей всего что-то типа нового калькулятора или блокнота, который ломать никто не будет.
Ответить с цитированием
  #5  
Старый 04.11.2010, 04:42
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ответ простой. application.terminate.
Ответить с цитированием
  #6  
Старый 04.11.2010, 10:52
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ответ простой. application.terminate.
вот как-раз мне это и нужно просто позабыл) спасибо всем! тема закрыта!
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025