آموزش حرفه اي ويژوال بيسيک 6 ، اکتيوايکس ( OCX ) ، سورس کد ، پروژه هاي کامل ، پايگاه داده ، مقاله
ترفندهايی جهت بدست آوردن مشخصات سيستم در VB.NET

اين مقاله شامل ترفندهايی جهت بدست آوردن مشخصات سيستم مانند نام ماشين، ورژن سيستم عامل و... و همچنين کاربردهای آنهاست. 

در اين مقاله به بررسی روشهايی پرداخته ميشود که به کمک آن می‌توان چند مشخصه از مشخصات سيستم را بدست آورد و از آنها در برنامه‌های کاربردی خود استفاده کرد. اين ويژگیها با استفاده از فضانام System.Environment بدست می آيند. کلاس Environment شامل اطلاعاتی در مورد محيط کار و پلات‌فرم حاضر روی سيستم و همچنين وسايلی در اين زمينه می باشد. اين کلاس نمی‌تواند به ارث برده شود.

نام ماشين (MachineName):
به کار بردن خصوصيت MachineName از اين کلاس نام NetBIOS کامپيوتر مربوطه را برمی‌گرداند. با بکار بردن کد زير در رويداد کليک يک Button می‌توان نام ماشين را در يک جعبه متن نمايش داد:

TextBox1.Text = System.Environment.MachineName.ToString

ورژن سيستم عامل (OSVersion):
با استفاده از خصوصيت OSVersion می‌توانيد ورژن سيستم عامل کامپيوتر کاربر را شناسايی کنيد. برای مثال با بکار بردن کد زير روی ويندوز ايکس پی، عدد 5.1.2600 به عنوان نتيجه برگردانده ميشود.

TextBox1.Text = System.Environment.OSVersion.ToString
از موارد استفاده اين خصوصيت می‌توان به کنترل نسخه ويندوز قبل از اجرای برنامه اشاره کرد. به عنوان مثال اگر برنامه شما برای اجرا روی ويندوز ايکس پی نوشته شده است با کنترل مقدار خروجی اين خصوصيت از اجرای آن روی نسخه‌های پائين‌تر ويندوز جلوگيری شود.


دايرکتوری سيستم (SystemDirectory):
خصوصيت SystemDirectory، نام دايرکتوری سيستم کاربر را برمی‌گرداند.
TextBox1.Text = System.Environment.SystemDirectory.ToString

نام دامنه (UserDomainName):
اين خصوصيت نام دامنه شبکهء کامپيوتر ميزبان را اعلام ميکند. مقدار اين خصوصيت به طور معمول همان نام کامپيوتر ميزبان است. برنامه شما بايد تحت ويندوز ان تی 3.1 و يا بالاتر از به اجرا درآيد؛ درغيراينصورت يک استثناء برپا خواهد شد (PlatformNotSupportedException).

TextBox1.Text = System.Environment.UserDomainName.ToString

نام کاربر (UserName):
مقدار خروجی اين خصوصيت نام کاربری شخصی است که به سيستم وارد شده است. این خصوصيت می‌تواند جهت شناسایی کاربر حاضر در سيستم به کار گرفته شود و از آن برای کنترل دسترسی به برنامه و اهداف امنيتی بهره برد. از ديگر کاربرد‌های اين خصوصيت، سفارشی کردن برنامه برای هر کاربر است.

TextBox1.Text = System.Environment.UserName.ToString

ورژن CLR ‏(Version):
اين خصوصيت نگارش زبان معمول زمان اجرا (Common Language Runtime) را برمی‌گرداند.

TextBox1.Text = System.Environment.Version.ToString

TickCount:
اين ويژگی يکی از ويژگيهای جالب ويندوز است که کاربردهای فراوانی دارد. اين خصوصيت يک عدد 32 بيتی را برمی‌گرداند که نشان دهندهء زمانی است (بر حسب ميلی ثانيه) که از روشن شدن سيستم ميگذرد. اين مقدار از تايمر سيستم گرفته ميشود و در يک متغير عددی 32-بيتی علامتدار ذخيره ميشود. با توجه به اينکه اين مقدار 32 بيت طول دارد، بنابراين اگر سيستم شما 24.9 روز روشن بماند، اين مقدار صفر شده و ازنو شروع به شمردن ميکند. دقت کنيد اين خصوصيت نمی تواند کمتر از 500 ميلی ثانيه باشد. با بکار بردن کد زير ميتوان اين مقدار را در يک جعبه متن نمايش داد:

TextBox1.Text = System.Environment.TickCount.ToString
از جمله کاربردهای خصوصيت TickCount ميتوان به محدود کردن زمان استفاده از کامپيوتر توسط کاربر اشاره کرد که ميتواند کاربردهای فراوانی داشته باشد.

نکته: توجه داشته باشيد که TickCount با Tick تفاوت دارد. Tick عددی است با وقفه های به مدت 100 نانو ثانيه که شامل مدت زمانی است که از ساعت 12:00am مورخ 1/1/0001 ميگذرد. اين خصوصيت را ميتوانيد با استفاده از System.DateTime.Now.Ticks بدست بياوريد.

+ نوشته شده در  ساعت 13:7  توسط مسعود تنگستانی  | 
مفاهیم برنامه نویسی شیئ گرا (OOP-Object Oriented Programming):

در دنیای ما، هر شیئی (Object)، مثل صندلی، میز، دیوار و ... خلاصه همه اشیایی که ما دور و بر خودمون می بینیم، دارای صفاتی (Property) هستن که البته در بسیاری موارد تغییرپذیر هم هستن. برای اینکه منظورم رو بهتر بفهمید، یه مثال کوچک می زنم: مثلاً، صندلی یکی از اشیا هست و برخی صفات اون مثل :رنگ، شکل و ... تغییر پذیرند، مثلاً ما می تونیم به صندلی هر رنگی که بخوایم بزنیم. همچنین ما می تونیم اگه در یه جایی از خونه، صندلی لازم داشتیم، صندلی قبل رو اونجا ببریم و استفاده لازم رو از اون بکنیم، بدون اینکه صندلی دیگه ای ساخته باشیم. بنابراین، حتی زندگی ما نیز از جهاتی به برنامه نویسی شیئ گرا شباهت داره. در برنامه نویسی به این شیوه نیز، برنامه ی ما به قطعات کوچکتری تقسیم می شه که هم کنترل برنامه آسون تر می شه و خوانایی برنامه برای برنامه نویس بیشتر می شه. همچنین ما می تونیم از شیئی که قبلاً در برنامه ساختیم، در برنامه های دیگر هم استفاده کنیم، بدون اینکه دوباره نیاز به کلی برنامه نویسی برای ساختن دوباره شیئ داشته باشیم. بذارید مثالی هم از کاربرد اشیا بزنم: مثلاً شما در برنامه ای یک نوع کنترل، مانند دکمه، ولی با این فرق که کار دیگه رو انجام بده، می سازید. شما می تونید از این کنترلی که ساختید، مثلاً همان دکمه بخصوص، در برنامه های دیگرتون هم استفاده کنید، بدون اینکه دوباره اون رو تعریف کنید یا براش کد بنویسید، مثلاً در هر برنامه ای که کتنرل خودتون رو نیاز داشتید، این کنترل (در VB)، مانند کنترل های دیگه به جعبه ابزار اضافه می شه و می تونید اون مانند یه دکمه خود VB روی فرم قرار بدید و از اون استفاده کنید. برای نمونه، من یک کنترل ساعت درست کرده بودم که در برنامه هایی که نیاز به ساعت داشنتد، اون از جعبه ابزار کشیده در یه جای خوب روی فرم قرار می دادم و ازش مانند کنترل های دیگه استفاده می کردم. بعداً در بخش کاربردی VB، نحوه ساخت و ایجاد اشیا و کنترل های جدید رو به تفصیل شرح خواهم داد. البته این بخش رو هم ساده و در حد مبتدی شرح دادم که امیدوارم که منظورم رو فهمیده باشید.

بعد از خود این اشیا، به تعریف صفات اشیا می پردازیم. در بالا گفتیم که اشیا دارای صفاتی هم هستند که گاه صفاتی تنها مختص آن شیئ، و گاهی اشیا در برخی صفات مشترک هستن. به طور مثال، یک شیئ دکمه فرمان (Command Button)، می تواند صفاتی همچون: رنگ، متن درون آن، رنگ قلم، نوع فونت و... باشد که هریک قابل تغییراند، یا در زمان اجرای برنامه، یا در زمان طراحی برنامه. در VB، برای دسترسی به صفات یک شیئ به بخش Properties هر شیئ یا کنترل مراجعه می کنیم. البته این کار در هنگام طراحی شکل برنامه امکانپذیره. خوب حالا شاید یه برنامه نویس خواست مثلاً در هنگام اجرای برنامه، مثلاً وقتی کاربر روی یه دکمه کلیک کرد، رنگ پس زمینه فرم رو، که یکی از صفات یا ویژگی های فرمه، تغییر بده. پس باید چکار کنه؟ باید این حالت رو در بخش کدنویسی پیاده سازی کرد. در بخش کدنویسی VB، برای دسترسی به ویژگی های یک کنترل، از قراردادن نقطه (.) پس از نام کنترل یا شیئ استفاده می کنیم. مانند:


Label1.BackColor



            در مثال بالا، ما خواسته ایم که به صفت یا ویژگی رنگ پس زمینه یا BackColor شیئ Label1، دسترسی پیدا کنیم و اون رو تغییر بدیم. مثلاً BackColor رو مساوی یه رنگ دلخواه قرار بدیم:


Label1.BackColor=Color.Red



            در این جا، ما خاصیت رنگ پس زمینه Label رو مساوی قرمز قرار دادیم. ضمناً بگم که این مثال ها رو فقط در ذهن خودتون برای یادگیری به خاطر بسپارید و الا من این مثال ها رو برای درک بهتر زدم، چون این خط کدها به تنهایی در VB کاربردی ندارن.
مفاهیم کلی (Event,Method, Procedure, Variable, Constant):


فکر می کنم فعلاً همین اندازه مفاهیم در سطح شما کافی باشه. بقیه مفهوم ها رو در طول دروس به تفصیل شرح میدم.



رویداد (Event): به هر عملی که از سوی کاربر بر روی یکی از کنترل ها یا اشیا برنامه صادر می شه، یک رویداد می گن. در VB، کنترل ها می تونن نسبت به رویداد های مختلفی از جمله کلیک، بارگذاری، تغییر و ... واکنش های متفاوتی رو نشون بدن. مثلاً یه تکست باکس رو (Text Box)، می توان اون رو جوری کدنویسی کرد که اگر روی آن کلیک شد یه پیغام نشون بده، و در عین حال می توان به رویدادی غیر از کلیک، مانند تغییر، کدی رو نوشت که همان کنترلی که با کلیک، پیغام نشون می داد، با تغییر کردن متن درون آن، مثلاً جمع دو عدد رو نشون بده. پس زبان VB، در بعضی موارد، بسیار انعطاف پذیر هم هست.


متد (Method): در VB، دستوالعمل ها و توابع به دو دسته تقسیم می شوند: دسته اول، دستورالعمل ها و توابع کلی هستن و دسته دوم، دستورالعمل ها و توابعی هستند که بر روی شیئ یا عنصر خاصی، اعمال میشن. به این دستورالعمل ها، که نحوه دستیابی به آن ها مانند ویژگی هاست، متد یا صفات اجرایی  می گویند.


روال (Procedure): در VB، هر رویدادی روال مربوط به خودش را دارد. به مجموعه دستورالعمل هایی که با رخ دادن یک رویداد، به طور خودکار اجرا می شوند، روال یا زیربرنامه می گویند.



متغیر(Variable): به مکان هایی از حافظه که نوعی داده رو در خود ذخیره می کنن، متغیر می گن. این داده ها در طول برنامه قابل تغییر هستند. یادتون باشه برنامه نویسی بدون متغیر، تقریباً امکان پذیر نیست. نحوه تعریف متغیر ها و انتساب یک نوع داده  رو به اون، بعداً شرح می دم.


ثابت(Constant): آنچیز که عیان است، چه حاجت به بیان است! از اسمش معلومه که نقطه مقابل متغیره، یعنی این هم داده ها رو با انوع معلومی نگه داری می کنه، اما با این تفاوت که داده های این نوع در طول برنامه قابل تغییر نیست. یعنی داده ها که انواع ذخیره می کنند، توسط خطای ناآگاهانه برنامه نویس که ممکنه رخ بده، هیچ تغییری نمی کنه. مثلاً در یک برنامه ای می خواهیم عدد پی (pi=3.14) رو در برنامه، برای استفاده بعدی از اون، ذخیره کنیم. قطعاً متغیر ها انتخاب خوبی نیستند، چون ممکنه برنامه نویس در اثر یک اشتباه، مقداری رو، هر چند ناچیز، به متغیری که پی رو نگه داری می کنه، اضافه یا کم کنه؛ اون وقته که فاجعه پیش میاد و تمام محاسبات، اشتباه از آب در میاد. اما اگر همین داده رو با استفاده از ثابت ها ذخیره کنیم، دیگه جایی برای اشتباه نمی مونه، چون حتی اگر به طور عمدی هم بخواهیم مقداری رو به اون اضافه یا کم کنیم، زبان برنامه نویسی مورد نظر، در خطایی برای ما اعلام می کنه که شما سعی براین داشته اید که مقدای رو به ثابتی منتسب نمایید.


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

+ نوشته شده در  ساعت 17:24  توسط مسعود تنگستانی  |