Дальше программа должна проверить : а в первый ли раз ее запускают, и если в первый, то сгенерировать серийный номер , показать его и записать в свою директорию в файл с именем 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 - Подведение итогов
Вы написали программу, но теперь вы сами должны знать как подобрать код к номеру. В общем то формула у вас есть, если хотите напишите программку подбирающую коды к серийным номерам (но никому не давайте), а если хотите сами подбирайте. Если вам уж очень лень писать подборщик - можете взять его отсюда. Если программа не работает, то вы можете взять исходники и покопаться в них. Желаю удачи.