2023年5月9日 星期二

讓 wxMediaCtrl 可播放

在網路上找到的資料或 AI 生成的範例,要真正能夠讓 wxMediaCtrl 動起來的方法都不是很完整,此文沒有高深的技巧,只是在初始建構上做補充。

要讓 wxMediaCtrl 能夠播放有兩點被 AI 忽略,建立時要指定後台播放器;以及要確定 Load 完成,即要捕捉 wxEVT_MEDIA_LOADED 這個事件。

2023年4月25日 星期二

修改 Code::Blocks 的 wxWidgets 專案引導

截至 Code::Blocks 20.03 為止, wxWidgets 專案引導指引只到 3.1.x,若要使用 3.2 得每次建立專案後去修改專案的 wxWidgets 程式庫檔名。

很幸運的有人提供了修改過的引導精靈,https://github.com/PBfordev/wxpbguide ,但要從 git 庫 clone 才有效




2023年3月29日 星期三

多重字串替換

這是指在一次執行中把要替換的多筆字串一次完成,哪組先找到先替換,替換過的不能再被替換。有別於多次執行替換的處理。

關於拿掉 if (!f)   return Src; 的原因在,只有 Replacements 為空時才會有作用可提早離開,並不會影響功能的正確性,絕大多數 Replacements 並不會是空的,沒必要多此一舉。

正則表達式的特殊字元編碼與解碼

因 ChatGPT 同樣的問題每次的回答都不一樣,這次的作法覺得不錯,所以在這留一份。

對於詠唱詞我個人覺得,那是給 AI 看的不是給人看,意思是人是不是看得懂或是否覺得優美不重要,但若能兩者兼具那也很好,當作是詠唱詞與註解的結合

2022年11月8日 星期二

Association File 範例

這是用 CodeBlocks 製作的專案,並須備好 C++ 編譯器和 wxWidgets,主要在介紹幾個 wxWidgets 強大的功能。程式雖然在 Windows 系統環境下寫的,但因 wxWidgets  是跨平台的程式庫,因此在其他系統環境下也應該可行。

程式的主要目的在達成程式與關聯檔案(Association File)的聯結,只要對關聯資料檔案點兩下,就可以叫出程式來虙理。

2022年11月2日 星期三

在 Ubuntu 安裝 CxxlMan2 程式庫

這次的目標在安裝 CxxlMan2 程式庫和多國語言插件,以及用一個簡單的例子做範例。在 CxxlMan2 的部份先下載以下檔案,並解壓到一個資料夾中,我是放在 ~/MySrc

首先安裝好 C++ 編譯器,先下三道命令
$ sudo apt install gcc
$ sudo apt install c++
$ sudo apt-get install uuid-dev
再到 Ubuntu Software 安裝 CMake 及 Code::Blocks IDE,準備完成後就可以編譯安裝了。

編譯完成後的相關成品都要放到 /usr/local,也就是 Include 檔要放到 /usr/local/include,CxxlMan2 程式庫要放到 /usr/local/lib,Release 版的插件要放到 /usr/local/plugin,Debug 版的插件要放到 /usr/local/plugin_d。

2022年11月1日 星期二

VMware 安裝 Ubuntu 22.04.1 的鳥事

 為了能修訂 CxxlMan2 程式庫在 Linux 適用性,所以在 VMware 16.2.4 裝了一套 ubuntu-22.04.1-desktop-amd64 來用,但卻不能在 Host 與 Guest 之間複製檔案,上網找了一堆奇形怪招也沒用,浪費不少精神和時間。

後來無意間發現可以把一個 .txt 檔複製進去,才發現原來會阻擋副檔名為 .zip 的複製動作,還真是鳥屎^@#!&