Серийный номер - продолжение

Дальше программа должна проверить : а в первый ли раз ее запускают, и если в первый, то сгенерировать серийный номер , показать его и записать в свою директорию в файл с именем sn.

If Dir("sn") = "" Then -Если нет файла sn - то есть программа запущена в первый раз то...

sn = Int(Rnd * 2000000) -Генерируем слуйчайный серийный номер

txtSN = sn -Записываем его в TextBox

Open "sn" For Output As #1 -Открываем файл sn для записи

Print #1, sn -Записываем в него переменную sn

Close #1 -Закрываем файл

Else -Иначе - то есть если файл sn - есть

Open "sn" For Input As #1 -Открываем файл sn для вынимания из него данных

Input #1, sn -Вытаскиваем из него переменную sn

Close #1 -Закрываем файл

txtSN = sn -Записываем серийный номер в TextBox

End If

Поздравляю половину программы вы уже сделали. Осталось совсем чуть-чуть. Но теперь и начинается самое интересное. Дело в том, что нужно проверит соответствие серийного номера - регистрационному коду. А так как номера у нас все время разные - то для их взаимосвязи нужна какая-либо формула. Например код должен быть равен номер поделить на 2. Но такой код быстро раскусят, найдут эту формулу. Итак : формула будет такая , делим номер на 2, округляем результат , и прибавляем 19 -это и будет код. Конечно такой код раскустить очень легко. Но вы можете придумать свой код, который не раскусят так быстро ( любую защиту можно обойти ). Итак, пишем в коде кнопки регистрация :

On Error GoTo 1 -При ошибке - идти на метку 1

rc = txtRC -Придаем значение переменной rc

result = Int (sn / 2) - Делим серийный номер на 2

result = result + 19 - Прибавляем к результату 19

If rc = result Then - Если получившееся число - целое то...

MsgBox "Спасибо за регистрацию", vbExclamation

reg = "1" - Регистрация равна 1 - зарегистрированно

Open "c:\r.txt" For Output As #2 -Открываем файл r.txt для записи

Print #2, reg -Записываем в него переменную reg

Close #2 -Закрываем его

prog.Show - Показываем форму prog

frmsn.Hide - Прячем форму frmsn

Else 'Иначе, то есть если результат не целое число

MsgBox "Извините, но код неверен", vbCritical

End If- Заканчиваем проверку

Exit Sub -Нужно для того, чтобы программа не пошла на метку 1

1 - Метка 1

MsgBox "Неправильно введен регистрационный код", vbCritical

Все.Программа готова, но нужно еще сделать несколько мелочей. В коде кнопки "О регистрации" напишите :

MsgBox "Для регистрации вы должны написать по адресу timurkar@mail.ru и указать ваш серийный номер", vbInformation - вместо timurkar@mail.ru напишите свой адрес или что то типа этого

В коде кнопки "Выход" - напишите

End


Шаг №4 - Подведение итогов

Вы написали программу, но теперь вы сами должны знать как подобрать код к номеру. В общем то формула у вас есть, если хотите напишите программку подбирающую коды к серийным номерам (но никому не давайте), а если хотите сами подбирайте. Если вам уж очень лень писать подборщик - можете взять его отсюда. Если программа не работает, то вы можете взять исходники и покопаться в них. Желаю удачи.

Используются технологии uCoz