සෑම පරිගණක භාෂාවකම පාහේ කොන්දේසි පරික්ෂා කර පිළිතුරු ලබාදීම සදහා විශේෂයෙන් සැකසූ කෝඩ් ක්රමයක් භාවිතා කරයි. මේවා කන්ඩිෂනල් ලොජික් (Conditional Logic) ලෙස හැදින්වේ. විෂුවල් බේසික් තුල මේ සදහා භාවිතා කරන්නේ If හා Switch යන ඒවාය. එයිනුත් වැඩි පුරම භාවිතා වන්නේ If කන්ඩිෂනල් ලොජික් එකය. මෙය ආකාර තුනකි.
If Then ආකාරය.
මෙම ආකාරයේදී කොන්දේසිය හා එය සත්ය වූ විට ඉටුවිය යුතු කාර්යය තනි පෙළකට ලිවිය යුතුය. එහි පොදු ආකෘතිය පහත පරිදි වේ.
ex :- If කොන්දේසිය Then ඉටුවිය යුතු කාර්යය
මේ ගැන තවත් හොදින් අවබෝධ කොට ගැනීම සදහා පහත වැඩසටහන සකසමු. මෙහිදී සකසන්නේ ටෙක්ස්ට් බොක්ස් එක තුල අංක 1 සදහන් කර බට්න් එක ක්ලික් කලහොත් ලේබල් එක තුල Computer ලෙස දිස් වෙන වැඩ සටහනකි. මේ සදහා පළමුවෙන්ම නව WPF Application project එකක් ලබා ගත යුතුය. එවිට ලැබෙන වින්ඩෝ එක මතට බට්න් එකක්, ටෙක්ස්ට් බොක්ස් එකක් හා ලේබල් එකක් ලබා ගත යුතුය. පසුව ඒවායේ ප්රොපටි පහත පරිදි සැකසිය යුතුය.
Button [Name] = btnOk, [Content] = Ok
TextBox [Name] = txtIf, [Text] = හිස්ව තබන්න
Label [Name] = lblIf, [Content] = හිස්ව තබන්න
මෙහිදී වැඩසටහන සදහා කෝඩ් ලිවිය යුත්තේ btnOk ලෙස නම් කල බට්න් එකට අදාලවය. ඒ සදහා ලබා ගත් බට්න් එක මත ඩබල් ක්ලික් කර පහත පරිදි කෝඩ් ලිව්ය යුතුය.
If txtIf.Text = 1 Then lblIf.Content = "Computer"
මෙහි txtIf.Text = 1 යන කොටසින් කෙරෙන්නේ ටෙක්ස්ට් බොක්ස් එක තුල අංක 1 තිබේ දැයි පරීක්ෂා කිරීමයි. එය එසේ නම් lblIf.Content = "Computer" යන කොටසින් Computer යන්න ලේබල් එක තුල පෙන්වයි. මේ ආකාරයට කොන්දේසි කිහිපයක් පරීක්ෂා කර බැලිය යුතුනම් ඒ සදහා කෝඩ් ලිවිය යුත්තේ පහත ආකාරයටයි.
If txtIf.Text = 1 Then lblIf.Content = "Monday"
If txtIf.Text = 2 Then lblIf.Content = "Tuesday"
If txtIf.Text = 3 Then lblIf.Content = "Wendnesday"
If txtIf.Text = 4 Then lblIf.Content = "Thursday"
මෙහිදී පළමු පේළියෙන් ටෙක්ස්ට් බොක්ස් එක තුල ඇත්තේ 1 නම් ලෙබල් එක තුල Monday යන්න පෙන්වයි, දෙවැනි පේළියෙන් ටෙක්ස්ට් බොක්ස් එක තුල ඇත්තේ 2 නම් ලෙබල් එක තුල Tuesday යන්න පෙන්වයි, තෙවැනි පේළියෙන් ටෙක්ස්ට් බොක්ස් එක තුල ඇත්තේ 3 නම් ලෙබල් එක තුල Wendnesday යන්න පෙන්වයි හා සිව්වන පේළියෙන් ටෙක්ස්ට් බොක්ස් එක තුල ඇත්තේ 4 නම් ලෙබල් එක තුල Thursday යන්න පෙන්වයි. මෙහිදී උදෘත පාඨ තුල ඇතුලත් කර ඇති වචන වෙනුවට තමන් කැමති වචනයක් යොදා ගත හැකිය.
If සමග Else භාවිතය.
ඉහතදී අප සලකා බැලුවේ ලබාදුන් කොන්දේසිය සත්ය අවස්ථාව පමණි. එහෙත් ලබා දුන් කොන්දේසිය අසත්ය අවස්ථාවද සලකා බැලිය යුතුනම් ඒ සදහා If සමග Else යන්නද ලිවිය යුතුය. එවිට කෝඩ් පේළිය තනි පෙලකට ලිවිය නොහැක. එහිදී භාවිතා වන පොදු ආකෘතිය පහත පරිදිවේ.
ex: If කොන්දේසිය Then
කොන්දේසිය සත්ය විට ඉටු විය යුතු කාර්යය.
Else
කොන්දේසිය අසත්ය විට ඉටු විය යුතු කාර්යය.
End If
මෙහිදී අවශ්ය නම් කොන්දේසියක් සත්ය වුවිට තනි කාර්යයක් වෙනුවට කාර්යයන් කිහිපක් වුවත් සිදුකර ගත හැක. එය තේරුම් ගැනීම සදහා පහත උදාහරණ් කෝඩ් කොටස සලකා බලන්න. ඒ සදහා වින්ඩෝ එක මතට බට්න් එකක්, ටෙක්ස්ට් බොක්ස් එකක් හා ලේබල් එකක් ලබා ගත යුතුය. පසුව ඒවායේ ප්රොපටි පහත පරිදි සැකසිය යුතුය.
Button [Name] = btnOk2, [Content] = Ok (2)
TextBox [Name] = txtIf2, [Text] = හිස්ව තබන්න
Label [Name] = lblIf2, [Content] = හිස්ව තබන්න
මෙහිදී වැඩසටහන සදහා කෝඩ් ලිවිය යුත්තේ btnOk2 ලෙස නම් කල බට්න් එකට අදාලවය. ඒ සදහා ලබා ගත් බට්න් එක මත ඩබල් ක්ලික් කර පහත පරිදි කෝඩ් ලිව්ය යුතුය.
If txtIf2.Text = 1 Then
lblIf2.Content = "Good"
lblIf2.FontWeight = FontWeights.Bold
Else
lblIf2.Content = "Bad"
lblIf2.FontWeight = FontWeights.Light
End If
දැන් වැඩසටහ ධාවනය කර ටෙක්ස්ට් බොක්ස් එකමත අංක 1 යොදා. බටනය එබූ විට ලේබල් එකමත තද කළු (Bold) අකුරෙන් Good යන්නත් එක හැර වෙන්ත් යමක් ටයිප් කර බටනය එබූ විට ලාකළු (Light) අකුරෙන් Bad යන්නත් දිස් වෙනු ඇත.
ඉහත කෝඩ් කොටසේ විස්තර මෙසේ වේ. මෙහිදී පළමු කොඩ් පේළියෙන් ටෙක්ස්ට් බොක්ස් එක තුල ඇත්තේ අංක 1 දැයි සොයා බලයි. එය එසේ වීනම් වැඩසටහන ඊළග කෝඩ් කොටසට යොමුවෙයි. එනම් කොන්දේසිය සත්ය වූ විට සිදුවිය යුතු කාර්යය වෙත යොමු වෙයි. එනම් 2 හා 3 කොඩ් පේළි වෙත යොමුවෙයි. එහිදී දෙවැනි කෝඩ් පේළියෙන් ලේබල් එකතුල Good යන්න පෙන්වන අතර 3 වන කෝඩ් පේළියෙන් ඒතුල ඇති අකුරු සදහා Bold ඉෆෙක්ට් එක ලබා දෙයි. මෙහි 4 වන කෝඩ් කොටස වන Else පදයට පසුව ලියනු ලබන කෝඩ් කොටස අයත් වනුයේ ඉහත ලබාදුන් කොනදේසිය අසත්ය වුවිට සිදු විය යුතු කාර්යයන් හටය. එනම් ටෙක්ස්ට් බොක්ස් එකතුල ඇති අංකය 1 නොවේ නම් සිදු විය යුතු කාර්යයන් ලිවිය යුත්තේ මෙම Else පදයට පහලින්ය. මෙහි 5 වන කේත පේළියෙන් කරන්නේ ලේබල් එක තුල Bad යන්න පෙන්වන අතර. 6 වන කෝඩ් පේළියෙන් ඒතුල ඇති අකුරු සදහා Light ඉෆෙක්ට් එක ලබා දෙයි. 7 වන හෙවත් අවසාන කෝඩ් පේළියෙන් If කොන්දේසිය ක්රියාත්මක වීම නවතා දමයි.
If සමග Else හා ElseIF භාවිතය.
දිගින් දිගටම කොන්දේසි පරීක්ෂා කරමින් යම් වැඩසටහනක් ක්රියාත්මක කිරීමට අවශ්ය නම් ඒ සදහා යොදා ගත යුත්තේ ElseIF ආකාරයයි. එහි පොදු ආකාරය පහත පරිදිවේ.
Ex : If කොන්දේසිය Then
කොන්දේසිය සත්ය නම් විය යුතු කාර්යය.
ElseIF දෙවැනි කොන්දේසිය Then
කොන්දේසිය සත්ය නම් විය යුතු කාර්යය.
ElseIF තුන් වැනි කොන්දේසිය Then
කොන්දේසිය සත්ය නම් විය යුතු කාර්යය.
ElseIF හතරවෙනි කොන්දේසිය Then
කොන්දේසිය සත්ය නම් විය යුතු කාර්යය.
........................................................
Else
සියළු කොන්දේසි අසත්ය නම් විය යුතු කාර්යය.
End If
මෙහිදී පළමු කොන්දේසිය අසත්ය නම් දෙවැනි කොන්දේසියද එයද අසත්ය නම් තෙවැනි කොන්දේසියද පරීක්ෂාකරයි. මෙසේ දිගින් දිගටම අවශ්ය තරම් කොන්දේසි ප්රමාණයක් පරීක්ෂා කිරීමට ඉඩ ලබා දිය හැක. මෙහි අවසානයට Else යන්න මගින් කෙරෙන්නේ ඉහත ඇති සියළු කොන්දේසි අසත්ය නම් යම් කාර්යයක් ඉටු කිරීම සදහාය.
මෙය තේරුම් ගැනීමට පහත දක්වා ඇති කෝඩ් වලට අදාල වැඩසටහන සකස් කරන්න. ඒ සදහා වින්ඩෝ එක මතට බට්න් එකක්, ටෙක්ස්ට් බොක්ස් එකක් හා ලේබල් එකක් ලබා ගත යුතුය. පසුව ඒවායේ ප්රොපටි පහත පරිදි සැකසිය යුතුය.
Button [Name] = btnOk3, [Content] = Ok (3)
TextBox [Name] = txtIf3, [Text] = හිස්ව තබන්න
Label [Name] = lblIf3, [Content] = හිස්ව තබන්න
මෙහිදී වැඩසටහන සදහා කෝඩ් ලිවිය යුත්තේ btnOk3 ලෙස නම් කල බට්න් එකට අදාලවය. ඒ සදහා ලබා ගත් බට්න් එක මත ඩබල් ක්ලික් කර පහත පරිදි කෝඩ් ලිව්ය යුතුය.
If txtIf3.Text >= 75 Then
lblIf3.Content = "A"
ElseIf txtIf3.Text >= 65 Then
lblIf3.Content = "B"
ElseIf txtIf3.Text >= 55 Then
lblIf3.Content = "C"
ElseIf txtIf3.Text >= 35 Then
lblIf3.Content = "S"
Else
lblIf3.Content = "F"
End If
පළමු කෝඩ් පේලියෙන් කෙරෙන්නේ ටෙක්ස්ට් බොක්ස් එකෙහි ඇති අගය 75 හෝ ඊට වැඩි අගයක් දැයි පරීක්ෂා කිරීමයි. එය එසේ නම් ලේබල් එකතුල A පෙන්වයි. එහෙත් ටෙක්ස්ට් බොක්ස් එකෙහි ඇති අගය 75 ට අඩුනම් දෙවන කොන්දේසිය පරීක්ෂා කිරීමට යොමුවෙයි. එහිදී සලකා බලන්නේ ටෙක්ස්ට් බොක්ස් එකෙහි ඇති අගය 65 හෝ ඊට වැඩි අගයක් දැයි පරීක්ෂා කිරීමයි. එය එසේ නම් ලේබල් එකතුල B පෙන්වයි. මේ ආකාරයෙන්ම 5 හා 7 වෙනි පේළිවල්දීද ElseIf මගින් කොන්දේසි පරීක්ෂා කර බලයි. මෙහිදී සියළු කොන්දේසි අසත්ය ලෙස සැලකෙන්නේ ටෙක්ස්ට් බොක්ස් එක තුල ඇති අගය 35 ට අඩු අවස්ථාවයි. එය එසේ වූ විට Else කොටස ක්රියාත්මක වී ලේබල් එක තුල F පෙන්වයි.
මෙවර පාඩමට අදාල විෂුවල් බේසික් ප්රොජෙක්ට් ෆයිල් එක ඩවුන්ලෝඩ් කරගන්න.
පසුගිය පාඩම් මාලාවන් :
පළමු පාඩම : http://softwarelanthaya.blogspot.com/2014/08/visual-basic-net.html
දෙවන පාඩම : http://softwarelanthaya.blogspot.com/2014/09/vbnet-2.html
තෙවන පාඩම : http://softwarelanthaya.blogspot.com/2014/09/vbnet-3.html
දෙවන පාඩම : http://softwarelanthaya.blogspot.com/2014/09/vbnet-2.html
තෙවන පාඩම : http://softwarelanthaya.blogspot.com/2014/09/vbnet-3.html
4 comments
Write commentsWPF ToolBox තුළ Windows Form ToolBox වල මෙන් Notify Icon Control හා Timer Control දක්නට නොලැබෙන අතර එය Add කරගන්නා ආකාරය ඉදිරි පාඩම්වලදී පැහැදිලි කර දෙන ලෙස ඉල්ලා සිටිනවා.එසේම Visual Studio සමග එන Blend පිලිබදවත් විශේෂ ලිපියක් ලබා දෙන්න.ස්තූතියි!
Replyobage adhs walata bohoma sthuthi. oba pawasana akarayata idiriyedi ema kotas gena emata bala poroththuwenawa.
Replyhoda wadak...digata karagena sakthiya lebewa...
Replyඔයාලගේ අදහස් උදහස් තමයි අපිව දිරිගන්වන්නෙ෴ EmoticonEmoticon