تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 4 اولاول 1234 آخرآخر
نمايش نتايج 21 به 30 از 33

نام تاپيک: تاپیک مباحث و سوالات Multimedia Builder

  1. #21
    داره خودمونی میشه hooshtoolak's Avatar
    تاريخ عضويت
    Feb 2009
    محل سكونت
    Austria, Veinna
    پست ها
    56

    پيش فرض

    سلام من میخام واسه چند مبحث آموزشی که 20 صفحه ورد هست اوتوران درست کنم و در واقع متنی هست منتها میخوام متنش جلوه خاصی داشته باشه ولی mmb فقط اجازه وارد کردن html رو میده که خیلی روی گرافیکش نمیشه کار کرد چون باید از ورد کانورت بشه و ورد هم خیلی روی گرافیک مانوری نداری میخواستم پیشنهاد بدید فایل های متنی رو با چه قالبی وارد mmb کنم که جلوه خاصی داشته باشه
    ممنون


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


    موفق باشی.

  2. این کاربر از hooshtoolak بخاطر این مطلب مفید تشکر کرده است


  3. #22
    آخر فروم باز قاهر - Gahir's Avatar
    تاريخ عضويت
    Dec 2008
    پست ها
    1,073

    پيش فرض

    سلام
    یه فیلم با فرمت 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 ی شماست .


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

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


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


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


    دوستان اگر دیدید که به سوالات شما جواب داده نمیشه (از طرف من) ، بدونید که حتما من چندین وقتی میشود که به فروم سر نزده ام .
    Last edited by قاهر - Gahir; 24-01-2010 at 15:22.

  4. 3 کاربر از قاهر - Gahir بخاطر این مطلب مفید تشکر کرده اند


  5. #23
    داره خودمونی میشه hadi1990's Avatar
    تاريخ عضويت
    Oct 2008
    پست ها
    48

    پيش فرض

    [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">برای دادن پارامتر به
    Last edited by hadi1990; 23-01-2010 at 00:57.

  6. این کاربر از hadi1990 بخاطر این مطلب مفید تشکر کرده است


  7. #24
    داره خودمونی میشه hadi1990's Avatar
    تاريخ عضويت
    Oct 2008
    پست ها
    48

    پيش فرض

    سلام دوستان .

    باید ببخشید که کمی به شما دیر جواب دادم ! قرار بود که دیگه به فروم سر نزنم ! ولی دیدم که بهتره سوال شما بی پاسخ نمونه !
    برای اینکار ، شما ابتدا ، باید مسیر برنامه‌ی 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 ی شماست .

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

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

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

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

  8. #25
    آخر فروم باز قاهر - Gahir's Avatar
    تاريخ عضويت
    Dec 2008
    پست ها
    1,073

    پيش فرض

    با تشکر فراوان از لطف شما
    ببینید بنده کارهایی را که گفتید رو انجام دادم . ولی وقتی بر روی باتن فیلم کلیک میکنم فقط برنامه پاور دی وی دی اجرا میشه ولی فیلم پخش نمیشه ؟؟؟
    این هم لینک دانلود پروژه :
    کد:
    http://alidehghani4.persiangig.com/test2.rar
    کد:
    http://www.persiangig.com/pages/download/?dl=http://alidehghani4.persiangig.com/test2.rar
    سلام دوست عزیز .

    بله ، در این فایل 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 آن ها را اجرا میکند ، آزمایش کنید .

    موفق باشی(ـد)
    Last edited by قاهر - Gahir; 24-01-2010 at 15:16. دليل: لینک دانلودی ویرایش شد .

  9. این کاربر از قاهر - Gahir بخاطر این مطلب مفید تشکر کرده است


  10. #26
    داره خودمونی میشه hadi1990's Avatar
    تاريخ عضويت
    Oct 2008
    پست ها
    48

    پيش فرض

    فکرکنم این لینکتون خرابه ؟!!!

  11. #27
    داره خودمونی میشه hadi1990's Avatar
    تاريخ عضويت
    Oct 2008
    پست ها
    48

    پيش فرض

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

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

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

  12. #28
    داره خودمونی میشه hadi1990's Avatar
    تاريخ عضويت
    Oct 2008
    پست ها
    48

    پيش فرض

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



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

  13. #29
    آخر فروم باز قاهر - Gahir's Avatar
    تاريخ عضويت
    Dec 2008
    پست ها
    1,073

    پيش فرض

    فکرکنم این لینکتون خرابه ؟!!!
    بله ، حق با شماست ، لینک دانلود رو عوض کردم .
    لینک جدید :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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

    پسورد (رمز) = 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 !

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

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

  14. این کاربر از قاهر - Gahir بخاطر این مطلب مفید تشکر کرده است


  15. #30
    حـــــرفـه ای ***Spring***'s Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ♠♠♠♠♠♠♠
    پست ها
    6,296

  16. این کاربر از ***Spring*** بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •