{"id":146091,"student_id":1981,"content":"{\"files\":{\"src/appinventor/ai_appinventor/IND110/Screen1.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"12\\\" x=\\\"0\\\" y=\\\"0\\\"\\u003e\\n \\u003cmutation component_type=\\\"Form\\\" instance_name=\\\"Screen1\\\" event_name=\\\"Initialize\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eScreen1\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"false\\\" h=\\\"80\\\" w=\\\"160\\\"\\u003e程式初始畫面\\\\uff0c無法點選\\\\u300c請驗證密碼\\\\u300d按鈕\\u003c/comment\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"13\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Button1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButton1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"h29Fa_ugqO^8^N/9{lrB\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"O_C7`CC+mKW6y,v:;ZF?\\\"\\u003e\\n \\u003cmutation component_type=\\\"PasswordTextBox\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"PasswordTextBox1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003ePasswordTextBox1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"4~DvO;oeH0Y4Jg:;n3[c\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"global_declaration\\\" id=\\\"57\\\" inline=\\\"false\\\" x=\\\"0\\\" y=\\\"118\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003ecode\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"58\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"global_declaration\\\" id=\\\"55\\\" inline=\\\"false\\\" x=\\\"0\\\" y=\\\"171\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003eerror\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"56\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e3\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"1\\\" x=\\\"0\\\" y=\\\"224\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"Set\\\" event_name=\\\"Click\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eSet\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"false\\\" h=\\\"80\\\" w=\\\"160\\\"\\u003e按下\\\\u300c密碼設定\\\\u300d按鈕\\\\uff0c相關元件屬性變更\\u003c/comment\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"2\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal code\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"3\\\"\\u003e\\n \\u003cmutation component_type=\\\"PasswordTextBox\\\" set_or_get=\\\"get\\\" property_name=\\\"Text\\\" is_generic=\\\"false\\\" instance_name=\\\"PasswordTextBox1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003ePasswordTextBox1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eText\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"4\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal error\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"5\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e3\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"6\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Set\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eSet\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"OOw$Ptu6Q;n_wgd5GU@g\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"8\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Button1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButton1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"NK[=)/m04qKu0D+0F4aM\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"10\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"PasswordTextBox\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"PasswordTextBox1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003ePasswordTextBox1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"/$I(g1UC3mK=juuNfL[r\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"15\\\" x=\\\"0\\\" y=\\\"420\\\"\\u003e\\n \\u003cmutation component_type=\\\"Notifier\\\" instance_name=\\\"Notifier1\\\" event_name=\\\"AfterTextInput\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eNotifier1\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"controls_if\\\" id=\\\"16\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation else=\\\"1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"17\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eEQ\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"32\\\" w=\\\"128\\\"\\u003e如果輸入的密碼與設定的密碼相同\\\\uff0cButton1不可點按\\\\uff0c並跳至Screen2\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"4(M;5\\\\!8KAabhtB[cJEPJ\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003ceventparam name=\\\"response\\\"\\u003e\\u003c/eventparam\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003e回應\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"u_{Mz8[VNLxBir\\\\!8@lC\\\\!\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal code\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cstatement name=\\\"DO0\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"20\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"Button1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButton1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"}cy@;@((tmh;NU:*0Am2\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"controls_openAnotherScreen\\\" id=\\\"WNouF6ou%*[Ii9Uss2}V\\\"\\u003e\\n \\u003cvalue name=\\\"SCREEN\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"d/^u@0*%^BYV-?lQo2#J\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003eScreen2\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003cstatement name=\\\"ELSE\\\"\\u003e\\n \\u003cblock type=\\\"controls_if\\\" id=\\\"24\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation else=\\\"1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"25\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eGT\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"26\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal error\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"27\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cstatement name=\\\"DO0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"xY$lhR[NU%Z3_ClWA:ev\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal error\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"false\\\" h=\\\"38\\\" w=\\\"95\\\"\\u003e修改錯誤次數\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_subtract\\\" id=\\\"3dp`}$WT8O4)9EZ}9YDu\\\"\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"!E04g%tWz8QiNk{-v}d*\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal error\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"ymdw*pX2tX_Hi6jYK)xF\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"32\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Notifier\\\" method_name=\\\"ShowMessageDialog\\\" is_generic=\\\"false\\\" instance_name=\\\"Notifier1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eNotifier1\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"text_join\\\" id=\\\"33\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation items=\\\"3\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003ccomment pinned=\\\"false\\\" h=\\\"56\\\" w=\\\"154\\\"\\u003e密碼不符\\\\uff0c合併字串顯示\\\\u300c您還有n次機會\\\\u300d\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"ADD0\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"Of1LVHek@QwL!/t_gxG@\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e您還有\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ADD1\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"s*z[di!ZZD#bN-#6o4Lh\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal error\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ADD2\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"wEr4HXXP(i]~0DY#nB?m\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e次機會\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG1\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"37\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e密碼錯誤\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG2\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"-6+p67a]tAzDZXO3T#}P\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003eOK\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003cstatement name=\\\"ELSE\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"39\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"Button1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButton1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"40\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"41\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal error\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"42\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e3\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"43\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Notifier\\\" method_name=\\\"ShowMessageDialog\\\" is_generic=\\\"false\\\" instance_name=\\\"Notifier1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eNotifier1\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"44\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e錯誤超過三次\\\\uff0c請重新設定密碼\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG1\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"45\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003eXXX\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG2\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"OpUy\\\\!elEo5lCrGkl-eVk\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003eOK\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"64\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal code\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"56\\\" w=\\\"114\\\"\\u003e清空已記錄的密碼\\n\\\\uff0c並恢復至初始狀態\\n \\u003c/comment\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"UtW1o*KBaZXiV;?[6j=w\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"47\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"PasswordTextBox\\\" set_or_get=\\\"set\\\" property_name=\\\"Text\\\" is_generic=\\\"false\\\" instance_name=\\\"PasswordTextBox1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003ePasswordTextBox1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eText\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"SEDL6i8bZ\\\\!$-(=yR*9%h\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"49\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Set\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eSet\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"2=64qA~?3$(fQ?+tT;T_\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"51\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Button1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButton1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"M6\\\\!+BE[Q2pFhMs?KGmQw\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"53\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"PasswordTextBox\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"PasswordTextBox1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003ePasswordTextBox1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"3`qKfv,h@8^sokJiSY8+\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"59\\\" x=\\\"0\\\" y=\\\"1166\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"Button1\\\" event_name=\\\"Click\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButton1\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"55\\\" w=\\\"144\\\"\\u003e設定顯示快顯視窗Notifier元件\\\\uff0c讓使用者輸入密碼\\u003c/comment\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"6U/w$c3$2e8sU_(+vK(G\\\"\\u003e\\n \\u003cmutation component_type=\\\"Notifier\\\" method_name=\\\"ShowTextDialog\\\" is_generic=\\\"false\\\" instance_name=\\\"Notifier1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eNotifier1\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"jv3}q/P1{^-xQMX]h?2i\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e請輸入密碼\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG1\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"v4K*%D5kG:;1uW1tCGz%\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e!!!!\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG2\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"Y/C/!H?o(Sjumdd#OMNp\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cyacodeblocks ya-version=\\\"167\\\" language-version=\\\"21\\\"\\u003e\\u003c/yacodeblocks\\u003e\\n\\u003c/xml\\u003e\",\"src/appinventor/ai_appinventor/IND110/Screen1.scm\":\"#|\\n$JSON\\n{\\\"authURL\\\":[\\\"localhost\\\",\\\"koding.school\\\"],\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen1\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AppName\\\":\\\"IND110\\\",\\\"Title\\\":\\\"\\\\u8a2d\\\\u5b9a\\\\u5bc6\\\\u78bc\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"HorizontalArrangement1\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"1318089028\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"PasswordTextBox1\\\",\\\"$Type\\\":\\\"PasswordTextBox\\\",\\\"$Version\\\":\\\"4\\\",\\\"FontSize\\\":\\\"20\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"-1022976334\\\"},{\\\"$Name\\\":\\\"Set\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"FontSize\\\":\\\"20\\\",\\\"Text\\\":\\\"\\\\u5bc6\\\\u78bc\\\\u8a2d\\\\u5b9a\\\",\\\"Uuid\\\":\\\"1317169590\\\"}]},{\\\"$Name\\\":\\\"Button1\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"FontSize\\\":\\\"30\\\",\\\"Width\\\":\\\"-2\\\",\\\"Text\\\":\\\"\\\\u8acb\\\\u9a57\\\\u8b49\\\\u5bc6\\\\u78bc\\\",\\\"Uuid\\\":\\\"-2098769511\\\"},{\\\"$Name\\\":\\\"Notifier1\\\",\\\"$Type\\\":\\\"Notifier\\\",\\\"$Version\\\":\\\"4\\\",\\\"Uuid\\\":\\\"-321462192\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/IND110/Screen2.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"1\\\" x=\\\"36\\\" y=\\\"11\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"Button1\\\" event_name=\\\"Click\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButton1\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"controls_openAnotherScreen\\\" id=\\\"2\\\" inline=\\\"false\\\"\\u003e\\n \\u003cvalue name=\\\"SCREEN\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"3\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003eScreen1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cyacodeblocks ya-version=\\\"158\\\" language-version=\\\"20\\\"\\u003e\\u003c/yacodeblocks\\u003e\\n\\u003c/xml\\u003e\",\"src/appinventor/ai_appinventor/IND110/Screen2.scm\":\"#|\\n$JSON\\n{\\\"authURL\\\":[\\\"localhost\\\"],\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen2\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AppName\\\":\\\"INA01\\\",\\\"Title\\\":\\\"Screen2\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"Label1\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"FontSize\\\":\\\"30\\\",\\\"Text\\\":\\\"\\\\u5bc6\\\\u78bc\\\\u6b63\\\\u78ba\\\\uff0c\\\\u6b61\\\\u8fce\\\\u5149\\\\u81e8\\\",\\\"Uuid\\\":\\\"1471825913\\\"},{\\\"$Name\\\":\\\"Button1\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Text\\\":\\\"back\\\",\\\"Uuid\\\":\\\"730091429\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/IND110/Screen1.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.IND110.Screen1 Screen1)\\n(require \\u003ccom.google.youngandroid.runtime\\u003e)\\n\\n(def g$code 0)\\n(def g$error 3)\\n;;; Screen1\\n\\n(do-after-form-creation (set-and-coerce-property! 'Screen1 'AppName \\\"IND110\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'Title \\\"\\\\u8a2d\\\\u5b9a\\\\u5bc6\\\\u78bc\\\" 'text)\\n)\\n\\n(define-event Screen1 Initialize()(set-this-form)\\n (set-and-coerce-property! 'Button1 'Enabled #f 'boolean)(set-and-coerce-property! 'PasswordTextBox1 'Enabled #t 'boolean))\\n;;; HorizontalArrangement1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.HorizontalArrangement HorizontalArrangement1 \\n(set-and-coerce-property! 'HorizontalArrangement1 'Width -2 'number)\\n\\n)\\n\\n;;; PasswordTextBox1\\n\\n(add-component HorizontalArrangement1 com.google.appinventor.components.runtime.PasswordTextBox PasswordTextBox1 \\n(set-and-coerce-property! 'PasswordTextBox1 'FontSize 20 'number)\\n\\n(set-and-coerce-property! 'PasswordTextBox1 'Width -2 'number)\\n\\n)\\n\\n;;; Set\\n\\n(add-component HorizontalArrangement1 com.google.appinventor.components.runtime.Button Set \\n(set-and-coerce-property! 'Set 'FontSize 20 'number)\\n\\n(set-and-coerce-property! 'Set 'Text \\\"\\\\u5bc6\\\\u78bc\\\\u8a2d\\\\u5b9a\\\" 'text)\\n\\n)\\n\\n(define-event Set Click()(set-this-form)\\n (set-var! g$code (get-property 'PasswordTextBox1 'Text))(set-var! g$error 3)(set-and-coerce-property! 'Set 'Enabled #f 'boolean)(set-and-coerce-property! 'Button1 'Enabled #t 'boolean)(set-and-coerce-property! 'PasswordTextBox1 'Enabled #f 'boolean))\\n;;; Button1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Button Button1 \\n(set-and-coerce-property! 'Button1 'FontSize 30 'number)\\n\\n(set-and-coerce-property! 'Button1 'Width -2 'number)\\n\\n(set-and-coerce-property! 'Button1 'Text \\\"\\\\u8acb\\\\u9a57\\\\u8b49\\\\u5bc6\\\\u78bc\\\" 'text)\\n\\n)\\n\\n(define-event Button1 Click()(set-this-form)\\n (call-component-method 'Notifier1 'ShowTextDialog (*list-for-runtime* \\\"\\\\u8acb\\\\u8f38\\\\u5165\\\\u5bc6\\\\u78bc\\\" \\\"!!!!\\\" #f) '(text text boolean)))\\n;;; Notifier1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Notifier Notifier1 \\n)\\n\\n(define-event Notifier1 AfterTextInput($response)(set-this-form)\\n (if (call-yail-primitive yail-equal? (*list-for-runtime* (lexical-value $response) (get-var g$code)) '(any any) \\\"=\\\") (begin (set-and-coerce-property! 'Button1 'Visible #f 'boolean)(call-yail-primitive open-another-screen (*list-for-runtime* \\\"Screen2\\\") '(text) \\\"open another screen\\\")) (begin (if (call-yail-primitive \\u003e (*list-for-runtime* (get-var g$error) 1) '(number number) \\\"\\u003e\\\") (begin (set-var! g$error (call-yail-primitive - (*list-for-runtime* (get-var g$error) 1) '(number number) \\\"-\\\"))(call-component-method 'Notifier1 'ShowMessageDialog (*list-for-runtime* (call-yail-primitive string-append (*list-for-runtime* \\\"\\\\u60a8\\\\u9084\\\\u6709\\\" (get-var g$error) \\\"\\\\u6b21\\\\u6a5f\\\\u6703\\\" ) '(text text text ) \\\"join\\\") \\\"\\\\u5bc6\\\\u78bc\\\\u932f\\\\u8aa4\\\" \\\"OK\\\") '(text text text))) (begin (set-and-coerce-property! 'Button1 'Visible #t 'boolean)(set-var! g$error 3)(call-component-method 'Notifier1 'ShowMessageDialog (*list-for-runtime* \\\"\\\\u932f\\\\u8aa4\\\\u8d85\\\\u904e\\\\u4e09\\\\u6b21\\\\uff0c\\\\u8acb\\\\u91cd\\\\u65b0\\\\u8a2d\\\\u5b9a\\\\u5bc6\\\\u78bc\\\" \\\"XXX\\\" \\\"OK\\\") '(text text text))(set-var! g$code \\\"\\\")(set-and-coerce-property! 'PasswordTextBox1 'Text \\\"\\\" 'text)(set-and-coerce-property! 'Set 'Enabled #t 'boolean)(set-and-coerce-property! 'Button1 'Enabled #f 'boolean)(set-and-coerce-property! 'PasswordTextBox1 'Enabled #t 'boolean))))))\\n(init-runtime)\",\"src/appinventor/ai_appinventor/IND110/Screen2.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.IND110.Screen2 Screen2)\\n(require \\u003ccom.google.youngandroid.runtime\\u003e)\\n\\n;;; Screen2\\n\\n(do-after-form-creation (set-and-coerce-property! 'Screen2 'AppName \\\"INA01\\\" 'text)\\n (set-and-coerce-property! 'Screen2 'Title \\\"Screen2\\\" 'text)\\n)\\n\\n;;; Label1\\n\\n(add-component Screen2 com.google.appinventor.components.runtime.Label Label1 \\n(set-and-coerce-property! 'Label1 'FontSize 30 'number)\\n\\n(set-and-coerce-property! 'Label1 'Text \\\"\\\\u5bc6\\\\u78bc\\\\u6b63\\\\u78ba\\\\uff0c\\\\u6b61\\\\u8fce\\\\u5149\\\\u81e8\\\" 'text)\\n\\n)\\n\\n;;; Button1\\n\\n(add-component Screen2 com.google.appinventor.components.runtime.Button Button1 \\n(set-and-coerce-property! 'Button1 'Text \\\"back\\\" 'text)\\n\\n)\\n\\n(define-event Button1 Click()(set-this-form)\\n (call-yail-primitive open-another-screen (*list-for-runtime* \\\"Screen1\\\") '(text) \\\"open another screen\\\"))\\n(init-runtime)\"},\"settings\":\"{\\\"SimpleSettings\\\":{\\\"AccentColor\\\":\\\"\\u0026HFFFF4081\\\",\\\"ActionBar\\\":\\\"False\\\",\\\"AppName\\\":\\\"IND110\\\",\\\"Icon\\\":\\\"\\\",\\\"PhoneTablet\\\":\\\"False\\\",\\\"PrimaryColor\\\":\\\"\\u0026HFF3F51B5\\\",\\\"PrimaryColorDark\\\":\\\"\\u0026HFF303F9F\\\",\\\"ShowHiddenComponents\\\":\\\"False\\\",\\\"ShowListsAsJson\\\":\\\"False\\\",\\\"Sizing\\\":\\\"Fixed\\\",\\\"Theme\\\":\\\"Classic\\\",\\\"TutorialURL\\\":\\\"\\\",\\\"UsesLocation\\\":\\\"False\\\",\\\"VersionCode\\\":\\\"1\\\",\\\"VersionName\\\":\\\"1.0\\\"}}\"}","created_at":"2020-05-03T16:15:00.540+08:00","updated_at":"2020-05-03T16:38:17.871+08:00","name":"IND110","language":"appinventor","screenshot":{"url":null},"parent_id":127503,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":83,"hashid":"2pds68v6","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦