你要的国产编程语言CBrother来了!GUI桌面开发,只要33行代码

简单的桌面创建

创建app.cb

import lib/windows/CustomWindow
//窗口基类
class App extends CustomWindow
{
    //结构函数
	function App(config)
	{
        //创建窗口
        var  title= config.get("title");
        var  width  = config.get("width");
        var  height = config.get("height");
        var  left   = config.get("left");  //窗口距离左边距离
        var  top    = config.get("top");  //窗口右边距离
         super(title); 
         //创建窗口函数
         createWindow(title,(WS_OVERLAPPEDWINDOW ^ WS_THICKFRAME & ~WS_MAXIMIZEBOX) | WS_CLIPSIBLINGS | WS_POPUP,left,top,width,height,null);
    }
    //运行窗口
    function run()
    {
        super.run();  //调用基类窗口运行
    }
}
function main(parm)
{
    var  config = {"title":"演示窗口","width":500,"height":300,"left":248,"top":"100","WindowState":"fullscreen","BackgroundColor":"#000"};
    var app =  new App(config);
    app.createButtom("提交",5,185,60,60,7);
    app.createStaticText("hello world",10,10,150,20);
    app.createEditBox(150,10,100,20);
    app.run();
}

命令行启动:

你要的国产编程语言CBrother来了!GUI桌面开发,只要33行代码


执行效果:

你要的国产编程语言CBrother来了!GUI桌面开发,只要33行代码


LOL 工具


import lib/windows/CustomWindow

class LolToolsWin extends CustomWindow
{
    var m_ZoneIDComboBox = null;
    var m_GameModeComboBox = null;
    var m_QQEditBox = null;
    var m_PlayerIDEditBox = null;
    var m_PlayerNameEditBox = null;
    var m_RankComboBox = null;

    var m_Team1ID = new Array();
    var m_Team1Name = new Array();

    var m_Team2ID = new Array();
    var m_Team2Name = new Array();

    //var 
    var m_WinCheckBox = null;
    var m_GradeComboBox = null;
    var m_GameIDEditBox = null;
    var m_PathEditBox = null;

    var m_killcntEditBox = null;
    var m_assistsEditBox = null;
    var m_deathsEditBox = null;
    var m_killspreeEditBox = null;
    var m_killmulEditBox = null;
    var m_GoldEditBox = null;
    var m_minionskillEditBox = null;

    var m_ZoneID = [257,513,769,1025,1281,1537,1793,2049,2305,2561,2817,3073,3329,3585,3841,4097,4353,
    4609,4865,258,514,770,1026,1282,1538,1794,65539,261];

    var m_GameMode = ["CLASSIC","CLASSIC","ARAM","TFT"];
    var m_QueueType = ["NORMAL","","",""];

    var m_RankName = ["","iron","bronze","silver","gold","platinum","diamond","master","grandmaster","challenger"];

    function LolToolsWin()
    {
        super("loltoolswin");
        setBackground(COLOR_WINDOW);
        setIcon(GetRoot() + "11_2.ico");
        createWindow("LOL战绩伪造工具",
        (WS_OVERLAPPEDWINDOW ^ WS_THICKFRAME & ~WS_MAXIMIZEBOX) | WS_CLIPSIBLINGS | WS_POPUP,
        400,200,860,510,null);        
        //var a = -1798569908;
        //createWindow("loltoolswin",a,400,200,272,480,null);        
        
    }

    function onCreate()
    {
        this.createStaticText("大区:",10,30,70,20);

        m_ZoneIDComboBox = this.createComboBox(90,30,140,200);  
        m_ZoneIDComboBox.addString("艾欧尼亚");
        m_ZoneIDComboBox.addString("祖安");
        m_ZoneIDComboBox.addString("诺克萨斯");
        m_ZoneIDComboBox.addString("班德尔城");
        m_ZoneIDComboBox.addString("皮尔特沃夫");
        m_ZoneIDComboBox.addString("战争学院");
        m_ZoneIDComboBox.addString("巨神峰");
        m_ZoneIDComboBox.addString("雷瑟守备");
        m_ZoneIDComboBox.addString("裁决之地");
        m_ZoneIDComboBox.addString("黑色玫瑰");
        m_ZoneIDComboBox.addString("暗影岛");
        m_ZoneIDComboBox.addString("钢铁烈阳");
        m_ZoneIDComboBox.addString("水晶之痕");
        m_ZoneIDComboBox.addString("均衡教派");
        m_ZoneIDComboBox.addString("影流");
        m_ZoneIDComboBox.addString("守望之海");
        m_ZoneIDComboBox.addString("征服之海");
        m_ZoneIDComboBox.addString("卡拉曼达");
        m_ZoneIDComboBox.addString("皮城警备");
        m_ZoneIDComboBox.addString("比尔吉沃特");
        m_ZoneIDComboBox.addString("德玛西亚");
        m_ZoneIDComboBox.addString("弗雷尔卓德");
        m_ZoneIDComboBox.addString("无畏先锋");
        m_ZoneIDComboBox.addString("恕瑞玛");
        m_ZoneIDComboBox.addString("扭曲丛林");
        m_ZoneIDComboBox.addString("巨龙之巢");
        m_ZoneIDComboBox.addString("教育网专区");
        m_ZoneIDComboBox.addString("男爵领域");
        m_ZoneIDComboBox.setCurSel(0);

        this.createStaticText("Q Q:",10,70,70,30);

        m_QQEditBox = this.createEditBox(90,70,135,28);

        this.createStaticText("PlayerID:",10,110,70,30);

        m_PlayerIDEditBox = this.createEditBox(90,110,135,28);

        this.createStaticText("Name:",10,150,70,30);

        m_PlayerNameEditBox = this.createEditBox(90,150,135,28);

        this.createStaticText("段位:",10,190,70,30);

        m_RankComboBox = this.createComboBox(90,190,140,300);
        m_RankComboBox.addString("无");
        m_RankComboBox.addString("黑铁");
        m_RankComboBox.addString("青铜");
        m_RankComboBox.addString("白银");
        m_RankComboBox.addString("黄金");
        m_RankComboBox.addString("铂金");
        m_RankComboBox.addString("钻石");
        m_RankComboBox.addString("超凡大师");
        m_RankComboBox.addString("傲视宗师");
        m_RankComboBox.addString("最强王者");
        m_RankComboBox.setCurSel(0);        

        this.createStaticText("模式:",10,230,70,30);

        m_GameModeComboBox = this.createComboBox(90,230,140,150);        
        m_GameModeComboBox.addString("匹配");
        m_GameModeComboBox.addString("排位");
        m_GameModeComboBox.addString("大乱斗");
        m_GameModeComboBox.addString("云顶之弈");
        m_GameModeComboBox.setCurSel(0);

        this.createStaticText("GameID:",10,270,70,30);
        m_GameIDEditBox = this.createEditBox(90,270,135,28);

        this.createGroupBox("队伍1",400,5,440,210);
        this.createStaticText("ID1:",410,30,40,30);
        m_Team1ID.add(this.createEditBox(455,30,150,28));
        this.createStaticText("名字1:",610,30,60,30);
        m_Team1Name.add(this.createEditBox(675,30,150,28));

        this.createStaticText("ID2:",410,65,40,30);
        m_Team1ID.add(this.createEditBox(455,65,150,28));
        this.createStaticText("名字2:",610,65,60,30);
        m_Team1Name.add(this.createEditBox(675,65,150,28));  

        this.createStaticText("ID3:",410,100,40,30);
        m_Team1ID.add(this.createEditBox(455,100,150,28));
        this.createStaticText("名字3:",610,100,60,30);
        m_Team1Name.add(this.createEditBox(675,100,150,28));  

        this.createStaticText("ID4:",410,135,40,30);
        m_Team1ID.add(this.createEditBox(455,135,150,28));
        this.createStaticText("名字4:",610,135,60,30);
        m_Team1Name.add(this.createEditBox(675,135,150,28));

        this.createStaticText("ID5:",410,170,40,30);
        m_Team1ID.add(this.createEditBox(455,170,150,28));
        this.createStaticText("名字5:",610,170,60,30);
        m_Team1Name.add(this.createEditBox(675,170,150,28));

        this.createGroupBox("队伍2",400,220,430,210);
        this.createStaticText("ID1:",410,245,40,30);
        m_Team2ID.add(this.createEditBox(455,245,150,28));
        this.createStaticText("名字1:",610,245,60,30);
        m_Team2Name.add(this.createEditBox(675,245,150,28));

        this.createStaticText("ID2:",410,280,40,30);
        m_Team2ID.add(this.createEditBox(455,280,150,28));
        this.createStaticText("名字2:",610,280,60,30);
        m_Team2Name.add(this.createEditBox(675,280,150,28));  

        this.createStaticText("ID3:",410,315,40,30);
        m_Team2ID.add(this.createEditBox(455,315,150,28));
        this.createStaticText("名字3:",610,315,60,30);
        m_Team2Name.add(this.createEditBox(675,315,150,28));   

        this.createStaticText("ID4:",410,350,40,30);
        m_Team2ID.add(this.createEditBox(455,350,150,28));
        this.createStaticText("名字4:",610,350,60,30);
        m_Team2Name.add(this.createEditBox(675,350,150,28));   

        this.createStaticText("ID5:",410,385,40,30);
        m_Team2ID.add(this.createEditBox(455,385,150,28));
        this.createStaticText("名字5:",610,385,60,30);
        m_Team2Name.add(this.createEditBox(675,385,150,28));

        this.createGroupBox("战斗数据",240,5,150,350);
        this.createStaticText("击杀:",245,30,50,30);
        m_killcntEditBox = this.createEditBox(300,30,75,28);

        this.createStaticText("助攻:",245,65,50,30);
        m_assistsEditBox = this.createEditBox(300,65,75,28);

        this.createStaticText("死亡:",245,100,50,30);
        m_deathsEditBox = this.createEditBox(300,100,75,28);

        this.createStaticText("连杀:",245,135,50,30);
        m_killspreeEditBox = this.createEditBox(300,135,75,28);

        this.createStaticText("多杀:",245,170,50,30);
        m_killmulEditBox = this.createEditBox(300,170,75,28);        

        this.createStaticText("金币:",245,205,50,30);
        m_GoldEditBox = this.createEditBox(300,205,75,28);

        this.createStaticText("补兵:",245,240,50,30);
        m_minionskillEditBox = this.createEditBox(300,240,75,28);

        this.createStaticText("评分:",245,275,50,30);
        m_GradeComboBox = this.createComboBox(300,275,75,150);
        m_GradeComboBox.addString("无");
        m_GradeComboBox.addString("S+");
        m_GradeComboBox.addString("S");
        m_GradeComboBox.addString("S-");
        m_GradeComboBox.addString("A+");
        m_GradeComboBox.addString("A");
        m_GradeComboBox.addString("A-");
        m_GradeComboBox.addString("B+");
        m_GradeComboBox.addString("B");
        m_GradeComboBox.addString("B-");  
        m_GradeComboBox.addString("C+");
        m_GradeComboBox.addString("C");
        m_GradeComboBox.addString("C-");
        m_GradeComboBox.addString("D+");
        m_GradeComboBox.addString("D");
        m_GradeComboBox.addString("D-");
        m_GradeComboBox.setCurSel(0);

        this.createStaticText("胜:",245,310,50,30);
        m_WinCheckBox = this.createCheckBox("",300,310,75,30);                

        this.createButtom("登录",20,380,110,50,1);
        this.createButtom("开始",150,380,110,50,2);
        this.createButtom("结束",280,380,110,50,3);

        this.createStaticText("生成路径:",10,440,100,30);
        m_PathEditBox = this.createEditBox(120,440,650,28);

        Init();
    }

    function onCommand(cmdid)
    {
        if (cmdid == 1)
        {
            onLogin();
        }
        else if (cmdid == 2)
        {
            onGameBegin();
        }
        else if (cmdid == 3)
        {
            onGameEnd();
        }
    }

    function onLogin()
    {
        Save();
        var path = m_PathEditBox.getWindowText();
        if (strlen(path) <= 0)
        {
            MessageBox(m_hWnd,"没有配置路径","错误",MB_OK | MB_ICONERROR);
            return;
        }

        var QQ = m_QQEditBox.getWindowText();    
        if (strlen(QQ) <= 0)
        {
            MessageBox(m_hWnd,"没有配置QQ号","错误",MB_OK | MB_ICONERROR);
            return;
        }        

        var playerId = m_PlayerIDEditBox.getWindowText();
        if (strlen(playerId) <= 0)
        {
            MessageBox(m_hWnd,"没有配置PlayerID","错误",MB_OK | MB_ICONERROR);
            return;
        }

        var name = m_PlayerNameEditBox.getWindowText();
        if (strlen(name) <= 0)
        {
            MessageBox(m_hWnd,"没有配置Name","错误",MB_OK | MB_ICONERROR);
            return;
        }                 

        var selidx = m_ZoneIDComboBox.getCurSel();
        var zoneid = m_ZoneID[selidx];

        var json = new Json();
        json.add("AccountID",playerId);
        json.add("displayName",str_convert(name,"utf-8","ascii"));
        json.add("QQ",QQ);
        json.add("ZoneID",zoneid);
        var jsonstr = json.toJsonString();
        //print jsonstr;

        var f = new File(path + "/qweqweqwelin.lol.txt","w");
        f.write(jsonstr);
        f.close();
    }

    function onGameBegin()
    {
        Save();
        var path = m_PathEditBox.getWindowText();
        if (strlen(path) <= 0)
        {
            MessageBox(m_hWnd,"没有配置路径","错误",MB_OK | MB_ICONERROR);
            return;
        }           

        var playerId = m_PlayerIDEditBox.getWindowText();
        if (strlen(playerId) <= 0)
        {
            MessageBox(m_hWnd,"没有配置PlayerID","错误",MB_OK | MB_ICONERROR);
            return;
        }

        var name = m_PlayerNameEditBox.getWindowText();
        if (strlen(name) <= 0)
        {
            MessageBox(m_hWnd,"没有配置Name","错误",MB_OK | MB_ICONERROR);
            return;
        }

        var gameid = m_GameIDEditBox.getWindowText();
        if (strlen(gameid) <= 0)
        {
            MessageBox(m_hWnd,"没有配置GameID","错误",MB_OK | MB_ICONERROR);
            return;
        }               

        var selidx = m_ZoneIDComboBox.getCurSel();
        var zoneid = m_ZoneID[selidx];

        var gameseldix = m_GameModeComboBox.getCurSel();
        var gamemode = m_GameMode[gameseldix];

        var json = new Json();
        json.add("AccountID",playerId);
        json.add("displayName",str_convert(name,"utf-8","ascii"));
        json.add("GameMode",gamemode);
        json.add("ZoneID",zoneid);
        json.add("GameID",gameid);
        var jsonstr = json.toJsonString();
        //print jsonstr;

        var f = new File(path + "/q124q54dtbeg.lol.txt","w");
        f.write(jsonstr);
        f.close();                
    }

    function onGameEnd()
    {
        Save();
        var path = m_PathEditBox.getWindowText();
        if (strlen(path) <= 0)
        {
            MessageBox(m_hWnd,"没有配置路径","错误",MB_OK | MB_ICONERROR);
            return;
        }      

        var QQ = m_QQEditBox.getWindowText();    
        if (strlen(QQ) <= 0)
        {
            MessageBox(m_hWnd,"没有配置QQ号","错误",MB_OK | MB_ICONERROR);
            return;
        } 

        var playerId = m_PlayerIDEditBox.getWindowText();
        if (strlen(playerId) <= 0)
        {
            MessageBox(m_hWnd,"没有配置PlayerID","错误",MB_OK | MB_ICONERROR);
            return;
        }

        var name = m_PlayerNameEditBox.getWindowText();
        if (strlen(name) <= 0)
        {
            MessageBox(m_hWnd,"没有配置Name","错误",MB_OK | MB_ICONERROR);
            return;
        }

        var gameid = m_GameIDEditBox.getWindowText();
        if (strlen(gameid) <= 0)
        {
            MessageBox(m_hWnd,"没有配置GameID","错误",MB_OK | MB_ICONERROR);
            return;
        }

        var selidx = m_ZoneIDComboBox.getCurSel();
        var zoneid = m_ZoneID[selidx];        

        var gameseldix = m_GameModeComboBox.getCurSel();
        var gamemode = m_GameMode[gameseldix];
        var gamequeuetype = m_QueueType[gameseldix];

        var json = new Json();
        json.add("AccountID",playerId);
        json.add("GameMode",gamemode);
        json.add("GameQueueType",gamequeuetype);
        json.add("GameID",gameid);
        json.add("QQ",QQ);
        json.add("displayName",str_convert(name,"utf-8","ascii"));        
        json.add("ZoneID",zoneid);

        var teamobj = json.addObject("team");
        var team1 = teamobj.addArray("1");
        for (var i = 0; i < 5 ; i++)
        {
            var id = m_Team1ID[i].getWindowText();
            var name = m_Team1Name[i].getWindowText();
            var pobj = team1.pushObject();
            pobj.add("AccountID",id);
            pobj.add("Name",str_convert(name,"utf-8","ascii"));
        }

        var team2 = teamobj.addArray("2");
        for (var i = 0; i < 5 ; i++)
        {
            var id = m_Team2ID[i].getWindowText();
            var name = m_Team2Name[i].getWindowText();
            var pobj = team2.pushObject();
            pobj.add("AccountID",id);
            pobj.add("Name",str_convert(name,"utf-8","ascii"));
        }        

        var win = m_WinCheckBox.getCheck();
        if (gamemode == "TFT")
        {
            json.add("Rank",win);
        }
        else
        {
            json.add("BattleResult",win);
            var ranksel = m_RankComboBox.getCurSel();
            var rankname = m_RankName[ranksel];
            json.add("RankName",rankname);

            var killcnt = INT(m_killcntEditBox.getWindowText());
            var assists = INT(m_assistsEditBox.getWindowText());
            var deaths = INT(m_deathsEditBox.getWindowText());
            var killspree = INT(m_killspreeEditBox.getWindowText());
            var killmul = INT(m_killmulEditBox.getWindowText());
            var gold = INT(m_GoldEditBox.getWindowText());
            var minionskill = INT(m_minionskillEditBox.getWindowText());
            json.add("ASSISTS",assists);
            json.add("CHAMPIONS_KILLED",killcnt);
            json.add("GOLD_EARNED",gold);
            json.add("LARGEST_KILLING_SPREE",killspree);
            json.add("LARGEST_MULTI_KILL",killmul);
            json.add("MINIONS_KILLED",minionskill);
            json.add("NUM_DEATHS",deaths);

            var gradesel = m_GradeComboBox.getCurSel();
            if (gradesel > 0)
            {
                var grade = m_GradeComboBox.GetLBText(gradesel);
                json.add("playerGrade",grade);
            }            
        }

        var jsonstr = json.toJsonString();
        var f = new File(path + "/q124dsaf32end.lol.txt","w");
        f.write(jsonstr);
        f.close();         
    }

    function Init()
    {
        var f = new File(GetRoot() + "/config.cfg");
        if(!f.exists())
        {
            f.close();
            return;
        }
        var jsonstr = f.read();        
        f.close();

        var json = new Json(jsonstr);

        var zonesel = json.get("zonesel");
        var qq = json.get("qq");
        var playerid = json.get("playerid");
        var name = json.get("name");
        var ranksel = json.get("ranksel");
        var modesel = json.get("modesel");
        var win = json.get("win");
        var gradesel = json.get("gradesel");
        var gameid = json.get("gameid");
        var path = json.get("path");

        var killcnt = json.get("killcnt");
        var assists = json.get("assists");
        var deaths = json.get("deaths");
        var killspree = json.get("killspree");
        var killmul = json.get("killmul");
        var gold = json.get("gold");
        var minionskill = json.get("minionskill");    

        m_ZoneIDComboBox.setCurSel(zonesel);
        m_QQEditBox.setWindowText(qq);
        m_PlayerIDEditBox.setWindowText(playerid);
        m_PlayerNameEditBox.setWindowText(name);
        m_RankComboBox.setCurSel(ranksel);
        m_GameModeComboBox.setCurSel(modesel);
        m_WinCheckBox.setCheck(win);
        m_GradeComboBox.setCurSel(gradesel);
        m_GameIDEditBox.setWindowText(gameid);
        m_PathEditBox.setWindowText(path);

        m_killcntEditBox.setWindowText(killcnt);
        m_assistsEditBox.setWindowText(assists);
        m_deathsEditBox.setWindowText(deaths);
        m_killspreeEditBox.setWindowText(killspree);
        m_killmulEditBox.setWindowText(killmul);
        m_GoldEditBox.setWindowText(gold);
        m_minionskillEditBox.setWindowText(minionskill);         

        var team1 = json.get("team1");
        for (var i = 0; i < 5 ; i++)
        {
            var pobj = team1.get(i);
            var id = pobj.get("id");
            var name = pobj.get("name");
            m_Team1ID[i].setWindowText(id);
            m_Team1Name[i].setWindowText(name);
        }

        var team2 = json.get("team2");
        for (var i = 0; i < 5 ; i++)
        {
            var pobj = team2.get(i);
            var id = pobj.get("id");
            var name = pobj.get("name");
            m_Team2ID[i].setWindowText(id);
            m_Team2Name[i].setWindowText(name);
        }              
    }

    function Save()
    {
        var zonesel = m_ZoneIDComboBox.getCurSel();
        var qq = m_QQEditBox.getWindowText();
        var playerid = m_PlayerIDEditBox.getWindowText();
        var name = m_PlayerNameEditBox.getWindowText();
        var ranksel =  m_RankComboBox.getCurSel();
        var modesel = m_GameModeComboBox.getCurSel();
        var win = m_WinCheckBox.getCheck();
        var gradesel = m_GradeComboBox.getCurSel();
        var gameid = m_GameIDEditBox.getWindowText();
        var path = m_PathEditBox.getWindowText(); 

        var killcnt = m_killcntEditBox.getWindowText();
        var assists = m_assistsEditBox.getWindowText();
        var deaths = m_deathsEditBox.getWindowText();
        var killspree = m_killspreeEditBox.getWindowText();
        var killmul = m_killmulEditBox.getWindowText();
        var gold = m_GoldEditBox.getWindowText();
        var minionskill = m_minionskillEditBox.getWindowText();

        var json = new Json();
        json.add("zonesel",zonesel);
        json.add("qq",qq);
        json.add("playerid",playerid);
        json.add("name",name);
        json.add("ranksel",ranksel);
        json.add("modesel",modesel);
        json.add("win",win);
        json.add("gradesel",gradesel);
        json.add("gameid",gameid);
        json.add("path",path);
        json.add("killcnt",killcnt);
        json.add("assists",assists);
        json.add("deaths",deaths);
        json.add("killspree",killspree);
        json.add("killmul",killmul);
        json.add("gold",gold);
        json.add("minionskill",minionskill);

        var team1 = json.addArray("team1");
        for (var i = 0; i < 5 ; i++)
        {
            var id = m_Team1ID[i].getWindowText();
            var name = m_Team1Name[i].getWindowText();
            var pobj = team1.pushObject();
            pobj.add("id",id);
            pobj.add("name",name);
        }

        var team2 = json.addArray("team2");
        for (var i = 0; i < 5 ; i++)
        {
            var id = m_Team2ID[i].getWindowText();
            var name = m_Team2Name[i].getWindowText();
            var pobj = team2.pushObject();
            pobj.add("id",id);
            pobj.add("name",name);
        }

        var f = new File(GetRoot() + "/config.cfg","w");
        f.write(json.toJsonString());
        f.close();
    }    
}

function main()
{
    //Sleep(1000 * 10);
    var consolWin = GetConsoleWindow();
    //ShowWindow(consolWin,SW_HIDE);
    var win = new LolToolsWin();
    win.run();
}

完整效果:


你要的国产编程语言CBrother来了!GUI桌面开发,只要33行代码

展开阅读全文

页面更新:2024-04-03

标签:黑铁   萨斯   卡拉   巨龙   路径   函数   桌面   距离   窗口   名字   错误   代码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top