發表文章

目前顯示的是 2月, 2018的文章

[軟體] 會場音樂播放器 arena music player

圖片
這是為了公司春酒/尾牙使用的音樂播放軟體,用 Powerbuilder 10 開發,使用多部筆記型電腦撥放,搭配我自己 自製的混音器 使用。 >> [新版這裡] 這個播放器可以預載 16 軌音樂,與 8 組音效,基本春酒/尾牙流程是足夠了,不過不含影片的播放,因為雖然可以開發MCI Video Player,但是我一直處理不好字幕檔的問題,所以播放軟體我就改成使用 potPlayer 來處理。而這支程式純粹是用來播放多軌音樂的 這播放器的好處是不需要在資料夾內一個一個點擊開啟音樂,然後又要關閉播放器的問題。 每一軌音樂都可以暫停,然後再播放其它音樂,當另一個音樂流程結束,再繼續原本的音樂。 下載程式 https://drive.google.com/file/d/1SpTYKghgKYE_5LFilqQE84szcjejrhIr/view?usp=sharing 本程式由 PB 10 開發,如果你沒有安裝過 PB10 的 Runtime,需先安裝下面 Runtime 包 https://drive.google.com/file/d/1WRlk4h0-W1G0Mzky6iuGAq9LmJbo-8BE/view?usp=sharing (載點失效請留言給我,我再重新上傳 ※URL會變更) 要注意幾點:

powerbuilder send message control

圖片
Powerbuilder 對於視窗形物件的控制比起 C/C++/C#/VB 等開發工具弱勢多了。 但是,Powerbuilder 提供了 Send 函數來彌補對視窗物件的一些細微控制。 其實,它是源自於 Windows 本身對於標準 Windows 物件的控制,它是使用了 Message ID 方式通知物件進形事件動作,而 Powerbuilder 只是順便利用了這個設計而已。 例如:ListView 為人詬病的就是缺了 Scroll 的控制,在資料量大時,一定會超過一個畫面的資料,會跑到畫面之外,此時你只能用滑鼠去 Scroll 或是用滑鼠操作 Scroll bar ,沒有辦法用 Programming 方式控制。 此時,就可以利用 Windows Message 方式發送控制資訊給 Windows物件 來控制: //捲動功能,可適用在ListView、DataWindow、MulitiLine Editor上 //上捲一行 Send(Handle(lv_mylist), 277, 0, 0) //上捲一頁 Send(Handle(lv_mylist), 277, 2, 0) //下捲一行 Send(Handle(lv_mylist), 277, 1, 0) //下捲一頁 Send(Handle(lv_mylist), 277, 3, 0) //像是下面兩種方式都可觸發按鈕Click事件 Send(Handle(Parent), 273, 0, Handle(cb_OK)) cb_OK.TriggerEvent(Clicked!) //最小化 DataWindo w Send(Handle(dw_whatever), 274, 61472, 0) //最大化 DataWindow Send(Handle(dw_whatever), 274, 61488, 0) //一般大小 DataWindow Send(Handle(dw_whatever), 274, 61728, 0)