PDA

نسخه کامل مشاهده نسخه کامل : تاپیک مباحث و سوالات Multimedia Builder



alirafaat
27-09-2009, 10:21
سلام


یک سئوال داشتم

من می خوام از باتون های اماده در قالب فایل psd استفاده کنم

اونا رو در فتوشاپ باز می کنم و بعد از merg کردن لایه ای یک باتون اونو با فرمت png و با بک گراند ترانس پرنسی سیو می کنم


اما مشکل ایتجاست که : وقتی یک باتون گرد رو ( غیر صاف ) رو وراد ملتی مدیا می کنم باتون با بک گراند ش به صورت سیاه وارد میشه

ایا راهی هست تا بدون بک گراند اونو وارد کرد و یا بعدا در خود نرم افزار گوشه هاشو برید


با تشکر

قاهر - Gahir
30-09-2009, 13:48
سلام دوست(ان) عزیز .

اولین مشکلی که شما با آن مواجه هستید این است که برنامه‌ی MMB ، بک گراند های(Background) تصاویر با فرمت های gif یا png یا هر فرمت دیگه ای رو تشخیص نمیده ، یعنی اگر به صورت Transparent تصویری رو ذخیره کنید و در این برنامه آن را باز کنید ، مثل این است که همان فایل را با برنامه‌ی Paint ویندوز باز کرده اید . پس یکی از مشکلات بد این نرم افزار اینجا رو میشود .
برای حل آن چه باید کرد ؟ خوب جوابش ایه که: وقتی فایل png یا هر فایلی رو که میخواهید آن قسمت Transparent اش در برنامه MMB دیده نشود ، آن را Transparent نکنید بلکه آن قسمت را به رنگی خشک (Solid) رنگ کنید ، یعنی قسمت هایی Transparent فرضی خود را به رنگی کاملا متفاوت با محتویات تصویر رنگ کنید ، مثلا اگر عکس شما بیشتر محتوی رنگ زرد است قسمت های Transparent فرضی را با رنگ آبی رنگ آمازی کنید تا در برنامه کاملا بریده شود .

در MMB برای تصاویر و دکمه ها ، این اختیار که توانایی حذف قسمت های رنگی برای مویینگی است ، وجود دارد .

علاوه بر مطالب بالا ، اگر دوست دارید که واقعا دکمه های شما به بهترین نحو ممکن Transparent ای نمایش داده شوند ، از دکمه‌هایی که توسط برنامه‌ی Real-Drow (که در پست های قبلی معرفی شد) برای MMB ساخته میشود ، استفاده کنید .
این دکمه ها با فرمت 3sb ذخیره میشوند و مستقیما در برنامه‌ی MMB قابل Import کردن هستند . علاوه بر این ، برنامه Real-Drow میتواند فایل های آماده شده با فرمت PSD (فوتوشاپ) را نیز Import کند . پس مشکل ایجاد دکمه‌هایی با سطح مویینگی خارجی نیز به نحوی حل شد .

امید وارم که مشکل شما دوست (دوستان) گرامی حل شده باشد .
---------------------------------------------------------------------------
در ضمن من قبل از این میخواستم که یک تاپیک مربوط به سوالات و مباحث بزنم که اولین هدفم بود ، ولی چون این تاپیک تاپیک آموزش شد، دیگه نشد ، باید اسمشم رو تغییر بدم .
با تشکر از شما .

ولی شما دوستان هرچند که دوست دارید سوال بپرسید تا اگر خدا بخواد ما با همکاری هم جواب بدیم .

alirafaat
04-10-2009, 12:42
سلام


با تشکر از راهنمای تون

مشکلم با استفاده از real draw حل شد

میشه در مورد فارسی نویسی در mmb یه کم توضیح بدید- حتما باید از فارسی ساز استفاده کرد؟

فکر کنم در بعضی از بیلدها ی mmb میشه مستقیم فارسی نوشت

من از اخرین ورژن استفاده می کنم با اینکه از این روش :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

هم استفاده کردم ولی نشد

ata_e
06-10-2009, 00:43
سلام.
آیا میتونم MMB رو در ویندوز 7 استفاده کنم به طوری که فارسی رو هم ساپورت کنه؟
خیلی ممنون

قاهر - Gahir
07-10-2009, 20:40
سلام . دوستان عزیز .

میشه در مورد فارسی نویسی در mmb یه کم توضیح بدید- حتما باید از فارسی ساز استفاده کرد؟

بله . در برنامه‌ی MMB میشود از فونت هایی که توانایی پشتیبانی از Scriptهای زبان های دیگر را دارند ، استفاده کرد .

برای مثال برای نوشتن یک متن با Script (اسکریپت) فارسی یا عربی فقط کافی است که متن را نوشته بعد در قسمت فونت ، Script را به Arabic تغییر دهید . ( میتوانید از فونت Tahoma یا Arial که شامل چندین Script برای زبان های راست-به چپ است برای این منظور استفاده کنید )

به این نکته توجه داشته باشید که برنامه‌ی MMB مستقلا فونت ها را برای برنامه‌ی خودش تفسیر نمیکند(یعنی مجموعه کاراکترهایش فقط ASCII نیست بلکه بستگی به مجموعه کارکترهای ویندوز دارد) ، بلکه از بسته های برنامه‌هایی که در خود پلت فرم برای این منظور نوشته شده اند استفاده میکند .یعنی اگر از سیستم عامل ویندوز استفاده میکنید ، MMB از دستورالعمل های نوشته شده برای عمل راست به چپ نوشتن در ویندوز، استفاده میکند .
پس نوشتن متون در برنامه MMB نیازمند ویندوزی است که توانایی پشتیبانی از فارسی(Script زبان های راست-به چپ) را داشته باشد .


سلام.
آیا میتونم MMB رو در ویندوز 7 استفاده کنم به طوری که فارسی رو هم ساپورت کنه؟
خیلی ممنون

سلام ، استفاده کردنش که میتونید ولی با توجه به مطالب بالا ، MMB از Script عربی که شامل فارسی نوشتن هم میشود ، پشتیبانی میکند .
ولی من خودم این رو در ویندوز 7 آزمایش نکردم اما به طور کلی در ویستا دیدم که درست کار میکنه . البته همون طور که نوشتم باید فایل های زبان های تکمیلی برای زبان هایی که راست به چپ هستند (مثل فارسی) که در پانل ... Regional and Language (در Xp به این نام است) قابل مشاهده و نصب است ، نصب شده باشند .

alirafaat
12-10-2009, 09:47
سلام

سئوال سوم

چه کار کنم که فرمانی که (script ) در صفحع اول نوشتم فقط یک بار اجرا بشه ؟

( اسکریپتی نوشتم که هنگام لود صفحه اول چند تا فونت رو اینستال کنه - اما این دستور هر بار که از صفحه های 2 و 3 و.. به صفحه اول بر می گردم اجرا میشه )


با تشکر

قاهر - Gahir
12-10-2009, 15:15
سلام

سئوال سوم

چه کار کنم که فرمانی که (script ) در صفحع اول نوشتم فقط یک بار اجرا بشه ؟

( اسکریپتی نوشتم که هنگام لود صفحه اول چند تا فونت رو اینستال کنه - اما این دستور هر بار که از صفحه های 2 و 3 و.. به صفحه اول بر می گردم اجرا میشه )


با تشکر

سلام .

برای اینجور کارا ، MMB یک اختیاری به نام استفاده از اختیارات Registry(ریجستری) که همان اختیارات ایجاد کردن کلید در ریجستری است را قرار داده است .

فقط باید متغیری که نشان دهنده‌ی یک مقدار به منظور استفاده‌ی فقط یک بار است را در ریجستری ذخیره کنید .

برای مثال : من میخوام که یک Script فقط دفعه‌ی اول اجرا شود و بس .

کد زیر را در صفحه‌ی اول مینویسیم : (البته میتوانید از هر روش ابتکاری دیگری که شایسته میدانید، استفاده کنید)


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته این نکته قابل توجه است که در این برنامه باید از مقدار پیش فرض کلید-واژه (KeyWord) در برنامه بهره برداری کرد ؛ که در این مثال از مقدار پیشفرض بولی FALSE استفاده شده است .

اگر این برنامه را در MMB اجرا کنید ، عملکرد برنامه نویسی شما فقط یک بار اجرا میشود و بس .

در سوال شما alirafaat ؛ کافی است که بجای نمایش پیغام ، دستور اجرای Script دلخواه خود را بدهید .

alirafaat
17-10-2009, 08:33
سلام

با عرض معذرت ولی من با برنامه نویسی اشنا نیستم منظورتون رو نگرفتم

من این طوری عمل کردم :

LoadVariable("VarGahir","Boolean")
If (Boolean=FALSE) Then
SaveVariable("VarGahir","TRUE")
Boolean=TRUE
End
If (Boolean=TRUE) Then
Run("<SrcDir>\setup font.exe","")
End


این کل دستور توی اسکریپت هست ( خط قرمز اسکریپت منه )

ولی باز هم چند باره نصب می کنه

rose25
18-10-2009, 06:25
سلام
با تشکر یه سوال داشتم

rose25
18-10-2009, 06:42
سلام و تشکر فراوان از آموزش خیلی خوب و عالی تون . یه سوال داشتم:
در mmb چطور میشه در صفحه اشیاء مختلف رو با ماوس حرکت داد و جابجاشون کرد. مثلا کاربر بتونه یه عکس رو در یک قسمت از صفحه ، درگ و رداپ کنه به قسمت دیگه ای از صفحه.
باز هم ممنون

قاهر - Gahir
19-10-2009, 18:47
سلام
با عرض معذرت ولی من با برنامه نویسی اشنا نیستم منظورتون رو نگرفتم
من این طوری عمل کردم :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این کل دستور توی اسکریپت هست ( خط قرمز اسکریپت منه )
ولی باز هم چند باره نصب می کنه


سلام .

با توجه به خواسته عملکردی شما از کد اجرایی ، باید مکان آن خط کدی که نوشته اید را تغییر دهید .
چون شما میخواهید که نصب فونت (هر Actionای) فقط بار اول اجرا شود و بس ! باید تابع Run را بعد از بررسی شدن FALSE بودن Boolean قرار دهید .
همانطوری که من خود برای سوال شما اذعان کردم :

در سوال شما alirafaat ؛ کافی است که بجای نمایش پیغام ، دستور اجرای Script دلخواه خود را بدهید .
شما باید به جای اجرای تابع Message در مثال ، اسکریپت(Script) دلخواه خود را قرار دهید .

یعنی کدی که شما میخواهید باید اینگونه باشد :



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در کد بالایی که مشاهده میکنید منظور از Do your Actions یعنی اینکه ، Script یا عملکردهایی غیر از عملکری که میخواهید برای بار اول اجرا شود را قرار دهید .

قاهر - Gahir
19-10-2009, 19:45
سلام و تشکر فراوان از آموزش خیلی خوب و عالی تون . یه سوال داشتم:
در mmb چطور میشه در صفحه اشیاء مختلف رو با ماوس حرکت داد و جابجاشون کرد. مثلا کاربر بتونه یه عکس رو در یک قسمت از صفحه ، درگ و رداپ کنه به قسمت دیگه ای از صفحه.
باز هم ممنون


سلام . خواهش میکنم .

متاسفانه MMB هیچ توانایی چنین کارهایی را ندارد . این کارهایی که شما میفرمایید فرای تصور MMB است .(علاوه بر فرا بودن در تصور MMB ، فرای تصور سازنده اش نیز هست ! :دی)
البته این نکته قابل توجه است که اگر میخواهید فقط برخی از کنترل های محدود آن هم با زحمت فراوان برنامه نویسی آن هم به زبان ++C (برای کتابخانه پویا (DLL)) و صد البته سازگار با MMB تحت ویندوز !!!! را به این ویژگی مجهز کنید کار غیر ممکنی نیست ×× :دی والا به زحمتش هیچ نمی ارزه !
همانطوری که در بالا نوشتم اگر پلاگینی دارای چنین توانایی هایی باشد ، میتوانید خواسته ی خود را انجام دهید . و در ضمن اگر چنین Plug-In ای را پیدا کردید ، برای ما هم معرفی کنید تا برای شما و نویسنده‌ی این پلاگین دعا کنیم :دی

در ضمن کسی که این قدر به زبان ++C تحت ویندوز تسلط داشته باشد ، بهتر است خودش یک MMB دیگری بسازد !!!! :دی تا منت این جور محدودیت ها ، بر سرش نباشد :دی

فکر کنم تا به اینجا کاستی های این چنینی از MMB را شناخته باشید . در کل باید بگویم که این خواسته‎ی شما در MMB کارایی ندارد ، هدف کلی MMB ساخت اوتوران و دسترسی به منابع سیستم عامل جهت تسهیل امور اوتورانی است نه ساخت و توسعه‌ی برنامه های کاربردی !

اگر تمایل دارید که تا اوتوران های فرا پیشرفته و زیبایی داشته باشید ، میتوانید از برنامه ی جذاب Adobe Flash برای طراحی محتوا ( حتی دراگ و دراپ (Drag-Drop)) و استفاده از فایل منتشر شده توسط فلش (SWF) در MMB - که از آن پشتیبانی میکند - استفاده کنید .(این هم در جای خود در برنامه MMB محدودیت های فراوانی دارد ! )

و اگر شما برای اوتوران سازی هیچ محدودیتی را تحمل نمیکنید از برنامه های ساخت و توسعه‌ی نرم افزار مانند Microsoft Visual Studio یا محیط های مجتمع توسعه‌ی نرم افزاری Borland و ... استفاده کنید .

rose25
24-10-2009, 12:12
جناب قاهر ممنون از راهنمایی هاتون
من شنیده بودم برنامه های چند رسانه ای آموزشی رو هم میشه با mmb ساخت . حتی ساخت بازی های ساده هم با این نرم افزار ممکن هستش. پس چطور این کار ساده ممکن نیست؟؟؟
این کاری رو هم خواسته بودم در واقع قسمتی از بازی های ساده است که اشیاء رو بتوان با موس در صفحه جابجا کرد.

قاهر - Gahir
28-10-2009, 10:08
جناب قاهر ممنون از راهنمایی هاتون
من شنیده بودم برنامه های چند رسانه ای آموزشی رو هم میشه با mmb ساخت . حتی ساخت بازی های ساده هم با این نرم افزار ممکن هستش. پس چطور این کار ساده ممکن نیست؟؟؟
این کاری رو هم خواسته بودم در واقع قسمتی از بازی های ساده است که اشیاء رو بتوان با موس در صفحه جابجا کرد.

علیک سلام !
سرکار خانم رز ، شنیدن کی بود مانند دیدن ! :دی
من هم نــگفتم که غیر ممکن هست !

بفرمایید ، این هم یک برنامه ی ساده که با زبان MMB نوشته شده و خواسته ی شما رو براورده میکنه (اونم تا حدودی)







فقط مراحل زیر رو بپیمایید :

یک پروژه ی جدید ایجاد کنید .
یک شیء به دلخواه ( شیء های محدود MMB) را که میخواهید آن را دراگ کنید ، انتخاب کنید (در این مثال یک دکمه با نام Object) .
سه اسکریپت (Script) به ترتیب با نام های ClickToggle ، DisplayVariables ، Moving ایجاد کنید .
دو شیء Text به نام های Deltas ، Pos به برنامه اضافه کنید ( البته این مورد اختیاری است ولی من برنامه‌ی مربوط به تغییر این نوشته ها را در اسکریپتی مینوسم)
خب ، اگر موارد بالا را به ترتیب انجام دادید ،محتویات اسکریپت ها را با کدهای مربوط به هر کدام پر کنید :


محتویات اسکریپت ClickToggle :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

محتویات اسکریپت DisplayVariables (اختیاری است که باشد یا نباشد ولی در این مثال هست ! ):


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

محتویات اسکریپت Moving :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

روی شیء دلخواه خود (همان دکمه با نام Object) دوبار کلیک کرده و کد زیر را برای آن بنویسید .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


در کد بالا DeltaX_prin و DeltaY_prin فقط در جهت مقاصد نمایشی هستند .


حال اگر موارد بالا را به خوبی طی کرده باشید ، برنامه را اجرا کنید و با کلید روی شی خود آن را بکِشید (Drag-Drop) کنید .


اگر با مشکلی روبرو شدید ، بفرمایید .

dany0082
11-11-2009, 00:26
چطور میشهWindows Media Player v در یک برنامه آورد؟

قاهر - Gahir
11-11-2009, 07:31
چطور میشهWindows Media Player v در یک برنامه آورد؟
در برنامه MMB ، چنین چیزی وجود ندارد که بتوان برنامه‎ی Microsoft Windows Media Player رو در خود برنامه به عنوان شیء آورد . مگر با استفاده از Plug-Inها ! (توضیح پلاگین ها در قسمت های قبل داده شده است)
ولی برنامه‌ی MMB برای پخش اصوات و فیلم ها از خود MWMP استفاده میکند . (که این کاری است ، نه چندان جالب !)
اگر میخواهید ، قالبی به مانند قالب پخاش های صوتی داشته باشید ، میتوانید آن را به صورت اجمالی در MMB شبیه سازی کنید .
اگر از نسخه‌ی 4.9.8 (یا به بالا) استفاده میکنید ، یک مثال ساده از این کار در فولدرهای محل نصب برنامه MMB وجود دارد .
به محل نصب برنامه بروید و در پوشه‎ی Samples\MMBamp_src ، مثال mmbamp_27_01_04.mbd را اجرا کنید و خود متوجه موضوع میشوید . میتوانید از این مثال در برنامه‌ی خود هم استفاده کنید .
یا از مثالی که در پوشه‎ی Samples\497_examples با نام videoandimage.mbd است ، برای هدف خود استفاده کنید .

قاهر - Gahir
20-11-2009, 13:26
با نام خدا .

سلام دوستان . همونطوری که از اسمش معلوم برای سوالات و مباحث MMB طراحی شده . ممنون

دوستان ، تا اطلاع ثانویه هیچ پستی ندید .

این تاپیک رو برای دوستانی احداث کردم ، تا هر سوال و مسئله ای در مورد MMB دارند رو در این تاپیک مطرح کنند .

لطفا تا بعد از ایجاد تغییرات ، در این تاپیک پست ارسال نکنید .

اگر میخواهید که سوالات و مباحثتون درباره‎ی MMB رو مطرح کنید ، تا اطلاع ثانویه از این تاپیک استفاده کنید :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ممنون از توجهتون .

redstorm88
31-12-2009, 16:38
سلام من میخام واسه چند مبحث آموزشی که 20 صفحه ورد هست اوتوران درست کنم و در واقع متنی هست منتها میخوام متنش جلوه خاصی داشته باشه ولی mmb فقط اجازه وارد کردن html رو میده که خیلی روی گرافیکش نمیشه کار کرد چون باید از ورد کانورت بشه و ورد هم خیلی روی گرافیک مانوری نداری میخواستم پیشنهاد بدید فایل های متنی رو با چه قالبی وارد mmb کنم که جلوه خاصی داشته باشه
ممنون

قاهر - Gahir
31-12-2009, 18:15
سلام من میخام واسه چند مبحث آموزشی که 20 صفحه ورد هست اوتوران درست کنم و در واقع متنی هست منتها میخوام متنش جلوه خاصی داشته باشه ولی mmb فقط اجازه وارد کردن html رو میده که خیلی روی گرافیکش نمیشه کار کرد چون باید از ورد کانورت بشه و ورد هم خیلی روی گرافیک مانوری نداری میخواستم پیشنهاد بدید فایل های متنی رو با چه قالبی وارد mmb کنم که جلوه خاصی داشته باشه
ممنون
سلام دوست گرامی ،

بله ، MMB خیلی روی متن ، اون هم اگه متنت فارسی (کد Arabic) باشه بقولتون مانور نمیده !
اکثرا برای کارهای سادست ، ولی اگه بخواین که متن هاتون جلوه‎ی ویژه داشته باشه ، از افکت های ساده و بسیار بسیار کارامد برنامه Adobe Flash استفاده کنید که میتونید در خود MMB ، اونا رو Import کنید !
اصلا اگه به خود برنامه‏ی بسیار موفق Adobe Flash تسلط داشته باشید ، دیگه لازم نیست که Autorun هاتون رو با MMB بسازید ، میتونید با صدها و شاید هزاران امکانات و زیبایی‏های خاص Flash استفاده کنید و Autorun خودتون رو بسازید . (تبلغات مخالف MMB :دی)

زبان برنامه نویسی Adobe Flash جدیدا ، تقریبا شده مثل زبان برنامه نویسی Java ! (البته قبلن هم مثل Java بود ، یعنی در اصل خود برنامه‏ی Flash با خود Java نوشته شده ، ولی زبان برنامه نویسی که در خود Flash نوشته میشه الانیش به زبان برنامه نویسی Java نزدیکتر شده !)

البته اینجا شایسته است که یک برنامه‎ی دیگری که جدیدا ، اکثر افراد با آن اوتوران هاشون رو میسازن رو معرفی کنم :
برنامه‏ی Adobe Director (که قبلا تحت انحصار شرکت Macromedia بود) هست ، که من با اونم چندان دل خوشی ندارم ، ولی میتونید باهاش با متن‎هاتون کار کنید .
این برنامه رو میتونید توی Assistant ها یا Collectionهای برنامه‎های Adobe جستجو و دانلود یا نصب کنید .


میخواستم پیشنهاد بدید فایل های متنی رو با چه قالبی وارد mmb کنم که جلوه خاصی داشته باشه
بهتره که فایل های متنی ، به صورت کد وارد بشه ولی چون MMB به متن های فارسی روی خوشی نشون نمیده ، میتونید متن‎هاتون رو به صورت خلاصه به شکل عکس (با فرمت PNG که سبکترهست) وارد کنید ، ولی این کار در کل حجم فایل exe. رو زیاد میکنه ولی ناچار همین راهها هستند .

ولی استفاده از HTML برنامه MMB هم بدک نیست ! با اون هم میتونید کاراتون رو روبراه کنید .

hadi1990
15-01-2010, 20:11
سلام


یه فیلم با فرمت mpg تو اوتورانم با مولتی مدیا بیلدر گذاشتم .
میخواهم وقتی کاربر بر روی اون کلیک کرد مستقیم با پاوردی وی دی که از قبل کاربر بر روی سیستمش نصب کرده باز شود چون این فرمت باید با پاور دی وی دی اجرا بشه . در اوتوران نیز برنامه پاور دی و یدی هست و به کاربر اطلاع داده شده که این برنامه رو اول نصب کنه بعد بر روی فیلم کلیک کند .

یا یه کدک ساده ای برای بنده بزارین که فیلم رو با فرمت mpg با مدیا پلیر ویندوز باز کنه و یه کاری هم بکنم که هنگام لود شدن اوتوران این کدک اول در جای خودش کپی یا نصب شود و بعد برنامه لود بشه .

لطفا یه آموزش کاملی در این زمینه بزارین .


با تشکر خیلی زیاد

hooshtoolak
16-01-2010, 18:49
سلام من میخام واسه چند مبحث آموزشی که 20 صفحه ورد هست اوتوران درست کنم و در واقع متنی هست منتها میخوام متنش جلوه خاصی داشته باشه ولی mmb فقط اجازه وارد کردن html رو میده که خیلی روی گرافیکش نمیشه کار کرد چون باید از ورد کانورت بشه و ورد هم خیلی روی گرافیک مانوری نداری میخواستم پیشنهاد بدید فایل های متنی رو با چه قالبی وارد mmb کنم که جلوه خاصی داشته باشه
ممنون



به نظر من ساده ترین راه اینه که متنت رو به عکس تبدیل کنی و با استفاده از افکت های MMB به اون عکس ها افکت بدی، البته منظورم اینه که هر عکس رو توی یک Page بزاری و برای هر Page یه افکت تعریف کنی.


موفق باشی.

قاهر - Gahir
22-01-2010, 11:03
سلام
یه فیلم با فرمت mpg تو اوتورانم با مولتی مدیا بیلدر گذاشتم .

میخواهم وقتی کاربر بر روی اون کلیک کرد مستقیم با پاوردی وی دی که از قبل کاربر بر روی سیستمش نصب کرده باز شود چون این فرمت باید با پاور دی وی دی اجرا بشه . در اوتوران نیز برنامه پاور دی و یدی هست و به کاربر اطلاع داده شده که این برنامه رو اول نصب کنه بعد بر روی فیلم کلیک کند .

یا یه کدک ساده ای برای بنده بزارین که فیلم رو با فرمت mpg با مدیا پلیر ویندوز باز کنه و یه کاری هم بکنم که هنگام لود شدن اوتوران این کدک اول در جای خودش کپی یا نصب شود و بعد برنامه لود بشه .

لطفا یه آموزش کاملی در این زمینه بزارین .
با تشکر خیلی زیاد


سلام دوستان .


باید ببخشید که کمی به شما دیر جواب دادم ! قرار بود که دیگه به فروم سر نزنم ! ولی دیدم که بهتره سوال شما بی پاسخ نمونه !
برای اینکار ، شما ابتدا ، باید مسیر برنامه‌ی PowerDVD ی نصب شده در سیستم شخص رو بدونید ! که برای اینکار میتونید از ریجستری استفاده کنید ! و صد البته امکان دسترسی به Registry با MMB فقط در ویندوز XP و پایین‌تر از آن امکان پذیر هست !
حالا چون اکثر اوقات شرکت سازنده‌ی PowerDVD ، نصب این برنامه را به شرکت نصابی InstallShield موکول میکند ، پس مسیر نصب برنامه در یک مسیر مشخصی از ریجستری است ! که آن مسیر مشخص در همین کلید پایین هست :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در کلید بالایی ، مسیر تمامی برنامه‌هایی که در ویندوز نصب شده‌اند وجود دارد ! و اول از هر چیزی ، برای اینکه قبل از اجرای هر فایلی (در اینجا مثلا فایل MPG در PowerDVD) ، باید مشخص شود که آیا برنامه‌‍ی مجری آن فایل در سیستم وجود دارد یا نه !
که در این قسمت ما وجود کلید ریجستری برای برنامه‌ی PDVDLaunchPolicy Application را مورد بررسی و تایید قرار میدهیم که اگر کلید این برنامه در این قسمت از ریجستری موجود باشد ، آنگاه میتوان دستوری برای اجرای فایلی در برنامه‌ی PowerDVD را داد ! که دستور اجرای آن فایل ، همان دستور اجرای فایل MPG ای است که شما بحثش را کردید .
پس در MMB ما نیازمند دسترسی به ریجستری هستیم که متاسفانه این امکان در MMB وجود نداشت ! ولی خوشبختانه به دلیل وجود Plug-In ها در این برنامه ، این امکان حیاتی ، قرار داده شده که باز هم متاسفانه در سیستم‌عامل‌های جدید ، مثل MS Vista و Se7en به دلیل امنیتی بودن ، MMB قادر به صادر کردن دستور به طور مستقیم به Registry را ندارد ! ... یعنی در کل دستکاری Registry در MMB فقط در سیستم‌عامل‌های XP یا پایین‌تر امکان پذیر خواهد بود ( البته ناگقته نماند که این مطالب بر اساس امکانات آخرین نسخه‌ی MMB یعنی 4.9.8.13 هست ، شاید احتمالا در نسخ بعدی این برنامه این امکان وجود داشته باشد )
حالا بریم سر اصل مطلب :
ما در بحثی که در پایین میکنیم ، از آخرین نسخه‌ی MMB سال 2007 یعنی 4.9.8.13 و Plug-In ساخته شده و آماده به نام SmallPlugin استفاده خواهیم کرد. (پلاگین SmallPlugin در مسیر نصب برنامه‌ی MMB در پوشه‌ی Plugins وجود دارد .)
برای اینکه ، کار شما دقیق و درست‌تر و کامل‌تر شود ، باید به نحوی در ریجتستری کلیدی را ایجاد کنید که وجود یک برنامه‌ی خاص مثلا پلیر یک فرمت خاص را چک کند ! که این کار اکنون برای این آموزش از دست ما خارج است ، چرا که باید یک فایل نصبی دیگر برای پاور دیویدی ایجاد کرد یا اینکه در حین نصب هر نسخه ، یک کلیدی خاص در ریجستری ایجاد کرد که این کلید نسخه‌ی نصب شده را به ما اعلان کند ×
پس ؛ از یکی از کلیدها ریجستری که برای (CyberLink Video/SP Decoder (PDVD9 در حین نصب برنامه ایجاد میشود ، کمک میگیریم × که اگر کلید ریجستری این قسمت از ریجستری موجود باشد ، پس نتیجه میگیریم که Decoder فایل‌های ویدوییی چون MPG هم نصب شده است ! و این یعنی اینکه ما اطمینان حاصل میکنیم که کاربر ، برنامه‌ی PowerDVD ( یا لااقل Decoder فایل ویدوییی) را نصب کرده و میتوان با ان فایل‌هایی با فرمت‌هایی چون مثلا : MPG و ... را اجرا کرد .
حالا که اطمینان حاصل کردیم که برنامه‌ی PowerDVD روی PC شخص کاربر نصب شده است ، پس ، به راحتی میتوان از طریق ویندوز برای اجرای فایلی از یک قسمت از هارد یا دیسک ، یک دستوری را صادر کرد .


مثال : ساخت یک برنامه با MMB که کارش کار با پلاگین ، SmallPlugin هست و دستور اجرای فایلی را به برنامه‎ی PowerDVD نسخه‎ی 9 میدهد .
در هنگام Load یک صفحه ، یا همان در قسمت بالا آمدن صفحه‌ای (مثلا صفحه‌ای که در آن صفحه، دکمه‌هایی برای پخش فیلم قرار داده شده است ) شما باید کدهایی قرار دهید که این کدها وجود برنامه‌ی PowerDVD را چک و بررسی کنند ! که برای اینکار از Registry commands (فرمان‌های ریجستری) در SmallPlugin استفاده میکنیم .
ابتدا یک شیء Plug-In در صفحه قرار دهید و نامش را PlugIn بگذارید .
برای بررسی وجود یک کلید از ریجستری از دستورات زیر استفاده میکنیم :
این کدها را در قسمت کدهای Script در Page Properties قرار دهید .


قبل از هر چیزی این کدها را در اول صفحه قرار دهید ( این کدها فقط جنبه‌ی توضیحی دارند و در کدهای بعد شاید استفاده شوند) :
دستورات دسته‎ی صفر :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


دستورات دسته‎ی یک :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


در قسمت $Path ما مسیر کلیدی از ریجستری را به صورت رشته (String) به متغیر نسبت میدهیم . که این کلید ، کلید زیر است :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که اگر این کلید ، موجود باشد ، پس یعنی اینکه برنامه‌ی PowerDVD یا لااقل Decoder اش در رایانه‌ی شخص نصب شده است !
بعد از قرار دادن مسیر کلید ، از کاما " , " استفاده میکنیم ، که عبارت بعد از این کاما در این قسمت ، برای این منظور است که در یک مسیر مثلا مسیر کلید بالا ، چه مقدار(Value)ای از چه کلیدی با چه نامی خوانده شود ! که در اینجا ما وجود مقدار رشته‌ای در FriendlyName را مورد بررسی قرار میدهیم.
در MMB باید برای مشخص شدن رشته -- همانطوری که در توضیحات قبلی داده شده است -- از کوتیشن " ' " (Quotation) استفاده کرد ، که در تمامی زبان‌های برنامه نویسی جهان از Double Quotation استفاده میشود ، یعنی این کاراکتر " " " .


حال از دستور PluginSet برای مشخص کردن مسیری که در متغییر رشته‌ای $Path قرار داده شده است ، استفاده مکنیم .
از تابع SetRegistryPath که در پلاگین SmallPlugin قرار داده شده است ، برای دادن مسیر و Set کردن آن استفاده میکنیم . که این تابع با دستور PluginRun اعلان میشود.
حال میخواهیم بدانیم که آیا مقداری در این کلید در ریجستری موجود هست یا نه ! ؟ ... پس ، از دستور PluginRun با مشخص کردن تابع RegistryValueExist برای بررسی وجود داشتن مقدار دوباره استفاده میکنیم ؛ که اگر مقدار موجود باشد ، تابع مقدار 1 را بر میگرداند و اگر موجود نباشد مقدار 0 را .
در برنامه نویسی به زبان MMB ، عدد 1 در حکم متغییر بولی TRUE است و عدد 0 هم در حکم False است .
از دستور PluginGet برای گرفتن نتیجه‎ی وجود مقدار استفاده میکنیم که داخل این دستور متغیری را نیز به نام Result تعریف میکنیم .
بعد از اینکه مقدار برگشت داده شد ، ما از یک دستور شرطی که در MMB هم وجود دارد استفاده میکنیم :
بعد از دستورات دسته‎ی یک ، این دستورات را نیز اضافه کنید :
دستورات دسته‎ی دو :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همانطوری که متوجه شده‎اید دیگر بعد از بررسی شرط ننوشتیم که اگر Result درست باشد این کار را بکن ، چرا که قرار ندادن شرط TRUE بودن ، به منزله قرار دادنش هست ! یعنی بین این دو دستور زیر هیچ تفاوتی نیست :
بین این دستور :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و این دستور :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

هیچ تفاوتی نیست .


این کد شرطی بررسی میکند که اگر مقدار در کلید ، موجود باشد کارهایی را انجام میدهد و در غیر این صورت کارهای دیگری را .


حال یک دکمه‌ای را ایجاد کنید که برای پخش فیلم به کار رود :
این کدها را به آن نسبت دهید :
دستورات دسته‎ی سه :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



این کدها ، فقط بر روی PowerDVD نسخه‌ی 9 قابل اجراست ! چرا که PowerDVD در تمامی نسخه‌هایش کلیدهای ریحستری ثابتی برای مشخص کردن محل نصبش ندارد ، مثلا رجستری نسخه‌ی 9 در کلیدی است که انتهای نامش PowerDVD9 هست یا ریجستری نسخه‌ی 7 در کلیدی است که انتهای نامش PowerDVD7 هست و هم در نسخه‌های دیگر ، نامهایشان متفاوت است . پس ، نمیتوان از روی کلیدهای ریجستری که PowerDVD برای نسخه‌هایش استفاده میکند ، استفاده‌ی کلی برد !





پس وقتی که شخص PowerDVD نسخه‌ی 9.00 را نصب کرده باشد ، این کدها به درستی اجرا خواهند شد .





برای دادن پارامتر به یک فایل exe میتوان از دستور Run استفاده کرد . در این دستور در قسمت Path اش ، مسیر فایل exe ای که قرار است با یک پارمتری خاص اجرا شود را قرار میدهیم که در مثال ، مسیر فایل exe همان مسیر فایل pdvdlaunchpolicy.exe است . ( این فایل در محل نصب PowerDVD9 موجود هست .)





پارامتری که به این exe داده شده است از طریق متغیر رشته‌ای $FileDir است ، شما باید یک مسیری را به متغیر $FileDir نسبت دهید که این مسیر همان مسیر فایل MPG ی شماست .




برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



همین دوست عزیز .





با اینکه توضیحات زیاد بودند ، ولی حجم توضیحات کم بود .





چون شما فرموده بودید که توضیحات کامل بدم ، توضیحات کمی زیاد شد ولی ممکنه توضیحات از خیلی جهات ایراد داشته باشن ولی کدها درست هستند . فقط دوستان اهل فن ، خواهشا اگر احتمالا اشکالاتی وجود داشت ، به طور خصوصی من رو در جریان بذارید .





دوستان اگر دیدید که به سوالات شما جواب داده نمیشه (از طرف من) ، بدونید که حتما من چندین وقتی میشود که به فروم سر نزده ام .

hadi1990
22-01-2010, 20:32
[QUOTE=قاهر - Gahir;4597707]
سلام دوستان .


باید ببخشید که کمی به شما دیر جواب دادم ! قرار بود که دیگه به فروم سر نزنم ! ولی دیدم که بهتره سوال شما بی پاسخ نمونه !
برای اینکار ، شما ابتدا ، باید مسیر برنامه‌ی PowerDVD ی نصب شده در سیستم شخص رو بدونید ! که برای اینکار میتونید از ریجستری استفاده کنید ! و صد البته امکان دسترسی به Registry با MMB فقط در ویندوز XP و پایین‌تر از آن امکان پذیر هست !
حالا چون اکثر اوقات شرکت سازنده‌ی PowerDVD ، نصب این برنامه را به شرکت نصابی InstallShield موکول میکند ، پس مسیر نصب برنامه در یک مسیر مشخصی از ریجستری است ! که آن مسیر مشخص در همین کلید پایین هست :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در کلید بالایی ، مسیر تمامی برنامه‌هایی که در ویندوز نصب شده‌اند وجود دارد ! و اول از هر چیزی ، برای اینکه قبل از اجرای هر فایلی (در اینجا مثلا فایل MPG در PowerDVD) ، باید مشخص شود که آیا برنامه‌‍ی مجری آن فایل در سیستم وجود دارد یا نه !
که در این قسمت ما وجود کلید ریجستری برای برنامه‌ی PDVDLaunchPolicy Application را مورد بررسی و تایید قرار میدهیم که اگر کلید این برنامه در این قسمت از ریجستری موجود باشد ، آنگاه میتوان دستوری برای اجرای فایلی در برنامه‌ی PowerDVD را داد ! که دستور اجرای آن فایل ، همان دستور اجرای فایل MPG ای است که شما بحثش را کردید .
پس در MMB ما نیازمند دسترسی به ریجستری هستیم که متاسفانه این امکان در MMB وجود نداشت ! ولی خوشبختانه به دلیل وجود Plug-In ها در این برنامه ، این امکان حیاتی ، قرار داده شده که باز هم متاسفانه در سیستم‌عامل‌های جدید ، مثل MS Vista و Se7en به دلیل امنیتی بودن ، MMB قادر به صادر کردن دستور به طور مستقیم به Registry را ندارد ! ... یعنی در کل دستکاری Registry در MMB فقط در سیستم‌عامل‌های XP یا پایین‌تر امکان پذیر خواهد بود ( البته ناگقته نماند که این مطالب بر اساس امکانات آخرین نسخه‌ی MMB یعنی 4.9.8.13 هست ، شاید احتمالا در نسخ بعدی این برنامه این امکان وجود داشته باشد )
حالا بریم سر اصل مطلب :
ما در بحثی که در پایین میکنیم ، از آخرین نسخه‌ی MMB سال 2007 یعنی 4.9.8.13 و Plug-In ساخته شده و آماده به نام SmallPlugin استفاده خواهیم کرد. (پلاگین SmallPlugin در مسیر نصب برنامه‌ی MMB در پوشه‌ی Plugins وجود دارد .)
برای اینکه ، کار شما دقیق و درست‌تر و کامل‌تر شود ، باید به نحوی در ریجتستری کلیدی را ایجاد کنید که وجود یک برنامه‌ی خاص مثلا پلیر یک فرمت خاص را چک کند ! که این کار اکنون برای این آموزش از دست ما خارج است ، چرا که باید یک فایل نصبی دیگر برای پاور دیویدی ایجاد کرد یا اینکه در حین نصب هر نسخه ، یک کلیدی خاص در ریجستری ایجاد کرد که این کلید نسخه‌ی نصب شده را به ما اعلان کند ×
پس ؛ از یکی از کلیدها ریجستری که برای (CyberLink Video/SP Decoder (PDVD9 در حین نصب برنامه ایجاد میشود ، کمک میگیریم × که اگر کلید ریجستری این قسمت از ریجستری موجود باشد ، پس نتیجه میگیریم که Decoder فایل‌های ویدوییی چون MPG هم نصب شده است ! و این یعنی اینکه ما اطمینان حاصل میکنیم که کاربر ، برنامه‌ی PowerDVD ( یا لااقل Decoder فایل ویدوییی) را نصب کرده و میتوان با ان فایل‌هایی با فرمت‌هایی چون مثلا : MPG و ... را اجرا کرد .
حالا که اطمینان حاصل کردیم که برنامه‌ی PowerDVD روی PC شخص کاربر نصب شده است ، پس ، به راحتی میتوان از طریق ویندوز برای اجرای فایلی از یک قسمت از هارد یا دیسک ، یک دستوری را صادر کرد .


مثال : ساخت یک برنامه با MMB که کارش کار با پلاگین ، SmallPlugin هست و دستور اجرای فایلی را به برنامه‎ی PowerDVD نسخه‎ی 9 میدهد .
در هنگام Load یک صفحه ، یا همان در قسمت بالا آمدن صفحه‌ای (مثلا صفحه‌ای که در آن صفحه، دکمه‌هایی برای پخش فیلم قرار داده شده است ) شما باید کدهایی قرار دهید که این کدها وجود برنامه‌ی PowerDVD را چک و بررسی کنند ! که برای اینکار از Registry commands (فرمان‌های ریجستری) در SmallPlugin استفاده میکنیم .
ابتدا یک شیء Plug-In در صفحه قرار دهید و نامش را PlugIn بگذارید .
برای بررسی وجود یک کلید از ریجستری از دستورات زیر استفاده میکنیم :
این کدها را در قسمت کدهای Script در Page Properties قرار دهید .


قبل از هر چیزی این کدها را در اول صفحه قرار دهید ( این کدها فقط جنبه‌ی توضیحی دارند و در کدهای بعد شاید استفاده شوند) :
دستورات دسته‎ی صفر :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


دستورات دسته‎ی یک :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


در قسمت $Path ما مسیر کلیدی از ریجستری را به صورت رشته (String) به متغیر نسبت میدهیم . که این کلید ، کلید زیر است :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که اگر این کلید ، موجود باشد ، پس یعنی اینکه برنامه‌ی PowerDVD یا لااقل Decoder اش در رایانه‌ی شخص نصب شده است !
بعد از قرار دادن مسیر کلید ، از کاما " , " استفاده میکنیم ، که عبارت بعد از این کاما در این قسمت ، برای این منظور است که در یک مسیر مثلا مسیر کلید بالا ، چه مقدار(Value)ای از چه کلیدی با چه نامی خوانده شود ! که در اینجا ما وجود مقدار رشته‌ای در FriendlyName را مورد بررسی قرار میدهیم.
در MMB باید برای مشخص شدن رشته -- همانطوری که در توضیحات قبلی داده شده است -- از کوتیشن " ' " (Quotation) استفاده کرد ، که در تمامی زبان‌های برنامه نویسی جهان از Double Quotation استفاده میشود ، یعنی این کاراکتر " " " .


حال از دستور PluginSet برای مشخص کردن مسیری که در متغییر رشته‌ای $Path قرار داده شده است ، استفاده مکنیم .
از تابع SetRegistryPath که در پلاگین SmallPlugin قرار داده شده است ، برای دادن مسیر و Set کردن آن استفاده میکنیم . که این تابع با دستور PluginRun اعلان میشود.
حال میخواهیم بدانیم که آیا مقداری در این کلید در ریجستری موجود هست یا نه ! ؟ ... پس ، از دستور PluginRun با مشخص کردن تابع RegistryValueExist برای بررسی وجود داشتن مقدار دوباره استفاده میکنیم ؛ که اگر مقدار موجود باشد ، تابع مقدار 1 را بر میگرداند و اگر موجود نباشد مقدار 0 را .
در برنامه نویسی به زبان MMB ، عدد 1 در حکم متغییر بولی TRUE است و عدد 0 هم در حکم False است .
از دستور PluginGet برای گرفتن نتیجه‎ی وجود مقدار استفاده میکنیم که داخل این دستور متغیری را نیز به نام Result تعریف میکنیم .
بعد از اینکه مقدار برگشت داده شد ، ما از یک دستور شرطی که در MMB هم وجود دارد استفاده میکنیم :
بعد از دستورات دسته‎ی یک ، این دستورات را نیز اضافه کنید :
دستورات دسته‎ی دو :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همانطوری که متوجه شده‎اید دیگر بعد از بررسی شرط ننوشتیم که اگر Result درست باشد این کار را بکن ، چرا که قرار ندادن شرط TRUE بودن ، به منزله قرار دادنش هست ! یعنی بین این دو دستور زیر هیچ تفاوتی نیست :
بین این دستور :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و این دستور :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

هیچ تفاوتی نیست .


این کد شرطی بررسی میکند که اگر مقدار در کلید ، موجود باشد کارهایی را انجام میدهد و در غیر این صورت کارهای دیگری را .


حال یک دکمه‌ای را ایجاد کنید که برای پخش فیلم به کار رود :
این کدها را به آن نسبت دهید :
دستورات دسته‎ی سه :
<div align="left">
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این کدها ، فقط بر روی PowerDVD نسخه‌ی 9 قابل اجراست ! چرا که PowerDVD در تمامی نسخه‌هایش کلیدهای ریحستری ثابتی برای مشخص کردن محل نصبش ندارد ، مثلا رجستری نسخه‌ی 9 در کلیدی است که انتهای نامش PowerDVD9 هست یا ریجستری نسخه‌ی 7 در کلیدی است که انتهای نامش PowerDVD7 هست و هم در نسخه‌های دیگر ، نامهایشان متفاوت است . پس ، نمیتوان از روی کلیدهای ریجستری که PowerDVD برای نسخه‌هایش استفاده میکند ، استفاده‌ی کلی برد !


پس وقتی که شخص PowerDVD نسخه‌ی 9.00 را نصب کرده باشد ، این کدها به درستی اجرا خواهند شد .

<div align="right">برای دادن پارامتر به

hadi1990
23-01-2010, 11:57
سلام دوستان .


باید ببخشید که کمی به شما دیر جواب دادم ! قرار بود که دیگه به فروم سر نزنم ! ولی دیدم که بهتره سوال شما بی پاسخ نمونه !
برای اینکار ، شما ابتدا ، باید مسیر برنامه‌ی PowerDVD ی نصب شده در سیستم شخص رو بدونید ! که برای اینکار میتونید از ریجستری استفاده کنید ! و صد البته امکان دسترسی به Registry با MMB فقط در ویندوز XP و پایین‌تر از آن امکان پذیر هست !
حالا چون اکثر اوقات شرکت سازنده‌ی PowerDVD ، نصب این برنامه را به شرکت نصابی InstallShield موکول میکند ، پس مسیر نصب برنامه در یک مسیر مشخصی از ریجستری است ! که آن مسیر مشخص در همین کلید پایین هست :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در کلید بالایی ، مسیر تمامی برنامه‌هایی که در ویندوز نصب شده‌اند وجود دارد ! و اول از هر چیزی ، برای اینکه قبل از اجرای هر فایلی (در اینجا مثلا فایل MPG در PowerDVD) ، باید مشخص شود که آیا برنامه‌‍ی مجری آن فایل در سیستم وجود دارد یا نه !
که در این قسمت ما وجود کلید ریجستری برای برنامه‌ی PDVDLaunchPolicy Application را مورد بررسی و تایید قرار میدهیم که اگر کلید این برنامه در این قسمت از ریجستری موجود باشد ، آنگاه میتوان دستوری برای اجرای فایلی در برنامه‌ی PowerDVD را داد ! که دستور اجرای آن فایل ، همان دستور اجرای فایل MPG ای است که شما بحثش را کردید .
پس در MMB ما نیازمند دسترسی به ریجستری هستیم که متاسفانه این امکان در MMB وجود نداشت ! ولی خوشبختانه به دلیل وجود Plug-In ها در این برنامه ، این امکان حیاتی ، قرار داده شده که باز هم متاسفانه در سیستم‌عامل‌های جدید ، مثل MS Vista و Se7en به دلیل امنیتی بودن ، MMB قادر به صادر کردن دستور به طور مستقیم به Registry را ندارد ! ... یعنی در کل دستکاری Registry در MMB فقط در سیستم‌عامل‌های XP یا پایین‌تر امکان پذیر خواهد بود ( البته ناگقته نماند که این مطالب بر اساس امکانات آخرین نسخه‌ی MMB یعنی 4.9.8.13 هست ، شاید احتمالا در نسخ بعدی این برنامه این امکان وجود داشته باشد )
حالا بریم سر اصل مطلب :
ما در بحثی که در پایین میکنیم ، از آخرین نسخه‌ی MMB سال 2007 یعنی 4.9.8.13 و Plug-In ساخته شده و آماده به نام SmallPlugin استفاده خواهیم کرد. (پلاگین SmallPlugin در مسیر نصب برنامه‌ی MMB در پوشه‌ی Plugins وجود دارد .)
برای اینکه ، کار شما دقیق و درست‌تر و کامل‌تر شود ، باید به نحوی در ریجتستری کلیدی را ایجاد کنید که وجود یک برنامه‌ی خاص مثلا پلیر یک فرمت خاص را چک کند ! که این کار اکنون برای این آموزش از دست ما خارج است ، چرا که باید یک فایل نصبی دیگر برای پاور دیویدی ایجاد کرد یا اینکه در حین نصب هر نسخه ، یک کلیدی خاص در ریجستری ایجاد کرد که این کلید نسخه‌ی نصب شده را به ما اعلان کند ×
پس ؛ از یکی از کلیدها ریجستری که برای (CyberLink Video/SP Decoder (PDVD9 در حین نصب برنامه ایجاد میشود ، کمک میگیریم × که اگر کلید ریجستری این قسمت از ریجستری موجود باشد ، پس نتیجه میگیریم که Decoder فایل‌های ویدوییی چون MPG هم نصب شده است ! و این یعنی اینکه ما اطمینان حاصل میکنیم که کاربر ، برنامه‌ی PowerDVD ( یا لااقل Decoder فایل ویدوییی) را نصب کرده و میتوان با ان فایل‌هایی با فرمت‌هایی چون مثلا : MPG و ... را اجرا کرد .
حالا که اطمینان حاصل کردیم که برنامه‌ی PowerDVD روی PC شخص کاربر نصب شده است ، پس ، به راحتی میتوان از طریق ویندوز برای اجرای فایلی از یک قسمت از هارد یا دیسک ، یک دستوری را صادر کرد .


مثال : ساخت یک برنامه با MMB که کارش کار با پلاگین ، SmallPlugin هست و دستور اجرای فایلی را به برنامه‎ی PowerDVD نسخه‎ی 9 میدهد .
در هنگام Load یک صفحه ، یا همان در قسمت بالا آمدن صفحه‌ای (مثلا صفحه‌ای که در آن صفحه، دکمه‌هایی برای پخش فیلم قرار داده شده است ) شما باید کدهایی قرار دهید که این کدها وجود برنامه‌ی PowerDVD را چک و بررسی کنند ! که برای اینکار از Registry commands (فرمان‌های ریجستری) در SmallPlugin استفاده میکنیم .
ابتدا یک شیء Plug-In در صفحه قرار دهید و نامش را PlugIn بگذارید .
برای بررسی وجود یک کلید از ریجستری از دستورات زیر استفاده میکنیم :
این کدها را در قسمت کدهای Script در Page Properties قرار دهید .


قبل از هر چیزی این کدها را در اول صفحه قرار دهید ( این کدها فقط جنبه‌ی توضیحی دارند و در کدهای بعد شاید استفاده شوند) :
دستورات دسته‎ی صفر :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


دستورات دسته‎ی یک :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


در قسمت $Path ما مسیر کلیدی از ریجستری را به صورت رشته (String) به متغیر نسبت میدهیم . که این کلید ، کلید زیر است :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که اگر این کلید ، موجود باشد ، پس یعنی اینکه برنامه‌ی PowerDVD یا لااقل Decoder اش در رایانه‌ی شخص نصب شده است !
بعد از قرار دادن مسیر کلید ، از کاما " , " استفاده میکنیم ، که عبارت بعد از این کاما در این قسمت ، برای این منظور است که در یک مسیر مثلا مسیر کلید بالا ، چه مقدار(Value)ای از چه کلیدی با چه نامی خوانده شود ! که در اینجا ما وجود مقدار رشته‌ای در FriendlyName را مورد بررسی قرار میدهیم.
در MMB باید برای مشخص شدن رشته -- همانطوری که در توضیحات قبلی داده شده است -- از کوتیشن " ' " (Quotation) استفاده کرد ، که در تمامی زبان‌های برنامه نویسی جهان از Double Quotation استفاده میشود ، یعنی این کاراکتر " " " .


حال از دستور PluginSet برای مشخص کردن مسیری که در متغییر رشته‌ای $Path قرار داده شده است ، استفاده مکنیم .
از تابع SetRegistryPath که در پلاگین SmallPlugin قرار داده شده است ، برای دادن مسیر و Set کردن آن استفاده میکنیم . که این تابع با دستور PluginRun اعلان میشود.
حال میخواهیم بدانیم که آیا مقداری در این کلید در ریجستری موجود هست یا نه ! ؟ ... پس ، از دستور PluginRun با مشخص کردن تابع RegistryValueExist برای بررسی وجود داشتن مقدار دوباره استفاده میکنیم ؛ که اگر مقدار موجود باشد ، تابع مقدار 1 را بر میگرداند و اگر موجود نباشد مقدار 0 را .
در برنامه نویسی به زبان MMB ، عدد 1 در حکم متغییر بولی TRUE است و عدد 0 هم در حکم False است .
از دستور PluginGet برای گرفتن نتیجه‎ی وجود مقدار استفاده میکنیم که داخل این دستور متغیری را نیز به نام Result تعریف میکنیم .
بعد از اینکه مقدار برگشت داده شد ، ما از یک دستور شرطی که در MMB هم وجود دارد استفاده میکنیم :
بعد از دستورات دسته‎ی یک ، این دستورات را نیز اضافه کنید :
دستورات دسته‎ی دو :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همانطوری که متوجه شده‎اید دیگر بعد از بررسی شرط ننوشتیم که اگر Result درست باشد این کار را بکن ، چرا که قرار ندادن شرط TRUE بودن ، به منزله قرار دادنش هست ! یعنی بین این دو دستور زیر هیچ تفاوتی نیست :
بین این دستور :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و این دستور :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

هیچ تفاوتی نیست .


این کد شرطی بررسی میکند که اگر مقدار در کلید ، موجود باشد کارهایی را انجام میدهد و در غیر این صورت کارهای دیگری را .


حال یک دکمه‌ای را ایجاد کنید که برای پخش فیلم به کار رود :
این کدها را به آن نسبت دهید :
دستورات دسته‎ی سه :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این کدها ، فقط بر روی PowerDVD نسخه‌ی 9 قابل اجراست ! چرا که PowerDVD در تمامی نسخه‌هایش کلیدهای ریحستری ثابتی برای مشخص کردن محل نصبش ندارد ، مثلا رجستری نسخه‌ی 9 در کلیدی است که انتهای نامش PowerDVD9 هست یا ریجستری نسخه‌ی 7 در کلیدی است که انتهای نامش PowerDVD7 هست و هم در نسخه‌های دیگر ، نامهایشان متفاوت است . پس ، نمیتوان از روی کلیدهای ریجستری که PowerDVD برای نسخه‌هایش استفاده میکند ، استفاده‌ی کلی برد !


پس وقتی که شخص PowerDVD نسخه‌ی 9.00 را نصب کرده باشد ، این کدها به درستی اجرا خواهند شد .


برای دادن پارامتر به یک فایل exe میتوان از دستور Run استفاده کرد . در این دستور در قسمت Path اش ، مسیر فایل exe ای که قرار است با یک پارمتری خاص اجرا شود را قرار میدهیم که در مثال ، مسیر فایل exe همان مسیر فایل pdvdlaunchpolicy.exe است . ( این فایل در محل نصب PowerDVD9 موجود هست .)


پارامتری که به این exe داده شده است از طریق متغیر رشته‌ای $FileDir است ، شما باید یک مسیری را به متغیر $FileDir نسبت دهید که این مسیر همان مسیر فایل MPG ی شماست .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همین دوست عزیز .


با اینکه توضیحات زیاد بودند ، ولی حجم توضیحات کم بود .


چون شما فرموده بودید که توضیحات کامل بدم ، توضیحات کمی زیاد شد ولی ممکنه توضیحات از خیلی جهات ایراد داشته باشن ولی کدها درست هستند . فقط دوستان اهل فن ، خواهشا اگر احتمالا اشکالاتی وجود داشت ، به طور خصوصی من رو در جریان بذارید .


دوستان اگر دیدید که به سوالات شما جواب داده نمیشه (از طرف من) ، بدونید که حتما من چندین وقتی میشود که به فروم سر نزده ام .


با تشکر فراوان از لطف شما
ببینید بنده کارهایی را که گفتید رو انجام دادم . ولی وقتی بر روی باتن فیلم کلیک میکنم فقط برنامه پاور دی وی دی اجرا میشه ولی فیلم پخش نمیشه ؟؟؟
این هم لینک دانلود پروژه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

قاهر - Gahir
23-01-2010, 18:01
با تشکر فراوان از لطف شما
ببینید بنده کارهایی را که گفتید رو انجام دادم . ولی وقتی بر روی باتن فیلم کلیک میکنم فقط برنامه پاور دی وی دی اجرا میشه ولی فیلم پخش نمیشه ؟؟؟
این هم لینک دانلود پروژه :
کد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

سلام دوست عزیز .

بله ، در این فایل MMB ای که شما آپلود کرده‌اید ، یک اشکال در برنامه‌نویسیش پیدا کردم که آن هم ، همین بود :

این کد در قسمت Script دکمه‌ی Play تان هست ، یک خط مانده به آخر !

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
قسمت قرمز رنگی که در کد بالایی است ، نباید باشد ، یعنی اینکه ، خود درایور :C از قبل توسط متغیر رشته‌ای $RetVal تعریف شده است و جاگذاری میشود و لازم نیست که دوباره باشد × ... × پس این اشکال در حین کلیک کردن روی دکمه‌ی Play ای که شما تعبیه کرده‌اید رخ خواهد داد ! ...

برنامه‌ای که من در پست 22 توضیح دادم ، با وجود شرایط ( نصب شدن PowerDVD 9 و ویندوز XP یا پایین‌تر) بدون شک اجرا میشود و اجرا شده است ، چرا که خودم تست کرده ام .

مشکلاتی که ممکن است شما به آن توجهی نکرده باشید ، عبارت اند از :
1- به این نکته توجه کنید که ممکن است که آدرس فایلی با یک فرمت خاص را که به PowerDVD برای اجرا میدهید ، اصلا در کل برای PowerDVD یک فرمت ناشناخته و غیر قابل اجرا باشد !
2- ممکن است ، فایلی را که به PowerDVD میدهید ، خراب باشد و غیر قابل اجرا باشد .

با نبود این اشکالات و درست نوشتن کدهای برنامه ، بدون شک ، باید اجرا شود .

اکنون برای پست 22 که توضحیاتی را نوشتم یک Sample ای قرار داده ام ، آن را دانلود کنید و بعد از دانلود ، اجرا کنید .

لینک ویرایش شد :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یا :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حجم : 502 کیلوبایت
پسورد (رمز) = Gahir.MMBSample.2010.4XP.V3.01

بعد از دانلود و نصب و اجرای برنامه‌ی بالایی ، اگر متوجه شدید که با زدن دکمه‎ی " انتخاب کن " و بعدا " اجرا کن " ، فایل مورد نظرتان اجرا نشد ، این کار را برای فایل‌های دیگری با فرمت‌هایی که PowerDVD 9 آن ها را اجرا میکند ، آزمایش کنید .

موفق باشی(ـد)

hadi1990
23-01-2010, 23:56
فکرکنم این لینکتون خرابه ؟!!!

hadi1990
24-01-2010, 00:03
1- به این نکته توجه کنید که ممکن است که آدرس فایلی با یک فرمت خاص را که به PowerDVD برای اجرا میدهید ، اصلا در کل برای PowerDVD یک فرمت ناشناخته و غیر قابل اجرا باشد !
2- ممکن است ، فایلی را که به PowerDVD میدهید ، خراب باشد و غیر قابل اجرا باشد .

ولی بنده وقتی به صورت دستی با پاور دی وی دی اجرامیکنم همان فیلم رو قادر به پخش کردن هست ! در نتیجه فایل ویدئویی خراب نیست .

در ضمن لطفا بیشتر و زودتر به تایپیک سر بزنید .

با تشکر فراوان

hadi1990
24-01-2010, 00:10
قسمت قرمز رنگی که در کد بالایی است ، نباید باشد ، یعنی اینکه ، خود درایور :C از قبل توسط متغیر رشته‌ای $RetVal تعریف شده است و جاگذاری میشود و لازم نیست که دوباره باشد × ... × پس این اشکال در حین کلیک کردن روی دکمه‌ی Play ای که شما تعبیه کرده‌اید رخ خواهد داد ! ...
ولی وقتی بنده حروف C:\ رو بر میدارم ، بعد از کمپایل وقتی بر روی Play کلیک میکنم با خطای زیر رویرو میشوم !


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

با تشکر فراوان

قاهر - Gahir
24-01-2010, 16:36
فکرکنم این لینکتون خرابه ؟!!!

بله ، حق با شماست ، لینک دانلود رو عوض کردم .
لینک جدید :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یا

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پسورد (رمز) = Gahir.MMBSample.2010.4XP.V3.01




ولی بنده وقتی به صورت دستی با پاور دی وی دی اجرامیکنم همان فیلم رو قادر به پخش کردن هست ! در نتیجه فایل ویدئویی خراب نیست .

در ضمن لطفا بیشتر و زودتر به تایپیک سر بزنید .

با تشکر فراوان
و


ولی وقتی بنده حروف C:\ رو بر میدارم ، بعد از کمپایل وقتی بر روی Play کلیک میکنم با خطای زیر رویرو میشوم !

و این ارور :



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


با توجه به نوشته‌های شما و نتیجه‌ی من ، یک دو سه اشکالی هست که باید بررسی بشن .

اول اینکه وقتی که آدرس در ریجستری بررسی میشه (در رایانه‌ی شما ) ، اصلا این محل نصب PowerDVD ( که مثلا درایو :C باشد ) در متغیر $RetVal نمیره ! ... این اشکال ممکنه از قرار ندادن Plug-In باشه ، یا اینکه ممکنه از این جا باشه که نسخه‌ی PowerDVD شما مانند نسخه‌ی PowerDVD ای که در رایانه‌ی من هست ، نیست ! ... من در اول نوشتم که برای اجرا باید نسخه‌‎ی PowerDVD ی شما نسخه‎ی 9 باشه ! ... CyberLink PowerDVD 9 Version 9.0.1501.0 نسخه‎ی Ultra !

به هر حال ، شما اون لینکی که قرار دادم رو دانلود و نصب و اجرا و آزمایش کنید ، بعد از این کارا ، نتیجه یا شاید اشکالات رو بگید .

در ضمن ، من به شدت نباید به فروم سر بزنم ، اگه میبینید که به فروم سر میزنم ، فقط به خاطر اینه که سوال شما بی جواب نمونه .
ممنون .

***Spring***
30-08-2010, 12:30
سلام ...

آموزش MultiMedia Builder ( برنامه ساخت AutoRun ) - مولتی مدیا بیلدر ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

aloo00che
24-02-2013, 17:30
با سلام

دوستان یه مشکلی داستم:
من چه طور میتونم یه متن رو تو برنامه بچرحونم؟ مثل چرخش 306 درجه تو فتوشاپ
به عکس زیر توجه کنید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

ممنون میشم راهنمایی کنید

وحید راد
18-07-2013, 23:14
سلام
من فایل فلش با موضوع گالری عکس رو به Multimedia Builder 4.9.8 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) میبرم تو کامپیوتر خودم اجرا میکنم درسته ولی وقتی فایل رو exe. میکنم و تو کامپیوتر دیگه اجرا میکنم عکس ها نمیان از دستور <src dir> هم استفاده میکنم باز نمیشه:n28: میشه من و راهنمایی کنید مرسی

Navid66584
08-04-2017, 16:28
با سلام.من یک سوال داشتم.
می خواستم برنامه ای بسازم که یک فایل متنی داخل کامپیوتر را بخواند.
یعنی مثلا فایل یک را برای کاربر نشان دهد