2024-11-14 14:53:37 +08:00
|
|
|
import win.ui;
|
|
|
|
/*DSG{{*/
|
|
|
|
mainForm = win.form(text="gamelist";right=999;bottom=599)
|
|
|
|
mainForm.add(
|
|
|
|
btnExclude={cls="button";text="排除";left=873;top=438;right=985;bottom=467;ah=1;aw=1;z=12};
|
|
|
|
btnFilter={cls="button";text="筛选";left=759;top=438;right=871;bottom=467;ah=1;aw=1;z=2};
|
|
|
|
btnSearchDown={cls="button";text="向下搜索";left=874;top=530;right=985;bottom=559;ah=1;aw=1;z=11};
|
|
|
|
btnSearchUp={cls="button";text="向上搜索";left=759;top=532;right=870;bottom=561;ah=1;aw=1;z=10};
|
|
|
|
cbb_guojia={cls="combobox";left=877;top=401;right=985;bottom=427;ah=1;aw=1;edge=1;items={};mode="dropdown";z=8};
|
|
|
|
cbb_leixing={cls="combobox";left=759;top=402;right=867;bottom=428;ah=1;aw=1;edge=1;items={};mode="dropdown";z=7};
|
|
|
|
edDesp={cls="richedit";text="RichEdit";left=507;top=122;right=970;bottom=371;ah=1;autohscroll=false;aw=1;edge=1;multiline=1;vscroll=1;z=5};
|
|
|
|
edOther={cls="richedit";text="RichEdit";left=512;top=404;right=750;bottom=569;ah=1;autohscroll=false;aw=1;edge=1;multiline=1;vscroll=1;z=6};
|
|
|
|
edSearch={cls="edit";left=755;top=487;right=981;bottom=526;ah=1;aw=1;edge=1;multiline=1;z=9};
|
|
|
|
edUrl={cls="richedit";text="RichEdit";left=506;top=21;right=969;bottom=96;ah=1;autohscroll=false;aw=1;edge=1;multiline=1;vscroll=1;z=3};
|
|
|
|
edit={cls="edit";text="Edit";left=822;top=190;right=823;bottom=191;edge=1;z=4};
|
|
|
|
listbox={cls="listbox";left=7;top=10;right=478;bottom=577;ah=1;aw=1;edge=1;items={};vscroll=1;z=1}
|
|
|
|
)
|
|
|
|
/*}}*/
|
|
|
|
|
|
|
|
import web.json;
|
|
|
|
import console;
|
|
|
|
import string.list;
|
|
|
|
import win;
|
|
|
|
|
|
|
|
guojia = {}
|
|
|
|
newdata_filted = {}
|
|
|
|
|
|
|
|
table_guojia_add = function(data){
|
|
|
|
if(data == null){
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
if(type(data) == type.table){
|
|
|
|
data = data[1];
|
|
|
|
}
|
|
|
|
var notguojia = string.find(data,"\/");
|
|
|
|
if(notguojia){
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
var newstr = string.replace( data,"[【】]","");
|
|
|
|
|
|
|
|
var ret = table.find(guojia,newstr);
|
|
|
|
if(ret == null){
|
|
|
|
table.push(guojia,newstr)
|
|
|
|
}
|
|
|
|
return newstr;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//table.find(
|
|
|
|
//console.dumpJson(datalist)
|
|
|
|
data_pro = function(){
|
|
|
|
jsonstr = string.load(".\output.json")
|
|
|
|
datalist = web.json.parse(jsonstr,,);
|
|
|
|
datacount = 1;
|
|
|
|
newdatalist = {};
|
|
|
|
for(i=2;#datalist;1){
|
|
|
|
if(#datalist[i] < 2){
|
|
|
|
console.dumpJson(datalist[i])
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if(string.len(datalist[i][1]) < 2){
|
|
|
|
//console.dumpJson(datalist[i])
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
newdatalist[datacount] = {};
|
|
|
|
var namestr = datalist[i][1];
|
|
|
|
|
|
|
|
var pattern = "%<【><】>"
|
|
|
|
var replaceText = "";
|
|
|
|
var replacecount = "3";
|
|
|
|
var strReplaceResult = string.replace( namestr,pattern,replaceText,replacecount);
|
|
|
|
|
|
|
|
|
|
|
|
var displist = string.matches(datalist[i][1], pattern)
|
|
|
|
|
|
|
|
table_guojia_add(displist[1])
|
|
|
|
//console.dumpJson(displist);
|
|
|
|
var shortdisp = "";//string.join(displist);
|
|
|
|
for(k,v in displist){
|
|
|
|
shortdisp = shortdisp ++ v[1] ++'\n';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
newdatalist[datacount][1] = datalist[i][1];//name
|
|
|
|
newdatalist[datacount][2] = datalist[i][2];//url
|
|
|
|
newdatalist[datacount][3] = datalist[i][3];//disp
|
2024-11-18 09:31:38 +08:00
|
|
|
if(newdatalist[datacount][3] == null){
|
|
|
|
newdatalist[datacount][3] = "无介绍";
|
|
|
|
}
|
2024-11-14 14:53:37 +08:00
|
|
|
newdatalist[datacount][4] = shortdisp;
|
|
|
|
newdatalist[datacount][5] = strReplaceResult;
|
|
|
|
var test = mainForm.listbox.add(strReplaceResult);
|
|
|
|
if(test != datacount){
|
|
|
|
console.log("数据错误");
|
|
|
|
console.log(datacount);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
datacount++;
|
|
|
|
}
|
|
|
|
newdata_filted = newdatalist;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
mainForm.listbox.oncommand = function(id,event){
|
|
|
|
if( event == 0x1/*_LBN_SELCHANGE*/ ){
|
|
|
|
var sel = mainForm.listbox.selIndex;
|
2024-11-18 09:31:38 +08:00
|
|
|
|
2024-11-14 14:53:37 +08:00
|
|
|
updateselect(sel);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
mainForm.btnFilter.oncommand = function(id,event){
|
|
|
|
filter_data();
|
|
|
|
}
|
|
|
|
|
|
|
|
if(io.exist(".\service_account.json") == false){
|
|
|
|
win.msgbox("没有授权文件");
|
|
|
|
mainForm.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
if(io.exist(".\output.json") == false){
|
|
|
|
import process.popen
|
|
|
|
var prcs = process.popen.cmd('python getData.py');
|
|
|
|
//prcs.wa
|
|
|
|
//prcs.wait(20000);
|
|
|
|
import win;
|
|
|
|
win.msgbox(prcs.readAll())
|
|
|
|
}
|
|
|
|
|
|
|
|
if(io.exist(".\output.json") == true){
|
|
|
|
data_pro();
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
win.msgbox("数据获取失败");
|
|
|
|
mainForm.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(k,v in guojia){
|
|
|
|
mainForm.cbb_guojia.add(v);
|
|
|
|
}
|
|
|
|
mainForm.cbb_guojia.selIndex = 1;
|
|
|
|
|
|
|
|
filter_data = function(){
|
|
|
|
newdata_filted = {};
|
|
|
|
var newcount = 1;
|
|
|
|
for(i=1;#newdatalist;1){
|
|
|
|
if(string.indexOf(newdatalist[i][1],mainForm.cbb_guojia.selText)){
|
|
|
|
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
newdata_filted[newcount] = newdatalist[i];
|
|
|
|
newcount++;
|
|
|
|
}
|
|
|
|
mainForm.listbox.clear();
|
|
|
|
for(i=1;#newdata_filted;1){
|
|
|
|
mainForm.listbox.add(newdata_filted[i][5]);
|
|
|
|
}
|
|
|
|
updateselect(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
exclude_data = function(){
|
|
|
|
newdata_filted = {};
|
|
|
|
var newcount = 1;
|
|
|
|
for(i=1;#newdatalist;1){
|
|
|
|
if(string.indexOf(newdatalist[i][1],mainForm.cbb_guojia.selText)){
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
|
|
|
|
}
|
|
|
|
newdata_filted[newcount] = newdatalist[i];
|
|
|
|
newcount++;
|
|
|
|
}
|
|
|
|
mainForm.listbox.clear();
|
|
|
|
for(i=1;#newdata_filted;1){
|
|
|
|
mainForm.listbox.add(newdata_filted[i][5]);
|
|
|
|
}
|
|
|
|
updateselect(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
updateselect = function(index){
|
|
|
|
if(index > #newdata_filted){
|
|
|
|
return ;
|
|
|
|
}
|
2024-11-18 09:31:38 +08:00
|
|
|
console.dumpJson(newdata_filted[index])
|
2024-11-14 14:53:37 +08:00
|
|
|
mainForm.listbox.selIndex = index;
|
|
|
|
mainForm.edUrl.text = newdata_filted[index][2];
|
|
|
|
mainForm.edDesp.text = newdata_filted[index][5] ++ '\n' ++ newdata_filted[index][3];
|
|
|
|
mainForm.edOther.text = newdata_filted[index][4];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
mainForm.btnSearchUp.oncommand = function(id,event){
|
|
|
|
var searchtext = mainForm.edSearch.text
|
|
|
|
var nowsel = mainForm.listbox.selIndex;
|
|
|
|
if(nowsel == null){
|
|
|
|
nowsel = #newdata_filted+1;
|
|
|
|
}
|
|
|
|
if(nowsel < 1 || nowsel >#newdata_filted){
|
|
|
|
nowsel = #newdata_filted+1;
|
|
|
|
}
|
|
|
|
nowsel--;
|
|
|
|
for(i=nowsel;1;-1){
|
|
|
|
if(string.indexOf(newdata_filted[i][5],searchtext)){
|
|
|
|
updateselect(i);
|
|
|
|
return ;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
win.msgbox("已到顶","未找到",,,1000);
|
|
|
|
}
|
|
|
|
|
|
|
|
mainForm.btnExclude.oncommand = function(id,event){
|
|
|
|
exclude_data();
|
|
|
|
}
|
|
|
|
|
|
|
|
mainForm.btnSearchDown.oncommand = function(id,event){
|
|
|
|
var searchtext = mainForm.edSearch.text
|
|
|
|
var nowsel = mainForm.listbox.selIndex;
|
|
|
|
if(nowsel == null){
|
|
|
|
nowsel = 0;
|
|
|
|
}
|
|
|
|
if(nowsel < 1 || nowsel >#newdata_filted){
|
|
|
|
nowsel = 0;
|
|
|
|
}
|
|
|
|
nowsel++;
|
|
|
|
for(i=nowsel;#newdata_filted;1){
|
|
|
|
if(string.indexOf(newdata_filted[i][5],searchtext)){
|
|
|
|
updateselect(i);
|
|
|
|
return ;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
win.msgbox("已到底","未找到",,,1000);
|
|
|
|
}
|
|
|
|
|
|
|
|
mainForm.show();
|
|
|
|
return win.loopMessage();
|