關於在Mdi模式中,利用子窗體的特定事件操控父窗體的特定控件,將有助於使用者體驗(UX)和軟體的流程。本文範例的操作效果如上述視頻,其中Form1為父窗體,其具備ToolStripMenu功能。該範例的流程邏輯為當開啟a子窗體並輸入正確密碼,才能解鎖父窗體中的b子窗體開啟按鈕,進而讓使用者可以順利開啟b子窗體,反之密碼錯誤,則無法解鎖父窗體中的b子窗體開啟按鈕。
Learn & Share由H-Y Chou 和 Books and Pencil 共筆,藉由這個平台紀錄著實用工具和好書閱讀,同時也分享著教育學習與思維概念等等多元化的主題。
關於在Mdi模式中,利用子窗體的特定事件操控父窗體的特定控件,將有助於使用者體驗(UX)和軟體的流程。本文範例的操作效果如上述視頻,其中Form1為父窗體,其具備ToolStripMenu功能。該範例的流程邏輯為當開啟a子窗體並輸入正確密碼,才能解鎖父窗體中的b子窗體開啟按鈕,進而讓使用者可以順利開啟b子窗體,反之密碼錯誤,則無法解鎖父窗體中的b子窗體開啟按鈕。
當已習慣使用VNC遠端控制樹莓派後,原用來設定樹莓派的電腦螢幕和鍵盤也逐漸挪為它用。此次攜帶樹莓派外出,同時又希望使樹莓派連接當地的wifi AP,利用VNC遠端桌面切換新的wifi AP需要重新設定wifi密碼,但卻無法在VNC遠端桌面看到密碼驗證視窗。
經查閱和測試,利用ssh遠端並搭配nmcli終端機指令,可達到不須額外外接螢幕和鍵盤,即可切換到陌生的wifi AP,該次測試的樹莓派環境為Ubuntu 23.04 Desktop版本。
利用Excel建立下拉式選單功能,讓使用者得以簡易並快速完成選項需求,然而,若下拉式選單的內容過於冗長,將使簡易並快速完成選項需求的初衷大大折扣,具備簡易搜索功能的下拉選單可以解決這個問題,如影片所示。更重要的是,僅需利用Excel的常用函數和資料驗證視窗,即可完成建立搜索功能的下拉選單,您說CP值夠不夠高?
Google表單問卷已成為行銷領域的基本工具,藉由問卷回收進行統計分析以進一步了解目標市場和主要客群的動態,將有助於成熟產品的資源配置(如生產設備稼動、銷售渠道等等),甚至影響下一代產品的規格制訂。
因應行銷友人的統計分析需求,其需要將google回收問卷表單的複選題轉換成0101...的格式,如下圖,以進一步將數據帶入SPSS做分析。
以往對於MySQL數據庫的應用,大多是基本的增刪改查步驟,因此MySQL大多停留在基本語法階段。然而在實際的數據應用上,若能從數據庫直接運算和抽取運算結果,同時不需要在MySQL中額外建立一個實體表,再好不過。
在MySQL中,虛擬表可符合上述需求,其中虛擬表包含臨時表(temporary table)、派生表(derived table)等等。臨時表的語法需注意嵌入以CREAT TEMPORARY TABLE...為開頭;派生表類似臨時表,語法為在SELECT...FROM中嵌入子查詢語句,同時須注意使用派生表必須具有別名,避免MySQL報錯。
在C#的人機介面應用,多重文件介面(MDI, Multiple-Document Interface)是一個常用的容器,在表單屬性中,將IsMdiContainer設定為true即可生成容器。
然而,生成容器後,父窗體背景的預設值為灰色,在人機介面的視覺效果,實在不親民。因此如何利用Resources.resx新增背景圖片資源,並在程式碼中調用該背景圖片,同時該背景圖片可隨著父窗體縮放,為本文主題。
相較<[Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(2):Add Form by External Direct Type>一文,Form tools亦可用External Code Type引入數據,也就是API串接。以相同的報名表網頁範例,本文改以External Code Type來建立表單並測試。
軟件測試是確認軟件質量的重要流程之一,一般藉由撰寫自動化測試程序來實現。視窗程式的自動化測試原理也很容易,其利用螢幕像素點作為定位參考,並以程式碼使滑鼠和鍵盤做動,如點擊或輸入文字等動作,使其可模擬人類操作視窗程式,最後自動化執行上千次或上萬次,以確保程式的可靠性。
延續<[Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(1):簡介和建置>一文,完成建置後,接著是在Form tools管理後台內新增表單(Add Form),方便管理不同的回填表單。新增表單分別有Internal, External和Form Builder三種型態供挑選,同時External又可區分為Direct和Code兩種方式,其中Direct是以指向Form tools內process.php的方式進行; Code則是以Form tools API方式引入。由於External方式較為彈性且靈活,本文以External Direct Type來建立表單,同時以報名表網頁為範例來測試。
Form tools是一套可搭配PHP和SQL的表單開源工具,可讓開發者靈活運用,同時其有數個表單模板和應用模組供挑選,方便且彈性。Form tools已開發超過20年,為不同領域的需求者或開發者提供一個自由和開放的平台,使他們可建構自定義的數據表單和格式,並透過網站發布,以及在Form tools管理後台或者MySQL中取得回填表單。另外,可藉由Form tools管理後台設定的資料可視化模組(Data Visualization Module),讓需求者可實時監看和管理回填表單的狀態,如下兩圖所示。看到這裡,是不是迫不及待想玩玩這個開源工具了呢?
之前曾利用VMware探索CentOS,熟悉Linux操作系統的指令和配置運作方式,後來在樹莓派價格飛漲的時期,遇到貴人贈送Raspberry Pi 4 model B / 8GB,這下工具到位了,索性跳過樹莓派官方系統(Raspberry Pi OS),直接裝起Ubuntu做實機測試和應用。
當時利用Ubuntu 22.04做了些簡單的應用,包含配置Apache和MySQL等等伺服器,並讓使用者在BS架構(Bowser-server)下,可用網頁簡易操作開發版並取得感測器數據。近期打算用樹莓派做一個通信協定的模擬數據測試,其在開關機的過程出現死當,剛好可以重做映像檔,試試Ubuntu 23.04。
2.用戶級:在Linux的不同用戶可依自行需求,設置週期性任務,如每天上午8:00啟動MySQL服務器並於晚上12:00關閉MySQL服務器,或者每三個小時執行一次Python程序。用戶級的最小運作週期是可達到分鐘為單位。
這算是debug代碼的紀錄,只求此次碰過的坑,下次可以繞道而過,紀錄,也供分享。
下列兩個簡單的代碼段都會看到IndexError: list index out of range錯誤訊息,其實問題來自於data1[5]和data2[0]無法被print出來,原因是data1是一個1~5的list,而其序號是由0開始計數,即data1[0]=1....data1[4]=5,所以找不到data1[5]。以此類推,data2是一個empty list,自然連data2[0]都沒有元素。
銜接<[Python]初探爬蟲(scrapy)>的學習,在Python中,除了善用request安裝包抓取網頁資料之外,還可利用selenium安裝包模擬瀏覽器操作網頁,包含搜尋關鍵字和抓取網頁資料,得以實現機機器人流程自動化(RPA, Robotic process automation)的操作。
在現今電腦化(或稱無紙化)的辦公環境中,往往因為工作需求需將一些資料在不同辦公文件之間轉移,如若需要呈現簡報(.ppt),可能需將word的部分文字複製到ppt上;若需要分析論文中的表格數據,可能需將pdf轉換成excel。然而,若僅僅是少數文件的轉換,或許可簡單用複製和貼上的功能來處理,但若是批量轉換的工作,為了避免重複性勞力和容易出錯,藉由工具來進行批量轉換才是正確的工作方式。