Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Делаем регистрацию для своей программы
Наверняка, если ты напишешь супер программу ты захочешь на ней бабло заработать. Вот только может хрень такая получиться, ты продашь челу программу, а он начнет ее распространять (создавать сайты всякие, на болванки скидывать(и продавать)). Так чтоб этого избежать, т.е. защитить свою программу от пиратов и злых дядек, надо сделать регистрацию программы. Т.е. программой сможет пользоваться только тот кто заплатил за нее деньги, и зарегистрировал. Надо сделать так, что б на каждом компе был свой серийный номер и ключ, т.к. если у всех будут одинаковые ключи и с/н то ты продашь ее одному челу, а он начнет всем говорить коды. Ну, тянуть не буду, скажу идею: На форме 2 текст. поля, первое текст. поле это с/н, при первом запуске программы в заныканый файл(или реестр) записывается случайный с/н(RND). Второе текстовое поле, это ключ. Он высчитывается в зависимости от с/н, по определенной формуле(например ключ = с/н * 3/555+1). Так вот, чел присылает тебе свой с/н(а он на каждом компе свой) + бабло, а ты ему ключ. Идею понял?? Ну тогда начнем`с:
Теперь подайдем к коду: Dim SNPath As String ' В этой переменной будет храниться путь к заныканому файлу с с/н Dim GetReestr As String ' В эту переменную будет читаться данные из реестра Dim Serial As String ' А эта переменная, будет загружать в текст. поле 1 с/н из файла Function Start() ' Эта функция будет выполняться если программа зарегистрирована End ' Я написал End, а ты можешь сюда что - нбудь по умнее вставить End Function Private Sub Form_Load() Randomize ' Этот оператор нужен для того, чтоб всегда генерировались случайные числа(RND(ты что забыл??)) On Error Resume Next ' Если происходит ошибка, то игнорируем ее GetReestr = GetSetting(" proga", " serial", " serial") ' Читаем из реестра значение параметра serial(если serial = 0, значит программа не зарегистрированая, а если 1 то зарег-на) SNPath = Environ(" windir") & " key.sn" ' В переменную SNPath - записываем путь к заныканому в папке windows файлу key.sn f = FreeFile If Val(GetReestr) < > 1 Then ' Если GetReestr не равен 1, то продолжаем регистрацию, если же = 1, то программа уже зарегистрирована If Dir(SNPath) = " " Then ' Если файла с с/н не существует, то: Text1.Text = Fix(Rnd * 8000000000#) ' Генерируем случайное число(в любом пределе, можно вместо 8 с деветью нулями написать любое число), и округляем его(Fix()) Serial = Text1.Text ' Это число записываем в перем. Serial Open SNPath For Output As f ' Открываем заныканный файл Print #f, Text1.Text ' Записываем в него с/н из текст. поля 1 Close #f ' Закрываем SaveSetting " proga", " serial", " serial", 0 ' Записываем в реестр параметр Serial со значением 0(ноль означает что программа не зарегистрирована) Else ' Если же файл существует, то читаем из него с/н Open (SNPath) For Input As fSerial = Val(Input(LOF(f), f))Text1.Text = Serial ' В текс. поле помещаем с/н Close #f End IfElse ' Если же в реестре параметр Serial = 1(программа зарег-на), то запускаем функцию Start Start End IfEnd Sub Private Sub Command1_Click() ' При нажатии на кнопку: Text1.Text = Serial ' Копируем в текст. поле значение переменной serial(на случай, если чел изменил текст в текст. поле 1) If Text2.Text = Fix(Val(Serial) * 3 + 333 / 2) Then ' Вот самое интересное: -), если текст. поле 2(ключ) равен с/н умноженному на 3 + 333 / 2 SaveSetting " proga", " serial", " serial", 1 MsgBox " Программа зарегистрирована" Start ' Запускаем функцию Start Else MsgBox " Введен не правильный ключ!!! Для регистрации отправь автору программы с/н и $, а он вышлет тебе ключ" End IfEnd Sub
Генератор ключа на visual basic Хотя этот шаг не стоило писать, т.к. это очень примитивная программка. Эта програмка будет по с/н(который пришлет покупатель программы) делать ключ:
Теперь код: Private Sub Command1_Click()Text2.Text = Fix(Val(Text1.Text) * 3 + 333 / 2) ' По С/Н узнаем ключ End Sub
Клавиатура на visual basic Dim L As Boolean ' Объявляем переменную L как Boolean, т.е. значение переменной может принимать только 2 значения, True и False. Если переменная L принимает значение True то объект двигается, если False - то стоит Dim R As Boolean Dim U As Boolean Dim D As Boolean Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer) ' При НАЖАТИИ на кнопку: If KeyCode = vbKeyLeft Then ' Если нажата клавиша Left: L = True ' L = True, т.е. объект двигается в лево R = False ' Если объект двигался вправо, то останавливаем его End If If KeyCode = vbKeyRight Then ' Если нажата клавиша Right: L = False ' Если объект двигался влево, то останавливаем его R = True ' Объект двигаем вправо End If ' Здесь аналогично If KeyCode = vbKeyUp Then U = True D = FalseEnd If If KeyCode = vbKeyDown Then D = True U = FalseEnd IfEnd Sub Private Sub Picture1_KeyUp(KeyCode As Integer, Shift As Integer) ' При ОТЖАТИИ кнопки: If KeyCode = vbKeyLeft Then L = False ' Если отжата кнопка влево, то останавливаем объект If KeyCode = vbKeyRight Then R = FalseIf KeyCode = vbKeyUp Then U = FalseIf KeyCode = vbKeyDown Then D = FalseEnd Sub Private Sub Timer1_Timer() ' Здесь я думаю все понятно If L = True Then Picture1.Left = Picture1.Left - 20 If R = True Then Picture1.Left = Picture1.Left + 20 If U = True Then Picture1.Top = Picture1.Top - 20 If D = True Then Picture1.Top = Picture1.Top + 20 End Sub
Отправка письма Public Function SendMail(adresant As String, adresat As String, adresantpass As String, mailsubj As String, mailbody As String, smtpservak As String, Optional mailattach1 As String)Set iMsg = CreateObject(" CDO.Message")Set iConf = CreateObject(" CDO.Configuration")Set Flds = iConf.FieldsFlds.Item(" https://schemas.microsoft.com/cdo/configuration/sendusing") = 2Flds.Item(" https://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1Flds.Item(" https://schemas.microsoft.com/cdo/configuration/sendusername") = adresantFlds.Item(" https://schemas.microsoft.com/cdo/configuration/sendpassword") = adresantpassFlds.Item(" https://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpservak Flds.Item(" https://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 Flds.UpdateiMsg.Configuration = iConfiMsg.To = adresatiMsg.From = adresantiMsg.Subject = mailsubjiMsg.TextBody = mailbodyIf mailattach1 < > " " TheniMsg.AddAttachment = mailattach1End IfiMsg.SendSet iMsg = NothingSet iConf = NothingSet Flds = NothingEnd Function
Усыпление программы В VBS есть функция wscript.sleep, позволяющая усыпить скрипт. Но как такое сделать в VB? Ответ прост: делаем новый модуль и пишем код: Public Declare Sub Sleep Lib " kernel32" (byval dwMilliseconds As Long)И все. Когда прогу нужно усыпить, просто пишем в коде проги, если например прога должна остановиться на 2 секунды то пишем Sleep 2000Этого способа нет на MSDN, я его сам отрыл
|