.Status, @ lcRetMsg, 160)
=MESSAGEBOX (ALLTRIM (lcRetMsg), 64, «MCI») «» alltrim (lcRetMsg) open
LPARAMETERS tcFileName, tHWNDlcCMDVARTYPE (tcFileName)=«C» . And. FILE (tcFileName)
* Перевірити, завантажений чи зараз
* аудіо або відеофайл; якщо так, то закрити його.
IF this.lLoad. DoCMD («CLOSE mediafile»)=IIF (VARTYPE (tHWND)=«N», tHWND, 0)
* Якщо значення HWND форми передано методом, то відео буде виводитися
* у вікні форми; інакше - в окремому вікні. При відтворенні аудіофайлу
* MCI ігнорує параметр STYLE=«OPEN« » + TcFileName + «» ALIAS mediafile STYLE »
IF tHWND=0=lcCMD + «Overlapped»=lcCMD + «child parent» + LTRIM (STR (tHWND))=lcCMD + « WAIT ». DoCMD (lcCMD) this.Status=0.lLoad =. T.playthis.lLoad.DoCMD (« PLAY mediafile ») stopthis.lLoad. DoCMD (« CLOSE mediafile »). LLoad =. F.pausethis. lLoad this.DoCMD («STATUS mediafile MODE»)=«playing». DoCMD («PAUSE mediafile») getsizelcRetMsg, lnSize=0this.lLoad=this.DoCMD («STATUS mediafile LENGTH») this.Status=0 =VAL (lcRetMsg) lnSizegetpositionlcRetMsg, lnPosition=0this.lLoad=this.DoCMD («STATUS mediafile POSITION») this.Status=0=VAL (lcRetMsg) lnPositiongetvideodimensiontnWidth, tnHeightlcRetMsgthis.lLoad=this.DoCMD («WHERE mediafile destination» ) this.Status=0=VAL (GETWORDNUM (lcRetMsg, 3, «»))=VAL (GETWORDNUM (lcRetMsg, 4, «»)) setvolumetnVolumeVARTYPE (tnVolume)=«N» tnVolume < 0=0tnVolume> 1000=1000this.lLoad. DoCMD («SETAUDIO mediafile volume to» + LTRIM (STR (tnVolume))) setposition
LPARAMETERS tnPositionlcCMD, lnSizeVARTYPE (tnPosition)=«N» this.lLoad=«SEEK mediafile to» CASE tnPosition=- 1 && На початок файлу=lcCMD + «start» tnPosition=- 2 && В кінець файлу=lcCMD + «end» tnPosition>=0 && На задану позіціюtnPosition <= this.GetSize ()=lcCMD + LTRIM (STR (tnPosition))=lcCMD + LTRIM (STR (this.GetSize ()))
ENDIF. DoCMD (lcCMD)
=INKEY (0.5) setvideorecttnLeft, tnTop, tnWidth, tnHeightVARTYPE (tnLeft) + VARTYPE (tnTop) + VARTYPE (tnWidth) + VARTYPE (tnHeight)=«NNNN»
LOCAL lcRetMsg
* Отримати HWND для вікна, в якому виводиться відео
lcRetMsg=this.DoCMD («STATUS mediafile window handle wait»)
IF this.Status=0
* Змінити положення і розміри вікна, в якому виводиться відео
lnDestHwnd=VAL (lcRetMsg) SetWindowPos (lnDestHwnd, 0, tnLeft, tnTop, tnWidth, tnHeight, 0)=0
=MESSAGEBOX («Помилка при зміні розмірів вікна для відео», 64, «MCI»)
ENDIF readythis.lLoad this.DoCMD («STATUS mediafile READY») ??= «true». t.
RETURN. f.Destroy.Stop () InitLong mciSendString IN WinMM.DLL String, String @, Long, LongLong SetWindowPos IN User32.dll;, Long, Long, Long, Long, Long, LongLong mciGetErrorString IN WinMM.DLL Long, String, Long
ENDPROC
4. Створення проекту
Тепер, коли всі форми зроблені, необхідно створити проект, після чого створити файл з розширенням. app, в якому і буде запускатися все наше додаток.
Відк...