Designed By : DavoodSysteM
Powered By : MihanBlog
بازدید های امروز : 1
بازدید های دیروز : 1
كل بازدیدها :
كل مطالب :
كل نظرات : 1
ایجاد صفحه : - ثانیه
Documents My Recent که در start هست مانند یک جاسوس عمل می کند
شما هر برنامه ای را که باز می کنید در انجا ثبت می کند شما به صورت بسیار ساده می تونید ان را برادرید
برای برداشتنش بر روی start کلیک راست کنید properties را انتخاب کنبد پنجره ای باز می شود که در
نوار بالایی ان گزینه ی start menu را انتخاب و در پایین بر روی گزینه ی customize.. کلیک کنید
پنجره ای به اسم customize Start Menu باز می شود در نوار بالا گزینه ی Advanced را انتخاب
کنید حالا در قسمت پایین صفحه ی گزینه ای با نام List my most recently opened documents
وجود دارد که فعال است شما باید چک رو بردارید تا غیر فعال شود بعد از این کارها okرا بزنید وبعد applyو ok
را زده حالا شما از دسته این جاسوس راحت شده اید
نظر هم اگه دوست داشتی بده من خوشحال می شوم
فرض کنید بخواهیم مثال قبل را طوری تغییر دهیم که با نوشتن هر رقمی در txtCelsius ، بدون نیاز به فشردن کلید، نتیجه به طور خودکار در txtFahrenheit نوشته شود.مثلاً به محض اینکه عدد8 رازدیم، تبدیل شده 8 را به فارنهایت بنویسید و به محض فشردن کلید 0 (روی هم شده است80) تبدیل شده 80 را به فارنهایت بنویسد و ...
ابتدا کدهای نوشته شده برای cmdconvert را پاک کنید و سپس خود کلید را نیز از روی فرم حذف کنید تا به سراغ کدنویسی برای خودText Box ها برویم.
Text Box ها دارای جهار رویداد (Event) مهم می باشند:
KeyDown – KeyUp – KeyPress – Change
زمانی که فوکوس(تمرکز) به یک Text Box داده شود، اگر کلیدی از صفحه کلید زده شود، ابتدا رویدادKeyPress رخ می دهد ( و این به سیستم می فهماند که یک کلیدی فشرده شد) ، سپس رویداد KeyDown رخ می دهد ( و این به سیستم می فهماند که کلید زده شده، تازه زده شده است و هنوز فشرده است) و وقتی دستمان را از روی کلید برداریم، رویداد KeyUp رخ می دهد.
رویداد Change نیز زمانی که هر تغییری در مقدار داخل Text box انجام شود، روی می دهد (و لذا مثلاً اگر کلیدی مثل Arrow Keys (کلیدهای حرکتی) که تغییری در مقدار داخل Text Box انجام نمی دهد زده شود، رویداد Change رخ نمی دهد.)
توجه داشته باشیم که KeyDown (وKeyUp) برای همه کلیدهای صفحه کلید رخ می دهد اما رویداد KeyPress برای برخی مثل Arrow Keys رخ نمی دهد.
Event Procedure مربوط به KeyDown و KeyUp دارای دو آرگومان (پارامتر) هستند:
1- پارامتر keycode که کد اسکی کلید فشرده شده را بر می گرداند.
2- پارامتر Shift که یکی از چهار مقدار 0 و 1 و 2 و 3 را بر می گرداند. اگر مقدار برگشتی آن یک باشد، یعنی در حال فشردن کلید زده شده، کلید Shift پایین بوده، مقدار برگشتی دو نشانگر پایین بودن کلیدAlt و مقدار برگشتی برابر سه، نشانگر پایین بودن کلید Control می باشد و صفر بودن آن، فشردن کلید بدون پایین بودن هیچ یک از این سه کلید می باشد. و Event Procedure مربوط به KeyPress تنها یک آرگومان KeyAscki دارد که کد اسکی کلید فشرده شده را برمی گرداند.
با توجه به مطالب گفته شده، کافی است برای رویدادِ (Event) KeyUp از txtCelsius چنین بنویسیم:
Private Sub txtCelsius_KeyUp (KeyCode As Integer, shift As Integer)
txtFahrenheit = (Val (txtCelsius)*9/5) + 32
End Sub
ذکر چند نکته:
1- اگر بر روی یک Text Box در Design Time دابل کلیک کنید، به طور پیش فرض، رویداد Change از آن را برای کدنویسی باز می کند. اگر می خواهیم Event Procedure رویدادهای دیگر را بیاوریم، کافی است از Combo Box منوی باز شونده عمودی کرکره ای که یک فلش رو به پایین سمت راست خود برای باز شدن منو دارد) سمت راست بالای صفحه کدنویسی، یکی از Event Procedure ها را به دلخواه انتخاب کنیم. Combo Box سمت چپ آن هم نام تمام Object های استفاده شده در آن فرم خاص را دارد که هر کدام انتخاب باشد، در Combo Box سمت راست، Procedure های آن Object خاص را لیست خواهد کرد. در شکل 5 برخی از رویدادهای مربوط به txtCelsius را می بینید.
2- همانطور که می بینیم در Procedure فوق برای Text Box ها، نام هیچ مشخصه ای را نیاوردیم که همانطور که قبلاً توضیح داده شد، در اینصورت به طور پیش فرض، مشخصه Text برای آنها در نظر گرفته می شود.
3- تابع Val (مخفف Value) مقدار عددی یک string را برمی گرداند. از آنجا که مقدار داخل txtCelsius از نوع string 0متنی) است ولی باید بر روی آن عمل ضرب و تقسیم و جمع را انجام دهیم. ابتدا آن را توسط تابع Val، عددی نمودیم. (هر چند VB تا جای ممکن سعی می کند خودش این تبدیلات را اگر ما هم نگذاریم، انجام دهد ولی بهتر است عادت شود، برای جلوگیری از خطاهای احتمالی، شرایط هر موقعیت را فراهم آوریم.)
ادامه:
آخرین کاری که باید برای پروژه Second Example انجام دهیم، جلوگیری از خطای Type Miss Mach است. این خطا زمانی روی می دهد که در یک عملیات، مقادیر مناسب نباشند. مثلاً اگر بخواهیم مقدار متنی “Ali” را در مثلاً 5 ضرب کنیم، این خطا (که در VB، خطای شماره 13 است) رخ می دهد.
در برنامه ما هم، اگر کاربر، در txtCelsius بجای یک عدد، حرفی را بنویسد، هنگام ضرب شدن در 9/5، همین خطا رخ خواهد داد.
برای جلوگیری از بروز خطا و گرفتن کنترل خطا بدست برنامه، از تابع On Error استفاده می کنیم. اگر Procedure مربوط به رویداد Key Up از txtCelsius را به صورت زیر تغییر دهیم:
Private Sub txtCelsius–KeyUp (KeyCode As Integer, shift as Integer)
On Error Goto xx
txtFahrenheit = (txtCelsius * 9/5) + 32
Exit Sub
xx:
IF Err. number = 13 then
txtFahrenheit = “can’t convert “
End IF
End Sub
در اینصورت تابع On Error می گوید که وقتی به خطایی در ادامه برخوردی به خطی از Procedure که دارای برچسب xx (یک برچسب اختیاری) است برو (Goto xx) . اگر برنامه به این خط برود (یعنی وقتی خطایی رخ داد) ، بررسی می کند اگر شماره خطای رخ داده شده (Err یک Object همیشگی در VB است که مشخصه number از آن، شماره شماره خطای رخ داده را در خود نگهداری می کند) برابر B بود، بجای convert کردن، در txtFahrenheit بنویسید” can’t convert “ (امیدوارم نحوه بکارگیری دستورات شرطی (IF sentences) را بدانید). تنها نکته ای که هست اینکه اگر خطا رخ نداد و convert انجام شد، دیگر نباید به خط xx وارد شود و لذا از دستور Exit sub استفاده کردع ایم. این دستور در هر جایی از یک sub اجرا شود، بلافاصله از آن خارج می شود و دستورات دیگر را اجرا نمی کند.
فرض کنید بخواهیم فرمی داشته باشیم که دارای دو Text Box (که در VB برای عملیات دریافت اطلاعات از کاربر (DataEntrq) معمولاً از این کنترل استفاده می شود) برای درجه سیلسیوس و درجه فارنهایت باشد و توسط یک دکمه (و در واقع با فشردن آن توسط کاربر) مقداری که در Text box مربوط به درجه سیلسیوس نوشته شده بود را به فارنهایت تبدیل کند و نتیجه را در Text Box مربوط به آن درج نماید. (توجه: اگر Cمقدار درجه برحسب سیلسیوس و F مقدار درجه برحسب فارنهایت باشد، تبدیل سیلسیوس به فارنهایت از فرمول F=9/5 C+32 محاسبه می شود). شکل نهایی فرم را می توانید در شکل 4 ببینید.
برای این منظور، از جعبه ابزار (جعبه حاوی کنترلها) ، دو برچسب (Label) که در جعبه ابزار به شکل
1- مشخصه Name را به lblCelsius
2- مشخصه Caption را به Celsius
و برای دیگری:
1- مشخصه Name را به lblFahrenheit
2- مشخصه Caption را به Fahrenheit
تغییر می دهیم. توجه داریم که در نامگذاری Label ها با سه حرف اول lbl آغاز کرده ایم. همچنین توجه داریم که در شکل 4 ، بر روی فرم، عبارات Celsius و Fahrenheit در واقع همین دو Label هستند.
نکته: برای Label هایک مشخصه (Property) دیگر به نام Auto Size وجود دارد که اگر مقدار آن را به True تغییر دهیم، اندازه (size) آن به طور اتوماتیک به اندازه متن (caption) داخل آن خواهد شد و بنابراین معمولاً بهتر است این مشخصه را نیز set کنیم.
حال دو Text Box (جعبه متن) در مقابل این Label (Text Box ها در جعبه ابزار به شکل
1- مشخصه Name رابه txtCelsius تغییر می دهیم.
2- مشخصه Text را خالی می کنیم.
و برای دیگری:
1_ مشخصه Name را به txtFahrenheit تغییر می دهیم.
3- مشخصه Text را خالی می کنیم.
واضح است که در نامگذاری TextBox ها نیز از قرارداد سه حرف اول متناسب با نوع شئ، استفاده کردیم و سه حرف اول آنها را txt گذاشتیم.
مشخصه Text در Textbox ها آن متنی است که داخل آن متنی است که داخل آن نوشته می شود(شبیه مشخصهCaption در Label ها) و چونقرار است کاربرما آن را وارد کند، آن را خالی (NULL) کردیم.
حال یک دکمه (Command button) نیز به فرم اضافه و:
1- مشخصه Name را به cmdConvent
2- مشخصه Caption را به convent
تغییر می دهیم.
خوب، ظاهر (Interface) برنامه آماده شد. حال به کدنویسی برای آن می پردازیم. این اولین باری است که می خواهیم در زمان اجرا (Run Time) از مشخصه ای استفاده کنیم (مشخصه Text از txtCelsiusکه توسط کاربر وارد شده) و مشخصه ای را در این حال (Run Time) تغییر دهیم (مشخصه Text ازtxtFahrenheit که باید نتیجه را بنویسد)
در VB هنگام کدنویسی برای Run Time هر زمان بخواهیم از یک Object استفاده کنیم، کافی است نام (Name) آن را بنویسیم و اگر بخواهیم به یکی از مشخصه های آن دست یابیم، کافی است پس از نام آن یک نقطه (Dot) قرار دهیم و سپس نام مشخصه (Property) مورد نظر خورد را بنویسیم.
با توجه به این مطلنب، دیگر نوشتن کدهای مثال فوق کار چندان دشواری نیست. اگر بر روی دکمه Convent (البته در Design Time ) دابل کلیک نمایید، در اینصورت Procedure مربوط به رویدادِ(Event) کلیک از آن باز می شود که کافی است در آن نوشته شود:
txtFahrenheit.Text = (9/5*txtCelsius.Text) + 32
یعنی Procedure باید به شکل زیر شود:
Private Sub cmdConvent_Click ()
txtFahrenheit.Text = (9/5*txtCelsius.Text) +32
End Sub
واضح است که وقتی مشخصه Text از یک Text Box در سمت یک تساویِ جایگزینی قرار می گیرد، مقدار فعلی آن در عملیات شرکت می کند و وقتی این مشخصه در سمت چپ این جایگزین قرار می گیرد، مقادیر محاسبه شده در آن قرار می گیرد.
بنابراین، Procedure فوق می گوید که وقتی بر روی دکمه Convent کلیک شد، هر مقداری که کاربر، داخل جعبه Celsius نوشته باشد را در 9/5 ضرب و با32 جمع کن و مقدار نهایی را داخل جعبه مربوط به Fahrenheit بنویس.
این برنامه را حتماً بنویسید، آن را اجرا منید و با نحوه استفاده از Property ها در این کدنویسی بری Run Time آشنا شوید. در ادامه، بیشتر با این نوع استفاده از Property ها (یعنی set کردن در کدنویسی بجای set کردن در پنجره Properties از Design Time) مواجه خواهیم شد. و مهم است که این نوع استفاده را خوب درک کنیم.
نکته: مشخصه Text برایText Box ها و مشخصه Caption برای Label ها، مشخصه های پیش فرض آنها محسوب می شوند و اگر نام آنها را بدون هیچ مشخصه ای بنویسیمف این مشخصه ها در نظر گرفته می شود، اذا مثلاً در Procedure بالا می توانستیم بجای txtCelsius.Text از خود txtCelsius نیز استفاده کنیم.
:: آنتی ویروس: بسته امنیتی بسیار قدرتمند McAfee Total Protection v2009
:: نرم افزاری مفید برای تغییر چهره ویندوز
:: 10 محافط صحنه زبیا در سایز 240x320
:: محافظ نمایش با رقص پروانه ها Desktop Butterflies 3D Screensaver
:: جلوگیری از PM های مزاحم در هنگام چت
:: Norton AntiVirus 2009 16.0.0.125
:: ابزاری مبدل چند رسانه ایPortable Blaze Video Magic v3.0
:: Nero 9.0.9.4D Full Edition Latest Version
:: معرفی بازی معتبر منتشر شده دنیا
:: خبرهایی داغ از مایکرسافت: رونمایی ویندوز هفت ( اخبار آی تی , )
:: نحوه تنظیمات استفاده از سرویس GPRS همراه اول
:: کتاب الکترونیکی موبایل با عنوان بیوگرافی بازیگران سینما -جاوا
:: Yamicsoft WinXP Manager v5.28 نرم افزاری برای مدیریت بر ویندوز XP
:: BestAddress HTML Editor 2008 Professional نرم افزاری برای طراحی راحت وب