Таърихи VB

Таърихи Visual Basic.

Visual Basic дар асоси забони программасозии BASIC (Beginner’s All – purpose Symbolic Instruction Code) кор карда бароварда шудааст. BASIC бошад, дар миёнаи солҳои 1960 аз тарафи профессорон Джон Кемени ва Томас Курт ҳамчун забони навишти программаҳои содда сохта шудааст. Маќсади асосии ба истифода баровардани забони нав – BASIC ин коркарди забон барои омўзиши программасозӣ буд. Ин забон дар бисёр мошинҳои электронии ҳисоббарор корбаст шуда, аз тарафи шахсони алоҳида ва ширкатҳои корбасткунанда (корбасткунии забон ин сохтани программа – тарҷимон дар забони мошини муайян барои гузаронидани коди программа аз забони навишт ба забони мошинӣ) ба забон навигариҳои гуногун дароварда шудаанд, ки онҳо забонро ѓанӣ гардонда, ба ќатори забонҳои асосӣ дароварданд. Бо тараќќии интерфейси графикии истифодабаранда (GUI) охири солҳои 1980 ва аввали солҳои 1990 дар протсеси эволюсия BASIC Visual Basic шуд, ки онро Корпоратсияи Microsoft соли 1991 баровард. Visual Basic асосан барои кор дар муҳити системаи оператсионии Windows бароварда шудааст, лекин версияҳои Visual Basic барои кор дар муҳити MS DOS низ мавҷуданд. 
	То пайдоиши Visual Basic коркарди программаҳои дар муҳити Windows амалкунанда протсеси душвор ва дарозмуддат буд. Visual Basic бошад, ин протсесро назаррас содда ва кўтоҳ намуд. Аз соли 1991 7 версияи забон пайдо гардид.
Visual Basic чист ?
	Visual Basic забони программасозӣ барои Microsoft Windows мебошад. Программаҳои Visual Basic бо ёрии Муҳити интегриронидашудаи коркард (IDE) сохта мешаванд. IDE имконият медиҳад, ки аз он набаромада, программаро нависед, ба кор дароред ва камбудиҳояшро ислоҳ намоед. Инчунин IDE ба программасоз имконият медиҳад, ки программаи коршоямро дар якчанд марҳила созад ва кодҳои программавии берун аз IDE сохташударо низ истифода барад. Протсеси коркарди тези программаро Rapid Application Development (RAD) номидан ќабул шудааст. Visual Basic дар тамоми олам ҳамчун забони RAD васеъ паҳн шуда истодааст. Microsoft  якчанд варианти версияҳои забони Visual Basic – ро пешниҳод намудааст - Learning Edition, Professional Edition, Enterprise Edition, Visual Basic for Applications ва Scripting Edition. Professional Edition нисбати Learning Edition барои программасоз имкониятҳои бештари бойро медиҳад ва ин сабабгори интихоби он аз тарафи бештари программасозон мебошад. Enterprise Edition бошад, барои коркарди системаҳои масштабан васеъ кор фармуда мешавад, ки ба ин гуна системаҳо бештар ташкилотҳои калон зарурият доранд. Visual Basic Scripting Edition зермаҷмўъ буда, барои сохтани замимаҳои интерактивӣ барои Интернет дар асоси технологияи навтарини ActiveX таъин шудааст. Донишҷўён метавонанд Learning Edition ё Professional Edition –ро кор фармоянд. Программасозони дар истеҳсолот коркунанда Professional Edition, Enterprise Edition – ро истифода мебаранд. Visual Basic забони интерпретатсияшаванда мебошад, лекин вариантхои Professional Edition, Enterprise Edition имконият медиҳанд, ки кодҳои Visual Basic – ро ба коди мошинӣ компилясия кунед.
I D E
Дар аввали ба кор омодашавии Visual Basic дар экран даричаи робитавии New project (лоиҳаи нав) пайдо мегардад. Ин дарича имконият медиҳад, ки намуди лоиҳаи сохташаванда интихоб шавад. Намуди Standard EXE, ки одатан ҷудокарда нишон дода шудааст, имконият медиҳад, замимаҳои иҷрошавандаи оддӣ (стандартӣ) сохта шаванд. Ҳар як намуди рўйхати пешниҳодшавандаи ин дарича, ин гурўҳи файлҳое мебошанд, ки онҳо якҷоя лоиҳаи ин намудро ташкил медиҳанд. Файлҳои лоиҳаро Visual Basic автоматӣ ба вуҷуд меорад. Барои сохтани лоиҳаҳои махсусгардонидашуда намудҳои дигари лоиҳаҳо аз ин рўйхат интихоб мешаванд. Дар ин дарича, боз дигар ќабатҳояш мавҷуданд, ки Recent ва Existing номида шудаанд. Онҳо имконият медиҳанд, ки корро бо лоиҳаҳои дар компютер мавҷуда давом диҳед. 
Лоиҳаи намуди Standard EXE чунин даричаҳоро ташкил мекунад:
•	Project1 – Form1 (Form)
•	Form Layout
•	Properties – Form1
•	Project – Project1
•	Tool Box
Даричаи Project1 – Form1 (Form) аз форма иборат аст, ки он Form1 номида шудааст ва дар он интерфейси графикии истифодабарандаи (GUI) программа ҷойгир мешавад. Ин форма дар ваќти коркунии программа даричаи робитавии истифодабаранда ва программа мебошад. GUI ин ќисми зоҳирии (дидашавандаи) программа мебошад, ки бо воситаи он истифодабаранда ба программа маълумотро дохил мекунад ва дар он натиҷаҳои кори программаро мебинад, яъне бо воситаи он ў программаро идора мекунад, бо он сарукор дорад. Даричаи Form Layout имконият медиҳад, ки ҷойгиршавии формаро дар экрани компютер чунин намоем, ки ба он намуд мо онро дар ваќти ба кор даровардани программа диданием. Даричаи Properties хосиятҳои форма ва элементҳои идоракунии дар он ҷойгиршударо нишон медиҳад. Хосият ин чунин атрибутҳо ба монанди андоза, ҷойгиршавӣ ва ҳоказо. Баъзе хосиятҳо, масалан Width ё Height, ба форма ва инчунин бисёрии элементҳои идоракунӣ хосанд, дигар хосиятҳо бошанд, фаќат ба форма ё элементи идоракунии мушахас мансубанд. Элементҳои идоракунӣ аз якдигар бо миќдор ва намуди хосиятҳояшон фарќ мекунанд.      
Даричаи Project
Дарича бо сарлавҳаи Project – Project1 аз файлҳои лоиҳа иборат буда, Project Explorer номида мешавад. Панели лавозимоти ин дарича аз се тугма иборат аст, ки View Code, View Object ва Toggle Folders номида шудаанд. Дар ваќти пахши тугмаи View Code даричае пайдо мегардад, ки дар он коди Visual Basic (матни коди протседураҳо) –ро менависанд ва таҳрир мекунанд. View Object бошад, дар ваќти пахш худи формаро нишон медиҳад. Пахши дукаратаи Form1 (Form) низ формаро нишон медиҳад. Toggle Folders сохти директорияи Forms-ро мекушояд ва мепўшад. Дар директорияи Forms ҳамаи формаҳои лоиҳаи корӣ нигоҳ дошта мешаванд.
Tool  Box
Дар Tool Box элементҳои идоракуние (controls) ҷойгиранд, ки онҳоро дар формаҳо кор фармудан мумкин аст. Ваќте ки курсор дар аломати элементи идоракуниҳой мегирад, даричаи ёрирасон бо номи он пайдо мегардад. Агар элементҳои идоракунии стандартии Tool Box программасозро ќонеъ нагардонанд, ба он компонентаҳои (элементҳои идоракунии) иловагиро ҳамроҳ намудан мумкин аст. Элементҳои асосии бештар истифодашаванда чунинанд:
	Picture Box (Изображение)– барои намоиши тасвирҳо;
	Label (Метка)– барои нишон додани матне, ки истифодабаранда таѓъир дода натавонад;
	TextBox (Текстовое поле) – барои дохилкунии матн аз тарафи истифодабаранда, матнро аз программа низ баровардан мумкин;
	Frame (Кадр) – барои гурўҳбандии якчанд элементҳои дигар;
	Command Button (Командная кнопка) – тугмае, ки онро истифодабаранда пахш карда ягон амалиётро иҷро мекунад;
	CheckBox (Флажок) – компонентае, ки имконияти аз як ҳолат ба ҳолати алтернативӣ гузаштан ва баръаксро медихад (checked or unchecked);
	OptionButton (Переключатель) – «radio button». Элементи мазкур ҳамон ваќте истифода мешавад, ки агар аз якчанд ҳолат ё амалҳо фаќат якеяш иҷро шуданаш лозим бошад, яъне имконияти гузаришро медиҳад;
	ListBox (Простой список)– имконияти кор бо рўйхати ќиматҳоро медиҳад;
	ComboBox (Комбинированный блок) – элементи мазкур ба ѓайр аз рўйхат боз даричаи иловагӣ дорад;
	HscrollBar (Горизонтальная полоса прокрутки)- гузариши уфуќии мавҷудоти дигар объектро ташкил мекунад;
	VscrollBar (Вертикальная полоса прокрутки)- гузариши амудии мавҷудоти дигар объектро ташкил мекунад;
	Timer (Таймер) – дар масъалаҳое кор фармуда мешавад, ки ягон фосилаи ваќтро барои идоракунӣ истифода мебарад. Он элементи нонамоён барои истифодабаранда мебошад;
	DriveListBox, DirListBox, FileListBox- имконияти кор бо рўйхати дискҳои система, директорияҳо ва файлҳоро медиҳанд;
	Shape (Фигура)- барои кашидани тасвири давраҳо, росткунҷаҳо, квадратҳо ё эллипсҳо;
	Image (Образ)– барои тасвирҳо. Дар муќоиса бо PictureBox имкониятҳои он камтар;
	Data – барои алоќабандӣ бо базаи маълумотҳо;
	OLE (Контейнер) – барои додугирифти ахборот бо дигар замимаҳои Windows.
Menu Bar ва Tool Bar
Фармонҳое, ки барои коркард, дохилкунии таѓъирот ва ба кор дарории программаҳо лозиманд, дар менюи IDE мавҷуданд. Menu Bar барои Standard EXE аз пунктҳои асосии зерин иборат аст:
File, Edit, View, Project, Format, Debug, Run, Query, Diagram, Tools, AddIns, Windows, Helps.

Мисоли сохтани программаи оддӣ.

Протсеси сохтани программае, ки матни "Welcome to Visual Basic"-ро дар форма мебарорад, дида мегузарем. Программа аз як форма иборат буда, дар он як элементи идоракунии намуди Label – ро кор фармуда мешавад. Программа аз намуди Standard EXE мебошад. Мо ягон сатр код наменависем. Протсеси созиш аз чунин ќадамҳо иборат аст:

1.	Сарлавҳаи форма. Хосияти Caption – и форма муайян мекунад, ки сарлавҳаи форма чӣ мешавад. Дар даричаи Properties ќимати хосияти Сaption – ро ҳамчун Программаи аввалин менависем. 
2.	Хосияти Name - и  форма. Хосияти Name форма ё элементи идоракуниро дар муҳити IDE ва матни программаҳо идентификасия мекунад. Ќимати ин хосиятро ҳамчун frmFig01 муайян мекунем. Баъди ин номи форма дар даричаҳои Properties ва Project иваз меёбад. 
3.	Таѓъироти андозаҳои форма. Бо click ва drag-и яке аз enabled sizing handles (росткунчаҳои хурдакак дар канорҳои форма) андозаҳои формаро дигар намудан мумкин аст.
4.	Марказиронидани форма. Ҷойгиршавии формаро дар экран бо истифодаи даричаи Form Layout таѓъир додан мумкин аст.
5.	Дигар намудани ранги форма. Хосияти BackColor – и форма ё элементи идоракунӣ ранги (пуркунии) объектро муайян мекунад. Дар ваќти интихоби хосияти BackColor тугмаи down-arrow пайдо мегардад, ки бо пахши он даричаи дуќабата пайдо мегардад. Ба ќабати Palette гузашта, ранги зардро интихоб мекунем.
6.	Ҳамроҳкунии элементи идоракунии Label. Бо пахши дукаратаи элементи идоракунии Label –и даричаи Toolbox нусхаи он дар форма зери номи Label1 пайдо мегардад. 
7.	Дохилкунии навиштаҷоти элементи идоракунии Label1. Хосияти  Caption –и элементи идоракунии Label1 муайян мекунад, ки чӣ дар он тасвир меёбад. Ќимати ин хосиятро Welcome to Visual Basic менависем.
8.	Номи элементи идоракунии Label. Хосияти Name барои идентификасияи объект истифода бурда мешавад. Онро ҳамчун lblWelcome дохил мекунем. 
9.	Таѓъироти ранги элементи идоракунии Label. Барои як шудани ранги элемент бо форма, ё хосияти BackColor – и элементи идоракуниро зард мекунем, ё хосияти BackStyle – и онро аз ќимати Opaque ба Transparent мегузаронем. Хосияти ForeColor ранги навиштаҷоти рўи элементи идоракунии Label1 -ро муайян мекунад. Онро ба ранги кабуд иваз мекунем.
10.	Дигаркунии андозаи шрифти навиштаҷоти Label1 ва росткунии он нисбати сарҳадҳо. Тугмаи хосияти Font –ро пахш намуда, ба даричаи Font мегузарем, ки дар он номи шрифтро MS Sans Serif, стили шрифтро Bold, андозаашро 18 муайян мекунем. Баъд хосияти Alignment-ро интихоб намуда, тарзи росткунии матни навиштаҷотро нисбати канорҳои объекти Label1 муайян намудан мумкин аст. Ќимати ин хосиятро ҳамчун Center мегирем.
11.	Ҷойгиркунонӣ ва таѓъироти андозаҳои Label1.  Sizing handles  - и элементи идоракуниро истифода бурда, андозаҳои онро дигар мекунем ва дар маркази форма ҷойгир менамоем.
12.	Нигоҳдории лоиҳа (ба диск навиштани он). Тугмаи Save Project –ро дар tool bar ё пункти Save Project/Save Project As… дар пункти меню File пахш менамоем. Даричаи робитавии нигоҳдории форма зери номи Label1 пайдо мегардад. Ин номро ба Fig01 иваз намуда, онро ба ягон директория менависем. Баъд даричаи робитавии  нигоҳдории файли лоиҳа зери номи Project1 пайдо мегардад. Номи файлро ба Fig01 иваз намуда, онро дар ҳамон директория менависем. Файлҳои форма дар хотираи компютер бо ќисми иловагии номашон frm, файлҳои лоиҳаҳо бошад, бо ќисми иловагии номашон  vbp нигоҳ дошта мешаванд.
13.	Ба кор дарории программа. Барои ба кор дарории программа тугмаи Start ё зерпункти Start –и пункти меню Run хизмат мекунанд. 
14.	Хатми иҷрошавӣ. Бо пахши тугмаи Close (яъне ×) – и формаи сохташуда ё тугмаи End – и панели лавозимот (tool bar) иҷрошавии программаро медорем (ба итмом мерасонем) ва ба режими дизайни муҳити интегриронидашудаи коркард мегузарем.


Барои масъалаҳои ќисми умумии корҳои лаборатории дигар - намуди форма, рўйхати элементҳои идоракунии он ва инчунин ќимати хосиятҳои форма ва элементҳои идоракунӣ, ки ивазкунии онҳо зарур аст, оварда шудаанд. Ба ѓайр аз хосиятҳо формаҳо ва элементҳои идоракунӣ методҳои худро доранд, ки онҳоро дар баъзе масъалаҳо истифода шудаанд. Барои формаҳо ва элементҳои идоракунӣ ҳодисаҳое мавҷуданд, ки нисбати онҳо протседураҳо навиштан мумкин аст ва ин протседураҳо дар ваќти ба вуќўъ омадани ҳодисаҳои мувофиќ иҷро мешаванд (масалан, ҳангоми пахши тугмаи чапи mouse, пахши дукаратаи тугмаи чапи mouse, пахши клавишаи клавиатура ва м.и.). Дар поён инчунин барои масъалаҳо кодҳои протседураҳои (зерпрограммаҳои) зарурӣ оварда шудаанд.