සිලෙක්ට් කේස් ස්ටෙට්මන්ට් භාවිතා කරන ආකාරය.
යම් වැඩ සටහනක කොන්දේසි දිගින් දිගටම පරීක්ෂා කිරීමට If කන්ඩිෂනල් යොදා ගත හැකි බව දනිමු. නමුත් ඒ වෙනුවට සිලෙක්ට් කේස් ස්ටෙට්මන්ට් භාවිතා කල හැක, මෙහිදී ලියනු ලබන කේත ප්රමාණය If කන්ඩිෂනල් එකට සාපේක්ෂව අඩුනිසා වැඩසටහන වේගයෙන් ක්රියාතමක වේ. එහි පොදු ආකෘතිය මෙසේය.
Select Case ප්රකාශය
Case "අගයක්"
සත්ය නම් විය යුතු කාර්යයන්
Case "අගයක්"
සත්ය නම් විය යුතු කාර්යයන්
..............
..............
Case Else
ඉහත සියල්ල අසත්ය නම් සිදුවිය යුතු කාර්යයන්
End Select
මෙහි ඇති Select case යන්නෙහි ප්රකාශය සදහා වේරියබල් එකක් හෝ කන්ට්රෝල් එකකට අදාල ප්රොපටි එකක් ලබා දිය හැක. උදාහරණයක් ලෙස ටෙකස්ට් බොකස් එකක ප්රොපටි එකක් ගතහොත් ටෙක්ස්ට් බොක්ස් එකට ඇතුලු කරන අංක මත පදනම් වී කොන්දේසි පරික්ෂා කර්නු ලබයි. ඉහත case යන්නේහි "අගයක්" යනුවෙන් සදහන් තැන වෙරියබල් එකට හෝ ටෙක්ස්ට් බොක්ස් එකට අදාල වන අගයක් ලබා දිය යුතුය. උදාහරණයක් "අගයක්" ලෙස ඇති තැනට අංක 1 යෙදුවහොත් ටෙක්ස්ට් බොක්ස් එකෙහි අංක 1 ඇති විට එම කොනදේසියට අදාල කාර්යයන් ඉටුවේ.
මේ ආකාරයට කොන්දේසි කිහිපයක් වූවත් දිගින් දිගටම case යොදමින් භාවිතා කල හැක. සිලෙක්ට් කේස් ස්ටෙට්මන්ට් එකේදී ලබා දෙන කොන්දේසි සියල්ල අසත්ය නම් සිදුවිය යුතු කාරයයන් දැක්විය යුත්තේ Case Else යන්නට පහලිනි.
මෙය භාවිතා කරන ආකාරය තේරුම් ගැනීම සදහා ලකුණු ලබාදුන් පසු අදාලා සාමාර්ථ්යය ලබදෙන සරල වැඩ සටහනක් සකසමු. මෙම වැඩසටහන සකස් කිරීම සදහා පළමුව නව Visual Basic .NET WPF Application එකක් ලබා ගන්න. පසුව එහි ඇති Window එකට Button, TextBox හා Label ලබාගන්න. එසේ ලබාගත් කන්ට්රෝල් සදහා පහත පරිදි සැකසුම් සිදුකරන්න.
Button - [Name] = btnResault, [Content] = Show Resault
TextBox - [Name] = txtMarks, [Text] = හිස්ව තබන්න
Label - [Name] = lblReasul, [Content] = හිස්ව තබන්න
ඉහත සැකසුම් වලට අදාල XAML කේත පහල පරිදි වේ.
<Grid>
<TextBox x:Name="txtMarks" HorizontalAlignment="Center" Height="23" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="120" Margin="0,50,0,0"/>
<Label x:Name="lblResault" Content="" HorizontalAlignment="Center" Margin="0,100,0,0" Width="120" Height="25.96" VerticalAlignment="Top"/>
<Button x:Name="btnResault" Content="Show Resault" HorizontalAlignment="Center" VerticalAlignment="Top" Width="80" Margin="0,152.832,0,0"/>
</Grid>
දැන් බට්න් එක මත ඩබල් ක්ලික් කර බට්න් එකෙහි ක්ලික් ඉවෙන්ට් එක තුල පහත කොඩ් ලිවිය යුතුය.
Select Case txtMarks.Text
Case Is >= 75
lblResault.Content = "A"
Case Is >= 65
lblResault.Content = "B"
Case Is >= 55
lblResault.Content = "C"
Case Is >= 35
lblResault.Content = "S"
Case Else
lblResault.Content = "F"
End Select
මෙහිදී සම්මත ආකෘතියෙන් බැහැරව Case යන්නට ඉදිරියෙන් Is ලෙස යොදාගෙන ඇත්තේ අගය පරාසයක් ලබාදෙන නිසාවෙනි. එසේ නොමැතිව යම් නිශ්චිත අගයක් පමණක් ලබා දෙන්නේ නම් Is යෙදීමට අවශ්ය නොවේ. මෙහි පළමු පේලියෙන් කෙරෙන්නේ සිලෙක්ට් කේස් ස්ටෙට්මන්ට් එකෙහි ප්රකාශය ලෙස ලබාගත් ටෙක්ස්ට් බොක්ස් එකෙහි ටෙක්ස්ට් ප්රොපටි එක සම්බන්ධ කිරීමයි. මෙම ප්රකාශය සදහා අවශ්ය නම් වේරියබල් එකක් වූවත් භාවිතා කල හැක. මෙහි දෙවැනි පේලියෙන් කරන්නේ ටෙක්ස්ට් බොක්ස් එකෙහි ඇති අගය 75 හෝ 75 ට වැඩිදැයි පරීක්ෂා කිරීමයි. එම කොන්දේසි සත්ය නම් තුන් වන පේලිය ක්රියාත්මකවී එම කොන්දේසියට අදාල කාර්යයන් ක්රියාත්මක වීමට පටන් ගනී. මෙසේ අනෙකුත් කොන්දේසිද පරීක්ෂා කර බලා ක්රියාත්මක වේ. මෙහි 11 වන පේළිය ක්රියාත්මක වන්නේ ඉහලින් ඇති කොන්දේසි සියල්ල අසත්ය නම් පමණි.
පසුගිය පාඩම් මාලාවන් :
පළමු පාඩම : 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://www.softwarelanthaya.com/2014/10/vbnet-4.html
පළමු පාඩම : 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://www.softwarelanthaya.com/2014/10/vbnet-4.html
2 comments
Write commentsවටිනවා....
Replyදිගටම කරගෙන යන්න. ජය වේවා!
Replyඔයාලගේ අදහස් උදහස් තමයි අපිව දිරිගන්වන්නෙ෴ EmoticonEmoticon