PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش اسکریپت نویسی در برنامه MultiMedia Builder



Borna66
08-11-2009, 05:05 PM
سلام به تمام بروبچه های گل امیدوارم که همیشه شاد باشید
خوب دیگه حرف های اضافی کافیه و بریم سر اصل مطلب
همون جور که از اسم تاپیک مشخصه تو این تاپیک قصد دارم اسکریپت نویسی برنامه Multimedia Builder رو یاد بدم البته تا اونجایی که بلدم
شاید این مطالب برای بعضی ها خیلی عادی باشه ولی خوب بعضی از دوستان هستن که تازه شروع کردن با این نرم افزار کار کنن و این چیز ها رو بلد نیستن و یه منبع فارسی می شه برای دوستانی که می خوان اسکریپ نویسی رو شروع کنن
من خودم چون منبع فارسی نداشتم سخت بود واسم یاد گرفتن و حالا امیدوارم که این مطالب مفید باشن هر چند برای یک نفر
من تو این تاپیک بیشتر سعی می کنم تابع ها رو معرفی کنم و دیگه نوشتن برنامه های سخت تر بستگی به خلاقیت خودتون داره که چه جوری ازشون استفاده کنین و تو جا های مناسب ازشون استفاده کنین
من سعی می کنم از صفر شروع کنم آموزش ها رو و بیشتر هم تو این تاپیک رو اسکریت نویسی کار می کنم و خوده بنرامه تو این تاپیک آموزش داده نمیشه و البته من یه مقاله دارم که مبتدیه و برای دوستانی خوبه که جدیدا با mmb آشنا شدن

سعی می کنم آموزش ها رو همراه با مثال بزارم یعنی اگر تابعی کمی سخت هست سعی می کنم اون رو همرا با مثال و کد نمونه بگم تا یاد گیری بهتر بشه و اگر دوستان دیگم می خوان که آموزشی بدن لطفا نمونه و مثال یادشون نره
اگر دوستان عزیز قسمت خاصی مشکل دارن لطفا تو یه تاپیک جداگانه سوالشون رو مطرح کنن و اگر هم تابع خاصی رو مد نظرشون هست از طریق پیغام خصوصی یا تو یه تاپیک جدا گانه در خواست کنن تا من یا دوستان دیگه براشون به طور کامل توضیح بدن و لطفا تو این تاپیک فقط اگر می خواهید در مورد اسکریپ نویسی مطلبی رو بگید پست بزنید تا تاپیک مرتبی داشته باشیم تا در آینده اگر کسی خواست که از این تاپیک استفاده کنه به راحتی تمام مطالب در دسترسش باشه
و خدمت دوستان عرض کنم که این آموزش بر اساس ورژن 4.9.8 این نرم افزار هست و اگر کسی میبینه که این توابع براش وجود ندارن بدونه که از نسخه قدیمی استفاده می کنه و شاید تابع مورد نظر بعدا اضافه شده به برنامه و اگر هم در آینده دیدین و تابع های بود که توضیح ندادیم به بزرگی خودتون ببخشید

Borna66
08-11-2009, 05:09 PM
خوب بدون هیچ معطلی میریم سره آموزش






Hide("Label")



توسط این دستور شما می تونین یه آبجکت که تو پروژه ازش استفاده کردین رو مخفی کنین فقط کافیه جای label اسم آبجکت مورد نظر رو بنویسین .




- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -




:


Show("Label")



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




- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

:


Invert("Label")


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



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





FirstPage()


شاید بعضی وقت ها شما بیشتر از یک صفحه داشته باشین داخل پروزه خودتون این دستور شما رو به اولین صفحه پروژه میاره



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





LastPage()


این دستور شما رو به آخرین صفحه پروزه می بره



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





NextPage()


این دستور شما رو به صفحه بعدی پروژه می بره



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





PrevPage()


این دستو شما رو به صفحه قبلی پروژه می بره



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





Page("Label")


این دستور شما رو به صفحه دلخواه خودتون می بره فقط باید به جای label اسم صفحه مورد نظر رو بنویسین



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





Exit()


این دستور پروژه شما رو می بنده



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





Maximize()


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



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





Minimize()


این دستور پروژه شما رو می بره تو task bar



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





Restore()


با اجرای این دستور پروژه شما اگر فول اسکرین باشه و یا اگر تو نوار task bar باشه به حالت پیش فرض بر می گردونه با همون سایز قبلی و مختصات قبلی ( البته اگر تو نوار تسکبار باشه شما دیگه این دکمه رو نمی بینین که بخواین روش کلیک کنین دی )



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





PageTimer("After","Page Label")


این دستور به شما این امکان رو می ده که بعد از زمان مشخص شده پروژه شما به صفحه ای که مایل هستین منتقل کنه
در قسمت After زمان رو مشخص کنین که بعد از این زمان به صفحه بعد می ره
توجه چون واحد زمان در نظر گرفته شده MilliSeconds(ms) هست هر 1000ms=1sec که دوستان به این تبدیل واحد دقت کنن
در قسمت Page Label هم نام صفحه ای که قصد انتقال به اون رو دارین وارد کنید



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





ExitTimer("After")


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



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





ScriptTimer("Script Label","After")


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



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





RunScript("Script Label")


این دستور هم مثل دستور قبلیه با این تفاوت که زماین رو برای اجرا کردن کد ها صبر نمی کنه و بلافاصله کد های آبجکت از نوع اسکریپت رو اجرا می کنه



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -





RunScriptCode("parameter1","parameter2")


این دستور که از ورژن 4.9.8 این نرم افزار به بعد اضافه شده این امکان رو به شما میده که کد هایی که داخل یک فایل متنی نوشته اید رو براتون اجرا کنی در واقع کد هارو از خارج از برنامه اجرا می کنه که خیلی دسته یوزر های این برنامه رو باز کرده برای ساختن برنامه های پیشرفته
خوب چون این دستور کمی سخت هست توضیحات بیشتر و نمونه کد هم می نویسم تا بیشتر با این دستور آشنا بشین
خوب همون جور که می بینین این دستو دو تا پارامتر داره که ما بیشتر با پارامتر اول کار داریم
این نمونه کد زیر اسکریپت های داخل فایل txt که امبد شده به برنامه رو اجرا می کنه که می تونین آدرس فایل متنی رو از خارج از mmb هم بدین






LoadText("ExtScript$","<Embedded>\code.txt")
RunScriptCode("ExtScript$","")



توضیحات بیشتر دستور بالا اسکریت ها داخل فایل متنی با نام code.txt که امبد شدن رو اجرا می کنه

LoadText("ExtScript$","<SrcDir>\code.txt")
RunScriptCode("ExtScript$","")




کد بالا اسکریت های موجود داخل فایل code.txt که کنار فایل کامپایل شده که با mmb ساخته شده است را فراخوانی و اجرا می کنن

البته این نکته رو هم باید یاد آور بشم که تمام متن داخل فایل code.txt ابتدا ریخته می شه تو یه متغییر از نوع ریشه ای که تو این کد اسم متغییر ExtScript$ هست و بعد که کد ها ریخته شد تو متغییر متفییر رو فراخوانی می کنه و دستورات رو اجرا می کنه البته به یک نوع دیگه هم می شه این کار رو کرد که این توصیه نمیشه و اون هم مثل کد های زیر هست





script$='For i=1 To 1000' + CHR(13) + CHR(10)
script$=script$ + 'm=m+1' + CHR(13) + CHR(10)
script$=script$ + 'Next i'
RunScriptCode("script$","")



تو این مثال ما کد ها رو تو متغییر script$ ذخیره کردیم و بعد اجرا می کنیم

خط اول مقدار For i=1 To 1000 رو تو متغییر می ریزه که نوع متغییر رشته ای هست

نکته اگر در اخر متغییر علامت $ ( دلار ) رو دیدی بدونید که این متغییر رشته ای هست و برای این که بتونین مقدار رو درست داخل این متغییر بریزید باید از یک علامت دیگر در ابتدا و انتهای مقدار استفاده کنین و اون علامت علامت ' هست که تو کد بالا کاملا مشخصه

و عبارت CHR(13) + CHR(10) که آخر خط اومده کار دکمه Enter رو تو برنامه ورد انجام میده که میاد سر خط

در خط دوم هم ابتدا مقدار متغییر script$ قبلی رو داخل متغییر جدید که باز هم نامش script$ هست می ریزیم چون ما به مقداری که تو خط اول ریختیم احتیاج داریم ابتدا مقدار قبلی رو ریختیم تو همون متغییر بعد مقادیر جدید رو اضافه می کنیم که یک متغییر از نوع عددی هست و بعد دوباره سر خط اومدیم

در خط سوم هم بقیه کد هارو نوشتیم که تو این مثال از یک حلقه استفاده شده و در خط سوم حلقه ما کامل می شه

خط آخر هم کد های داخل متغییر script$ رو اجرا می کنه

حالا شاید بگین چرا این ها تو چند خط نوشته شدن دلیلش این هست که اگر یوزر مبتدی اون کد ها رو دنبال هم ببینه یه کمی می ترسه دی که البته تمام این ها رو تو دو خط هم می شه ننوشت که مثل زیر می شه




script$='For i=1 To 1000'+CHR(13)+CHR(10)+'m=m+1'+CHR(13)+CHR(10)+'Nex t i'
RunScriptCode("script$","")

Borna66
08-11-2009, 05:10 PM
خوب دوباره سلام و شروع می کنیم آموزش رو



Message("Any Message String here ...","VARIABLE")


این دستور یه پیغام رو به کاربر نشون می ده که فقط یه دکمه ok بیشتر برای جایی استفاده می شه که قصد دارین یه پیغام رو یه کاربر بدین
در قسمت Any Message String here ... شما متنی که می خواین رو می تونین مستقیم تایپ کنین
در قسمت VARIABLE هم می تونین از متغییر استفاده کنین و از دو دو نوع متغییر ریشه ای و عددی می تونین استفاده کنین


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -







MessageEx("Title","text, flag[, timeout]")




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

قسمت title که مشخصه و عنوان پنجره پیغام رو تو تایپ می کنین در این قسمت

قسمت text که باز هم مشخصه و متن داخل پیغام رو می نویسین و در واقع سوال یا پیغامی که می خواین به کاربر بدین رو تو این قسمت تایپ می کنین

قسمت flag این قسمت میشه گفت اصل کاره این دستور هست که تو همین پست یه توضیح کامل قسمت های اون می پردازیم

قسمت timeout این قسمت هم مشخص می کنه اگر کاربر روی دکمه ای کلید نکرد پنجره بسته بشه ( در این قسمت به واحد زمانی خیلی توجه کنین )

توجه کنید که علامت ها , که وسط کد ها هست برای جدا کردن پارامتر های مختلف تابع هستن و باید حتما بزارید این علامت ها رو تا تایع درست اجرا بشه

توضیحات flag :

اول یه توضیح مختصر می دم بعد می رم سراغ توضیحات کامل تو این قسمت شما تعیین می کنین که این پیغام که می دین چه دکمه هایی داشته باشه و این که دکمه ها چیا باشن و غیره و بعد از این که کاربر روی یکی از این دکمه ها کلیک کرد یه مقداری رو تو یه cbk ذخیره می کنه که شرط ها رو با استفاده از اون cbk می زارین و قبلش باید اون cbk رو داخل یک متغییر از نوع عددی بریزید و اون cbk این هست CBK_MsgEx (mk:@MSITStore:C:%5CProgram%20Files%5CMultimedia%2 0Builder498%5CMMB_help.chm::/constants_cbk.htm#CBK_MSGEX) و برای این که این رو تو یه متغییر بریزید از کد زیر باید استفاده کنین




A=CBK_MsgEx



من تو خط بالا مقدار اون رو داخل متغییر عددی به نام A ریختم که بعد اون رو تو شرط ها ازش استفاده می کنین

نکته : اگر کاربر رو هیچ کدوم از دکمه ها کلیک نکنه و وقتی که تعیین کردین تموم بشه مقدار CBK_MsgEx (mk:@MSITStore:C:%5CProgram%20Files%5CMultimedia%2 0Builder498%5CMMB_help.chm::/constants_cbk.htm#CBK_MSGEX) برابر عدد 1- خواهد بود.

حالا یه سری مقدار رو بهتون می گم که وقتی کاربر روی هر دکمه ای کلیک کرد مقدار خاص خودش رو بر می گردونه

اگر کاربر روی دکمه ok کلیک کنه مقدار 1 رو بر می گردونه و تو این مثالی که من زدم مقدار متغییر A برابر صفر می شه

اگر کاربر روی دکمه CANCEL کلیک کنه مقدار 2 رو بر می گردونه

اگر کاربر روی دکمه ABORT کلیک کنه مقدار 3 رو بر می گردونه

اگر کاربر روی دکمه RETRY کلیک کنه مقدار 4 رو بر می گردونه

اگر کاربر روی دکمه IGNORE کلیک کنه مقدار 5 رو بر می گردونه

اگر کاربر روی دکمه YES کلیک کنه مقدار 6 رو بر می گردونه

اگر کاربر روی دکمه NO کلیک کنه مقدار 7 رو بر می گردونه

اگر کاربر روی دکمه TRY AGAIN کلیک کنه مقدار 10 رو بر می گردونه

اگر کاربر روی دکمه CONTINUE کلیک کنه مقدار 11 رو بر می گردونه

حالا شاید یه سوال براتون پیش بیاد اونم این که اصلا ما چه جوری مشخص کنیم که پیغاممون چه دکمه هایی داشته باشه و یا آیکون پیغاممون چی باشن ؟

خوب منم بهتون جواب می دم که عجله نکنین و کمی صبور باشین :دی الان براتون توضیح می دم اول مقادیر رو توضیح می دم بعدش هم طرز کار با اون رو میگم براتون

اگر بخواین که دکمه های پیغامتون رو مشخص کنین باید مقدار flag رو با توجه به توضیحاتی که می دم تعیین کنین

دکمه ok <= مقدار صفر

دکمه OK and Cancel<= مقدار 1

دکمه Abort, Retry, and Ignore<= مقدار 2

دکمه Yes, No, and Cancel<= مقدار 3

دکمه Yes and No<= مقدار 4

دکمه Retry and Cancel<= مقدار 5

دکمه Cancel, Try Again, Continue<= مقدار 6

حالا برای مشخص کردن آیکونی که تو پیغام نمایش داده میشه

بدون آیکون <= مقدار صفر

آیکون stop sign<= مقدار 16

آیکون Question mark<= مقدار 32

آیکون Exclamation mark<= مقدار 48

آیکون یه i تو یه دایره <= مقدار 64

خوب حالا وقتی پنجره باز می شه معمولا یه دکمه به عنوان پیشفرض (default) هستش

اولین دکمه به عنوان پیشفرض <= مقدار صفر

دومین دکمه به عنوان پیشفرض <= مقدار 256

سومین دکمه به عنوان پیشفرض <= مقدار 512

خوب حالا اگر بخواین که رو تایتل بیشتر کار کنین تنظیمات و مقادیر زیر رو هم باید یاد بگیرید

پیشفرض <= مقدار صفر

آیکونی که انتخاب کردین کنار title نمایش داده بشه <= مقدار 4096

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

حالت پیشفرض <= مقدار صفر

اگر بخواین متن ها و تایتل سمت راست قرار بگیرن <= مقدار 524288

هوب دیگه مقدار گویی ها تموم شد :دی ( آخیش ... دیگه داشت حوصلم سر می رفت :دی )

خوب حالا می ریم سره این که اصلا از اینا چه جوری استفاده کنیم

ااااااااااااااااااااااااا ااااااااااااااااااااااااا ااا چه قدر مقداره :دی کی م خواد اینارو حفظ کنه :دی

باید یادتون باشه که این مقدار ها خیلی مهم هستن و اگه یکی شو اشتباه وارد کنین کل کدتون فنا می شه و تنتیجه دلخواه رو بهتون نمیده

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




Title$ = 'GraphicPlanet'
Text$ ='aya GP ye site tope amozeshie ?'
Flag= 4 + 256
Params$ = Text$+','+CHAR(Flag)
MessageEx("Title$","Params$")



توضیح : خوب همون جور که می بینین من سعی کردم از متغییر استفاده کنم تا این که کد گیج کننده نباشه

Title$ و Text$ که مشخصه خوب خط سوم یا همون متغییر عددی Flag تو این جا من فقط از دو تا عدد استفاده کردم که عدد 4 برابر تعداد دکمه ها و نوع اون هست که تو این مثال دکمه YES و NO هستن ( بسته به نوع سوال و پیغام دکمه های خودتون رو انتخاب کنین )و اون عدد 256 هم که نشون می ده دکمه دوم به عنوان پیش فرض باشه و دقت کنین که هر امکانی که بخواین به پیغامتون اضافه کنین باید کد و مقدار مربوط به اون رو به شکلی که تو مثال بالا گفتم اضافه کنین و اون رو با بقیه جمع کنین وقتی این ها رو جمع می کنین یعنی در واقع مقدار های مختلف رو با هم جمع که می کنین هر اعدادی به دست میاد که قبلا برای برنامه تمام حالت های مختلف تعریف شده و شما ترسی نداشته باشن :دی کدتون اگر درست نوشته باشین حتما درست اجرا می شه

اما خط چهارم تمام متغییر های قبلی رو به جز تایتل می ریزه تو یه متغیر تا به راحتی بشه ازش استفاده کرد

نکته : (البته نمی خواستم این رو این جا توضیح بدم چون بهش نرسیدیم ولی خوب چون تو این مثال بود مجبورم توضیح بدم و بعدا بیشتر در موردش صحبت می کنیم ) عبارت CHAR() که می بینید برای ریختن مقدار یه متغییر عددی تو یه متغییر رشته ای هست اگر این عبارت رو نزارین و بخواین مقدار متغییر Flag که از نوع عددی هست رو داخل یه متغییر رشته ای بریزید برنامه بهتون پیغام می ده که کدتون اشتباه هست و لطفا تصحیحش کنین

و اما خط آخر هم که دستور MessageEx هست که پیغام رو نمایش می ده

Borna66
08-11-2009, 05:11 PM
RunMBD("Address","parameters")




خوب اول باید یه کمی توضیح بدم براتون

فایل های با mmb ساخته می شن و کامپایل می شن به دلیلی که دلیلش رو نمی دونم فضای زیادی رو از رم و CPU اشغال می کنن و این خودش تو پروژه های سنگین خیلی آزار دهنده هست برای کاربر توسعه دهندگان mmb اومدن و یه فکری به حال این کردن اونم استفاده از فایل های سورس mmb هست که کم حجم هستن و برای این که از سنگین شدن پروژه جلو گیری کنن می تونین از این دستور و اجرا کردن فایل ها سورس برای کم شدن حجم نهایی کار و در نتیجه افزایش سرعت استفاده کنین

خوب تو دستور بالا به جای address آدرس فایل mbd رو باید بدین که این می تونه از داخل و یا خارج فایل کامپایل شده باشه

این دستور هم دو تا پارامتر داره که می تونین جدا جدا و یا با هم استفاده کنین




RunMBD("filename.mbd","NEW_WINDOW")



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




RunMBD("filename.mbd","Page 3")



این دستور هم به صفحه دلخواه فایل mbd می ره و اون صفحه رو باز می کنه که تو این مثال می ره به صفحه ای که اسم اون صفحه Page 3 هست




RunMBD("filename.mbd","NEW_WINDOW,Page 3")



و اما دو تاش با هم مثل مثال خط بالا می شه شما می تونین از هر دو استفاده کنین با هم ولی باید دقت کنین که اسم صفحه باید آخر باشه


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -




:


Run("Address","")




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

قسمت parameters هم فعلا باهاش کاری نداریم چون دیگه وارد مباحث پیشرفته تر و تقریبا حرفه ای می شه


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -








SysCommand("command name","parameters")




دستور بالا هم یه سری از دستور های سیستمی رو اجرا می کنه و از اسمش هم مشخصه

برخی از کامند و و پارامتر های این کامند ها رو با هم بررسی می کنیم

ResizeWindow این کامند سایز پنجره پروژه رو عوض می کنه و دو تا پارامتر داره که اون پارامتر ها اندازه طول و عرض پتجره جدید هستن به مثال زیر توجه کنید




SysCommand("ResizeWindow","800,600")



توجه : تو دستور بالا عدد اول طول پنجره هست و عدد دوم هم عرض پنجره یا همون ارتفاع

MoveWindow این کامند هم پنجره پروژه رو به محل دلخواه جا به جا می کنه و مثل دستور قبل دو تا پارامتر داره که مختصات پنجره هستن و باید اول مختصات نقطه x و بعد نقطه y رو وارد کنین و بین این دو تا هم از علامت , استفاده کنین

CenterWindow این کامند هم پنجره پروژه رو به وسط صفحه میاره و پارامتری نداره

AlwaysOnTop این کامند هم مثل کامند قبلی پارامتری نداره و پنجره پروژه رو همیشه بالای پنجره های دیگه قرار می ده

NotAlwaysOnTop این کامند هم دقیقا بر عکس کامند بالا عمل می کنه

CopyFile و اما این کامند ، این کامند همون جور که از اسمش مشخصه برای کپی کردن فایل استفاده می شه و با این دستور می تونین یه فایل رو کپی کنین

و اما پارامکتر های این کامند هم دو تا هستن که اولی باید آدرس فایل که قراره کپی بشه به صورت کامل و با اسم و پسوند و یک علامت , و بعد هم محلی که می خواین فایلتون کپی بشه اون جا به صورت کامل و با نام و پسوند فایل مثل زیر





SysCommand("CopyFile","c:\test.txt,d:\test.txt")



دستور بالا فایلی با اسم test.txt رو از درایو c به درایو d کپی می کنه


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -







MoveObject("Label","x,y,w,h")


دستور بالا یک آبجکت که داخل پروزه هست رو جا به جا می کنه
در قسمت Label اسم آبجکت رو وارد کنید و x مختصات نقطه x که می خواین به اون محل منتقل بشه و y هم مختصات نطقه y مقصد هست و w طول فایل بعد از انتقال و h هم اندازه عرض یا ارتفاع آبجکت در مقصد هست


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -







MoveTo("Label","x,y,Steps,Type")


این دستور هم مثل دستور قبلی عمل می کنه با این تفاوت که ان دستور مسیر حرکت رو هم نشون می ده دستور قبل یه دفعه آبجکت رو می پرونه تو مقصد ولی این دستور مسیر حرکت رو هم نشون می ده
Label که مشخصه و به جای اون باید اسم آبجکت رو بنویسید xوy هم که مشخصه و مختصات مقصد هستن
Steps این قسمت باید یک عدد وارد کنید و این عدد نشون دهنده سرعت حرکت آبجکت هست که هر چی عدد کوچیک تر باشه سرعت حرکت زیاده و هر چی عد بزرگ تر بشه و به عدد 100 نزدیک تر بشه سرعت حرکت کمتر می شه
توجه کنید که اگر چیزی وارد نکنی برابر با عدد یک می شه و یک هم برابر عدد صد هست و سرعت کمی داره
Type در این قسمت دو تا چیز می تونین وارد کنین و اون هم EASYTO و EASYFROM. در قسمت EASYTO حرکت در انتها و موقع رسیدن به مقصد با شتاب کم می شه در واقع مثل وایسادن ماشین کم کم سرعت حرکت کم می شه و اگر چیزی تایپ نکنین یه دفه وای میشه و اما EASYFROM که رو شروع حرکت تاثیر می زاره و حرکت رو کم کم شروع می کنه و کمی که گذشت به سرعت نهایی خودش می رسه البته سرعت نهایی که بشته به عدی که شما وارد کردین هست


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -







ReorderObject("Label","Parameters")


این دستور باعث می شه که آبجکتی که اسم اون رو به جای Label نوشتید با توجه به پارامتر های این دستور جا به جا بشه و عقب یا جلو بره منظورم از عقب و جلو رفتن در واقع همون ترتیب قرار گیری آبجکت ها هست
این دتور چها رتا پارامتر داره و شما در یه زمان فقط از یکی شون می تونین استفاده کنین
FRONT آبجکت مورد نظر رو جلوی تمام آبجکت ها دیگه قرار می ده
BACK آبجکت مورد نظر رو پست تمام آبجکت ها قرار می ده
FORWARD آبجکت مورد نظر رو یک لایه و یا یک آبجکت جلو تر میاره
BACKWARD آبجکت مورد نظر رو یه لایه به عثب می بره و یا یک آبجکت عقب تر می بره


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -







DisplayValue("label","VARIABLE")


این دستور مقدار یک متغییر رو به نمایش در میاره و در قسمت Label اسم اون شی تکست و یا پاراگرف رو وارد کنین و در قسمت VARIABLE هم اسم متغییر رو وارد کنید
توجه کنید که این متغییر هم می تونه از نوع عددی باشه هم ریشه ای

کد PHP:

LoadText("Lbale","Path/Variable$")


این دستور هم تقریبا مثل دستور قبل هست اما با چند تا تفاوت اون هم در این که فقط می تونین با اون متغییر ها از نوع ریشه ای رو به نمایش در بیارین و یه کاره یگه هم انجام میده و اون هم این هست که محتویات یک فایل متنی رو می تونه تو یک متغییر ذخیره کنه تا بتونین بعد از اون متغییر تو کدهاتون استفاده کنین و طریقه ذخیره کردن هم مثل زیر هست






LoadText("String$","c:\test.txt")



کد بالا متن داخل فایل test.txt تو درایو c رو داخل متغییر String$ که از نوع ریشه ای هست می ریزه

Borna66
08-11-2009, 05:13 PM
خوب بریم سر کاره خودمون




Return()


از این دستور موقعی استفاده می شه که میخواین اجرای بقیه کد های یک اسکریپت رو متوقف کنین و معمولا هم داخل یک if ( یا همون شرط نوشته میشه )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -






Break()


این دستور هم دقیقا مثل دستور قبل عمل می کنه ولی با کمی تفاوت

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





maxloop=5
For i=1 To maxloop
Message("loop 1","i")
For n=1 To 10
If (n=3) Then
Break()
End
Message("loop 2","n")
Next n
Next i



خوب تو مثال بالا تو خط اول یک مغییر از نوع عددی تعریف کردیم که مقدار اون برابر با عدد پنج هست و این همون حداکثر مقدار دور زدن حلقه هست که ما می خوایم حلقه این تعداد دور بزنه و مقدار متغییر I که همون متغییری هست که با هر دور حلقه یکی مقدار اون زیاد می شه خط دوم هم شروع حلقه هست و خط سوم هم یک پیغام معمولی به کاربر می ده و مقدار I رو نمایش می ده و خط چهارم هم حلقه حلقه دوم هست در واقع این جا حلقه تو در تو هست که تو مباحث پیشرفته تر خیلی به کار میاد و حداکثر مقداری که این حلقه دور می زنه 10 دور هست و متغیر مخصوص این حلقه n هست و در خط پنجم هم یه شرط گذاشتیم که اگر n=3 بود عمل break() انجام بشه یعنی کد ها قطع بشه و این تو خط ششم گفته شده و تو خط هفتم هم شرط ما تموم می شه و تو خط هشتم هم یک پیغام دیگه می ده که مقدار متغییر n رو نمایش می ده و خط نهم هم پایان حلقه داخلی هست و خط آخر هم پایان حلقه اولی و بیرونی




maxloop=5
For i=1 To maxloop
Message("loop 1","i")
For n=1 To 10
If (n=3) Then
Return()
End
Message("loop 2","n")
Next n
Next i

خوب این کد ها هم توضیحش مثل کد های قبلی هست با این تفاوت که این جا تو خط ششم به جای Break() از Return() استفاده شده
خوب حالا یه کاری کن دوسته عزیز
چی کار ؟
این که سوال نداره تمرین کن
خوب چه تمرینی کنم ؟
آخ ببخشید یادم رفت بگم :دی
اول کد اولی که مربوط به Break() بود رو واسه یه دکمه کپی کن و بعد اجرا کن پروژه رو و دکمه رو فشار بده و ببین چه اتفاقی می افته
بعد که این کار رو کردی کد ها بعدی که مربوط به Return() هست رو کپی کن و این ها رو هم تست کن
خوب متوجه تغییر شدی ؟
اگه متوجه شدی که آفرین
اگر هم متوجه نشدی اشکال نداره ان شاالله دفعه بعد دقتت رو بیشتر کن تا موفق خودت بتونی متوجه بشی http://pnu-club.com/images/smilies/wink.gif
خوب تو قسمت Break() وقتی که شرط درست می شه و Break() رو اجرا می کنه کد ها قطع می شن و دیگه اجرا نمی شن و اگر دستورات دیگری هم داشته باشین غیر از این دکمه هیچ دستوری اجرا نمی شه تا وقتی که پروزه رو ببندید و دوباره باز کنید
اما تو قسمتی که Return() هست Return() باعث می شه که اجرای کد ها تو حلقه داخلی متوقف بشه و به حلقه خارجی هدایت می کنه اجرای بقیه دستورات رو و اگر هم یک حلقه داشته باشید و یا اصلا حلقه نداشته باشید و فقط یک شرط باشه از اجرای بقیه دستورات جلوگیری می کنه و از اسکریپت خارج می شه و یه تفاوت دیگه هم که این دو با هم داشتن این هستش که موقع استفاده از Return() وقتی که به Return() برسه کد رو قطع می کنه ولی دستورات دیگر اجرا می شن

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -






Refresh("")


این کد صفحه پروژه شما رو رفرش می کنه و اگر تو یک صفحه متغییری داشته باشین که نمایش داده می شه و مقدار اون در حال تغییر هست اگر این کد رو بزارین تغییرات رو نماشی می ده

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -






Pause("time")


این کد هم اجرای دستورات شما رو به تعویق می اندازه و یک وقفه تو اجرای کد ها به وجود میاد با توجه به زمانی که شما بهش دادین
توجه : موقع مشخص کردن زمان به اون واحدی که قبلا گفتم توجه کنید

Borna66
08-11-2009, 05:14 PM
OpenFile("Filter","Default")


خوب این دستور که از اسمش معلومه و برای باز کردن فایل ها استفاده می شه که بعد از اون فایل ها شما می تونید تو پروژه خودتون استفاده کنین
Fillter تو این قسمت شما تعریف می کنین که چه فرمت هایی رو برای شما باز کنه و شما بتونین چه فرمت هایی رو با برنامه باز کنین






OpenFile("TXT Files (*.txt)|*.txt|All Files|*.*||","*.txt")



برای مثال کد بالا فایل های متنی رو برای شما باز می کنه
وقتی پنجره open file باز می شه شما پایین برنامه کنار دکمه ok و cancel دو تا کادر دارین که کادر بالای مربوط هست به اسم فایل و کنارش هم نوشته File Name و کادر زیر اون هم File type که فرمت فایل ها رو می تونین از اون جا انتخاب کنین
خوب حالا شاید سوال پیش بیاد که چه جوری ما تعریف کنیم که چه فرمت هایی رو بتونه باز کنه ؟
خوب TXT Files (*.txt) این قسمت مربوط به کادر فایل تایپ هست که می گه این فرمت رو بشناس و نوشته کار فرمت هم TXT Files هست که می تونیم بر حسب دلخواه اون رو عوض کنیم و علامت | برای جدا کردن File type از File Name هستش
و به همین ترتیب شما می تونین فرمت های دیگه هم اگر خواستین براش تعریف کنین
و قسمت Default هم فرمتی که می خوایم پیش فرض باشه رو می زاریم این قسمت
مثال زیر برای باز کردن عکس ها هست






OpenFile("(*.jpg)|*.jpg|(*.gif)|*.gif|All Files|*.*||","*.jpg")



حالا شاید سوال پیش بیاد که خوب حالا ما بازش کردیم چه جوری بفهمیم که آدرس اون فایلی که کاربز انتخاب کرده چی هست ؟
خوب برای این که بفهمین آدرس چی بوده از CBK ها و یا همون ثابت ها استفاده می کنیم
کامل مثال بالا :





OpenFile("(*.jpg)|*.jpg|(*.gif)|*.gif|All Files|*.*||","*.jpg")

picpath$=CBK_OpenDir+CBK_OpenFile


خط دوم این کد با استفاده از ثابت ها آدرس فایل رو داخل یک متغییر ریشه ای ریخته که اون رو می تونین تو پروژه های خودتون ازش استفاده کنین
اینم از این که چه جوری بفهمین ادرس چی بوده

Borna66
08-11-2009, 05:16 PM
خوب بریم سره آموزش خودمون







SaveFile("Fillter","Default")



خوب باید بهتون بگن که این دستور هم کارکدش تقریبا شبیه دیتور قبله البته با کمی تفاوت که توضیح می دم
این جاش فرق داره که این دستور پنجره ای که باز می کنه برای Save کردن اطلاعات استفاده می شه و بهتون آدرس مسیری که کار بر می خواد نصب کنه رو می ده که شما با استفاده از cbk ها می تونین اون آدرس رو تشخیص بدین

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =








SaveFile("Text Files (*.txt)|*.txt|All Files|*.*||","*.txt")


picpath$=CBK_OpenDir+CBK_OpenFile



مثل دستور بالا آدرس رو تشخیص می دین و ازش تو دستورات بعدیتون استفاده می کنین
یکی از کاربرد های این دستور تو ساختن Setup هست که تو برنامه از یوز ادرس می خواین و برنامه مورد نظر شما تو آدرسی که کاربر داده نصب می شه که با استفاده از دستور هایی که قبلا گفتم می تونین این کار رو انجام بدین
این هم دستورش






SysCommand("CopyFile","c:\test.txt,d:\test.txt")





= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =





BrowseForFolder("Prompt","Starting folder")


با این دستور هم فقط یک فولد رو می تونین انتخاب کنین
Prompt: تو این قسمت متنی که بالای پنجره میاد رو می تونین بنویسین
Starting folder: این قسمت هم مسیری که می خواین اول که پنجره باز شد نمایش داده بشه رو می نویسید و اگر این قسمت رو خالی بزارین مسیر اصلی رو بهتون نمایش میده
برای برداشتن آدرس فولد هم از CBK ها استفاده می کنین این هم دستورش CBK_OpenDirکه کار با هاش مثل دستورات قبلی هست
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =





ColorPicker()


این دستور هم برای انتخاب رنگ هست که با این دستور پنجره مربوط به انتخاب رنگ باز می شه که کاربر رنگ مورد نظرش رو انتخاب می کنه و کد رنگ تو CBK_SelColor هست که کار با این دستور هم مثل دستورات قبلی هست
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =





FontPicker()


این هم پنجره انتخاب فونت رو باز می کنه براتون و فونتی که انتخاب کرده کاربر تو CBK_Fontذخیره می شه
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =





FileExist("Path","Variable")


این دستور هم چک می کنه که آیا فایل مورد نظر در مسیری که در قسمت Path مشخص کردین هست یا نه ؟
اگر بود مقدار متغییر که تو قسمت Variable مشخص کردین برابر یک می شه و اگر نبود هم برابر صفر می شه که شما بعدا ازش استفاده می کنین
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =





FileString(".wav","VARIABLE")


این دستور به تنهایی به کار نمی ره و با دستور openfile به کار می ره و بعد از اون دستور به کار می ره و چک می کنه که آپا فایل باز شده اون فایل مد نظر شما هست یا نه
برای مثال باید بگم که تو مثالی که من گذاشتم چک می کنه که آیا فایل باز شده با فرمت wav هست یا نه اگر بود مقدار متغییر که تو قسمت VARIABLE وارد کردین برای برابر یک می شه و اگر نبود هم برابر صفر
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =






SearchForFiles("path","fillter")




این دستور هم تو مسیر مشخصی که بهش می دین تو قسمت path می گرده دنبال فایل هایی که فرمت اون ها رو تو قسمت filter وارد کردین برا درک بهتر به مثال زید توجه کنین





SearchForFiles("c:\","*.jpg,*.bmp")
ListBoxAddItem("ListBox","<List>")


این کد ها که نوشتم تو درایو سی شما می گرده دنبال فایل هایی با فرمت.jpg و .bmp و بعد لیست اون فایل های در واقع لیست آدرس اون ها رو توسط دستور خط دوم می تونین تو یه لیست باکس نمایش یدین و بعد ازشون استفاده کنین
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =





SaveVariable("Name","Variable")


با این دستور یه مقدار رو تو رجیستری ذخیره می کنین
قسمت name اسم کلی اصلی تو رجیستری رو وارد می کنین و تو قسمت Variable هم متغییر خودتون رو وارد می کنین
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =







LoadVariable("name","variable")


با این دستور هم مقداری که سیود کردین تو رجیستری رو فراخوانی می کنین و فراخوانی هم با همون نام و متغییری که ذخیره کردین انجام می گیره

با این کار ذخیره و باز یابی اطلاعات شما می تونین از یک متغییر تو دفعات دیگر باز شدن برنامه خودتون استفاده کنین و یکی از ساده ترین کاربرد هاشم تو نمایش دادن تعداد باز شدن برنامه شما هست
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =







InstallFont("Path")


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







Browser("Browser Object","Command / URLpath")


با این دستور شما می تونی یک مرورگر اینترنت بسازین برای خودتون که با استفاده از کامند های همین دستور می تونین مروزگز خودتون رو کامل تر بکنین
Browser Object: شی هست که توش می خواین سایتتون رو نمایش بده که معمولا یه شی از نوع html هست
Command / URLpath: این قسمت هم مخصوص کامند ها و یا آدرس سایت مورد نظر هست که آدرس سایت که مشخصه و کامند ها رم الان می گم براتون که البته کامند هاش دیگه توضیح نمی خواد و واضح هست
لست کامند ها:
Back
Forward
Stop
Refresh
OpenFile
Print
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =




SendCommand("Binding Object"," Menu ID a,b{,c}")


با این دستور شما می تونین به یک شی که بایند شده یک دستور رو بدین
Binding Object: اسم شی بایند هست
Menu ID a,b{,c}: اسن هم دستوری هست که می خواین بدین
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
به دلیل محدودیت تو تعداد کارکتر متن ادامه تو پست بعدی

Borna66
08-11-2009, 05:17 PM
ببخشید چون آموزشا زیاد بود جا نشد تو یه پست مجبور شدم ادامه رو تو این پست بنویسم






Clipboard("SEND/GET","variable")


این دستور هم با کلیپبرد کار داره و می تونه از اون اطلاعات بگیره و یا اطلاعات بگیره
اگر SEND رو انتخاب کنین می تونین دستور بهش بدین و اگر GET رو استفاده کنین می تونین ازش دستور بگیرین و variable هم مقداری هست که میگیرین یا می دین بهش
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =




VolumeUp("Volume")


این دستور هم صدای سیستم رو زیاد می کنه و تو قسمت Volume هم مقداری که می خواین رو بهش می دین و اگر Volume رو خالی بزارین 5 تا 5 تا صدا رو زیاد می کنه
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =




VolumeDown()


این دستور هم صدا رو کم می کنه و دیگه بهش نمی تونین مقدار بدین و خودش 5 تا 5 تا کم می کنه صدا رو
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =







FMODConfig("")


این دستور صدای خروجی رو از پروژه تنظیم می کنه و اگر بهش مقدار ندین پنجره مربوط به تنظیمات باز می شه و اگر مقدار بدین و که خودتون تنظیمش کردین دیگه

1- که صدای خروجی رو روی DirectX sound تنظیم می کنه

2- این هم که صدا رو روی Windows Media Wave Out تنظیم می کنه

3- این هم بدون صدا می کنه
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =







PlaySound("Path")


این دستور هم آهنگ مورد نظر که آدرسش رو تو قسمت path مشخص کردین رو پخش می کنه
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =





StopSound()


این هم صدای در حال پخش رو قطع می کنه
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =






WavePlay("path","LOOP")


این هم یک آهنگ با فرمت ویو رو پخش می کنه و اگر در قسمت LOOP عبارت LOOP رو وارد کنین آهنگ شما لوپ می شه(تکرار می شه تا وقتی که برنامه باز باشه) و اگر وارد نکنین آهنگ شما فقط یک بار اجرا می شه
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =







WaveStop()


این هم آهنگ ویو رو قطع می کنه
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =






MidiPlay("Path","LOOP")
MidiStop()


این دو تا دستور هم مربوط به آهنگ های با فرمت MIDI هست که دستوراتش معلومه دیگه نیازی به توضیح نیست
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =







ModPlay()
ModStop()
ModOpen("Path")


این سه دستور هم مربوط به موزیک های mod هستن که باز هم توضیحی فک نمی کنم لازم داشته باشن
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =






AudioOpen("path")
AudioPlay()
AudioStop()
AudioPause()
AudioRewind("Sec","More parametr")


این پنج دستور هم مربوط به اجرای صدا ها هستن باز هم
که البته بازم نیاز به توضیح ندارن غیر از آخری
در قسمت Sec ثانیه ای که می خواین به اون برگده آهنگتون رو وارد کنین و در قسمت more parameters اگر بخواین که چند ثانیه به عقب بیاره نه این که بیاره ثانیه مورد نظر عبارت RELATIVE رو وارد کنین و در قسمت Sec هم مقدار ثانیه که م یخواین به عقب بر گرده
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =






BackgroundPlay("Path","LOOP")
BackgroundStop()
BackgroundPause()


این سری دستورات مربوط به موزیک متن برنامه هستن و یه فرقی با بقیه آهنگ هایی که پخش میشن دارن اونم اینه که بقیه فرمت ها و نوع های آهنگ رو که بخواین پخش کنین در یه لحظه فقط یه آهنگ پخش می شه و اگر آهنگ جدیدی رو بزنین تو یه دکمه دیگه که پخش بشه آهنگ قبلی stop می شه و آهنگ جدید پخش می شه ولی تو این موزیک زمینه اگر یک آهنگ جدید از نوع دیگه بزنین این آهنگ و یا موزیک زمینه قطع نمیشه و صدای جدیدتون هم به خوندنش ادامه می ده و در واقع دو تا موزیک با هم پخش می شه

Borna66
08-11-2009, 05:19 PM
خوب تو سری بعدی دستورات به دستورات CDAudio می رسیم

البته این دستورات خیلی آسونن و اکثرشونو تو برنامه های پلیر دیدین

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





CDPlay()







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




= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






CDStop()


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

پخش موزیک رو قطع می کنه




= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






CDPause()


بازم این دستور تابلو

پخش موزیک را متوقف میکنه




= = = = = = = = = = = = = = = = = = = = = = = = = = = = =







CDTrack("Track")


این دستورم یه موزیک خاص رو پخش می کنه

شما جایه Track باید یه عدد بزنید و شماره اون موزیک رو پخش می کنه




= = = = = = = = = = = = = = = = = = = = = = = = = = = = =







CDForward()


بازم اینم تابلو

ترک بعدی موزیک رو پخش می کنه



= = = = = = = = = = = = = = = = = = = = = = = = = = = = =







CDBackward()


ترک قبلی رو پخش می کنه



= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






CDPlayPause()


این دستور دو تا کار انجام میده

اگر موزیک در حال پخش باشه اون رو متوقف می کنه

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



= = = = = = = = = = = = = = = = = = = = = = = = = = = = =







CDSkipForward()


این دستور موزیک در حال پخش رو 10 ثانیه جلو می بره




= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






CDSkipBackward()


این دستور موزیک در حال پخش رو 10 ثانیه عثب می بره



توجه: حواستون به تفاوت این دستور با دستور قبلی باشه




= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






WhichCDTrack("TrackVar")



(http://forum.graphicplanet.net/soundcommands.htm#WhichCDTrack)
خوب این دستور که یه کمی توضیحش طولانی تره

این دستور شماره آهنگ در حال پخش رو براتون می ریزه تو متغییری که تو قسمت پارامتر دستور تعریف کردین

مثلا تو همین کد قبلی متغییر ما TrackVar هست که مقدار داخل این متغییر ذخیره می شه و شما می تونید اون رو مثلا با دستور زیر به کاربر نمایش بدین







Message("shomare musice dar hale pakhsh:","TrackVar")


این دستور یه کادر برای کاربر ضاهر می کنه که قبلا توضیحش رو دادم و تو اون کادر شماره آهنگ به همراه متنی که مشخص کردین نمایش داده می شه

Borna66
08-11-2009, 05:20 PM
خوب حالا می رسیم به دستورات SongList

این دستورات در مورد <List> هستند که قبلا <List> رو براتون معرفی کردم تو این پست (http://forum.graphicplanet.net/showpost.php?p=16964&postcount=7)
بازم این جا یه توضیحی در مورد دستور لیت می دم
شما وقتی با استفاده از دستور SearchForFiles سرچ می کنین تو فایل هاتون برای این که اون سرچ رو نمایش بدین و یا این که از اون سرچ برای کارتون استفاده کنید مالتی مدیا اون اطلاعات رو داخل دستور <list > ذخیره می کنه و شما می تونین اون رو تغییر بدین که با استفاده از این دستورات می تونین اون رو تغییر بدین





SongListReset()
SongListAdd("Path")
SongListDel("Number")
SongListPlay("Number")
SongListNext()
SongListPrev()
SongListLoad("Path","FileFormat")
SongListRND()
SongListEdit()
SongListSave("SongList/ListBoxLabel","Path")
SongListTime()


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

Borna66
08-11-2009, 05:22 PM
خوب حالا می رسیم به دو تا دستور که بیشتر تو پلیر های صدا ازشون استفاده می کنیم
تا حالا باید اسم Audio Visualization به گوشتون خورده باشه
و اکثر برنامه های پلیر هم Audio Visualization دارند
خوب حالا دستوراتی که ما تو مالتی مدیا بیلدر باهاشون کار می کنیم
البته این رو هم بگم که ما اول باید شی Audio Visualization رو به پروژه خودمون اضافه کنیم بعد بتونیم اون رو تغییر بدیم
این نکته رو هم بگم که ما تمام این تنظیمات رو داخل خود برنامه و قبل از کامپایل برنامه داریم این دستورات برای این هستن که برنامه کاربر پسند تر بشه با تغییراتی که کاربر می تونه انجام بده





AudioVisualizationType("Label","ANALYZER/OSCILLOSCOPE")


کاری که این دستور انجام می ده این هست که نوع Audio Visualization مارو تغییر می ده
به جای label باید اسم Audio Visualization خودتون رو بنویسید
و در قسمت بعد هم باید از یکی از دو عبارت ANALYZER/OSCILLOSCOPE استفاده کنید
چون تو متن نمی تونم توضیح بدم که هر کدوم به چه صورتی هست یه عکس پیوست می کنم که اون جا متوجه میشین که به چه صورتی هستن هر کدوم


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






AudioVisualizationColor("Label","ColorCode")


:این دستور هم مشخص هست از اسمش و کارش اینه که رنگ Audio Visualization رو تغییر می ده
مثل قبل در قسمت label اسم Audio Visualization رو وارد کنید و در قسمت ColorCode هم کد رنگ رو به صورت RGB وارد می کنید
توجه کنید برای وارد کردن کد رنگ که باید با فرمت زیر وارد کنید کد رو


Red,Green,Blue


و مقادیر هر کدوم هم بین 0-255 هستن و برای مثال این کد 255,0,0 رنگ قرمز خالص رو بهتون می ده
و یه نکته دیگه در مورد کد رنگ این که شما اگر کد رو همین جوری بنویسید رنگ متحرکهایی که به صدا حساس هستند و حرکت می کنند تغییر می کنه اما اگر مثل زیر عمل کنید رنگ بکگراند Audio Visualization تغییر می کنه





AudioVisualizationColor("AudioVis","BACKGROUND=255,0,0")


اما دستور زیر رنگ لغزنده های Audio Visualization رو تغییر می ده





AudioVisualizationColor("AudioVis","255,0,0")


خوب سری بعدی دستورات مربوط میشن به فایل های فلش که با فرمت swf وارد فلش میشن


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






Flash("label","Command/Path")


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




PLAY
STOP
LOOP
SHOWMENU
HIDEMENU
MINMENU
FULLMENU
BACK
FORWARD
REWIND


این پارامتر ها رو خیلی راحت هستن و تا حالا خیلی باهاشون تو برنامه های مختلف کار کردین و نیازی به توضیحشون نمی بینم
و اما قسمت دوم پارامتر دوم دستور
اگر شما از Path استفاده کنید یعنی در واقع شما باید به جای path یه مسیر رو وارد کنید که فایل فلشی که تو مسیر مشخص کردین و یا بهش دادین رو براتون به نمایش در میاره برای مثال دستور زیر رو نگاه کنید





Flash("label","D:\payam\card_16961_rs.swf")



= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






FlashSetVar("label","Name,NewVal")


اگر شما تو فایل فلشی که طراحی کردین از متغییر ها استفاده کردین با کمک این دستور می تونید مقدار اون متغییر رو تغییر بدین
قسمت Label که تا حالا خیلی توضیح دادمخ و مشخصه
و اما پارامتر دوم که اصل کار ما هم روی همین پارامتر هست
به جای Name باید اسم متغییر رو وارد کنید و بعد یه ویرگول و بعد هم مقدار جدید متغییر

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


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






FlashGetVar("label","Name,Variable")


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

label که هیچی مشخصه
و اما پارامتر دوم دستور به جای name باید اسم متغییر تو فلش رو وارد کنیم بعد یه ویرگول و بعد از اون هم نام متغییری که می خوایم مقدار از فایل فلش داخل اون ریخته بشه تا بعد با استفاده از اون متغییر برنامه خودمون رو ادامه بدیم


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






FlashSetFrame("label","Frame Number")


این دستور فایل فلش لود شده و در حال اجرا رو به فریم مورد نظر که ما براش تعریف کردیم به جای FrameNumber می بره


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






FlashGetFrame("label","Variable")


این دستور شماره فریم در حال پخش رو در متغییری که به جای variable می نویسید ذخیره می کنه


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =






FlashGetProp("label","Property,Variable")


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

به جای Property باید مشخصه ای که می خوایم اون رو برمون تو متغییر ذخیره کنه بنویسم و بعد ویرگول و بعد از اون هم متغییری که می خوایم در اون ذخیره بشه

Property های از پیش تعییر شده برای فلش به همراه توضیح:

SCALE : سایز فایل فلش لود شده رو بر می گردونه (طول و عرض)

BGCOLOR : رنگ بکگراند فایل فلش رو بر می گردونه
QUALITY : کیفیت فلش رو بر می گردونه

PLAYING : با این دستور می تونید بفهمید که فایل فلش در حال پخش شدن هست و با این که stop شده

MOVIE : این دستور هم اسم فلش رو بر می گردونه

TOTALFRAMES : تعدا کل فریم هارو بر می گردونه

ORIGINALWIDTH : طول اصلی فالش رو بر می گردونه

ORIGINALHEIGHT : ارتفاع اصلی فلش رو بر می گردونه

PLAYERVERSION : نسخه فلش پلیر نصب شده روی سیستم کاربر رو بر می گردونه
FILEVERSION : نسخه ای که برای اجرا و پخش فایل فلش احتیاج هست رو بر می گردونه


موفق باشین
فعلا یا حق

Borna66
08-11-2009, 05:23 PM
AGifPlay("Label")
AGifStop("Label")
AGifReset("Label")


این سه دستور هم مربوط به انیمیشن های از نوع گیف هستن
از اسم دستورات مشخص هست که چی کار می کنن
فقط این نکته رو بگم که ابتدا باید یه شی از نوع gif animation وارد صفحه کاریتون کنین

Borna66
08-11-2009, 05:24 PM
حالا نوبت می رسه به دستورات ویدئو می رسه
با دستورات زیر می تونید یه شی از نوع ویدئو رو کنترل کنید





VideoLoad("Label","Path")


با این دستور می تونید یه فایل ویدئو رو داخل یه شی از نوع ویدئو لود کنید
label : نام شی ویدئو
path : مسیر فایل ویدئو


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =





VideoPlay("Label")
VideoPause("Label")
VideoStop("Label")


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


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =





VideoRewind("Label","Time/Frames")


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


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =





VideoClose("Label")


شی از نوع ویدئو را می بنده

= = = = = = = = = = = = = = = = = = = = = = = = = = = = =

کد PHP:

VideoSpeed("Label","Playback rate")


سرعت اجرای فایل ویدئو را تغییر می ده
نکته: اگر عدد وارد شده در قسمت Playback rate کوچکتر از هزار باشه سرعت اجرای ویدئو کم می شه اگر بزرگتر باشه تند تر پخش می شه و اگر برابر 1000 باشه به صورت نرمال پخش خواهد شد


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =





VideoScale("Label","Size")


سایز شی ویدئو را تغییر می دهد


= = = = = = = = = = = = = = = = = = = = = = = = = = = = =





VideoParam("Label","Parametr")


با این دستور می تونید یه سری از مشخصات شی ویدئویی را تغییر بدین
برای این که ببینید چه مشخصاتی رو می تونید تغییر بدید وفرمت نوشتن دستور به مثال های زیر توجه کنید





Examples:
VideoParam("Video","FULLSCREEN=ON")
VideoParam("Video","LOOP = OFF")
VideoParam("Video","MUTE = ON")
VideoParam("Video","MODE = TIME")
VideoParam("Video","MODE = FRAME")


موفق باشین
فعلا