۲- مفاهیم اولیه برنامه نویسی
بذارید اصلاً از ابتدا شروع کنم. برنامه نویسی کلاً به سه دسته تقسیم می شه:
· برنامه نویسی سطح بالا
· برنامه نویسی سطح میانی
· برنامه نویسی سطح پایین
همونطوری که می دونید، هر برنامه ای، مجموعه ای از دستورالعمل هاست که به دنبال هم به وسیله سی پی یو یا واحد پردازشگر مرکزی اجرا میشن. البته فکر نکنید که سی پی یو خودش عقل کلَه! بلکه معمولاً همین دستور ها، صرفاً دستوراتی بسیار ساده هستند مانند جمع، ضرب و... اما مجموعه همین دستور های کوچیکه که روی هم جمع می شه و تبدیل به یک برنامه کارآمد می شه. هر برنامه ای از حدوداً از هزاران یا میلیونها دستور العمل مختصر مانند بالا تشکیل شده.
مشکل ترین راه برای برنامه نویسی، نوشتن کد ماشین (صفر و یک) به طور مستقیمه که کار حضرت فیله! چرا که انجام این عمل بسیار سخته و سی پی یو های جدید، هر یک صد ها دستورالعمل مختلف دارند، البته مشکل بودن برنامه نویسی به زبان ماشین، تنها سختی نوشتن آن نیست، بلکه هر مدل از سی پی یو، خودش دستورالعمل های خاص خودش رو داره که سرهم می شه قوز بالا قوز! بنابراین، برنامه نویسی به زبان صفر و یک یا باینری(اصطلاح جدید رو یاد بگیرید: باینری=صفر و یک)، مستلزم اطلاعات بسیار گسترده ای در مورد کارکرد هر سیستم عامل و هر مدل از یک سخت افزار و... است که از عهده خارج است.
شاید اسم زبان اسمبلی به گوشتون خورده باشه، اسمبلی چیزی جز همان صفر و یک نیست، که البته به حالت متنی درآمده و شما به جای اینکه اعداد هر دستور رو مجبور باشید یاد بگیرید و به ذهن بسپارید، از نامهایی که از قبل معلوم شدن، استفاده می کنید. اسمبلی امروزه، جز برنامه نویسی بسیار سطح پایین سیستم و برنامه نویسی هسته (Kernel) سیستم های عامل، که مستقیماً با سخت افزار سر و کار دارند، کاربرد دیگه ای نداره.
بعد از این که برنامه نویسی سطح پایین رو معرفی کردیم، حالا به برنامه نویسی سطح میانی و سطح بالا می رسیم. زبان های برنامه نویسی سطح بالا امروزه به طور چشمگیری، زیاد شدند و دلیلش هم اینه که به زبان مکالمه روزانه زبان انگلیسی نزدیک تره و راحت می توان برنامه های خودمون رو به سرعت (ترجیحاً در محیط ویندوز) بنویسیم، بدون اینکه به یادگیری زبان اسمبلی یا صفر و یک، حتی برای نوشتن یک برنامه ساده،نیاز داشته باشیم.
برای مثال، برای چاپ کردن یک کلمه در زبان بیسیک روی صفحه نمایش، نیاز به خط کد زیر داریم:
PRINT "Hello"
همانطوری که می بینید، برنامه نویسی به این شیوه، بسیار آسونتر از برنامه نویسی با اسمبلی یا صفر ویکه. نکته دیگه اینه که، کامپیوتر ها دقیقاً چیزی رو که شما بهشون می گید، اجرا میکنن، نه اجرا کردن اینکه منظور شما چی بوده، مثلاً:
PRINT ] "Hello"
اگرچه در سطر بالا، مطمئناً منظور برنامه نویس، چاپ کلمه "Hello" بوده، ولی کاراکتر "[" زیادیه، کامپیوتر هم این رو نمی فهمه و مرغ هم یک پا داره! از زبانهای سطح بالای معروف، می توان پاسکال (Pascal) و ویژوال بیسیک (Visual Basic) رو نام برد.
و آخرین توضیح اینکه زبان برنامه نویسی سطح میانی، یعنی زبانی که از برنامه نویسی سطح بالا و پایین، به طور تلفیقی استفاده کرده باشه، مثل زبان C یا C++.
مفسر ها (Interpreters):
مفسر، برنامه ایه که کد منبعی رو که برنامه نویس نوشته، خط به خط می خونه و اجرا می کنه. در حقیقت، مفسر ها، کد هایی رو که ما نوشتیم، به زبان صفر و یک و زبانی که برای ماشین قابل درک باشه، ترجمه نمی کنه و فقط برای اون معلوم شده که مثلاً اگر به کلمه "PRINT" رسید، عبارت جلوی اون رو رو صفحه نمایش بده. ولی این نوع ترجمه کد، اشکالات زیادی داره و همین باعث شده تا این گونه زبان هایی که فقط از مفسر برای اجرای برنامه هاشون استفاده می کنن، زیاد پر طرفدار نباشند. مثلاً، هر کسی می تونه به کد نوشته شده برای برنامه شما، دسترسی داشته باشه و به دلخواه خودش اون رو تغییر بده، یا هر کسی برای اجرای برنامه شما، باید یه مفسر جداگانه داشته باشه که قطعاً با بسیار سخته یا اصلاً امکان پذیر نیست. از زبان های تفسیری، می توان به بیسیک (BASIC) و جاوا سکریپیت(JavaScript) اشاره کرد.
کامپایلرها (Compilers):
کامپایلر ها، مترجم هایی به معنای واقعی هستند. در حقیقت این نوع برنامه ها، کد منبعی رو که برنامه نویس نوشته، مستقیماً به زبان ماشین (صفر و یک) ترجمه می کنه و از اون یک فایل اجرایی (Executable File *.exe) می سازه. البته این نوع اجرای کد منبع، بسیار بهتر از نوع اول یعنی مفسر هاست، چرا که اگر اشکالی هم در نحو (Syntax) کد منبع برنامه وجود داشته باشه، اون خطا رو به برنامه نویس گزارش می کنه و تا اون خطا از برنامه رفع نشه، کامپایلر هیچ گونه فایل اجرایی نمی سازه. در اینجا به چندتا از مزیت های استفاده از کامپایلر ها اشاره میکنم:
- یک برنامه کامپایل شده چون مستقیماً به زبانی که برای ماشین قابل فهم باشه، ترجمه شده، طبیعتاً سرعتش هم در مقایسه با برنامه هایی که مترجم ها اون رو اجرا می کنن، بسیار بیشتره (آگه بگم حداقل صدبار بیشتر، اغراق نکردم).
- برنامه های کامپایل شده، نیازی به یک برنامه پشتیبان، مانند مفسر ندارند و مستقلاً، چون فایل اجرایی هستند، اجرا می شوند (این نوع برنامه ها، برنامه های خود ایستا یا (Stand-alone) نامیده می شوند).
- برنامه های کامپایل شده، کلاً از برنامه های تفسیر شده قدرتمند تر هستند.
زبان های کامپایلری، امروزه به طور بسیار گسترده ای استفاده می شن. در اصل، بسیاری از برنامه های واژه پرداز مثل Word یا برنامه های ریاضی، برنامه های اصلاح تصاویر و بسیاری از برنامه هایی که سرعت بالایی رو لازم دارن، مثل بازی های سه بعدی، به وسیله زبان های کامپایلری نوشته می شن. از محبوب ترین زبان های کامپایلری، می توان C یا C++ را نام برد.
در این جا پس به خوبی در می یابیم که زبان های کامپایلری، ارجحیت کاملی بر زبان های تفسیر شده دارند، البته استثناهایی هم وجود دارد، مانند همین مایکروسافت ویژوال بیسیک، که به عنوان یک زبان کامپایلری معرفی می شود، اما این زبان کاملاً نیازمند توابع ذاتی کتابخانه ای زمان اجراست. بسیاری از برنامه نویسان حرفه ای، ویژوال بیسیک را اصلاً به عنوان زبان برنامه نویسی تلقی نمی کنند، بلکه آن را فقط یک اسباب بازی (!) برای ایجاد برنامه های پر از اشکال و ساده تحت ویندوز به شمار می آورند. خیله خوب حالا! فکر کنم خیلی حاشیه رفتم. البته با این حرف هایی که زدم، از ویژوال بیسیک دلسرد نشین ها، چون هنوز هم محبوب ترین زبان برنامه نویسی تحت ویندوز، همین جناب ویژوال بیسیک است (خسته شدم اینقدر نوشتم ویژوال بیسیک! از این به بعد، همه ما این زبان رو به اختصار، وی بی (VB) می نامیم، خوب؟). و همینطور بسیاری از برنامه های خود مایکروسافت (به استثنای برنامه های سیستمی که با زبان قدرتمند سی نوشته می شن) مثل مجموعه Office یا ... با VB نوشته شدن.
منبع : http://vblearning.persianblog.com
ویژوال بیسیک به شما این امکان رو می ده که یک برنامه تحت ویندوز رو، تنها با کشیدن و انداختن چند کنترل بر روی فرمی که از پیش برای شما آماده شده، و تنها با نوشتن چند قطعه کد کوچک برای کارهایی که از ویژوال بیسیک می خواهید انجام بده، بسازید. خوب، از این بهتر دیگه چی می خواید؟ حالا شاید این سوال برای شما پیش بیاد که کنترل اصلاً چیه؟ ببینید، به هر شیئی که شما می تونید روی فرم قرار بدید و از اون برای پیشبرد کارهاتون استفاده کنید، کنترل میگن(البته در سطح خیلی پایین شرح دادم، امیدوارم که خوب منظورم رو فهمیده باشید). مثلاً می تونید برای ویژوال بیسیک معین کنید که وقتی که مثلاً روی یک دکمه فرمان (Comman Button) کلیک میشه، چه کاری رو انجام بده. به زبان ساده تر، به اشیائی که شما اغلب تو محیط ویندوز می بینید، مثل دکمه ها، منو ها، جعبه متن ها(تکست باکس ها) و ... کنترل می گن. کنترل ها، در ویژوال بیسیک، دو گونه هستند، 1- کنترل هایی که در زمان اجرا قابل روئیت هستن (Visual Controls)، و کنترل هایی که روی فرم قرار داده می شن ولی قابل دیدار نیستن و فقط تاثیر اون ها بر برنامه دیده میشه (Non-Visual Controls).
به این نوع برنامه نویسی، رویداد گرا (Event-Driven) میگن. چرا که هر برنامه ویژوال بیسیک از تعداد زیادی از خط کدهایی تشکیل شده که به برنامه میگن که وقتی فلان اتفاق افتاد، زبان برنامه نویسی در مقابل اون چه واکنشی انجام بده. البته وقتی که برنامه در حال نوشتنه، برنامه نویس نمی دونه که کی ممکنه مثلاً یه کاربر یه دکمه رو فشار بده، چون این رو دیگه خود ویژوال بیسیک معلوم می کنه و مثل برنامه نویسی سنتی، برنامه نویس مجبور نیست تمام عملیات برنامه رو، مثل مثال بالا، کنترل کنه. این شیوه برنامه نویسی رو که برنامه از بالا خونده می شه و دستور ها تک به تک اجرا می شن (مثل زبان سی)، و برنامه از بالا به سمت پایین در حال حرکته، برنامه نویسی بالا به پایین میگن که البته این نوع برنامه نویسی با عرضه زبان هایی چون ویژوال بیسیک، منسوخ شده. زیاد درگیر این مسئله نشین. برگردیم به بحث اصلی: من در بخش های دیگه قصد دارم که این شیوه برنامه نویسی یعنی رویدادگرا رو با ارائه چندین مثال در طول تدریس شرح بدم. خوب، درس اول رو از اساس برنامه نویسی، و با تشریح مفهیم اولیه برنامه نویسی، و به یاری خدا، شروع می کنیم:
مقدمه:
چرا ويژوال بيسيك؟ شايد اين اولين سوالي باشد كه براي هركسي بوجود مي آيد چرا با وجود زبان هاي برنامه نويسي مثل ويژوال C ++ ، دلفي، .... درمحيط Windows ما بايد به سراغ ويژوال بيسيك برويم. بهتر كه براي جواب دادن به اين سوال ، ابتداً يك سري از مطالب را براي يكدبگر روشن كنيم،
بخاطر برداشتي از زبان Basic داريم كه در محيط DOS بيشتربه بچه هاي مدرسه آموزش داده مي شد و زباني ، كاملا آموزشي كاملا ابتدايي بود برداشتي غيرمنصفانه نسبت به ويژوال بيسيك داريم (خود من هم ابتداي كارهمين ديدگاه را نسبت به اين زبان برنامه نويسي داشتم) اما اين زبان با وجود به يدك كشيدن نام Basic ولي زباني متفاوت با بيسيك كه شما احتمالاً با آن آشنايي داريد مي باشد. اما در زبان ويژوال بيسيك بجز يك سري ازدستورهاي قديمي Basic بقيه دستورها جديد هستند. واين زبان با توانايي بكارگيري تمامي ابزارهاي موجود در كتابخانه Windows و تمامي برنامه هاي ديگر ميتواند درعين سادگي كه نسبت به زبانهايي مثل Visual C++) VC) دارد. همان كارها را انجام دهد(خالي از لطف نيست كه ذكر كنيم كه مي توان انواع برنامه هاي كاربردي (Utility) ، بازي ها حتي به شكل سه بعدي و برنامه هاي سندي (Application) و يا برنامه هاي قابل اجرا در شبكه ها و اينترنت را توليد نمود.). البته بايد اين نكته را هم ذكر كرد كه زبان VC براي حرفه اي ها و با توجه به سرعتي كه دارد براي كارهاي پيچيده رياضي به كار مي رود. ولي خوب در عوض زبان VB (معمولا كاربران كامپيوتر با Script هاي آن كه يكي از رقباي Java Script مي باشد و يا دوستداران اينترنت علاوه بر ScriptباActiveX ها كه براي اولين بار توسط VB عرضه شد را مي شناسند) هر دو مقوله قدرت و سرعت را با هم دارا مي باشد.
VB يكي ديگر از تفاوتهايي كه با جد خودBasic داشته است سيستم اجراي برنامه هاي ابجاد شده با اين زبان مي باشد كه جد آن با Interpreter (مفسر) كار مي كرد يعني برنامه را خط به خط اجرا مي كرد ولي ويژوال بيسيك مجهز به هر دو سيستم مي باشد يعني هم مفسر دارد هم كامپايلركه باز هم اين يكي از تفاوتهاي عمده آن نسبت Basicمي باشد.
حال نوبت به پاسخ گويي به اين سوال مي رسد كه چرا Visual به ما قبل Basic افزوده شده است؟خوب من سعي مي كنم كه به اين سوال پاسخ بدم ولي اگر كار ياد گيري VB را دنبال كنيد و قبلا در محيط DOS برنامه نوشته باشيد خودتان دليل افزوده شدن اين كلمه به ما قبل Basic آگاه مي شويد. ولي اگر Visual را در فرهنگ لغات انگليسي به فارسي نگاه كنيد به معناي بصري ميباشد يعني چيزي كه با چشم سر وكار دارد خوب اين دقيقا همان چيزي است كه ما از زمان متولد شدن ويندوز از ان استفاده مي كنيم رابطه هاي گرافيكي (GUI ها ) خوب ، پس به زبانها يي كه برنامه ها يي بدين گونه تهيه مي كنند بايد بصري گفته شود چون ديگر از آن محيط خشك و بي روح DOS ديگر خبري نيست.
خوب، فكر كنم كه تا به اينجا توانسته باشيد تصميم خود را مبني به اينكه آيا مي خواهيد VB ياد بگيريد يا چيز ديگري را گرفته باشيد و من هم توانسته باشم كمي در مورد علت انتخاب VB توضيحاتي داده باشم..ولي اكنون تصميم به اين دارم كه روند و سيستم آموزشي كه قرار است با آن روند پيش بروم را بازگو كنم ما اين مباحث را به گونه هايي مي نويسم كه قابل استفاده براي همه (مبتديان و بالاتر ) وجود داشته باشد. خواندن اين سه بخش را به ويژه به مبتديان توصيه مي كنم.
البته بايد به اين نكته نيز اشاره كنم كه ما تا حدي متوسط با شما پيش مي رويم وبقيه آن با خود شما مي باشد. چون در آن موقع شما بايد تصميم بگيريدمي خوا هيد با VB چه كنيد و به دنبال آن شاخه خاص مي رويد سه بخشي كه ما سعي بر پوشش آن داريم عبارتند از:
1- اساس برنامه برنامه نويسي :
- مفاهیم اولیه برنامه نویسی
- OOP (Object Oriented Programming )
- مفاهيم كلي (Object ,Event ,Property ,method,... )
- محيط و ابزارهاي VB
- انواع داده ها در VB
- دستورات پايه در VB
2- شي ها و كنترل ها و روش استفاده از آنها (Object & Controls )
- Forms
- Label
- Textbox
- Command Button
- Picture Box
- Image
- Shape
- Line
- Frame
- Check Box
- Option Button
- Combo Box
- List Box
- Hscroll Bar
- Vscroll Bar
- Timer
- Drive List Box
- Dir List Box
- File List Box
- Remote Data
- OLE
3 – افزودن شي و كنترل ها ي جديد
- Microsoft Windows Common Control
- . . .
4- چند روش در ايجاد برنامه هاي كاربردي
من در هر بخش سعي بر اين دارم كه با مثالها و تصاوير و ارائه كدهاي برنامه اقدام به آموزش زبان VB كنم.
نكات:
زبان VB6 در سه نسخه توسط شركت ماكروسافت ارائه شده است كه به ترتيب Learning ، Professional ، Enterprise مي باشد كه به ترتيب براي آموزش ، اهداف حرفه اي و كاملترين آن Enterprise با امكانات شبكه و اينترنت مي باشد من در اين مجموعه از دو نسخه آخر استفاده مي كنم و به شما Enterprise را هم توصيه مي كنم.
· حداقل سيستم مورد نياز توصيه شده توسط خود شركت ماكروسافت براي نصب Visual Basic (VB) عبارت است از:
- يك سيستم عامل ويندوز 95 و به بالا يا ويندوز NT 4 و به بالا
- يك كامپيوتر 486DX/66 MHz يا بالا تر (پروسسور پنتيوم و بالا تر توصيه شده است.)
- يك درايوCD-ROM
- يك كارت VGA يا بالاتر كه توسط ويندوز پشتيباني شود.
- 16 MB حافظه RAM براي ويندوز 95 و 32MB براي ويندوز NT
- يك عدد Mouse
· شما مي توانيد VB را به صورت مستقل و يا از بسته نرم افزاري Visual Studio نصب نماييد.
· Help ، در VB به صورت Online مي باشد و يا شما با نصب كتابخانه MSDN مي توانيد از Help استفاده كنيد.
· ما در اين مجموعه فرض را بر اين مي گذاريم كه شما حداقل اطلاعات كافي در مورد ويندوز داريد و بر اين اساس به آموزش مطالب مي پردازيم.
به عنوان منابع بيشتر مي توانيد به كتاب هاي زير مراجعه نماييد :
1- Microsoft Visual Basic 6.0 Programmer's Guide چاپMicrosoft Press .
2- Platinum Edition Using Visual Basic 6.0 چاپ QUE.
منبع : http://vblearning.persianblog.com


مدت زمانی که توسعه و برنامه نویسی Windows XP به طول انجامید مجموعاً 600 روز (1999/12/20 تا 2001/8/24)
تعداد افراد فعال در این پروژه : 5736 نفر
تعداد کاربرانی که این ویندوز را آزمایش نمودند : 1.4 میلیون نفر
تعداد بچه های که در طول این پروژه بدنیا آمدند : 452 نفر
تعداد کارمندانی که در این مدت استخدام شدند : 504 نفر
مقدار ماکارونی که در طول 40 جلسه تحقیقات در مورد این سیستم عامل خورده شد : 6000 بسته
تعداد بطری نوشابه های مصرف شده در این مدت : 86400 عدد
مقدار پولی که در این مدت توسط کارکنان این شرکت در رستورانهای McDonald خرج شد : 2 میلیون دلار
آزمایشات صورت گرفته بر روی تکنولوژی Sytem Restore ، تا رسیدن به نسخه نهایی 1.6 میلیون مرتبه
آزمایشات صورت گرفته بر روی Direct3D پس از ساخت Windows XP RC1 تعداد 43114143 مرتبه
تعداد نرم افزارهای آزمایش شده برای هم خوانی با این سیستم عامل : 5500 برنامه
تعداد سخت افزارهای آزمایش شده بر روی این سیستم عامل : 12000 قطعه
طولانی ترین مدت زمان یک فایل ویدیوئی که توسط نرم افزار Windows Movie Maker ذخیره شد : 114 ساعت
تعداد زبانهای قابل پشتیبانی توسط این ویندوز: 24 زبان بطور کامل و 9 زبان بصورت مختصر
تعداد کشورهایی که در تهیه ویندوز XP همکاری داشتند : بیش از 50 کشور
من عاشقت شدم
میگم
دروغه
میگه
میدونی
میگم
نه
میگه
دوست دارم
میگم
تو و دوست داشتن!
میگه
بیا بریم عشق بازی
میگم
بورو بابا حالت خوبه
میگه
تو هم منو دوست داشته باش
میگم
چرا
میگه
من عاشقت شدم
میگم
من از عشق چیزی نمیدونم
میگه
عشق یعنی در راه کسی جان دادن
میگم
مگه عقلم رو از دست دادم
گفت:
بای
و
از مسینجر رفت بیرون کسی نمیدونه کجا رفته آخه تازه فهمیدم که عشق چیه و دارم دنبال معشوقم میگردم