4-маъруза: Формани стандарт бош=арув элементлари. Матнли маълумот. Матнли майдон. Тугма. Байро=ча.
Ычириб-ё==ич. Рыйхатлар.
Visual Basic нинг General ойнасидаги мавжуд элементлар стандарт бош=арув элементлари деб аталади. Улардан фойдаланилган холда илова-дастурнинг формаси =урилади ва дастур яратилади. Ушбу ойнадаги асосий элементларнинг вазифалари ва хусусиятлари билан танишиб чи=амиз. Элементларнинг хусусиятлари дастур коди ёрдамида ёки Properties ойнаси ёрдамида ызгартирилиши мумкин.
Метка (Label).
Формада дастурдан фойдаланувчи томонидан ихтиёрий равишда ызгартириб былмайдиган матнли ахборотларни хосил =илиш учун Label бош=арув элементидан фойдаланилади. Маълумки элемент хусусияти Properties ойнаси ёрдамида ызгартирилади. Label элементининг матни caption хусусияти билан ызгартирилади. Матнли ахборотнинг шрифти Font хусусияти билан ызгартирилади. Properties ойнасидаги Font майдонининг ынг томонидаги уч ну=тали тугма босилса шрифт параметрларини ызгартириш имконини берувчи муло=от ойнаси хосил былади (8-расм).
Ушбу ойна ёрдами шрифтнинг тури, ылчами, ранги ва шаклини ызгартириш мумкин.
ForeColor ва BackColor хусусиятларидан фойдаланиб матнли ахборотнинг ранги ва элемент фонининг рангини бериш мумкин. BorderStyle хусусияти эса Label объекти четки рамкасининг типини ани=лаш имконини беради.
8-расм. Шрифтни ызгартириш муло=от ойнаси
Appearance хусусияти матнни турли хил хажмда бериш имкониятини яратади.
Alignment хусусияти эса матнни бош=арув элементида ынгдан, чапдан ва кенглиги быйича йыналишини ани=лайди. Агар матн объектда бир неча сатрдан иборат былса, у холда ани=ланган йыналишлар барча сатрларга тегишли хисобланади.
Label объектига берилувчи матн етарлича катта хажмда былиши мумкин. Ундаги белгиларнинг максимал ми=дори 65528 тадан иборат. Унинг ылчамларини =уйидаги усуллар ёрдамида ызгартириш мумкин:
сич=онча ёрдамида;
тугмаси босилган холда йыналиш тугмалари ёрдамида;
Height ва Width хусусиятлари ёрдамида;
AutoSize ва WordWrap хусусиятлари ёрдамида.
Биринчи учта усулдан фойдаланиш матнли ахборотнинг хажми унча катта былмаган ёки аввалдан маъум былган холатларда =улай, лекин чи=увчи матннинг хажми аввалдан маълумт былмаган холатларда объектнинг ылчамларини дастур ичида бериб бориш зарурияти ту\илади. У холда, AutoSize ва WordWrap хусусиятларидан фойдаланилади.
Матнли майдон (TextBox)
TextBox бош=арув элементи Labelдан фар=ли равишда илова-дастурдан фойдаланувчи томонидан формага матн киритиш ёки дастурдан чи=увчи матнли натижаларни хосил =илиш учун хизмат =илади. Ушбу элементга матн хусусиятлар ойнасидаги ёки дастур кодида Text хусусияти ор=али киритилади.
BorderStyle, Appearance, BackColor, ForeColor, Alignment ва Font хусусиятлари Label объектининг мос хусусиятлари билан айнан бир хилдир.
Одатда бу майдон бир сатрли матнни киритиш учун хизмат =илади. MutliLine ва ScrollBar хусусиятлари ёрдамида TextBox объектидан бир сатрли маълумотларнигина эмас, балки катта хажмдаги матнли ахборотларни киритиш учун фойдаланиш имкониятларини яратади (2-жадвал).
2-жадвал
MultiLine
|
Объектда матнни хосил =илиш услубини ани=лайди. Агар =иймат true ырнатилган былса, у холда объектдаги матн автоматик тарзда Enter тугмасидан фойдаланилмаган холда янги сатрга ытади (матндаги сатр кенглиги объект кенглигига тенг былади). Яъни, сызни кычириб утиш ташкил этилади.
|
ScrollBar
|
Ушбу хусусиятдан MultiLine хусусияти True =ийматга эга былганда хам ундаги матнларни тыли= кыриб былмай =олса фойдаланилади. Бу хусусият =уйидаги =ийматларга эга:
0-None-ытказиш йылакчаси йы=
1-Hirozontal-ытказиш йылакчаси горизонтал ырнатилган
2-Vertical-ытказиш йылакчаси вертикал ырнатилган
3-Both-ытказиш йылакчаси горизонтал хамда вертикал ырнатилган
|
TextBox га киритилган =ийматнинг типи сатр катталикда былиб, сонли ёки бош=а типдаги =ийматлар билан ишлаш учун Properties хусусиятлар ойнасидан DataFormat хусусиятида тегишли ызгартиришларни амалга ошириш керак былади.
Буйру= тугмаси (CommandButton)
Одатда Windows дастурлари муло=от шаклида былганлиги учун муло=от ойналаридаги сыровларга жавоб тарзида тугмалар ырнатилган былади. Visual Basic да яратилган процедура ва функцияларни, шунингдек буйру=ларни бажартириш учун =ылланилади.
Ушбу буйру= тугмаси учун =ылланиладиган шундай хусусиятлар мавжудки, булар бош=а тугмаларнинг хусусиятларида ишлатилмайди. Худди шу хусусиятларнинг баъзи бирларини кыриб чи=амиз.
DisabledPicture
|
Агар CommandButton.Enabled_=_false'>CommandButton.Enabled=false холатида учириб =ыйилган булса, DisabledPicture асосида танланган расм буйрук тугмасида пайдо булади.
|
DownPicture
|
Агар CommandButton.Enabled=true холатида ё=иб =ыйилган былса, DownPicture асосида танланган расм буйрук тугмасида пайдо былади.
|
Picture
|
Command1.Picture асосида танланган расм command1 тугмасининг ызида пайдо былади. Бу эса, буйру= тугмасининг кыринишига янада кыпро= гызаллик беради.
|
DragMode
|
Бу хусусият 2 хил щолатда былиши мумкин. 0-Manual ва 1-Automatic. Manual щолатида ишлаганда фойдаланувчи DownPicture асосида танлаган расмлар берилади. Яъни бажарилиш жараёни тугмани босилиши билан бо\ли= былади. 1-Automatic щолатида эса, фойдаланувчи DownPicture асосида танлаган расмлар берилмайди.
|
Ю=оридаги бош=арув элементларидан дастурлашда =андай фойдаланишни кыриш учун квадрат тенгламани ечувчи кичик дастур яратиб кырайлик.
Математика курсидан маълумки, ax2bxc0 кыринишдаги тенглама квадрат тенглама дейилади. Бу ерда a, b, c лар берилган сонлар. Бундай тенгламалар дискреминант ( ) ёрдамида ечилади. Тенглама уч хил ечимга эга былиши мумкин:
х нинг ечими иккита (D>0 да);
х ягона ечимга эга (D0);
ечимга эга эмас (D<0).
Х ни топиш формуласи эса =уйидагича:
Ю=оридаги маълумотлардан келиб чи=иб формамизнинг кыринишини =уйидагича яратиб олишимиз мумкин:
формага учта - TextBox, учта Label ва битта CommandButton элементларини ырнатамиз. Уларнинг хусуиятларини мос равишда =уйидагича ырнатамиз:
Label1 элементи учун:
Caption a
Font.size10
FontBoldTrue
Label2 элементи учун:
Caption b
Font.size10
FontBoldTrue
Label3 элементи учун:
Caption c
Font.size10
FontBoldTrue
Text1, Text2, Text3 элементлари учун:
Text 0
Font.size10
FontBoldTrue
CommandButton элементи учун:
Caption Bajarish
Форма кыриниши тайёр былганидан кейин кодлар ойнасига ытамиз ва Command1 объекти учун Click ходисасини танлаймиз. Хосил былган процедурада =уйидагича ызгартириш киритамиз:
Dim a, b, c, D, x1, x2 As Double ‘ ызгарувчиларни эълони
Private Sub Command1_Click() ‘ процедурани бошланиши
a = Val(Text1.Text) ‘ а ызгарувчига =ийматни ызлаштириш
b = Val(Text2.Text) ‘ b ызгарувчига =ийматни ызлаштириш
c = Val(Text3.Text) ‘ c ызгарувчига =ийматни ызлаштириш
D = b ^ 2 - 4 * a * c ‘ дискриминантни щисоблаш
If D > 0 Then ‘ дискриминант 0 дан катта былса
x1 = (-b + Sqr(D) / (2 * a)) ‘ х1 ва х2 ларни хисоблаш
x2 = (-b - Sqr(D) / (2 * a))
MsgBox (Str(x1) + " " + Str(x2)) ‘ натижани чи=ариш
Else
If D = 0 Then ‘ дискриминант 0 га тенг былса
x1 = (-b) / (2 * a) ‘ ягона ечимни щисоблаш
MsgBox (Str(x1)) ‘ натижани чи=ариш
Else ‘ дискриминант 0 дан кичик былса
MsgBox "Tenglama yechimga ega emas" ‘ экранга чи=ариш
End If
End If
End Sub ‘ процедурани якуни
|