VitaBox AD

2023年10月8日 星期日

[C#]在Mdi模式中,如何透過委派(delegate)方式,使兩個子窗體可相互傳送和接收資料?

 

關於在Mdi模式中,子窗體相互拋轉資料是常見的作業方式,同時經查找資料,利用委派(delegate)的方式,可避免耦合等問題。範例的操作效果如上述視頻,其中a窗體為送出資料的子窗體,b窗體為接收資料的子窗體。另外,利用TextChanged事件,讓使用者不需要再點擊按鈕,即可同步接收資料。

2023年9月19日 星期二

[Excel]如何提取指定顏色的儲存格內容並彙整資料?


近日在討論群組中,看到一個辦公室常見的資料處理問題,是關於提取顏色儲存格內容並彙整的資料需求,主要是提取紅色字體內容並彙整到總評欄位中,如下圖所示。

2023年9月16日 星期六

[Excel]如何快速彙整google問卷表單的複選題資料?


Google表單問卷已成為行銷領域的基本工具,藉由問卷回收進行統計分析以進一步了解目標市場和主要客群的動態,將有助於成熟產品的資源配置(如生產設備稼動、銷售渠道等等),甚至影響下一代產品的規格制訂。

因應行銷友人的統計分析需求,其需要將google回收問卷表單的複選題轉換成0101...的格式,如下圖,以進一步將數據帶入SPSS做分析。

2023年9月9日 星期六

[MySQL]同一張資料表的日期欄位相減_派生表(dervied table)的應用

 以往對於MySQL數據庫的應用,大多是基本的增刪改查步驟,因此MySQL大多停留在基本語法階段。然而在實際的數據應用上,若能從數據庫直接運算和抽取運算結果,同時不需要在MySQL中額外建立一個實體表,再好不過。

在MySQL中,虛擬表可符合上述需求,其中虛擬表包含臨時表(temporary table)、派生表(derived table)等等。臨時表的語法需注意嵌入以CREAT TEMPORARY TABLE...為開頭;派生表類似臨時表,語法為在SELECT...FROM中嵌入子查詢語句,同時須注意使用派生表必須具有別名,避免MySQL報錯。

2023年9月2日 星期六

[C#]MDI父窗體新增背景圖片,並隨父窗體縮放

在C#的人機介面應用,多重文件介面(MDI, Multiple-Document Interface)是一個常用的容器,在表單屬性中,將IsMdiContainer設定為true即可生成容器。

然而,生成容器後,父窗體背景的預設值為灰色,在人機介面的視覺效果,實在不親民。因此如何利用Resources.resx新增背景圖片資源,並在程式碼中調用該背景圖片,同時該背景圖片可隨著父窗體縮放,為本文主題。

2023年8月20日 星期日

[Python]視窗軟件的自動化測試工具_pyautogui


軟件測試是確認軟件質量的重要流程之一,一般藉由撰寫自動化測試程序來實現。視窗程式的自動化測試原理也很容易,其利用螢幕像素點作為定位參考,並以程式碼使滑鼠和鍵盤做動,如點擊或輸入文字等動作,使其可模擬人類操作視窗程式,最後自動化執行上千次或上萬次,以確保程式的可靠性。

2023年8月18日 星期五

[Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(2):Add Form by External Direct Type

可搭配PHP和SQL的表單開源工具_Form tools(2):Add Form by External Direct 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來建立表單,同時以報名表網頁為範例來測試。

2023年8月17日 星期四

[Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(1):簡介和建置

可搭配PHP和SQL的表單開源工具_Form tools(1):簡介和建置

Form tools是一套可搭配PHP和SQL的表單開源工具,可讓開發者靈活運用,同時其有數個表單模板和應用模組供挑選,方便且彈性。Form tools已開發超過20年,為不同領域的需求者或開發者提供一個自由和開放的平台,使他們可建構自定義的數據表單和格式,並透過網站發布,以及在Form tools管理後台或者MySQL中取得回填表單。另外,可藉由Form tools管理後台設定的資料可視化模組(Data   Visualization Module),讓需求者可實時監看和管理回填表單的狀態,如下兩圖所示。看到這裡,是不是迫不及待想玩玩這個開源工具了呢?  

2023年8月6日 星期日

[LabVIEW]圖像內的物件計算_Count objects

[LabVIEW]圖像內的物件計算_Count objects


NI雖然是以賣硬件為主的公司,但其在軟件(LabVIEW)的著墨也相當深厚,尤其是各類應用模組的更新速度和對應功能。 每每不經意地碰觸到新版本的LabVIEW,都會不由自主地翻閱和嘗試新增模組。

本文藉由兩個模組串接簡易製作一支圖像計數程式,兩個模組分別為<IMAQ Count Objects>和<IMAQ ExtractSingleColorPlane>,流程架構為"讀取圖像"->"圖像格式轉換"->"計算圖像內的物件個數",其中"圖像格式轉換"由<IMAQ ExtractSingleColorPlane>將32bit圖像轉成8bit圖像,再交由<IMAQ Count Objects>執行"計算圖像內的物件個數"。

2023年7月30日 星期日

[Raspberry Pi]如何用VNC遠端控制樹莓派(Ubuntu desktop 23.04)?

如何用VNC遠端控制樹莓派(Ubuntu desktop 23.04)?

之前曾利用VMware探索CentOS,熟悉Linux操作系統的指令和配置運作方式,後來在樹莓派價格飛漲的時期,遇到貴人贈送Raspberry Pi 4 model B / 8GB,這下工具到位了,索性跳過樹莓派官方系統(Raspberry Pi OS),直接裝起Ubuntu做實機測試和應用。

當時利用Ubuntu 22.04做了些簡單的應用,包含配置Apache和MySQL等等伺服器,並讓使用者在BS架構(Bowser-server)下,可用網頁簡易操作開發版並取得感測器數據。近期打算用樹莓派做一個通信協定的模擬數據測試,其在開關機的過程出現死當,剛好可以重做映像檔,試試Ubuntu 23.04。

[Linux]如何配置定期任務腳本,並將執行結果寄到外部郵箱? (下)

 ​延續[Linux]如何配置定期任務腳本,並將執行結果寄到外部郵箱? (上)文章,當了解任務腳本和定期任務的設置後,接續了解該如何使任務執行結果自動寄到外部信箱,讓用戶掌握任務執行狀態。

在Linux中,mailx 是配置郵件的服務,若無該服務,可用yum install mailx -y來安裝。安裝後,使用vim /etc/mail.rc 編輯,將下列的配置指令新增到mail.rc文件的末段。

2023年7月22日 星期六

[Linux]如何配置定期任務腳本,並將執行結果寄到外部郵箱? (上)

在Linux系統中,cron是用於定期執行任務的服務,其中crontab是配置定期任務的管理命令。關於定期執行任務,cron提供系統級和用戶級的配置服務,說明如下:

1.系統級:常用於備份系統數據或是清除系統緩存文件等週期性任務。系統級的最小運作週期是以小時為單位,可將任務腳本置於/etc/cron.hourly路徑中定時執行。另外,相較於用戶級,系統級可避免某個應執行任務被錯過。

2.用戶級:在Linux的不同用戶可依自行需求,設置週期性任務,如每天上午8:00啟動MySQL服務器並於晚上12:00關閉MySQL服務器,或者每三個小時執行一次Python程序。用戶級的最小運作週期是可達到分鐘為單位。

2023年6月22日 星期四

[Excel VBA]如何批量產出QRcode?


QRcode常應用於產品上,不論是為了控管產品工序節點、或是控管產品售後質量,甚至是為了觸及更多消費者的行銷推廣活動。然而,QRcode標籤的產出往往受制於標籤設備的應用程式(當然也有不少方式可以解,例如透過DLL調用),因此經資料查找,可藉由API接口網址來生成,如此一來,方便許多。

2023年6月4日 星期日

[書籍]思考的框架

 圖片來源:博客來書店


《思考的框架》是一本極具啟發性和實用性的書籍,它以系統性和綜合性的方式引導讀者運用跨學科思維來解決問題和拓展思維視野。作者巧妙地整合了來自不同領域的思想家和學者的觀點,從心理學到經濟學,從哲學到科學等,為我們打開了一扇通往智慧和創造力的大門。