Time of Update: 2018-12-07
//聲明:midiInGetDevCaps( DeviceID: UINT; {裝置識別碼} lpCaps: PMidiInCaps; {TMidiInCaps 結構的指標} uSize: UINT {TMidiInCaps 結構的大小}): MMRESULT; {成功返回 0; 可能的錯誤值見下:}MMSYSERR_BADDEVICEID = 2; {裝置ID超界}MMSYSERR_NODRIVER = 6;
Time of Update: 2018-12-07
//聲明:midiOutGetDevCaps( uDeviceID: UINT; {裝置識別碼} lpCaps: PMidiOutCaps; {TMidiOutCaps 結構的指標} uSize: UINT {TMidiOutCaps 結構的大小}): MMRESULT; {成功返回 0; 可能的錯誤值見下:}MMSYSERR_BADDEVICEID = 2; {裝置ID超界}MMSYSERR_NODRIVER = 6;
Time of Update: 2018-12-07
提示:在緩衝區給 midiOutLongMsg 之前, 先要調用 midiOutPrepareHeader 準備; 還要調用 GlobalAlloc 給 TMidiHdr 和其中 lpData 指向的緩衝區分配記憶體(使用 GMEM_MOVEABLE、GMEM_SHARE), 並用 GlobalLock 鎖定. //聲明:midiOutLongMsg( hMidiOut: HMIDIOUT; {裝置控制代碼} lpMidiOutHdr: PMidiHdr; {TMidiHdr
Time of Update: 2018-12-07
類名首碼TActionactTActionListactlstTActionMainMenuBaractmmbTActionManageractmgrTActionToolBaracttbTADOCommandcmdTADOConnectionconTADODataSetdsTADOQueryqryTADOStoredProcspTADOTabletblTAnimateaniTBatchMovebmTBevelbvlTBitBtnbtnTButtonbtnTCalendarcalTChartch
Time of Update: 2018-12-07
推薦使用 Classes.ExtractStrings 函數.function Split(ss,s:string): TStringList;begin Result := TStringList.Create; while Pos(s,ss)>0 do begin Result.Add(Copy(ss,1,Pos(s,ss)-1)); Delete(ss,1,Pos(s,ss)); end; Result.Add(ss);end;先謝謝 "tomzw"
Time of Update: 2018-12-07
unit Unit1;interface {介面部分開始}uses {引用單元列表,這是可選的,如果包含必須緊跟interface關鍵字} {介面部分聲明常量/類型/變數/過程和函數,這些聲明對引用單元就像自己的聲明一樣} {在介面部分聲明的過程和函數,就像使用了forward關鍵字} {介面部分結束}implementation {實現部分}uses {如果包含uses字句,必須緊跟關鍵字implementation}
Time of Update: 2018-12-07
提示: 裝置寫滿緩衝區返回給程式後, 須調用此函數;釋放(GlobalFree)緩衝區前, 須調用此函數;取消一個尚未準備的緩衝區將無效, 但函數返回 0 //聲明:midiOutUnprepareHeader( hMidiOut: HMIDIOUT; {裝置控制代碼} lpMidiOutHdr: PMidiHdr; {TMidiHdr 結構指標} uSize: UINT {TMidiHdr 結構大小}): MMRESULT;
Time of Update: 2018-12-07
提示:該函數會將時間標記清 0;非系統專用訊息會直接給使用者;系統專用訊息放在由 midiInAddBuffer 函數提供的緩衝區中, 如果隊列中沒有緩衝區, 資料將被丟棄;當緩衝區已滿、或接收到一條完全的系統專用訊息、或調用 midiInReset 時, 緩衝區返還給使用者;TMidiHdr 的 dwBytesRecorded 中會返回實際接收到的資料長度.//聲明:midiInStart( hMidiIn: HMIDIIN {裝置控制代碼}): MMRESULT; {成功返回
Time of Update: 2018-12-07
問題來源:http://www.cnblogs.com/del/archive/2011/03/24/1994029.html#2059114Globe 同學有這樣的 XML 檔案:其中包含中文、韓文,並且有些是十六進位、有些是十進位,真實的內容應該是:下面是把它開啟並另存新檔標準的 UTF-8 格式 XML 的代碼(使用了 DelphiXE 最新的Regex組件):unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants,
Time of Update: 2018-12-07
提示:緩衝區寫滿後送回應用程式;輸入緩衝區只用於系統互斥的訊息;在緩衝區傳給 midiInAddBuffer 之前, 先要調用 midiInPrepareHeader 準備; 還要調用 GlobalAlloc 給 TMidiHdr 和其中 lpData 指向的緩衝區分配記憶體(使用 GMEM_MOVEABLE、GMEM_SHARE), 並用 GlobalLock 鎖定. //聲明:midiInAddBuffer( hMidiIn: HMIDIIN; {輸入裝置控制代碼}
Time of Update: 2018-12-07
大小寫轉換:function ToLower: string;function ToLower(LocaleID: TLocaleID): string;function ToLowerInvariant: string;function ToUpper: string;function ToUpper(LocaleID: TLocaleID): string;function ToUpperInvariant: string;class function LowerCase(const S:
Time of Update: 2018-12-07
//聲明:midiOutGetVolume( hmo: HMIDIOUT; {裝置控制代碼} lpdwVolume: PDWORD {返迴音量的地址; 低兩位是左聲道音量, 高兩位是右聲道音量; $FFFF是最大, $0000是最小}): MMRESULT; {成功返回 0; 可能的錯誤值如下:}MMSYSERR_INVALHANDLE = 5; {裝置控制代碼無效}MMSYSERR_NODRIVER = 6;
Time of Update: 2018-12-07
Windows 編程 |學習 Message |多線程編程 |記憶體管理 |記憶體函數 |鉤子函數 |初學彙編 |演算法與資料結構 |資源檔 |游標相關函數 |WinAPI 字元及字串函數 |再學 GDI+ |用 GDI 操作 EMF 檔案 |Delphi 的繪圖功能 |理解類 |TStringGrid |TMainMenu |TTreeView |TScreen |TRegistry |TListView |使用剪下板 |TList 類的實現 |運算子多載 |編譯指令 |字元及字串
Time of Update: 2018-12-07
提示: 裝置寫滿緩衝區返回給程式後, 須調用此函數;釋放(GlobalFree)緩衝區前, 須調用此函數;取消一個尚未準備的緩衝區將無效, 但函數返回 0 //聲明:midiInUnprepareHeader( hMidiIn: HMIDIIN; {裝置控制代碼} lpMidiInHdr: PMidiHdr; {TMidiHdr 結構指標} uSize: UINT {TMidiHdr 結構大小}): MMRESULT; {成功返回 0
Time of Update: 2018-12-07
該函數在視窗被啟用、建立、銷毀、最大化、最小化、移動、改變大小等動作前;完成一條系統命令前;從系統訊息佇列中移去一個滑鼠或鍵盤訊息前;與系統訊息同步前;被調用!CBTProc( nCode: Integer; {要處理的訊息類型, 見下表} wParam: WPARAM; {訊息對應的參數, 見下表} lParam: LPARAM {訊息對應的參數, 見下表}): LRESULT; {傳回值表示是否阻止某個事件的發生}//待續...
Time of Update: 2018-12-07
提示:參數三數組中的每一個元素代表 128 種音色中的一種;MIDI 通道用 0..15 表示, 譬如通道 0 和 8 使用了 0 號音色, 數組的第 0 個元素就是 $0101.//聲明:midiOutCachePatches( hMidiOut: HMIDIOUT; {裝置控制代碼; 這個裝置應該是內部合成器} uBank: UINT; {指定音色組; 預設設定為 0} lpwPatchArray: PWord; {TPatchArray 數組的指標;
Time of Update: 2018-12-07
提示:函數成功後, 控制代碼不再有效;如果已經發送給 midiOutLongMsg 函數的緩衝區沒有返回給程式, 函數會失敗;調用 midiOutReset 可將所有掛起的緩衝區標記為已執行.//聲明:midiOutClose( hMidiOut: HMIDIOUT {裝置控制代碼}): MMRESULT; {成功返回 0; 可能的錯誤值見下:}MMSYSERR_INVALHANDLE = 5; {裝置控制代碼無效}MIDIERR_STILLPLAYING = 65;
Time of Update: 2018-12-07
提示:參數三數組中的每一個元素代表 128 種鼓音色中的一種;MIDI 通道用 0-15 表示, 譬如通道 9 和 15 使用了 60 號鍵上的音色, 數組的第 60 個元素就是 $8200.//聲明:midiOutCacheDrumPatches( hMidiOut: HMIDIOUT; {裝置控制代碼; 這個裝置應該是內部合成器} uPatch: UINT; {指定鼓音色號; 預設設定為 0} lpwKeyArray: PWord; {TKeyArray 數組的指標;
Time of Update: 2018-12-07
提示: 因為其中的回呼函數是在停機時間內訪問的, 必須在 DLL 中; 要訪問的資料都必須是在固定的資料區段中; 除了PostMessagetimeGetSystemTimetimeGetTimetimeSetEventtimeKillEventmidiOutShortMsgmidiOutLongMsgOutputDebugString 外, 也不能有其他系統調用.//聲明:midiInOpen( lphMidiIn: PHMIDIIN; {用於返回裝置控制代碼的指標;
Time of Update: 2018-12-07
提示: 因為其中的回呼函數是在停機時間內訪問的, 必須在 DLL 中; 要訪問的資料都必須是在固定的資料區段中; 除了PostMessagetimeGetSystemTimetimeGetTimetimeSetEventtimeKillEventmidiOutShortMsgmidiOutLongMsgOutputDebugString 外, 也不能有其他系統調用.//聲明:midiOutOpen( lphMidiOut: PHMIDIOUT; {用於返回裝置控制代碼的指標;