tft每日頭條

 > 生活

 > 按鍵精靈怎麼判斷有沒有彈出

按鍵精靈怎麼判斷有沒有彈出

生活 更新时间:2024-07-26 06:17:38

按鍵精靈怎麼判斷有沒有彈出?大家好,我是公衆号3分鐘學堂的郭立員~,接下來我們就來聊聊關于按鍵精靈怎麼判斷有沒有彈出?以下内容大家不妨參考一二希望能幫到您!

按鍵精靈怎麼判斷有沒有彈出(打開腳本時跳出公告彈窗)1

按鍵精靈怎麼判斷有沒有彈出

大家好,我是公衆号3分鐘學堂的郭立員~

今天内容是公告彈窗,用于腳本更新後的提示,如下圖:

實現這個功能的原理有這麼幾個:

①下拉框能夠自動執行選擇響應的函數

這一點是前提條件,就是說打開腳本後,如果有界面有下拉框,那麼下拉框寫的選擇響應函數代碼會自動執行,無需手動點擊觸發,這樣能達到自動彈窗的效果。

②讀取服務器文本

通過url.get命令獲取服務器上的文本内容,在内容中包含指定控制的字符,或者對應的鍵值對,還有公告信息内容

③“解析”文本内容中的控制字符(鍵值對)

這一步是代碼的核心内容,通過解析文本内容來控公告彈窗的狀态

④彈窗命令

Dialog.MsgBox

⑤本地存儲來判斷是否首次彈窗

原理就是這些,說一下實現步驟

①在界面加一個下拉框,用于自動彈窗代碼的啟動

②準備一個文本,内容如下

{"onoff":true,"first":true,"msg":"v1.003版本更新内容:\n\n 1.增加了公告彈窗\n 2.公告内容可以遠程控制"}

包含3組鍵值對,分别是控制是否彈窗、相同公告是否隻彈出一次、公告的内容。

這個文本放到服務器上,每次隻需要修改文本内容,就可以控制腳本彈窗。

③服務器文本内容的解析

讀取内容onoff 如果是true,說明腳本運行彈窗

first,如果是true,代表每次更新内容,公告彈窗隻彈出一次

msg是公告更新的内容

④判斷是否彈窗過

這一步是基于同一更新内容彈窗彈出次數的,如果是隻彈出一次,那麼就需要設備在本地記錄一下,已經彈出過了。

下面直接放我的範例代碼:

Function 函數名1() Dim path="/sdcard/pictures/msg.txt" Dim json=url.get("http://192.168.1.4/notice.txt") Dim table=encode.jsontotable(json) If table["onoff"] Then If table["first"] Then If Dir.Exist(path) = 0 Then file.write path, table["msg"] Dialog.MsgBox(table["msg"],0) Else If file.read(path) <> table["msg"] Then file.write path, table["msg"] Dialog.MsgBox(table["msg"],0) End If End If Else Dialog.MsgBox(table["msg"],0) End If End If End Function

需要注意的地方:

我們公告内容通常都是包含漢字的,但是由于utf8編碼的漢字,如果直接用文本保存會有bom頭,在讀取時會在内容開始位置多一個問号,這個問題會導緻讀取鍵值的錯誤。

解決方法2個思路:

①使用第三方的文本編輯器,比如notepad

②去掉多出來的問号,比如正則匹配,隻保留{}内的東西,或者用删除命令删除首個字符。

還有關于沒有服務器的問題,免費的在線文檔也行,比如石墨文檔、騰訊文檔等等,

這期文章主要給大家提供一個“雲控”的思路。

好了,内容就這些,又多了一個花裡胡哨的功能,如果覺得還行幫忙點個贊~

=正文完=

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved