diff --git "a/2020-1-16/TUI\350\256\241\347\256\227\347\225\214\351\235\242/main.js" "b/2020-1-16/TUI\350\256\241\347\256\227\347\225\214\351\235\242/main.js" new file mode 100644 index 0000000000000000000000000000000000000000..3a944d547d22666d45ef416edd7d9a38fc96d7c4 --- /dev/null +++ "b/2020-1-16/TUI\350\256\241\347\256\227\347\225\214\351\235\242/main.js" @@ -0,0 +1,145 @@ +var items = { + name: 'main', + type: 'FormGridLayout', + property: { margin: 18, spacing: 20, columns: 3 }, + pack: {}, + child: [ + { + name: "num1", + type: "LineEdit", + pack: { label: "傿•°1", column_span: 1, label_alignment:"Left" }, + validate: function(obj,val,title,moment,self){ + if(moment === "EDIT"){ + // return [title+'å¿…é¡»å°äºŽ10','Error'] + var reg = /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g + if(!reg.test(val)){ + GUI.msgbox({ + title: '错误æç¤º', + detail: 'è¯·è¾“å…¥æ•°å—æˆ–å°æ•°' + }) + this.getObject("num1").setData("value", 0); + } + } + return + } + }, + { + name: "operator", + type: "ComboBox", + property: { + item_list: ["+","-","*","/","%"], + value: "+", + }, + pack: { label: "æ“作", column_span: 1, label_alignment:"Left" }, + validate: function(obj,val,title,moment,self){ + if(moment === "EDIT"){ + // return [title+'å¿…é¡»å°äºŽ10','Error'] + if(val == "") { + GUI.msgbox({ + title: '错误æç¤º', + detail: '请输入符å·' + }) + } + } + return + } + }, + { + name: "num2", + type: "LineEdit", + pack: { label: "傿•°2", column_span: 1, label_alignment:"Left" }, + validate: function(obj,val,title,moment,self){ + if(moment === "EDIT"){ + // return [title+'å¿…é¡»å°äºŽ10','Error'] + var reg = /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g + if(!reg.test(val)){ + GUI.msgbox({ + title: '错误æç¤º', + detail: 'è¯·è¾“å…¥æ•°å—æˆ–å°æ•°' + }) + this.getObject("num2").setData("value", 0); + } + } + return + } + }, + { + type: "ToolButton", + property: { + text: "计算" + }, + pack: { column_span: 1, label_alignment:"Left" }, + callback: function(obj, check, self) { + var tempData = this.getAllValues(); + var num1 = tempData.num1 + var num1len = getNumFixed(num1) + var num2 = tempData.num2 + var num2len = getNumFixed(num2) + var temp = num1len >= num2len ? num1len : num2len + temp = Number("1" + Array(temp+1).join(0)) + if(!num1 || !num2){ + GUI.msgbox({ + title: 'err', + detail: "ç¼ºå°‘å‚æ•°" + }) + return + } + operator = tempData.operator + if(operator == ""){ + GUI.msgbox({ + title: 'err', + detail: "缺少符å·" + }) + } + var res = "" + switch (operator) { + case "+": + res = (Number(num1)*temp + Number(num2)*temp)/temp + break; + case "-": + res = (Number(num1)*temp - Number(num2)*temp)/temp + break; + case "*": + res = (Number(num1)*temp * Number(num2)*temp)/temp/temp + break; + case "/": + res = (Number(num1)*temp / Number(num2)*temp)/temp + break; + case "%": + res = (Number(num1)*temp % Number(num2)*temp)/temp + break; + default: + break; + } + this.getObject("res").setData("value", String(res)); + } + }, + { + name: "res", + type: "label", + pack: { label: "结果", column_span: 2, label_alignment:"Left" }, + }, + { + type: 'stretch' + } + ] +} + +var box = { + title: "简易计算器", + size: "600x400", + items: items, + values: {}, + self: this +} + +var data = GUI.showForm(box) + + +function getNumFixed(num){ + if(!/\./g.test(num)){ + return 0 + } else { + return String(num).split(".")[1].length + } +} \ No newline at end of file