آموزش جامع و کاربردی مالتی مدیا بیلدر

آموزش کامل مالتی مدیا بیلدر

توسط admin | گروه برنامه نویسی | 1405/04/29

نظرات 0

مرجع جامع MultiMedia Builder 4.9.8 و MMBScript

فهرست گروه‌بندی‌شدهٔ دستورها، توابع، ثابت‌های CBK، ماکروهای مسیر، اشیا، رویدادها و قابلیت‌های تاریخی برنامه؛ همراه با اصلاح خطاهای تایپی Help رسمی.

نسخهٔ 4.9.8.13 جست‌وجوی فوری راست‌چین و واکنش‌گرا تم روشن و تیره قابل چاپ
املای عبارت را بررسی کنید یا بخشی از نام دستور را بنویسید.

دامنه و نسخهٔ مرجع

این سند دربارهٔ MediaChance MultiMedia Builder و زبان MMBScript است، نه نرم‌افزارهای هم‌نام دیگر. نسخهٔ نهایی رسمی برنامه 4.9.8.13 است و محصول پس از آن به وضعیت End‑of‑Life رسیده است. بنابراین فهرست حاضر همهٔ دستورها، توابع، ثابت‌ها، ماکروها، اشیا و رویدادهای داخلی مستندشده تا نسخهٔ 4.9.8 را پوشش می‌دهد.

موارد پلاگین‌های شخص ثالث داخل فهرست نیستند؛ چون هر DLL می‌تواند دستورهای مخصوص خودش را اضافه کند و مجموعهٔ بسته و ثابتی ندارند. رابط عمومی خود MMB برای پلاگین‌ها (PluginSet، PluginGet و PluginRun) کاملاً درج شده است.

منابع مبنا:

  • راهنمای رسمی انگلیسی MMB 4.9.8، چاپ نوامبر 2007، فصل‌های Scripting Unleashed و MMB Command Reference
  • تاریخچهٔ رسمی نسخه‌ها در همان راهنما، به‌علاوهٔ بخش What's New نسخهٔ 4.9.8.13

نکتهٔ مهم: نام دستورها در MMBScript به بزرگی/کوچکی حروف حساس نیست، اما رشته‌ها، نام متغیرها و بعضی پارامترها ممکن است حساس باشند. در این سند املای رسمی و خواناتر استفاده شده است.


1. اجزای زبان و قواعد نوشتن اسکریپت

1.1 انواع داده و متغیرها

  1. متغیر عددی: بدون پسوند، مانند Count=10؛ اعداد صحیح و اعشاری را نگه می‌دارد.
  2. متغیر رشته‌ای: با پسوند $، مانند Name$='Ali'.
  3. آرایهٔ عددی: مانند Scores[1]=20.
  4. آرایهٔ رشته‌ای: نگارش نهایی صحیح Names$[1]='Ali' است. بعضی مثال‌های قدیمی Help شکل Names[1]$ دارند، اما 4.9.8 نگارش str$[idx] را تثبیت کرده است.
  5. فهرست رشته‌ای جداشده با Delimiter: آرایهٔ متنی یک‌خطی که با GetArrayItem و GetArrayNum خوانده می‌شود.
  6. فهرست داخلی فایل‌ها: با ماکروی <List> و دستورهای SongList... مدیریت می‌شود.
  7. متغیر انتخاب فایل: OpenFile$ پس از OpenFile یا SaveFile حاوی مسیر کامل انتخاب است.

1.2 انتساب و عملگرهای محاسباتی

عملگر کاربرد
= انتساب؛ در شرط نیز به معنی برابری
+ جمع عددی یا الحاق رشته‌ها
- تفریق
* ضرب
/ تقسیم

1.3 عملگرهای شرطی و منطقی

عملگر معنی
= مساوی
<> نامساوی
< کوچک‌تر
> بزرگ‌تر
<= کوچک‌تر یا مساوی
=> بزرگ‌تر یا مساوی؛ املای مستند MMB همین است، نه >=
& AND؛ برقرار بودن همهٔ شرط‌ها
| OR؛ برقرار بودن دست‌کم یک شرط

1.4 رشته‌ها و Escape

  • رشتهٔ مستقیم داخل تک‌نقل‌قول نوشته می‌شود: 'Hello'.
  • تک‌نقل‌قول داخل رشته با \' نوشته می‌شود.
  • برای نگه‌داشتن Backslash در انتهای رشته از \\ استفاده می‌شود.
  • الحاق رشته‌ها با + است: Full$=First$+' '+Last$.
  • پارامترهای دستور معمولاً داخل دابل‌کوتیشن‌اند: Page("Page 2").

1.5 توضیحات (Comments)

  1. * comment — توضیح تک‌خطی قدیمی.
  2. ** comment — شکل توصیه‌شدهٔ توضیح تک‌خطی.
  3. /* ... */ — توضیح چندخطی از نسخهٔ 4.9.7؛ آغاز باید ابتدای خط اول و پایان، انتهای خط آخر باشد و شکل Inline ندارد.

1.6 شکل عمومی دستورها

CommandName() CommandName("parameter") CommandName("parameter1","parameter2") CommandName(variable1,variable2)

هر دستور در یک خط نوشته می‌شود. پایان خط به Semicolon نیاز ندارد.


2. ساختارهای کنترل جریان

2.1 شرط

If (Condition) Then   ... Else   ... End
  • If ... Then — شروع شرط.
  • Else — شاخهٔ جایگزین و اختیاری.
  • End — پایان بلوک شرط.
  • شرط‌های تودرتو مجازند.
  • چند شرط با & و | ترکیب می‌شوند.

2.2 حلقه

For i=1 To 10   ... Next i
  • For ... To ... — تعیین شمارنده، مقدار آغاز و پایان.
  • Next — پایان حلقه.
  • اگر مقدار آغاز از پایان بزرگ‌تر باشد، شمارش نزولی انجام می‌شود.
  • مقدار پایان می‌تواند هنگام اجرای حلقه تغییر کند.
  • Infinity — انتهای نامحدود: For i=1 To Infinity.
  • Break() — خروج فقط از حلقهٔ جاری و ادامه پس از Next.
  • Return() — پایان کل اسکریپت جاری.
  • Refresh() — تازه‌سازی صفحه و Pump کردن پیام‌های ویندوز در حلقه‌های طولانی.
  • Pause("ms") — مکث بر حسب میلی‌ثانیه.

2.3 ثابت‌های منطقی

  • TRUE — درست/فعال.
  • FALSE — نادرست/غیرفعال.
  • Infinity — حد نامتناهی برای حلقه.

3. ماکروهای مسیر و دادهٔ داخلی

  1. <CD> — درایو CD‑ROM تشخیص‌داده‌شده؛ قدیمی و برای پروژه‌های شبکه‌ای توصیه نمی‌شود.
  2. <Embedded> — پوشه/فضای فایل‌های Embedded استخراج‌شده در Runtime.
  3. <File> — مسیر کامل آخرین فایل انتخاب‌شده در OpenFile یا SaveFile.
  4. <List> — فهرست داخلی فایل‌ها/Song List.
  5. <SrcDir> — پوشه‌ای که برنامهٔ در حال اجرا از آن شروع شده است؛ ماکروی اصلی مسیر نسبی.
  6. <SrcDrive> — درایو محل برنامهٔ در حال اجرا.
  7. <System> — پوشهٔ System ویندوز.
  8. <Temp> — پوشهٔ موقت ویندوز.
  9. <Windows> — پوشهٔ نصب ویندوز.
  10. <This> — Handle پنجرهٔ جاری MMB، عمدتاً برای فرمان‌های MCI.

4. ثابت‌های CBK

CBKها مقادیر آمادهٔ Runtime هستند. می‌توان آن‌ها را در Text Object نمایش داد یا در اسکریپت به متغیر نسبت داد.

4.1 صدا و فایل صوتی

  1. CBK_Total — مدت کل صوت با قالب mm:ss؛ در استفادهٔ عددی، ثانیه.
  2. CBK_Total Sec — مدت کل صوت بر حسب ثانیه.
  3. CBK_Time — موقعیت فعلی صوت با قالب mm:ss؛ در استفادهٔ عددی، ثانیه.
  4. CBK_Time Sec — موقعیت فعلی صوت بر حسب ثانیه.
  5. CBK_AudioType — نوع/Codec فایل صوتی.
  6. CBK_AudioBit — Bitrate.
  7. CBK_AudioFreq — Sampling Frequency.
  8. CBK_AudioName — نام فایل صوتی بدون مسیر و پسوند.
  9. CBK_Channels — حالت Mono یا Stereo.
  10. CBK_ID3Song — عنوان آهنگ از ID3.
  11. CBK_ID3Artist — هنرمند از ID3.
  12. CBK_ID3Album — آلبوم از ID3.
  13. CBK_ID3Year — سال از ID3.
  14. CBK_ID3Genre — ژانر از ID3.
  15. CBK_NumTracks — تعداد Trackهای Audio CD.

4.2 فهرست آهنگ‌ها

  1. CBK_CurItemList — آیتم جاری/انتخاب‌شدهٔ Song List.
  2. CBK_NumInList — تعداد آیتم‌های فهرست.
  3. CBK_TotalList — مجموع زمان فهرست با قالب mm:ss؛ پس از SongListTime() محاسبه می‌شود.
  4. CBK_TotalListSec — مجموع زمان فهرست به ثانیه؛ پس از SongListTime().

4.3 ویدئو

  1. CBK_VName — نام فایل ویدئو بدون مسیر و پسوند.
  2. CBK_VTotal — مدت کل ویدئو با قالب mm:ss.
  3. CBK_VTotalSec — مدت کل ویدئو بر حسب ثانیه.
  4. CBK_VTime — موقعیت فعلی ویدئو با قالب mm:ss.
  5. CBK_VTimeSec — موقعیت فعلی ویدئو بر حسب ثانیه.
  6. CBK_VTotalFrames — تعداد کل Frameها.
  7. CBK_VFrame — Frame جاری.

4.4 تاریخ و زمان

MMB تابع‌هایی مانند DateAdd یا DateDiff ندارد؛ تاریخ و زمان داخلی آن از این CBKها گرفته می‌شود:

  1. CBK_Year — سال جاری.
  2. CBK_Month — نام ماه جاری مطابق تنظیمات منطقه‌ای ویندوز.
  3. CBK_Month Num — شمارهٔ ماه، 1 تا 12.
  4. CBK_Day — نام روز هفته مطابق تنظیمات منطقه‌ای.
  5. CBK_DayNum — شمارهٔ روز هفته؛ Sunday=1 تا Saturday=7.
  6. CBK_DateNum — روز ماه، 1 تا 31.
  7. CBK_DateShort — تاریخ کوتاه ویندوز.
  8. CBK_DateLong — تاریخ بلند ویندوز.
  9. CBK_TimeHMS — زمان 12ساعته همراه AM/PM.
  10. CBK_Time24 — زمان 24ساعته HH:MM:SS.
  11. CBK_Hour — ساعت، 0 تا 23.
  12. CBK_Minute — دقیقه، 0 تا 59.
  13. CBK_Second — ثانیه، 0 تا 59.

4.5 عمومی، Dialog و نتیجهٔ عملیات

  1. CBK_AppFileName — نام EXE جاری.
  2. CBK_PageName — Label صفحهٔ جاری.
  3. CBK_Error — کد خطای FMOD یا Video Object.
  4. CBK_Volume — صدای Master در بازهٔ 0 تا 100.
  5. CBK_URLpath — URL جاری HTML/Browser Object.
  6. CBK_OpenFile — نام فایل انتخاب‌شده بدون مسیر.
  7. CBK_OpenDir — پوشهٔ فایل انتخاب‌شده.
  8. CBK_ReturnVal — Exit/Return Code برنامه‌ای که با Run اجرا شده است.
  9. CBK_SelColor — رنگ انتخابی ColorPicker به شکل R,G,B.
  10. CBK_Font — نتیجهٔ FontPicker به شکل Name|Style|Size|Script|Effect|.
  11. CBK_MsgEx — شناسهٔ دکمهٔ فشرده‌شده در MessageEx یا -1 در Timeout.

4.6 CBKهای رویدادی و قراردادی

  1. CBK_AudioEOF — اگر Script Object این نام را داشته باشد، در پایان صوت اجرا می‌شود.
  2. CBK_Menu... — Group/Objectهایی که Label آن‌ها با این پیشوند شروع شود با کلیک بیرون از گروه پنهان می‌شوند.
  3. CBK_EXIT — Object/Group روی Master Top Layer برای گرفتن Escape و Close و ساخت تأیید خروج سفارشی.
  4. CBK_CMDLINE — Script Object روی Master Page/Top Layer برای دریافت پارامترهای خط فرمان.

5. توابع ازپیش‌تعریف‌شده

5.1 پنجرهٔ Publication

  1. PubX() — مختصات X پنجرهٔ پروژه.
  2. PubY() — مختصات Y پنجرهٔ پروژه.
  3. PubWidth() — عرض کل پنجره همراه Border.
  4. PubHeight() — ارتفاع کل پنجره همراه Border و Title.
  5. ClientWidth() — عرض ناحیهٔ Client بدون Border.
  6. ClientHeight() — ارتفاع ناحیهٔ Client بدون Border/Title.
  7. IsMinimized() — وضعیت Minimized پنجره.
  8. IsMaximized() — وضعیت Maximized پنجره؛ افزوده‌شده در 4.9.8.13.

5.2 شیء و تصویر

  1. ObjectX(ObjectLabel) — X شیء.
  2. ObjectY(ObjectLabel) — Y شیء.
  3. ObjectWidth(ObjectLabel) — عرض شیء.
  4. ObjectHeight(ObjectLabel) — ارتفاع شیء.
  5. CurrentObject() — Label شیئی که اسکریپت در آن اجرا شده است.
  6. IsVisible(ObjectLabel)1 قابل‌دیدن، 0 پنهان و -1 شیء ناموجود.
  7. ImageScrollX(ObjectLabel) — موقعیت Scroll افقی Bitmap Object.
  8. ImageScrollY(ObjectLabel) — موقعیت Scroll عمودی Bitmap Object.
  9. ImageWidth(ObjectLabel) — عرض واقعی کل تصویر، نه فقط Viewport.
  10. ImageHeight(ObjectLabel) — ارتفاع واقعی کل تصویر.
  11. ScrollBarSize(ObjectLabel) — ضخامت Scrollbar تصویر.
  12. GetImageOpacity(ObjectLabel) — Opacity جاری Bitmap، از 0 تا 100.
  13. GetVideoParam(ObjectLabel,VideoParam) — وضعیت fullscreen، loop، mute، time یا frame به صورت 0/1.
  14. MXCOL — ستون جاری انتخاب‌شده در Image Matrix؛ بدون پرانتز.
  15. MXROW — سطر جاری انتخاب‌شده در Image Matrix؛ بدون پرانتز.

5.3 سیستم، نمایشگر، ماوس و سخت‌افزار

  1. ScreenWidth() — عرض کل نمایشگر.
  2. ScreenHeight() — ارتفاع کل نمایشگر.
  3. WorkAreaWidth() — عرض Work Area ویندوز.
  4. WorkAreaHeight() — ارتفاع Work Area ویندوز.
  5. MouseX() — X ماوس روی Screen.
  6. MouseY() — Y ماوس روی Screen.
  7. MouseLButton() — وضعیت دکمهٔ چپ ماوس.
  8. MouseRButton() — وضعیت دکمهٔ راست ماوس.
  9. MouseMButton() — وضعیت دکمهٔ وسط ماوس.
  10. WinVer() — نسخه و Build ویندوز به صورت String.
  11. UsingWinNT() — تشخیص خانوادهٔ NT در برابر Win9x/ME.
  12. ScreenColors() — تعداد رنگ‌های حالت جاری نمایشگر.
  13. ProcType() — سازنده/نوع/سرعت CPU به صورت String.
  14. ProcFreq() — فرکانس CPU بر حسب MHz.
  15. GetMemory() — اطلاعات Total و Free RAM به صورت String.

5.4 تبدیل، عدد و کاراکتر

  1. VAL(String$) — تبدیل String به عدد.
  2. CHAR(Number) — تبدیل عدد به نمایش رشته‌ای آن.
  3. CHR(Number) — تبدیل کد ASCII به کاراکتر.
  4. ORD(Char$) — تبدیل کاراکتر به کد عددی ASCII.
  5. ABS(Number) — قدرمطلق؛ طبق Help قدیمی MMB بخش اعشاری را نیز به مقدار صحیح پایین‌تر می‌برد.
  6. INT(Number) — حذف بخش اعشاری/گرد کردن رو به مقدار صحیح پایین‌تر.
  7. RND(MaxValue) — عدد تصادفی از صفر تا سقف تعیین‌شده.

5.5 رشته‌ها

  1. LEN(String$) — طول رشته.
  2. LOW(String$) — تبدیل به حروف کوچک.
  3. UPP(String$) — تبدیل به حروف بزرگ.
  4. POS(SubString$,String$) — موقعیت زیررشته در رشته.
  5. NOL(Path$) — Normalize/اصلاح مسیر و Backslashهای آن طبق قواعد MMB.
  6. StrCopy(String$,Position,Count) — کپی بخشی از رشته.
  7. StrDel(String$,Position,Count) — حذف بخشی از رشته.
  8. StrIns(SourceString$,InsertString$,Position) — درج رشته در موقعیت مشخص.
  9. StrGet(String$,Position) — گرفتن یک کاراکتر از موقعیت مشخص.
  10. StrSet(String$,Position,Char$) — جایگزینی کاراکتر در موقعیت مشخص.
  11. StrOfChar(Char$,Count) — تولید رشته‌ای از تکرار یک کاراکتر.
  12. StrChange(String$,From$,To$) — جایگزینی همه/موارد متن هدف با متن جدید.
  13. StrToFile(FileName$,String$,Append,LineFeed) — نوشتن رشته در فایل متنی.
  14. StrToLine(FileName$,String$,ToLine,Overwrite) — افزودن یا جایگزینی خط مشخص فایل.
  15. StrFromFile(FileName$,FromLine,NumberOfLines) — خواندن یک یا چند خط از فایل.
  16. ExtractExt(Path$) — استخراج پسوند.
  17. ExtractDir(Path$) — استخراج پوشه.
  18. ExtractName(Path$) — استخراج نام فایل.
  19. ExtractDrive(Path$) — استخراج Drive.

5.6 آرایه‌های Delimited

  1. GetArrayItem(ArrayString$,Delimiter,Index) — گرفتن آیتم شمارهٔ Index.
  2. GetArrayNum(ArrayString$,Delimiter) — تعداد آیتم‌ها.

برای Comma می‌توان از کد Hex یعنی '0x2C' و برای Space از '0x20' استفاده کرد.


6. دستورهای Publication و ناوبری

  1. FirstPage() — رفتن به اولین صفحه.
  2. LastPage() — رفتن به آخرین صفحه.
  3. NextPage() — صفحهٔ بعد.
  4. PrevPage() — صفحهٔ قبل.
  5. Page("PageLabel") — رفتن به صفحه با Label مشخص.
  6. Exit() — خروج از برنامه.
  7. Minimize() — Minimize کردن پنجره.
  8. Maximize() — Maximize کردن پنجره؛ افزوده‌شده در 4.9.8.13.
  9. Restore() — بازگرداندن پنجره از Minimized/Maximized.

7. ساخت، حذف و کنترل اشیا در Runtime

7.1 ساخت اشیا

  1. CreateTextButton("InLabel","OutLabel$,x,y,w,h,text") — ساخت Text Button.
  2. CreateText("InLabel","OutLabel$,x,y,text") — ساخت Text Object.
  3. CreateParagraph("InLabel","OutLabel$,x,y,w,h,text") — ساخت Paragraph Text.
  4. CreateCircle("InLabel","OutLabel$,x,y,w,h,r,g,b") — ساخت Circle.
  5. CreateRectangle("InLabel","OutLabel$,x,y,w,h,r,g,b") — ساخت Rectangle.
  6. CreateLine("InLabel","OutLabel$,x,y,w,h,r,g,b") — ساخت Line با X/Y/Width/Height.
  7. CreateLineAB("InLabel","OutLabel$,x1,y1,x2,y2,r,g,b") — ساخت Line با دو نقطهٔ A و B.
  8. CreateHotSpot("InLabel","OutLabel$,x,y,w,h") — ساخت HotSpot.
  9. CreateScript("InLabel","OutLabel$") — ساخت Script Object.

InLabel مشخصات/الگوی شیء ورودی و OutLabel$ متغیری برای دریافت Label شیء ایجادشده است.

7.2 حذف، نمایش، حرکت و ترتیب

  1. DeleteObject("ObjectLabel") — حذف شیء ساخته‌شده در Runtime.
  2. Hide("ObjectLabel") — پنهان کردن Object یا Group.
  3. Show("ObjectLabel") — نمایش Object یا Group؛ روی EditBox قابل‌دیدن می‌تواند Focus/Select All ایجاد کند.
  4. Invert("ObjectLabel") — معکوس‌کردن Show/Hide.
  5. MoveObject("ObjectLabel","x,y[,w,h]") — جابه‌جایی و در صورت وجود W/H تغییر اندازه.
  6. MoveTo("ObjectLabel","x,y,steps[,type]") — حرکت انیمیشنی؛ Type برابر EASYTO، EASYFROM یا خالی.
  7. ReorderObject("ObjectLabel","FRONT|BACK|FORWARD|BACKWARD") — تغییر Z‑Order.

برای دسترسی بین‌صفحه‌ای می‌توان از Page::Object، Master Page::Object و Master Layer::Object استفاده کرد؛ Windowed Objectها فقط وقتی صفحه‌شان ساخته شده باشد قابل‌کنترل‌اند.

7.3 پارامترهای عمومی اشیا

SetObjectParam("ObjectLabel","Parameter=Value") ویژگی‌های Runtime را تغییر می‌دهد. پارامترهای داخلی مستندشده:

  1. MOUSEDOWNSCRIPT=code، MOUSEDOWNSCRIPT:0=code، MOUSEDOWNSCRIPT:1=code — تغییر اسکریپت Mouse Down؛ 0=Quiet و 1=Loud parsing.
  2. MOUSEUPSCRIPT=code، MOUSEUPSCRIPT:0=code، MOUSEUPSCRIPT:1=code — تغییر Mouse Up Script.
  3. SCRIPT=code، SCRIPT:0=code، SCRIPT:1=code — تغییر محتوای Script Object.
  4. BG=TRUE|FALSE — پس‌زمینهٔ EditBox.
  5. BGCOLOR=R,G,B — رنگ پس‌زمینهٔ اشیای پشتیبانی‌شده.
  6. BORDERCOLOR=R,G,B — رنگ Border خطی.
  7. BORDERTYPE=LINE|WINDOWS|SUNKEN|NONE — نوع Border.
  8. TEXTCOLOR=R,G,B — رنگ متن.
  9. FONTNAME=FontName — نام Font ثبت‌شده در ویندوز.
  10. FONTSTYLE=REGULAR|ITALIC|BOLD|BOLDITALIC — Style فونت.
  11. FONTSIZE=Number — اندازهٔ فونت.
  12. FONTEFFECT=NONE|STRIKEOUT|UNDERLINE|STRIKEUNDER — Effect فونت.
  13. FONTSCRIPT=Number — Character Set؛ مقادیر مستند: 0,1,2,77,128,129,130,134,136,161,162,163,177,178,186,204,222,238.
  14. FONTALL=Name|Style|Size|Script|Effect| — تنظیم همهٔ مشخصات فونت یا استفاده از CBK_Font.
  15. PASSWORD=TRUE|FALSE — حالت Password برای EditBox؛ افزوده‌شده در 4.9.7.

اشیای قابل‌استفاده بسته به پارامتر شامل EditBox، Text، Paragraph، Text Button، Bitmap، Bitmap Button، ListBox، Primitive، Line، Circle، Rectangle، HotSpot و Script هستند.

7.4 پارامترهای پروژه در Runtime

SetProjectParam("ProjectParameterName","Parameter=Value") این مجموعه را پشتیبانی می‌کند:

  1. PAGEBG با IMAGE=Path، DISPLAY=TILE|NORMAL، COLOR=R,G,B یا FROMMASTER=TRUE|FALSE.
  2. MASTERPAGEBG با IMAGE=Path، DISPLAY=TILE|NORMAL یا COLOR=R,G,B.
  3. FULLSCREENBG با IMAGE=Path، DISPLAY=TILE|STRETCH|NORMAL یا COLOR=R,G,B.

8. زمان، Timer و اجرای اسکریپت

  1. PageTimer("ms","PageLabel") — پس از زمان تعیین‌شده به صفحه می‌رود.
  2. ExitTimer("ms") — خروج زمان‌بندی‌شده.
  3. ScriptTimer("TimerName=ScriptLabel","ms") — اجرای دوره‌ای Script Object.
  4. RunScript("ObjectLabel") — اجرای Script Object.
  5. RunScriptCode("SourceCode$","0|1") — اجرای متن اسکریپت؛ 0=Quiet و 1=Loud parsing، افزوده‌شده در 4.9.8.
  6. Pause("ms") — مکث میلی‌ثانیه‌ای.
  7. Return() — پایان اسکریپت جاری.
  8. Break() — خروج از حلقهٔ For...Next جاری.
  9. Refresh() — Redraw و پردازش پیام‌های رابط.

Timerهای نهایی از Timer1 تا Timer1000 هستند. نام‌های قدیمی TimerA، TimerB و TimerC باقی مانده‌اند اما برای پروژهٔ جدید توصیه نمی‌شوند و به‌ترتیب با Timer1، Timer2 و Timer3 هم‌ارزند.


9. Dialog Boxها

  1. Message("Text","VariableOrValue") — Message Box ساده.
  2. MessageEx("Title","Text,Flag[,Timeout]") — Message Box قابل‌پیکربندی.
  3. OpenFile("Filter","DefaultExtension") — نمایش Open Dialog؛ نتیجه در OpenFile$، <File>، CBK_OpenFile و CBK_OpenDir.
  4. SaveFile("Filter","DefaultExtension") — نمایش Save Dialog؛ خودش فایل را ذخیره نمی‌کند.
  5. BrowseForFolder("Prompt","StartingFolder") — انتخاب پوشه؛ نتیجه در CBK_OpenDir.
  6. ColorPicker() — انتخاب رنگ؛ نتیجه در CBK_SelColor.
  7. FontPicker() — انتخاب فونت؛ نتیجه در CBK_Font.

9.1 Flagهای کامل MessageEx

Flagها با جمع عددی ترکیب می‌شوند:

  • دکمه‌ها: 0=OK، 1=OK/Cancel، 2=Abort/Retry/Ignore، 3=Yes/No/Cancel، 4=Yes/No، 5=Retry/Cancel، 6=Cancel/Try Again/Continue.
  • Icon: 0=بدون Icon، 16=Stop، 32=Question، 48=Exclamation، 64=Information.
  • دکمهٔ پیش‌فرض: 0=اول، 256=دوم، 512=سوم.
  • Modality: 0=Application، 4096=System Modal، 8192=Task Modal.
  • سایر: 262144=Top Most، 524288=راست‌چین کردن Title/Text.

شناسهٔ نتیجه در CBK_MsgEx: OK=1، Cancel=2، Abort=3، Retry=4، Ignore=5، Yes=6، No=7، Try Again=10، Continue=11 و Timeout=-1.


10. سیستم، فایل، پردازش، Registry، Clipboard و Browser

10.1 SysCommand و زیر‌فرمان‌های آن

  1. SysCommand("ResizeWindow","Width,Height") — تغییر اندازهٔ پنجره.
  2. SysCommand("MoveWindow","X,Y") — انتقال پنجره.
  3. SysCommand("CenterWindow","") — وسط‌چین کردن پنجره.
  4. SysCommand("AlwaysOnTop","") — فعال‌کردن Always on Top.
  5. SysCommand("NotAlwaysOnTop","") — لغو Always on Top.
  6. SysCommand("CopyFile","Source,Destination") — کپی فایل و ساخت پوشه‌های لازم.

10.2 متن، Binding، فایل و Registry

  1. DisplayValue("ObjectLabel","Value") — نمایش مقدار عددی/رشته‌ای در Text، Button، Paragraph، EditBox و اشیای متنی مشابه.
  2. SendCommand("BindingObjectLabel","MenuIDPath") — اجرای آیتم Menu برنامهٔ Bindشده با اندیس‌هایی مانند 1,7.
  3. LoadText("ObjectLabel","TextOrPath") — بارگذاری متن یا مقدار متغیر در شیء؛ پیشوندهای STRING: و FILE: ابهام را رفع می‌کنند.
  4. FileExist("Path","NumericVariable") — نتیجهٔ وجود فایل، 1 یا 0.
  5. FileString("SubString","NumericVariable") — جست‌وجوی متن، معمولاً پسوند، در مقدار <File>؛ نتیجه 1 یا 0.
  6. SearchForFiles("Path","Filter") — جست‌وجوی فایل‌ها و پر کردن <List>؛ زیرپوشه‌ها را نیز پیمایش می‌کند.
  7. SaveVariable("Name","Variable") — ذخیرهٔ متغیر در Registry فضای پروژه.
  8. LoadVariable("Name","Variable") — خواندن متغیر ذخیره‌شده از Registry.
  9. InstallFont("Path") — نصب/ثبت فونت برای جلسهٔ ویندوز.
  10. Clipboard("SEND","StringVariable$") — فرستادن String به Clipboard.
  11. Clipboard("GET","StringVariable$") — دریافت String از Clipboard.

10.3 اجرای فایل و برنامه

  1. Run("Path","ParametersAndArguments") — اجرای EXE، BAT یا هر فایل دارای Association.
  2. RunMBD("Path","PageLabelOrNEW_WINDOW") — اجرای پروژهٔ MBD در همان پنجره یا پنجرهٔ جدید.

Flagهای داخلی Run:

  • TOP یا TOP(delay) — پنجرهٔ برنامه بالای MMB، ولی نه دائماً بالای همه.
  • TOPMOST یا TOPMOST(delay) — بالای همهٔ پنجره‌ها.
  • WAIT — انتظار تا پایان برنامه.
  • MAXIMIZE — اجرای Maximized.
  • MINIMIZE — اجرای Minimized.
  • HIDE — اجرای پنجرهٔ اصلی به‌صورت پنهان.

Flagها با Comma بدون Space از آرگومان‌های خود برنامه جدا می‌شوند؛ نخستین Space مرز Flagهای MMB و آرگومان خارجی است.

پارامتر RunMBD:

  • Label صفحه — بازکردن MBD روی صفحهٔ مشخص.
  • NEW_WINDOW — بازکردن پروژه در پنجرهٔ جدید.
  • رفتار قدیمی/پیش‌فرض، اجرای MBD در همان Player و Window است.

10.4 کنترل HTML/Browser Object

Browser("ObjectLabel","CommandOrURL") این زیر‌فرمان‌ها را دارد:

  1. Back — عقب.
  2. Forward — جلو.
  3. Stop — توقف بارگذاری.
  4. Refresh — Refresh صفحه.
  5. OpenFile — Dialog انتخاب HTML/MHT.
  6. Print — چاپ صفحه.
  7. هر مقدار دیگر — URL یا مسیر HTM/HTML/MHT/PDF و فایل قابل‌نمایش توسط کنترل مرورگر.

11. پلاگین‌ها

  1. PluginSet("PluginLabel","Variable") — فرستادن مقدار به پلاگین.
  2. PluginGet("PluginLabel","Variable") — گرفتن مقدار از پلاگین.
  3. PluginRun("PluginLabel","Command") — اجرای فرمان عمومی پلاگین.

نام و Syntax فرمان‌های اختصاصی هر Plugin داخل DLL و مستندات همان Plugin تعریف می‌شود و جزو Built‑inهای MMB نیست.


12. صدا، موسیقی و CD Audio

12.1 Master Volume و پیکربندی FMOD

  1. VolumeUp(["0-100"]) — بدون پارامتر 5٪ افزایش؛ با پارامتر تنظیم مستقیم Volume.
  2. VolumeDown() — پنج درصد کاهش.
  3. FMODConfig("") — نمایش Dialog تنظیمات FMOD.
  4. FMODConfig("Driver,VBRMode") — تنظیم مستقیم؛ Driver: 1=DirectX، 2=Wave Out، 3=No Sound؛ VBRMode: 0=خاموش، 1=MPEG Accurate روشن.

12.2 پخش عمومی و Background

  1. BackgroundPlay("Path","Parameters") — پخش پس‌زمینه، معمولاً با LOOP.
  2. BackgroundPause() — Pause/ادامهٔ Background.
  3. BackgroundStop() — توقف Background.
  4. PlaySound("Path") — پخش هر قالب صوتی پشتیبانی‌شده توسط FMOD/MMB.
  5. StopSound() — توقف و Unload همهٔ صداها، شامل Background.

12.3 WAV

  1. WavePlay("Path","Parameters") — پخش WAV خارجی یا Embedded؛ LOOP قابل‌استفاده است.
  2. WaveStop() — توقف WAV.

12.4 MIDI

  1. MidiPlay("Path","Parameters") — پخش MID/RMI؛ Loop در پارامتر قابل‌تنظیم است.
  2. MidiStop() — توقف MIDI.

12.5 MOD/Tracker

  1. ModOpen("Path") — بارگذاری MOD/فرمت Tracker پشتیبانی‌شده.
  2. ModPlay() — پخش.
  3. ModStop() — توقف.

12.6 کانال Audio اصلی

  1. AudioOpen("Path") — بازکردن فایل صوتی روی Engine اصلی.
  2. AudioPlay() — پخش.
  3. AudioStop() — توقف.
  4. AudioPause() — Pause/Resume.
  5. AudioRewind("Seconds","Parameters") — Seek/Rewind بر حسب ثانیه و حالت Absolute/Relative مستند دستور.

12.7 Audio CD

  1. CDPlay() — پخش.
  2. CDStop() — توقف.
  3. CDPause() — مکث.
  4. CDTrack("Track") — انتخاب Track.
  5. CDForward() — جلو بردن/Track بعدی طبق وضعیت CD.
  6. CDBackward() — عقب بردن/Track قبلی.
  7. CDPlayPause() — Toggle پخش/مکث.
  8. CDSkipForward() — Skip رو به جلو.
  9. CDSkipBackward() — Skip رو به عقب.
  10. WhichCDTrack("TrackVariable") — برگرداندن Track جاری در متغیر.

12.8 دستورهای کوتاه Sound Action در Designer

این‌ها Syntax اسکریپت نیستند؛ داخل فیلد Sound Action اشیا استفاده می‌شوند:

  1. CD:TrackNumber — پخش Track مشخص، مانند CD:2.
  2. CD:STOP — توقف.
  3. CD:PLAY — پخش.
  4. CD:FW — Track بعد.
  5. CD:BW — Track قبل.
  6. CD:PLP — Toggle Play/Pause.

13. Song List و ListBox

13.1 فهرست داخلی Song List

  1. SongListReset() — پاک‌کردن کل <List>.
  2. SongListAdd("Path") — افزودن فایل به <List>؛ فقط صوت نیست و می‌تواند فایل عمومی باشد.
  3. SongListDel("Number") — حذف آیتم.
  4. SongListPlay("Number") — پخش آیتم شمارهٔ مشخص.
  5. SongListNext() — آیتم بعد.
  6. SongListPrev() — آیتم قبل.
  7. SongListLoad("Path") — بارگذاری M3L/M3U/PLS/TXT با Format تشخیص/تعیین‌شده.
  8. SongListRND() — پخش/انتخاب تصادفی.
  9. SongListEdit() — نمایش Editor فهرست.
  10. SongListSave("SongListOrListBox","Path") — ذخیرهٔ <List> یا محتوای ListBox.
  11. SongListTime() — محاسبهٔ زمان کل برای CBK_TotalList و CBK_TotalListSec.

13.2 ListBox Object

  1. ListBoxAddItem("ObjectLabel","Parameters") — افزودن فایل، متن، متغیر، آرایه، <List> یا RESET.
  2. ListBoxDeleteItem("ObjectLabel","ItemNumber") — حذف آیتم.
  3. ListBoxSortItems("ObjectLabel","NAME|TIME|VALUE") — Sort بر اساس نام، زمان یا Value.
  4. ListBoxSelectItem("ObjectLabel","ItemNumber") — انتخاب آیتم.
  5. ListBoxDeselectItem("ObjectLabel","ItemNumber") — لغو انتخاب.
  6. ListBoxMoveItem("ObjectLabel","NewPosition") — جابه‌جایی آیتم انتخابی؛ Multi‑selection قابل‌انتقال همزمان نیست.
  7. ListBoxGetItems("ObjectLabel","Items$,Indexes$,Delimiter,Count") — گرفتن همهٔ آیتم‌ها؛ با <List> می‌تواند Song List را پر کند.
  8. ListBoxGetSelectedItems("ObjectLabel","Items$,Indexes$,Delimiter,Count") — گرفتن آیتم‌های انتخابی.
  9. ListBoxParam("ObjectLabel","Parameter") — تغییر ویژگی در Runtime.

پارامترهای ListBoxParam:

  • DRAG&DROP=ON|OFF
  • NUMBERS=ON|OFF
  • TIMES=ON|OFF
  • BACKGROUND=R,G,B
  • TEXT=R,G,B
  • IDTAGS=ON|OFF
  • MPEGACCURATE=ON|OFF — برای زمان صحیح فایل‌های VBR، افزوده‌شده در 4.9.6.

14. تصویر و Bitmap Object

  1. ViewImage("Path","Parameters") — نمایش تصویر در Viewer داخلی؛ پارامترهایی مانند CENTER.
  2. ReplaceImage("ObjectLabel","Path") — جایگزینی تصویر Bitmap/HotSpot پشتیبانی‌شده.
  3. UseImageBkgColor("ObjectLabel","Parameters") — فعال/غیرفعال کردن رنگ پس‌زمینهٔ تصویر.
  4. SetImageBkgColor("ObjectLabel","R,G,B") — تعیین رنگ پس‌زمینه.
  5. SetImageOrigin("ObjectLabel","X,Y") — تعیین Origin/Scroll تصویر.
  6. ResizeImage("ObjectLabel","W,H") — تغییر اندازهٔ خود تصویر.
  7. RotateImageRel("ObjectLabel","Angle") — چرخش نسبی.
  8. RotateImageTo("ObjectLabel","Angle") — چرخش به زاویهٔ مطلق.
  9. ScrollImageView("ObjectLabel","X,Y") — Scroll کردن Viewport.
  10. ZoomImageView("ObjectLabel","ZoomPercent") — Zoom تصویر.
  11. RestoreImage("ObjectLabel") — بازگرداندن اندازه/چرخش اصل؛ در صورت Reduce Size و حذف نسخهٔ Backup ممکن است کار نکند.
  12. ImageOpacity("OpacityLevel") — تعیین Opacity شیء Bitmap جاری از 0 تا 100.

15. چاپ

  1. PrintText("ObjectLabel","Parameters") — چاپ متن شیء.
  2. PrintPage("PageLabel") — چاپ صفحهٔ کامل.
  3. PrintRect("ObjectLabel","Zoom") — چاپ محتویات محدودهٔ Rectangle مشخص.

16. ویدئو و DirectShow

  1. VideoLoad("ObjectLabel","Path") — بارگذاری و ساخت Still Image از Frame اول.
  2. VideoPlay("ObjectLabel") — پخش.
  3. VideoPause("ObjectLabel") — مکث.
  4. VideoStop("ObjectLabel") — توقف.
  5. VideoRewind("ObjectLabel","Position[,RELATIVE]") — Seek در حالت Time یا Frame.
  6. VideoClose("ObjectLabel") — بستن/Unload و پنهان کردن Video Object.
  7. VideoSpeed("ObjectLabel","Rate[,RELATIVE]") — سرعت مطلق یا تغییر نسبی سرعت.
  8. VideoScale("ObjectLabel","Width,Height") — تغییر اندازهٔ Video Object.
  9. VideoParam("ObjectLabel","Parameter") — تنظیم حالت‌های ویدئو.

پارامترهای VideoParam:

  • FULLSCREEN=ON|OFF
  • LOOP=ON|OFF
  • MUTE=ON|OFF
  • TIME
  • FRAME

تابع متناظر خواندن وضعیت: GetVideoParam(ObjectLabel,fullscreen|loop|mute|time|frame).


17. MCI

  1. MCIObject("ObjectLabel","Command") — کنترل MCI Object، برای نمونه Play/Stop/Close.
  2. MCICommand("MCIString") — ارسال مستقیم رشتهٔ دستور به Windows MCI.

MCICommand روش قدیمی و سطح پایین است و برای قالب‌ها/دستگاه‌هایی که Objectهای جدید پوشش نمی‌دهند باقی مانده است.


18. Flash Object

  1. Flash("ObjectLabel","CommandOrPath") — بارگذاری/کنترل SWF.
  2. FlashGetVar("ObjectLabel","FlashVariable,MMBVariable") — گرفتن متغیر از Flash.
  3. FlashSetVar("ObjectLabel","FlashVariable,MMBVariableOrValue") — فرستادن مقدار به Flash.
  4. FlashSetFrame("ObjectLabel","Frame") — رفتن به Frame.
  5. FlashGetFrame("ObjectLabel","Variable") — گرفتن Frame جاری.
  6. FlashGetProp("ObjectLabel","Property,Variable") — گرفتن Property.

زیر‌فرمان‌های Flash:

  • PLAY
  • STOP
  • LOOP
  • SHOWMENU
  • HIDEMENU
  • MINMENU
  • FULLMENU
  • BACK
  • FORWARD
  • REWIND
  • هر مقدار دیگر: Path یا URL فایل Flash.

Propertyهای FlashGetProp:

  • SCALE
  • BGCOLOR
  • QUALITY
  • PLAYING
  • MOVIE
  • TOTALFRAMES
  • ORIGINALWIDTH
  • ORIGINALHEIGHT
  • PLAYERVERSION
  • FILEVERSION

Flash می‌تواند با fscommand("mmb", "MMBScript code") مستقیماً MMBScript را اجرا کند. این قابلیت وابسته به ActiveX قدیمی Flash است و روی Windowsهای جدید معمولاً بدون Runtime قدیمی کار نمی‌کند.


19. Animated GIF

  1. AGifPlay("ObjectLabel") — پخش GIF.
  2. AGifStop("ObjectLabel") — توقف.
  3. AGifReset("ObjectLabel") — بازگشت به Frame آغازین.

20. Audio Visualization

  1. AudioVisualizationType("ObjectLabel","Type") — تغییر نوع Visualization، مانند Oscilloscope/Equalizer.
  2. AudioVisualizationColor("ObjectLabel","Parameters") — تغییر رنگ Curve/Background طبق پارامترهای شیء.

21. Text‑to‑Speech (TTS)

  1. InstallTTS() — بررسی و نصب Engine قدیمی TTS از فایل‌های توزیع‌شده با پروژه.
  2. InitTTS() — Initialize کردن Engine.
  3. Say("Text$") — خواندن String.
  4. SpeakText("ObjectLabel") — خواندن متن یک Object.
  5. StopTTS() — توقف.
  6. PauseTTS() — مکث.
  7. ResumeTTS() — ادامه.
  8. PitchTTS("Frequency") — تغییر Pitch.
  9. SpeedTTS("Speed") — تغییر سرعت.

این بخش به Microsoft Speech API/TTS قدیمی و فایل‌هایی مانند msttss22L.exe و spchapi.exe وابسته است.


22. Image Matrix

  1. MatrixSet("MatrixName[Column,Row]","ImageIndex") — تعیین Image Index یک Cell.
  2. MatrixGet("MatrixName[Column,Row]","NumericVariable") — خواندن Image Index؛ بیرون از محدوده -1.
  3. MXCOL — ستون انتخاب‌شده؛ صفر یعنی انتخابی نیست.
  4. MXROW — سطر انتخاب‌شده؛ صفر یعنی انتخابی نیست.

Column یا Row صفر در MatrixSet برای اعمال روی کل ستون/سطر و [0,0] برای کل Matrix استفاده می‌شود.


23. اشیای داخلی Designer

23.1 اشیای متنی و ورودی

  1. Text Object
  2. Input Text / EditBox
  3. Paragraph Text
  4. Text Button

23.2 دکمه و گرافیک

  1. Bitmap Button
  2. Alpha Button
  3. Bitmap Object
  4. Animated GIF Object
  5. Windows Metafile Object
  6. Primitive Objects: Rectangle، Circle و Line
  7. HotSpot Objects: مستطیلی، دایره‌ای و Polygonal

23.3 چندرسانه‌ای و تعاملی

  1. VR Panorama
  2. ListBox Object
  3. Video Object مبتنی بر DirectShow در نسخه‌های نهایی
  4. MCI Object
  5. Dynamic FX
  6. Audio Visualization Object
  7. Script Object
  8. Image Matrix
  9. HTML/Browser Object مبتنی بر کنترل IE
  10. Macromedia Flash Object
  11. Binding Object برای جاسازی پنجرهٔ یک EXE خارجی
  12. MMB Plugin Object

23.4 ساختارهای نگه‌دارنده و صفحه

  1. Group Object
  2. Nested Group
  3. Page
  4. Master Page
  5. Master Top Layer / Master Layer

24. رویدادها و Actionها

24.1 رویدادهای عمومی اشیا

  1. Mouse Down
  2. Mouse Up
  3. Mouse Move Over / Mouse Over
  4. Mouse Leave/خروج ماوس از محدوده در Actionهای Show/Hide و Fade
  5. Click
  6. Keyboard Shortcut برای Script Object
  7. Tooltip روی اشیای پشتیبانی‌شده

24.2 Page

  1. Page Start Script
  2. Page Exit Script
  3. Page Transition
  4. Background Sound across pages

24.3 Video

  1. On Load
  2. On Start
  3. On Stop/Finish
  4. Go to Next Page after Finish

24.4 ListBox

  1. Selection event
  2. Double Click event
  3. Drag & Drop فایل از Windows Explorer

24.5 Animated GIF، Audio، Command Line و خروج

  1. Run Script after last GIF frame.
  2. پایان صوت با Script Object با Label برابر CBK_AudioEOF.
  3. خط فرمان با Script Object برابر CBK_CMDLINE.
  4. Escape/Close با Group/Object برابر CBK_EXIT روی Master Top Layer.

24.6 چهار گروه Action در Designer

  1. External Commands and Page Actions: اجرای فایل/برنامه/MBD، URL، Email، Help/Document، حرکت بین صفحات و Exit.
  2. Interaction with Objects and Video: Show، Hide، Invert، Show/Hide لحظه‌ای، Show/Fade Out و Play/Pause/Stop/Skip/Speed ویدئو.
  3. Sound Actions: صدای Mouse Over و Click، WAV خارجی/Embedded و CD Audio.
  4. More Actions / Scripting: اسکریپت کامل Mouse Up و Mouse Down.

25. ابزارها و قابلیت‌های طراحی، نهایی‌سازی و انتشار

25.1 طراحی و چیدمان

  • WYSIWYG Designer
  • Multiple Document Interface
  • Undo/Redo چندمرحله‌ای
  • Select و Multi‑select
  • Group/Ungroup و Nested Group
  • Align و Distribution
  • Layers و Z‑Order
  • Grid و Snap to Grid
  • Rulers و Guides و Snap to Guides
  • Dimension tools
  • Page Manager، Import/Export و Reorder صفحات
  • Workspace قابل Scroll تا 3072×2304 در 4.9.7
  • رابط، Menu، Toolbar و Shortcut قابل شخصی‌سازی از 4.8

25.2 تصویر و Effect

  • Blending و Alpha Transparency Mask
  • Transparency Color
  • Glow و Drop Shadow
  • Sharpen، Blur، Flip
  • Fire، Cutout، Bevel
  • بیش از 40 Filter/Bitmap Effect و Color Tweak Effects
  • Clone
  • Clone Bitmap
  • Crop
  • Make New Original
  • Tile
  • Reduce Size
  • Sparkles
  • Rotate، Resize، Scroll، Zoom و Opacity در Runtime

25.3 پنجره و نمایش

  • Standard یا Custom Shape Window
  • B/W Window Mask و پنجره‌های دارای Hole
  • See‑Through/Semitransparent Background
  • Full Screen Background با Solid/Image/Tile/Stretch
  • Cover Taskbar
  • تغییر Resolution هنگام اجرا
  • Process Priority: High/Normal/Low
  • Maximize و Resize توسط Border در 4.9.8.13
  • Always on Top
  • Window Desktop Component آزمایشی 4.8

25.4 فایل و پروژه

  • Check Project and Distribute Files
  • تشخیص Fixed Path و فایل‌های گم‌شده
  • ساخت اختیاری autorun.inf
  • Path Replace
  • Text Replace
  • Compress & Export با 8 سطح فشرده‌سازی
  • Password Protection برای MBD Exportشده
  • Secure Layer غیرقابل‌بازگشت به Designer
  • Embedded Files
  • Embedded WAV/MIDI/MOD و Custom Cursor
  • File Version Information، Company، Copyright، Description و Icon سفارشی EXE
  • Stand‑alone Linker/Compiler و E‑Card Player
  • NoFMOD build option
  • ذخیرهٔ پروژهٔ 4.9 در Format سازگار 4.8 با حذف قابلیت‌های ناسازگار

25.5 قابلیت‌های پیشرفتهٔ مستندشده

  • Load Text
  • Semi‑Parallel Processes با Script Timerها
  • Zoom Tool
  • Dynamic FX
  • Audio Visualization
  • VR Panorama
  • Binding EXE Window
  • اجرای MMBScript از HTML و Flash
  • اجرای External Script Source با RunScriptCode
  • بیش از 150 Sample در بستهٔ نهایی

26. قالب‌های رسانه‌ای مستندشده

26.1 صوت

MPG، MP1، MP2، MP3، OGG، WMA، ASF، WAV، MID، RMI، MOD، S3M، XM، IT و در بعضی مسیرهای قدیمی MED.

26.2 Playlist

M3L، M3U، PLS و TXT.

26.3 وب و سند

HTM، HTML، MHT و PDF از طریق Reader/ActiveX نصب‌شده.

26.4 پروژه و اجزای MMB

  • MBD — فایل پروژه.
  • EXE — خروجی کامپایل‌شده.
  • OBM — Object صادرشده.
  • BTW — Bitmap Button ذخیره‌شده.
  • MEF — قالب/فایل گرافیکی قابل Update از Real‑DRAW.

پشتیبانی دقیق Video و Image به Codecهای DirectShow، ActiveXها و Decoderهای نصب‌شده روی Windows وابسته است؛ به همین دلیل Help عبارت «فرمت‌های رایج» را برای بخشی از تصویر/ویدئو به کار می‌برد و یک فهرست بسته برای همهٔ Codecها ندارد.


27. تاریخچهٔ نسخه‌ها و منشأ قابلیت‌ها

4.9.8.13 — آخرین Build مستند

  • Maximize و تشخیص IsMaximized().
  • Resize پنجره از Border.
  • اجرای MMBScript از HTML Object.
  • اصلاح Flash fscommand و آرایه‌های رشته‌ای در PluginGet/PluginSet.

4.9.8.7

  • RunScriptCode برای اجرای Source خارجی.
  • امکان فراخوانی MMBScript از Pluginها.
  • افزایش Timerها به 1000 عدد.
  • حفظ TimerA/B/C فقط برای سازگاری.

4.9.7

  • MessageEx، SetObjectParam، SetProjectParam و FontPicker.
  • StrToLine، CurrentObject، ImageOpacity، GetImageOpacity و ReorderObject.
  • Password EditBox، Context Menu و Selection بهتر EditBox.
  • Comment چندخطی /* ... */.

4.9.6 / 4.9.6a

  • پشتیبانی کامل Command Line و CBK_CMDLINE.
  • GetVideoParam، VideoClose، Break، Restore و NEW_WINDOW برای RunMBD.
  • Flagهای MAXIMIZE، MINIMIZE و HIDE برای Run.
  • Sort by VALUE و MPEG Accurate برای ListBox.
  • اصلاح Syntax Checker در 4.9.6a.

4.9.5

  • بازنویسی Video Object بر پایهٔ DirectShow و پخش چند ویدئو.
  • دستورها و توابع جدید تصویر، رشته، تاریخ/زمان، ویدئو و Polygon.
  • Polygonal HotSpot و Zoom Tool.
  • On Load/On Start/On Stop‑Finish ویدئو.

4.9.0.1 و 4.9

  • FMOD و قالب‌های OGG/WMA/ASF/XM/S3M/IT.
  • Flash Object، ListBox و Audio Visualization.
  • Song List و Playlistهای M3U/PLS/M3L.
  • GetArrayItem، GetArrayNum، ObjectWidth و ObjectHeight.
  • Flagهای TOP، TOPMOST و WAIT برای Run؛ Build اصلاحی 4.9.0.1 Flagهای صوت/Run را اصلاح کرد.

4.8

  • رابط Designer کاملاً قابل‌سفارشی‌سازی، Ruler و Guide.
  • HTML/Browser Object و Binding Object.
  • SendCommand و Clipboard.
  • STRING:/FILE: در LoadText و Custom Cursorهای Embedded.

4.7 و 4.6

  • ObjectX، ObjectY، IsVisible، MouseX، MouseY، MoveObject، MoveTo، Refresh و Pause.
  • OpenFile$ و پارامتر مستقیم Volume.
  • Video Mask، MCI Object، TimerA/B/C و Secure Layer.
  • String Array و Escape اصلاح‌شدهٔ Backslash.

4.5

  • Tooltip، Snap to Grid، Page Manager و String Arrays.
  • بهبود Animated GIF و Run Script after last frame.
  • رویداد Video Stop/Finish.

4.4

  • Script Editor رنگی و Wizard.
  • SysCommandهای Window/CopyFile.
  • کنترل اشیای صفحه‌های دیگر با Page::Object.
  • ماکروهای <Windows> و <System>.

4.3

  • پشتیبانی کامل String در اسکریپت.
  • Input/EditBox Object.
  • دریافت نتیجهٔ MCI و Action پایان ویدئو.

4.2

  • ID3 Tag، Audio List و Replace Text سراسری.

4.1

  • Plugin Support، Template و Load Text خارجی.

4.0

  • Transitionهای جدید، Matrix، VR Panorama و Dynamic FX.

3.3

  • Page Transition، Embedded MIDI/MOD/WAV/File، Animated GIF و Script Object Shortcut.
  • Full Screen Background، MidiPlay/MidiStop و For...Next.
  • CBK_AudioEOF و Password روی Export.

3.1

  • Print Text، Page Import/Export، Auto‑Button.
  • OpenFile و <File>، VolumeUp/VolumeDown و Custom Shape B/W Mask.

3.0

  • Animated GIF، Embedded Wave، MIDI، MCI و For...Next.

2.0

  • Audio کامل با Feedback.
  • زبان Script همراه Variables.
  • Timerهای اولیهٔ NextPageAfter و ExitAfter که بعدها با PageTimer و ExitTimer جایگزین/استاندارد شدند.

راهنمای رسمی منتشرشده، تاریخچهٔ نام‌گذاری‌شده را از 2.0 شروع می‌کند و برای 1.x فهرست مستقل فرمان‌ها ارائه نمی‌دهد.


28. موارد قدیمی، منسوخ یا وابسته به فناوری‌های خاتمه‌یافته

  1. TimerA/TimerB/TimerC: موجود برای سازگاری؛ در پروژهٔ جدید از Timer1/2/3 استفاده شود.
  2. Timerهای اولیهٔ NextPageAfter/ExitAfter: نام‌های تاریخی 2.0؛ API نهایی PageTimer و ExitTimer است.
  3. <CD>: برای Network/Server مناسب نیست؛ <SrcDir> و <SrcDrive> امن‌تر و قابل‌حمل‌ترند.
  4. MCI Video: قدیمی؛ Video Object نهایی DirectShow است، ولی MCI برای فرمان‌های سطح پایین باقی مانده.
  5. Flash Object: به ActiveX Flash وابسته است که امروز End‑of‑Life و از Windowsهای جدید حذف شده است.
  6. HTML Object: مبتنی بر Internet Explorer/ActiveX قدیمی است.
  7. TTS: وابسته به Engine و SAPI قدیمی.
  8. Binding Object: همهٔ EXEها قابل Bind نیستند و روی برنامه‌های مدرن ممکن است شکست بخورد.
  9. Windows 9x/ME branches: UsingWinNT() و برخی توضیحات تاریخی برای سازگاری با سیستم‌عامل‌های منسوخ‌اند.
  10. SoundStop در Changelog 4.9.0.1: نام نهایی و مستند Command Reference برابر StopSound() است.
  11. PlayWave در بخش قدیمی Embedded Wave: نام نهایی برابر WavePlay() است.
  12. LoadVideo در یک خط تاریخچه: نام نهایی برابر VideoLoad() است.

29. غلط‌های تایپی رسمی Help که نباید وارد کد شوند

  1. PrecFreq() در فهرست خلاصه اشتباه است؛ نام درست طبق فصل System Constants و مثال‌ها ProcFreq() است.
  2. فهرست خلاصه، GetVideoParam(object$) را ناقص چاپ کرده؛ شکل واقعی GetVideoParam(ObjectLabel,VideoParam) است.
  3. فهرست خلاصه، RunScriptCode("ObjectLabel") را اشتباه/ناقص نشان می‌دهد؛ دستور 4.9.8 متن Source و حالت Parsing می‌گیرد: RunScriptCode("SourceCode$","0|1").
  4. در History گاهی LoadVideo آمده؛ Command نهایی VideoLoad است.
  5. در بخش Sound قدیمی PlayWave آمده؛ Command نهایی WavePlay است.
  6. در Changelog نام SoundStop آمده؛ فصل نهایی Audio و Command Reference نام StopSound را ثبت کرده‌اند.
  7. بعضی مثال‌های String Array ترتیب $ را متفاوت چاپ کرده‌اند؛ نگارش اصلاح‌شدهٔ 4.9.8 برابر str$[idx] است.
  8. در جدول مقایسه، بزرگ‌تر یا مساوی به صورت => مستند شده و همین Syntax باید برای سازگاری MMB استفاده شود.

30. نمایهٔ الفبایی نام‌های Built‑in

این نمایه برای کنترل جاافتادگی است؛ شرح هر مورد در گروه مربوطه آمده است.

ABS، AGifPlay، AGifReset، AGifStop، AudioOpen، AudioPause، AudioPlay، AudioRewind، AudioStop، AudioVisualizationColor، AudioVisualizationType، BackgroundPause، BackgroundPlay، BackgroundStop، Break، BrowseForFolder، Browser، CDBackward، CDForward، CDPause، CDPlay، CDPlayPause، CDSkipBackward، CDSkipForward، CDStop، CDTrack، CHAR، CHR، ClientHeight، ClientWidth، Clipboard، ColorPicker، CreateCircle، CreateHotSpot، CreateLine، CreateLineAB، CreateParagraph، CreateRectangle، CreateScript، CreateText، CreateTextButton، CurrentObject، DeleteObject، DisplayValue، Else، End، Exit، ExitTimer، ExtractDir، ExtractDrive، ExtractExt، ExtractName، FALSE، FileExist، FileString، FirstPage، Flash، FlashGetFrame، FlashGetProp، FlashGetVar، FlashSetFrame، FlashSetVar، FMODConfig، FontPicker، For، GetArrayItem، GetArrayNum، GetImageOpacity، GetMemory، GetVideoParam، Hide، If، ImageHeight، ImageOpacity، ImageScrollX، ImageScrollY، ImageWidth، Infinity، InitTTS، InstallFont، InstallTTS، INT، Invert، IsMaximized، IsMinimized، IsVisible، LastPage، LEN، ListBoxAddItem، ListBoxDeleteItem، ListBoxDeselectItem، ListBoxGetItems، ListBoxGetSelectedItems، ListBoxMoveItem، ListBoxParam، ListBoxSelectItem، ListBoxSortItems، LoadText، LoadVariable، LOW، MatrixGet، MatrixSet، Maximize، MCICommand، MCIObject، Message، MessageEx، MidiPlay، MidiStop، Minimize، ModOpen، ModPlay، ModStop، MouseLButton، MouseMButton، MouseRButton، MouseX، MouseY، MoveObject، MoveTo، MXCOL، MXROW، Next، NextPage، NOL، ObjectHeight، ObjectWidth، ObjectX، ObjectY، OpenFile، ORD، Page، PageTimer، Pause، PauseTTS، PitchTTS، PlaySound، PluginGet، PluginRun، PluginSet، POS، PrevPage، PrintPage، PrintRect، PrintText، ProcFreq، ProcType، PubHeight، PubWidth، PubX، PubY، Refresh، ReorderObject، ReplaceImage، ResizeImage، Restore، RestoreImage، ResumeTTS، Return، RND، RotateImageRel، RotateImageTo، Run، RunMBD، RunScript، RunScriptCode، SaveFile، SaveVariable، Say، ScreenColors، ScreenHeight، ScreenWidth، ScriptTimer، ScrollBarSize، ScrollImageView، SearchForFiles، SendCommand، SetImageBkgColor، SetImageOrigin، SetObjectParam، SetProjectParam، Show، SongListAdd، SongListDel، SongListEdit، SongListLoad، SongListNext، SongListPlay، SongListPrev، SongListReset، SongListRND، SongListSave، SongListTime، SpeakText، SpeedTTS، StopSound، StopTTS، StrChange، StrCopy، StrDel، StrFromFile، StrGet، StrIns، StrOfChar، StrSet، StrToFile، StrToLine، SysCommand، TRUE، UPP، UseImageBkgColor، UsingWinNT، VAL، VideoClose، VideoLoad، VideoParam، VideoPause، VideoPlay، VideoRewind، VideoScale، VideoSpeed، VideoStop، ViewImage، VolumeDown، VolumeUp، WavePlay، WaveStop، WhichCDTrack، WinVer، WorkAreaHeight، WorkAreaWidth، ZoomImageView.


31. مرز «کامل بودن» این مرجع

  • همهٔ نام‌های Built‑in در فصل رسمی List of Commands درج شده‌اند.
  • همهٔ نام‌های فصل رسمی List of Predefined Functions درج شده‌اند.
  • همهٔ Path Macroها، CBKها، ساختارهای شرط/حلقه، نوع متغیر و عملگرهای مستند درج شده‌اند.
  • همهٔ Object Typeهای فصل MMB Objects، Action Groupها، رویدادهای ویژه و ابزارهای پیشرفتهٔ فصل‌های نهایی درج شده‌اند.
  • اختلاف‌های Changelog با Command Reference نهایی جداگانه ثبت شده‌اند.
  • فرمان‌های اختصاصی Pluginهای شخص ثالث عمداً قابل‌شمارش نیستند؛ رابط Built‑in پلاگین کامل آمده است.
  • Codecهایی که توسط DirectShow/ActiveX سیستم فراهم می‌شوند، API داخلی MMB نیستند و بسته به Windows تغییر می‌کنند.
مرجع فارسی MediaChance MultiMedia Builder 4.9.8 — مناسب مطالعهٔ آفلاین و چاپ

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620