PDA

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



Borna66
08-11-2009, 03:55 PM
این ها script هایی هستند که مربوط به زمان هستند .

PageTimer("","")
ExitTimer("")
ScriptTimer("","")
RunScript("")
Pause("")
Return()

Refresh()

در این بخش بیشتر به این script ها می پردازیم :
PageTimer("ms","PageLabel")
با اجرای این کد می توان پس از زمانی که تعیین می کنید به صفحه مورد نظر بروید . مثلا در این کد پس از گذشت 1000 میلی ثانیه (1 ثانیه) به صفحه ای که با Label آن را در قسمت دوم نوشته ایم (در اینجاpage 2 ) می رود :


PageTimer("1000","Page 2")

ExitTimer("ms")
این یک تایمر است که پس از گذشتن زمان مشخص شده پنجره بسته می شود (عمل Exit() انجام می شود) . در این کد پس از کذشتن یک دقیقه پس از اجرای این Script پنجره بسته خواهد شد .


ExitTimer("60000")

ScriptTimer("ObjectLabel","ms")
پس از گذشتن زمان تعیین شده Script مورد نظر اجرا می شود . در اینجا فقط منظور شئ Script نیست این کد مربوط به هر شئی که بتوان در آن Script مورد نظر خودتان را وارد کنید مثلا Text Button ، Rectangle و... می باشد . در قسمت اول نام شئ و در قسمت دوم زمان را می نویسیم . در مثال شئی با نام Script پس از 1 ثانیه اجرا می شود .


ScriptTimer("Script","1000")

RunScript("ObjectLabel")
این کد مانند کد بالا عمل می کند با این تفاوت که بلافاصله Script را اجرا می کند .


RunScript("Script")

Pause("ms")
می انید که برای اجرای کد ها ، آنها از بالا به پایین خوانده می شود (بدون هیچ وقفه ای) . از این دستور برای وقفه در بین خطوط کد ها استفاده می شود .
Return()
اگر خطوط Script ها را مانند یک رشته سیم فرض کنیم ، دستور Return مانند کلیدی است که این ارتباط و رسانایی بین رشته ها را قطع می کند . یا وقتی به این خط رسید بقیه خط ها را نمی خواند . از اینscript می توانید در دستور شرطی If یا حلقه for استفاده کنید .
Refresh()
تقریبا از اسم این کد می توان به طرز کار آن پی برد . این Script در حلقه ها بسیار مفید است . مثلا در یک حلقه Normal در هنگام شمارش شما نمی توانید از کلید های دیگر استفاده کند . اما اگر در حلقه خود Refresh را جای دهید این مشکل برطرطرف می شود .
برای اجرای کد های نمونه زیر ، یک Text با نام Counter ایجاد کنید .
یک حلقه با Refresh :

For n=1 To 100000
i=n
DisplayValue("Counter","i")
Refresh()

Next n

یک حلقه Normal :

For n=1 To 100000
i=n
DisplayValue("Counter","i")

Next n

تغییری که در اجرای این دو حلقه وجود دارد کاملا محسوس است .
__________________

Borna66
08-11-2009, 03:55 PM
Number
امکاناتی که MMB برای اعداد تعبیه کرده محدود است (مثلا جذر نمی گیرد ، حتی اگر به توان نیم برسونیم ، عدد خروجی همیشه 1 خواهد بود ) . در اولین قسمت آموزشی MMB که مربوط به ساخت ماشین حساب بود استفاده از 4 عمل اصلی و توان را یاد گرفتیم . حالا بریم سراغ قدر مطلق، عدد اتفاقی و جزء صحیح اعداد .
ABS(number)
این کد قدر مطلق یک عدد را نشان می دهد (عدد -321):

A=ABS(-321)

Message("","A")




INT(number)

این کد جزء صحیح یک عدد را نشان می دهد . مثلا اگر عدد ورودی 14.51 باشد عدد خروجی 14خواهد بود .


A=INT(14.51)

Message("","A")




RND(maxvalue)

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

A=RND(2)

Message("","A")

Borna66
08-11-2009, 03:56 PM
یکی از ابزار هایی که MMB در ورژن 4.9 آن را در نرم افزار قرار داد امکان گذاشتن فایل های با پسوند *.swf یا همون فلش است .
برای اینکار از Object | Create عنصر Flash را انتخاب کنید . و در مکان مناسب روی صفحه کلیک کنید . پنجره ای باز می شود که می توانید تنظیمات مربوط به فلش را انجام دهید . خلاصه می نویسم :
Play: در صورت فعال بودن با اجرای برنامه ، فایل فلش شروع به اجرا می کند .
Loop : به صورت حلقه ای اجرا می شود ، یعنی وقتی تموم شد دوباره اجرا شود . البته بعضی از فلش ها رو اینجوری درست می کنند که به فریم آخر دستوری مشابه این دستور نسبت می دهند تا stop شود : Stop();
بعد یه دکمه می سازند و این دستور رو بهش می دهند :


On(release) {



gotoAndPlay(1);



}

یعنی برود به فریم 1 و شروع کند ، پس Loop نتیجه مطلوب ما را نخواهد داشت .
راستی کد های بالا action script های مربوط به برنامه Flash است .
Hide Menu: منویی که هنگام راست کلیک باز می شود را مخفی می کند .
Min. Menu: در صورتی فعال خواهد بود که Hide Menu غیر فعال باشد . این گزینه فقط آیتم های Setting … و About Macromedia Flash [version] را در منویی که هنگام راست کلیک باز می شود نشان می دهد .
Keep Aspect Ratio : فقط همون قسمت اصلی را نشان می دهد . یعنی اگر 300*200 تعریف شده باشد هر اندازه ای تنظیم کنیم خود به خود به نسبت 3*2 در می آید .
Preserve Original Size : پس از زدن Ok به اندازه اصلی بر می گردد .
Override Background color : تغییر رنگ پس زمینه فلش .
Run from frame : اجرا شدن فلش از فریم دلخواه . (فقط شماره فریم رو بنویسید)
Quality : وضوح تصویر را در 3 حالت تنظیم می کند .

Script های مربوط به FLASH و کنترل MMB بوسیله فایل های فلش (برنامه نویسی با Flash MX) را ان شا الله تا پنج شنبه خواهم گذاشت .

Borna66
08-11-2009, 03:56 PM
برنامه ای می نویسیم که یکی یکی (هر نیم ثانیه) کد های ASCII را و همان شکل خروجی اش را نشان می دهد .
دو تا Text درست کنید و نام های آنها را Text1 و Text بگذارید . یک کلید هم برای Start بگذارید و این Script ها را در کلید قرار دهید . ( اینو هم بکم کد های ASCII از 0 تا 255 است)

For -1 To 255
i=i+1
string$=CHR(i)
LoadText("Text","string$")
DisplayValue("Text1","i")
Pause("500")
Next
حالا خودتون بشینید برنامه ای بنویسید که کد ASCII را وارد می کنیم و به کاراکتر تبدیل میکند .

Borna66
08-11-2009, 03:56 PM
Publication Constants
طول و عرض پنجره ، طول و عرض محیط مفید پنجره ، فاصله پنجره تا بالا و سمت چپ Desktop (X,Y)، فاصله یک Object تا بالا و سمت چپ پنجره (همان پنجره که با MMB درست کرده اید) . طول و عرض یک Object . فعال یا غیر فعال بودن یک Object و... از انواع Publication Constantsاست.



PubWidth()


طول پنجره را نشان می دهد. البته با قاب دور پنجره .


Message("Project window width + border is: ","PubWidth()")

PubHeight()
عرض پنجره به اضافه قاب دور پنجره و قسمت عنوان را نشان می دهد.

Message("Project window Height + border is: ","PubHeight()")
ClientWidth()
طول محیط کار پنجره را نشان می دهد . بدون قاب دور آن .


Message("Workarea width is: ","ClientWidth()")
Client Height()
طول محیط کار پنجره را نشان می دهد .


Message("Workarea Height is : ","ClientHeight()")
از اینجا به بعد کد های نمونه رو نمی نویسم ، چون می دونید چه جوری کد ها رو بنویسید .
PubX()
فاصله پنجره تا سمت چپ Desktop را نشان می دهد . (مختص X)
PubY()
فاصله پنجره تا بالای Desktop را نشان می دهد . (مختص Y)
ObjectX()
فاصله یک Object تا سمت چپ پنجره را نشان می دهد . در داخل پرانتز باید Label شي مورد نظرتان را بنویسید .
ObjectY()
فاصله يک Object تا بالای پنجره را نشان می دهد . در داخل پرانتز باید Label شي مورد نظرتان را بنویسید .
ObjectWidth()
طول یک Object را بر می گرداند . در داخل پرانتز باید Label شي مورد نظرتان را بنویسید .
ObjectHeight ()
عرض یک Object را بر می گرداند .
IsVisible()
اول label شی مورد نظرتان را در داخل پرانتز ها تایپ کنید . یرای مقدار خروجی آن 3 حالت پیش می آید : اعداد 1 ، 0 و -1
-1 یعنی : Object ی با این نام وجود ندارد .
0 یعنی : وجود دارد امَا ........... مخفی است!
1 یعنی : وجود دارد مخفی هم نیست !

For …
خب با یک مثال می خواهم طرز کار حلقه For را نشان دهم . (حلقه For یک عمل را چند بار انجام می دهد) . MMB در بین حلقه ها فقط For و در بین دستور هاIf را دارد .
این مثال 5 بار پیامی را ظاهر می کند که در آخر آن پیام عددی وجود دارد که به ترتیب از 1 تا 5 را نشان می دهد .

For1To5
i=i+1
Message("Number ","i")


Next

دیگه نیازی به توضیح نیست .پیام ها به ترتیب با این عنوان ها می آیند .


Number i: 1


Number i: 2


Number i: 3


Number i: 4


5Number i:

با این حلقه یک عدد را (در یک TextBox) وارد می کنیم به عنوان تعداد خط ها . سپس کلید مورد نظر را می زنیم و در خروجی که یک Text است نشان می دهد که N تا خط (عدد درون TextBox) حداکثر صفحه را به چند قسمت تقسیم می کند . توی جدول نوشته ام رابطه اش رو خودتون پیدا کنید .
یک کلید (Text button) هم درست می کنیم که این عملیات را اجرا کند . (قسمت Output دکمه را در حالت Ineger قرار دهید . چون عدد صحیح است و در دو کادر مقابل آن به ترتیب A$ و A بنویسید ).


قسمت ها تعداد خط ها


1 0

2 1

4 2

7 3

11 4

16 5

22 6

29 7

37 8


دستور مربوط به کلید :

i=0
p=1
For 1 To A
i=i+1
p=p+i
Next


DisplayValue("Answer","p")

در قسمت Label متن خروجی (همون text) نام Answer را تایپ کردم .
حالا شما می توانید دستور هایی ترکیبی با IF و For یا If در If و... بنویسید .

Borna66
08-11-2009, 03:56 PM
Animated GIF , HTML Browser , Print Commands

امروز به توضیح بعضی دیگر از فرمان های mmb خواهیم پرداخت.
Animated GIF Commands : فرمان های مربوط به تصاویر متحرک GIF
AGifPlay("AniGif") : این فرمان برای شروع نمایش تصویر متحرک می باشد. نام تصویر GIF را در فرمان جایگزین می کنیم.
AGifStop("AniGif") : این فرمان نمایش تصویر متحرک را متوقف می سازد.
AGifReset("AniGif") : این فرمان تصویر متحرک را ریست می کند و دوباره از فریم اول تصویر پخش می گردد.
HTML Browser Commands : فرمان های مربوط به صفحات وب html
Browser("ObjectLabel","Commands/URL Path") : این فرمان مربوط به کنترل شی اچتمل می باشد.در پارامتر اول نام شی را جایگزین می کنیم. پارامتر دوم نیز می تواند یکی از فرمان های زیر باشد.
Back: بازگشت به صفحه قبلی مرور شده. Browser("Browser","Back")
Forward : رفتن به صفحه بعدی مرور شده. Browser("Browser","Forward")
Stop : توقف بار گزاری صفحه وب در حال مرور Browser("Browser","Stop")
Refresh : بارگزاری مجدد صفحه در حال مرور Browser("Browser","Refresh")
OpenFile : نمایش کادر بازگشایی فایل با فرمت پیش فرض اچتمل Browser("Browser","OpenFile")
Print : پرینت صفحه وب در حال مرور Browser("Browser","Print")
و بالاخره باز کردن یک صفحه وب طبق فرمان زیر Browser("Browser","http://google.com")
یک ویژگی که در شی اچتمل وجود دارد این است که شما می توانید به باز کردن فایل هایی همچون PDF ، TXT ،تصاویر و حتی یک پوشه یا درایو در آن بپردازید. کافی است مسیر تصویر یا فایل پی دی اف یا یک پوشه یا درایو را در قسمت تعیین ادرس شی اچتمل تعیین کنید.
نمایش درایوD توسط شی اچتمل Browser("Browser","D:\")
Print Commands : فرمان های مربوط به چاپ یا پرینت
PrintText("ObjectLabel","Parameters") : از این فرمان برای پرینت شی متنی استفاده می شود. پارامتر اول نام شی را تعیین می کند. پارامتر دوم نیز می تواند FONT_FROM_OBJECT باشد که در اینصورت متن با فونت و سایز اصلی خودش پرینت می گردد. اما در صورتی که این پارامتر انتخاب نشود ، برنامه متن را بر طبق تنظیمات مربوط به قسمت چاپ ، چاپ می کند.
پرینت یک پاراگراف طبق تنظیمات مربوط به چاپ : PrintText("Paragraph","")
پرینت یک پاراگراف طبق فونت و سایز اصلی : PrintText("Paragraph","FONT_FROM_OBJECT")
PrintPage("Page") : این فرمان به پرینت کل صفحه جاری ( صفحه در حال نمایش ) می پردازد. در قسمت پارامتر این فرمان می توانید تعیین کنید که صفحه به چه صورت پرینت شود.
پرینت کل صفحه: PrintPage("")
پرینت به اندازه 60 درصد وسعت صفحه : PrintPage("60")
PrintRect("ObjectLabel","Zoom") : این فرمان به پرینت قسمتی از صفحه که در محدوده شی مستطیل Rectangle قرار دارد می پردازد. پارامتر اول نام شی مستطیلی را که می خوهید محدوده ان را پرینت کنید تعیین می کند. پارامتر دوم هم مقدار fit شدن یا پر شدن صفحه را تعیین می کند.
پرینت محدوده شی مستطیل : PrintRect("Rectangle","")
پرینت محدوده شی مستطیل به اندازه 60 درصد وسعت صفحه : PrintRect("PrintBox","60")
موفق باشید...