欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

贴个注册机 (2千字)

贴个注册机 (2千字)

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmMain *frmMain;
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::sbExitClick(TObject *Sender)
{
    Close();   
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::Image1DblClick(TObject *Sender)
{
    Application->MessageBoxA("Http://********", "Welcome", NULL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::sbCopyClick(TObject *Sender)
{
    if(edtCode->Text.IsEmpty())
        return;
    // copy to clipboard
    Clipboard()->SetTextBuf(edtCode->Text.c_str());
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::sbComputeClick(TObject *Sender)
{
    char cMixer[31]={0x48,0xEE,0x76,0x1D,0x67,0x69,0xA1,0x1B
                    ,0x7A,0x8C,0x47,0xF8,0x54,0x95,0x97,0x5F
                    ,0x78,0xD9,0xDA,0x6C,0x59,0xD7,0x6B,0x35
                    ,0xC5,0x77,0x85,0x18,0x2A,0x0E,0x52};
    char *pName;        //point to edtName->Text
    int i, nLen;        //Counter, Length of Name
    nLen=edtName->Text.Length();
    // check if name leagle
    if(nLen==0)
        return;
    if(nLen<4)
    {
        Application->MessageBoxA("ah!!Name should be at least 4 characters.", "Dennied", NULL);
        return;
    }
    if(nLen>31)
    {
        Application->MessageBoxA("Don't u think your Name is too long?", "Dennied", NULL);
        return;
    }
    pName=edtName->Text.c_str();
    // generate RegCode here
    for(i=0; i<nLen; i++)
    {
        cMixer[i]^=*(pName+i);
        while(cMixer[i]<0x30)
            cMixer[i]+=3;
        while(cMixer[i]>0x39)
            cMixer[i]-=3;
    }
    cMixer[i]='\0';
    // show it now
    edtCode->Text=cMixer;
    // select name for another input
    edtName->SelectAll();
}
//---------------------------------------------------------------------------

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功