Saturday, September 14, 2013

ஓப்பன் ஆஃபிஸ் பேஸிக்-98




கிளைபிரிதல்(branching)   ஒரு கட்டளைத்தொடரில் குறிப்பிட்ட நிபந்தனை நிறைவுபெறும்வரை அடுத்த செயல் நடைபெறாமல் கட்டுபடுத்திட இந்த கிளைபிரிதல் எனும் கருத்தமைவு பயன்படுகின்றது
1) If..Then..Else என்பது நிரல்தொடர் எழுதிடும் பெரும்பாலானவர்களால் தம்முடைய கட்டளைவரிகளில் பயன்படுத்திடும் ஒரு கிளைபிரிதல் கட்டளையாகும்
If A>3 Then B=2 Else B=0
என்றவாறு  ஒற்றைவரிக்குள் இந்த If..Then..Else எனும் கிளைபிரிதல் கட்டளையை குறிப்பிட முடியும்  இதில் Aஇன் மதிப்பு 3 இற்கு மேல் இருக்கும் வரை  Bஇன் மதிப்பு  2 இற்கு சமமாக இருக்கும். இல்லையெனில் Bஇன் மதிப்பு 0 ஆகும் .

 2) Select ...Case என்பது மற்றொரு கிளைபிரிதல் கட்டளையாகும்

  Select Case Var
  Case Var >8 And Var <11
 '...Var is 0
 Case Else
' ...all other instances
End Select
இந்த கட்டளைவரித்தொடரில் மாறியின் மதிப்பு  8 இற்கும் 11 இற்கும் இடையிலுள்ளவரை கூற்று உண்மையாகும் இல்லையெனில் அல்லது தவறெனில் அதாவது மாறியின் மதிப்பு 0 ஆகும் .
சுற்றுகள் (Loops) இந்த கட்டளையானது நாம் குறிப்பிடும் எண்ணிக்கைவரை திரும்ப திரும்ப  அதே இடத்தில் சுற்றிக்கொண்டே இருக்கும். ஒருசிலவற்றை கணக்கற்ற நிலையில் சுற்றிடுமாறு செய்திடுவார்கள்
1 For..Next எனும் கூற்று  குறிப்பிட்ட எண்ணிக்கைவரை சுற்றிக்கொண்டே இருக்கமாறு செய்கின்றது
Dim I
 For I = 1 to 10  Step 1
   If I = 5 Then
  Exit For
 End IF
'…. Inner part of loop
Next I
இந்த நிரல் தொடரில் Iஇனுடைய மதிப்பு 1 முதல் 10  வரை ஒவ்வொன்றாக மதிப்பை கூட்டிக்கொண்டே 5 வரை சென்றிடுமாறும் 5 வந்தவுடன் வெளியேறுமாறும் இல்லையெனில் அடுத்த I இன் மதிப்பை கூட்டிகொண்டு சென்றிடுமாறு கட்டளை கொடுக்கபட்டுள்ளது
2    For ..Each  எனும் கூற்று ஆனது  For..Next எனும் கூற்று போன்று வெளிப்படையாக குறிப்பிட்ட எண்ணிக்கைவரை சுற்றிக்கொண்டே இருக்கமாறு செய்யாது ஆயினும் கட்டளையில் கொடுத்த அனைத்தையும் நிறைவேற்றும் வரை சுற்றிகொண்டே இருந்திடுமாறு செய்கின்றது
Const d1 -2
Const d2=3
Const d3=2
Dim 1
Dim a(d1,d2,d3)
For Each I In a()
'…. Inner part of loop
Next I
 இதில்  கொடுத்துள்ள அனைத்து  எண்ணிக்கையும் சேர்த்து 36 முறை சுற்றிடுமாறு செய்கின்றது
3 Do ...Loop   எனும் கூற்று ஆனது குறிப்பிட்ட நிபந்தனை நிறைவேறும் வரை சுற்றிக்கொண்டே இருக்குமாறு செய்கின்றது

Do
'….some international calculations
If A = 4 Then Exit Do
' … other instructions
Loop
இதில் Aஇன் மதிப்பு 4 ஆகும் வரை சுற்றிகொண்டிருக்குமாறும் 4ஆக மாறினால் வெளியேறிடுமாறும் செய்யபட்டுள்ளது

4 While ..Wend எனும் கூற்றில் Do While போன்று வெளியேறுவதற்கான கட்டளை இல்லை என்பதே இதனுடைய மிகமுக்கியமான குறைபாடாகும்

செயல்முறைகளும் செயலிகளும்(Procedures and Functions)

 இவை ஒரு சிக்கலான மிகநீண்ட கட்டளை தொடர்வரிகளில் சிறு சிறு செயல்களை தனித்தனியாக பிரித்து செயல்படுத்திடுமாறு செய்கின்றன அதன்பின்முக்கிய தொடருக்கு அதன் முடிவை வழங்கிடுமாறு செய்திட பயன்படுகின்றன
 இதில் செயல்முறைகளானது(Procedures) குறிப்பிட்ட செயலை வெளிப்படையாக அதனுடைய மதிப்பை குறிப்பிடாமலேயே செயல்படுமாறு செய்கின்றது
 ஆனால் செயலிகளானது(Functions) குறிப்பிட்ட செயலிற்கான தொகுப்பாக  குறிப்பிட்ட செயலை வெளிப்படையாக அதனுடைய மதிப்பை குறிப்பிடச்செய்து செயல்படுமாறு செய்கின்றது
 Sub Test
 Dim ErrorOccured As Boolean
'…..
If  ErrorOccured Then
 Exit Sub
 End If
'…..
End Sub
இந்த கட்டளை தொடரில் பிழை உருவானால்  செயல்முறையிலிருந்தும் செயலியிலிருந்தும் வெளியேறுமாறு கட்டளையிடபட்டுள்ளது
மறுசுழற்சி (Recursion)  இந்த  மறுசுழற்சி (Recursion) எனும்  செயல்முறை அல்லது செயலியானது  அடிப்படை நிபந்தனை நிறைவேறும்வரை தனக்குதானே அழைத்துகொள்ளும் திறன்கொண்டது



 Sub Main
 Masgbox CalculateFactorial ( 42 ) ' Display 1,4050061175288vE+51
Masgbox CalculateFactorial ( -42 ) ' Display “ Invalid number for factorial !”
Masgbox CalculateFactorial ( 3.14 ) ' Display “ Invalid number for factorial !”
 End Sub
 Function   CalculateFactorial( Number)
If Number < 0 or Number <> Int ( Number) Then
  CalculateFactorial = “ “ Invalid number for factorial !”
  ElseIf Number = 0 Then
   CalculateFactorial = 1
  Else
 ' This is  the recursive call:
 CalculateFactorial = Number *  CalculateFactorial ( Number  1)
EndIf
 End function
இதில் 42 இற்கான பின்ன எண்ணை  CalculateFactorial  என்ற செயலியானது    1  வரும்வரை மறு சுழற்சி செய்யுமாறு பணிக்கின்றது

 பிழைகளை கையாளுதல்(Error Handling) 
 1.On Error எனும் கட்டளையானது பிழைஏதும  ஏற்பட்டால் பிழைகளை கையாளுபவரை அழைத்து சரிசெய்து கொள்ளும்படி கட்டளை இடுகின்றது.
2 Resume Next எனும் கட்டளையானது பிழை ஏற்பட்டால் அந்த பிழையை களைந்தபின் பழையபடி தொடர்ந்து செயல்படுமாறு செய்கின்றது
  பொதுவாக நிரல் தொடர்முழுவதுமான செயலிற்கு On Error  Resume Next என்ற கட்டளைத்தொடர் பிழைகளை களைந்து தொடர்ந்து செயல்பட சிறந்ததாகும்