Script های مربوط به زمان
چون فردا می رم مدرسه و خوشحالم (؟؟؟) این مطلب رو براتون می ذارم !
نظر بدین ، سوال داشتین بپرسین و...
: : :
این ها 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
تغییری که در اجرای این دو حلقه وجود دارد کاملا محسوس است .
2 نوشته شده در 84/07/01ساعت توسط وحید نائینی | 39 نظر
منظور خاصی ندارم از قرار دادن این عکس !
همین جوری!
2 نوشته شده در 84/06/27ساعت توسط وحید نائینی | 6 نظر
[عنوان ندارد !!! ]
بابا نگین (نگوئید) چرا کمه(کم است) مطلبات!
1. برو یه نگاهی به آرشیو بنداز ;
2. با این حجم کسترده نظرات آخه هر کی باشه حال نداره همین رو هم بنویسیه !
اما سعی می کنم بیشتر بنویسم .
سوال : در باره ابزار فلش (FLASH) توضیح بده :
یکی از ابزار هایی که 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) را ان شا الله تا پنج شنبه خواهم گذاشت .
2 نوشته شده در 84/06/27ساعت توسط وحید نائینی | 3 نظر
زیاد که نه ! اصلا سخت نیست ! روش فکر کنید تا جواباش رو بذارم !
سوال ۱. برنامه ای بسازید که با وارد کردن 3 عدد به عنوان 3 ضلع مثلث بگوید که این مثلث قائم الزاویه هست با نه ؟ (با استفاده از قضیه فیثاغورس)
سوال ۲ . ساعتی بسازید که ساعت ، دقیقه و ثانیه را وارد می کنیم و در همان زمانی که ما مشخص کردیم یک موسیقی پخش کند . (برای پخش موسیقی از این Action script استفاده کنید : AudioOpen("") ) .
سوال ۳ . یک کلید بسازید که نام آن Play است . با کلیک کردن روی آن یک موسیقی پخش می شود و همچنین نام آن به Stop تغییر می کند که با کلیک کردن دو باره موسیقی قطع می شود . (برای قطع شدن موسیقی از این Action script استفاده کنید : AudioStop("") ) .
سوال ۴ . برنامه ای بسازید که مینیمم وماکزیمم بین دو عدد را به دست آورد و در دو خروجی مجزا (Text) نمایش دهد .
سوال ۵ . N تا خط صفحه را به چند قسمت تسیم می کند ؟
سوال ۶. یک برنامه که پنجره فرمت ویندوز را 100000 بار در ثانیه نشان دهد !
2 نوشته شده در 84/06/26ساعت توسط وحید نائینی | 3 نظر
سلام !
اول از همه بگم که : مرگ من نظر بذارید این همه اینا رو می نویسم آخرش 2 تا نظر !
مطلب امروز را در آینده ، کامل در 2 قسمت توضیح خواهم داد .
جالبه بخونید .
برنامه ای می نویسیم که یکی یکی (هر نیم ثانیه) کد های 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 را وارد می کنیم و به کاراکتر تبدیل میکند .
کل برنامه به خاطر CHR است .
توضیح خواهم داد !
نظر یادتون نره !
2 نوشته شده در 84/06/23ساعت توسط وحید نائینی | 4 نظر
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")
2 نوشته شده در 84/06/20ساعت توسط وحید نائینی | 6 نظر
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 را نشان می دهد .
For 1 To 5
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 و... بنویسید .
2 نوشته شده در 84/06/18ساعت توسط وحید نائینی | 5 نظر
ثابت های سیستمی (System Constants)
با چند مثال ثابت های سیستمی را معرفی می کنم :
مثلا طول و عرض پنجره ویندوز شما ، طول و عرض محیط قابل ستفاده desktop شما ، فاصله کرسر ماوس تا چپ و بالا ی محیط کار ویندوز ، ورژن ویندوز شما ، مدل CPU همه از ثابت های سیستمی هستند . حالا بریم سراغ کد نویسی ! نتیجه کد های زیر در قالب یک پنجره پیام خواهد بو که شما می توانید با استفاده از دستور DisplayValue("","") و قرار دادن یک Text در صفحه نتیجه کار را در آن ببینید .
ScreenWidth ()
مختص X نمایشگر را برمی گرداند .
Message("Display width is: ","ScreenWidth()")
ScreenHeight ()
مختص Y نمایشگر را برمی گرداند .
Message("Display width is: ","ScreenHeight()")
WorkAreaWidth ()
مختص X فضای کار را بر می گرداند . (مثلا اگر TaskBar در سمت چپ Desktop باشد ، Taskbar از Screen Width کم می شود)
Message("Display work area width is: ","WorkAreaWidth()")
MouseX()
فاصله کرسر ماوس تا سمت چپ دسکتاپ
Message("Current mouse X position: ","MouseX()")
MouseY()
فاصله کرسر ماوس تا بالای دسکتاپ
Message("Current mouse X position: ","MouseY()")
ProcType()
نام شرکت سازنده و واحد پردازنده مرکزی(central processor unit) یا CPU را بر می گرداند . توجه داشته باشید که ProcType() باید به صورت String تعریف شود . اما چون مغیر های بالا Integer بودند نیازی به تعریف کردن ان به شکل String نیست .
cpu$=ProcType()
Message("CPU in this machine is: ","cpu$")
ProcFreq()
سرعت CPU را به MHz نشان می دهد .
Message("CPU frequency in MHz: ","ProcFreq()")
GetMemory()
مقدار حافظه RAM را نشان می دهد .
a$=GetMemory()
Message("Machine memory status: ","a$")
UsingWinNT()
در قالب یک عدد (Integer) نشان می دهد که آیا کاربر از Windows NT استفاده می کند یا خیر .
Message("WinNT-compatible OS present: ","UsingWinNT()")
برای عدد خروجی دو حالت وجود دارد :
اگر مساوی با 1 باشد یعنی کاربر از خانواده سیستم عامل WinNT استفاده می کند .
اما اگر عدد خروجی 0 باشد یعنی کاربر از خانواده سیستم عامل WinNT استفاده نمی کند .
WinVer()
ورژن ویندوز را نشان می دهد .
var$=WinVer()
Message("Windows version : ","var$")
در جدول زیر انواع ویندوز و ورژن آنها را نوشته ام .
4.00.950 Windows 95
4.00.(>950) / 4.00.(<=1080) Windows 95 SP1
4.(<10).(>1080) Windows 95 OSR2
4.10.1998 Windows 98
4.10.(>1998) / 4.10.(<2183) Windows 98 SP 1
4.10.(>=2183) Windows 98 SE
4.90.3000 Windows Me
3.51.1057 Windows NT 3.51
4.00.1381 Windows NT 4.0
5.00.2195 Windows 2000
5.01.2600 Windows XP/SP1
این رو هم اضافه کنم که مثلا در ورژن ویندوز Xp (5.01.2600) ، 5 را Major version ، 01 را Minor Version و 2600 را Build Version می نامند
چون فردا می رم مدرسه و خوشحالم (؟؟؟) این مطلب رو براتون می ذارم !
نظر بدین ، سوال داشتین بپرسین و...
: : :
این ها 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
تغییری که در اجرای این دو حلقه وجود دارد کاملا محسوس است .
2 نوشته شده در 84/07/01ساعت توسط وحید نائینی | 39 نظر
منظور خاصی ندارم از قرار دادن این عکس !
همین جوری!
2 نوشته شده در 84/06/27ساعت توسط وحید نائینی | 6 نظر
[عنوان ندارد !!! ]
بابا نگین (نگوئید) چرا کمه(کم است) مطلبات!
1. برو یه نگاهی به آرشیو بنداز ;
2. با این حجم کسترده نظرات آخه هر کی باشه حال نداره همین رو هم بنویسیه !
اما سعی می کنم بیشتر بنویسم .
سوال : در باره ابزار فلش (FLASH) توضیح بده :
یکی از ابزار هایی که 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) را ان شا الله تا پنج شنبه خواهم گذاشت .
2 نوشته شده در 84/06/27ساعت توسط وحید نائینی | 3 نظر
زیاد که نه ! اصلا سخت نیست ! روش فکر کنید تا جواباش رو بذارم !
سوال ۱. برنامه ای بسازید که با وارد کردن 3 عدد به عنوان 3 ضلع مثلث بگوید که این مثلث قائم الزاویه هست با نه ؟ (با استفاده از قضیه فیثاغورس)
سوال ۲ . ساعتی بسازید که ساعت ، دقیقه و ثانیه را وارد می کنیم و در همان زمانی که ما مشخص کردیم یک موسیقی پخش کند . (برای پخش موسیقی از این Action script استفاده کنید : AudioOpen("") ) .
سوال ۳ . یک کلید بسازید که نام آن Play است . با کلیک کردن روی آن یک موسیقی پخش می شود و همچنین نام آن به Stop تغییر می کند که با کلیک کردن دو باره موسیقی قطع می شود . (برای قطع شدن موسیقی از این Action script استفاده کنید : AudioStop("") ) .
سوال ۴ . برنامه ای بسازید که مینیمم وماکزیمم بین دو عدد را به دست آورد و در دو خروجی مجزا (Text) نمایش دهد .
سوال ۵ . N تا خط صفحه را به چند قسمت تسیم می کند ؟
سوال ۶. یک برنامه که پنجره فرمت ویندوز را 100000 بار در ثانیه نشان دهد !
2 نوشته شده در 84/06/26ساعت توسط وحید نائینی | 3 نظر
سلام !
اول از همه بگم که : مرگ من نظر بذارید این همه اینا رو می نویسم آخرش 2 تا نظر !
مطلب امروز را در آینده ، کامل در 2 قسمت توضیح خواهم داد .
جالبه بخونید .
برنامه ای می نویسیم که یکی یکی (هر نیم ثانیه) کد های 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 را وارد می کنیم و به کاراکتر تبدیل میکند .
کل برنامه به خاطر CHR است .
توضیح خواهم داد !
نظر یادتون نره !
2 نوشته شده در 84/06/23ساعت توسط وحید نائینی | 4 نظر
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")
2 نوشته شده در 84/06/20ساعت توسط وحید نائینی | 6 نظر
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 را نشان می دهد .
For 1 To 5
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 و... بنویسید .
2 نوشته شده در 84/06/18ساعت توسط وحید نائینی | 5 نظر
ثابت های سیستمی (System Constants)
با چند مثال ثابت های سیستمی را معرفی می کنم :
مثلا طول و عرض پنجره ویندوز شما ، طول و عرض محیط قابل ستفاده desktop شما ، فاصله کرسر ماوس تا چپ و بالا ی محیط کار ویندوز ، ورژن ویندوز شما ، مدل CPU همه از ثابت های سیستمی هستند . حالا بریم سراغ کد نویسی ! نتیجه کد های زیر در قالب یک پنجره پیام خواهد بو که شما می توانید با استفاده از دستور DisplayValue("","") و قرار دادن یک Text در صفحه نتیجه کار را در آن ببینید .
ScreenWidth ()
مختص X نمایشگر را برمی گرداند .
Message("Display width is: ","ScreenWidth()")
ScreenHeight ()
مختص Y نمایشگر را برمی گرداند .
Message("Display width is: ","ScreenHeight()")
WorkAreaWidth ()
مختص X فضای کار را بر می گرداند . (مثلا اگر TaskBar در سمت چپ Desktop باشد ، Taskbar از Screen Width کم می شود)
Message("Display work area width is: ","WorkAreaWidth()")
MouseX()
فاصله کرسر ماوس تا سمت چپ دسکتاپ
Message("Current mouse X position: ","MouseX()")
MouseY()
فاصله کرسر ماوس تا بالای دسکتاپ
Message("Current mouse X position: ","MouseY()")
ProcType()
نام شرکت سازنده و واحد پردازنده مرکزی(central processor unit) یا CPU را بر می گرداند . توجه داشته باشید که ProcType() باید به صورت String تعریف شود . اما چون مغیر های بالا Integer بودند نیازی به تعریف کردن ان به شکل String نیست .
cpu$=ProcType()
Message("CPU in this machine is: ","cpu$")
ProcFreq()
سرعت CPU را به MHz نشان می دهد .
Message("CPU frequency in MHz: ","ProcFreq()")
GetMemory()
مقدار حافظه RAM را نشان می دهد .
a$=GetMemory()
Message("Machine memory status: ","a$")
UsingWinNT()
در قالب یک عدد (Integer) نشان می دهد که آیا کاربر از Windows NT استفاده می کند یا خیر .
Message("WinNT-compatible OS present: ","UsingWinNT()")
برای عدد خروجی دو حالت وجود دارد :
اگر مساوی با 1 باشد یعنی کاربر از خانواده سیستم عامل WinNT استفاده می کند .
اما اگر عدد خروجی 0 باشد یعنی کاربر از خانواده سیستم عامل WinNT استفاده نمی کند .
WinVer()
ورژن ویندوز را نشان می دهد .
var$=WinVer()
Message("Windows version : ","var$")
در جدول زیر انواع ویندوز و ورژن آنها را نوشته ام .
4.00.950 Windows 95
4.00.(>950) / 4.00.(<=1080) Windows 95 SP1
4.(<10).(>1080) Windows 95 OSR2
4.10.1998 Windows 98
4.10.(>1998) / 4.10.(<2183) Windows 98 SP 1
4.10.(>=2183) Windows 98 SE
4.90.3000 Windows Me
3.51.1057 Windows NT 3.51
4.00.1381 Windows NT 4.0
5.00.2195 Windows 2000
5.01.2600 Windows XP/SP1
این رو هم اضافه کنم که مثلا در ورژن ویندوز Xp (5.01.2600) ، 5 را Major version ، 01 را Minor Version و 2600 را Build Version می نامند









