Communication and Distributed Systems

Download Report

Transcript Communication and Distributed Systems

Enterprise Development
Using Visual Basic 6.0
Autumn 2002
Tirgul #2
‘Tirgul’ # 2
Short Quiz
• What is a property?
• What is the difference between Sub and
Function?
• Write a sub that gets 2 integers and
perform an Add operation
• Write the same as function
‘Tirgul’ # 2
Objective
• Variables types
• In a nutshell
– If - Then - Else
– Case
– Loops
• Write general sub procedures
• Write user-defined functions
• Examine some String manipulations
‘Tirgul’ # 2
Declaring Variables
• Private , public – In a general module
• Dim (Inside a sub/form)
– New memory location to a variable
• Static(Inside a sub/form)
– retains its value between procedure calls
– uses same memory location and keeps old value
– Use static for variables whose values are
persistent (totals, counts, etc.)
• Const – for constants
Sub test()
static i As Integer
i= i + 1
End Sub
‘Tirgul’ # 2
Sub test()
dim i As Integer
i= i + 1
End Sub
Declaring Variables 2
dim counter As Integer
private middleName As String
Static Index as Integer
Public const ARRAY_SIZE= 10
‘Tirgul’ # 2
Declaring Variables 3
Data Types
–
–
–
–
–
–
–
–
–
–
Boolean - True or false
Date - From Jan 1, 100 to Dec 31, 9999
Integer - Numbers without a decimal point
Long - Long integer
Single - Numbers with a decimal point
Double - Long Single
Currency - Dollar amounts
String - Character and alphanumeric data
Object - Any object reference such as Word document
Variant - default, can hold any data type
‘Tirgul’ # 2
Data conversion
• Int to String? Use STR
• String to Int? Use Cint
• String to Numeric? Use Val – (Generic)
Str(num)
Cint(Str)
Val(Str)
‘Tirgul’ # 2
Decisions in VB
• Used to alter the flow of a
program while program is running
• based on TRUE/FALSE
If condition Then
statements to be executed if
condition is true
End If
‘Tirgul’ # 2
Decisions in VB 2
• Complementary condition
• Use Else to perform both
cases
If condition Then
statements to be executed if
condition is TRUE
Else
statements to be executed if
condition is FALSE
If
‘Tirgul’ # 2
Example
If index > 10 Then
print “Index > 10”
End If
If index > 10 Then
print “Index > 10”
Else
print ?
End If
‘Tirgul’ # 2
Indentation!!!
• I rest my case…
‘Tirgul’ # 2
More IF Examples
If index > 10 AND printFlag = true Then
print “Index > 10”
End If
If index > 10 OR printFlag = true Then
print ?
End If
‘Tirgul’ # 2
Using IF in actual VB programming
FALSE
TRUE
TRUE
FALSE
‘Tirgul’ # 2
Code:
If opt1.Value = True Then
print “Option 1 selected”
End If
If opt1.Value = Checked Then
print “Option 1 selected”
Else
print “Option 2 selected”
End If
‘Tirgul’ # 2
Case Structure
• Case Can replaces IF
• Code readability – Important issue!
• valueList options
– Case 1
– Case 2 to 5
– Case 6, 9
– Case Is >= 10
– Case “text”
‘Tirgul’ # 2
Example
Select Case textValue
Case “Print”
print
Case “send”
sendMail
Case Else
defaultAction
End Select
‘Tirgul’ # 2
Loops
• The group of repeated instructions is called a
loop
• a single execution of the statements in the
loop is called an iteration
• All loops must have a mechanism to control
the number of iterations
• Breaking point!
‘Tirgul’ # 2
For / Next Loops
• Format:
For loopIndex = initialValue to testValue [Step increment]
body of loop
Next loopIndex
• Items enclosed in [ ] are optional
• loopIndex index is declared before
• loopIndex must be a numeric variable, testValue may
be any numeric expression (e.g. function)
• Use For when you know the number of iterations.
‘Tirgul’ # 2
Example
Dim index as integer
For index = 1 to 10
print index
Next index
‘Tirgul’ # 2
Procedures
• Event procedures – associated with control events
– bounded by Sub and End Sub
• General procedures – not associated with events
– consist of statements that are grouped
together because they perform a specific task
‘Tirgul’ # 2
Example Event Procedures
‘Tirgul’ # 2
General procedures
• written in the General code section, but in a different
window from the declarations
• two types:
– Sub procedure - performs an action
– Function procedure - performs an action and
returns a value. Format is based on mathematical
notation: f(x), g(x, y)
• May be user-defined or built in to VB (intrinsic)
‘Tirgul’ # 2
Review
VB Intrinsic Functions
• Operate on 0 or more variables, and return
exactly 1 value
• Functions we have already used:
– Val(numeric string)
• returns a numeric value
– Format(number, format string)
• returns a string in a specific form
– Conversion functions
‘Tirgul’ # 2
Review
More intrinsic functions
• General math
– sqr( ), abs( ), exp( ), log( ), rnd( )
• Trigonometric functions
– sin( ), cos( ), tan( )
• Financial functions
• String Functions
‘Tirgul’ # 2
Review
String Functions
• Len - returns the length of a string
• Left, Mid, Right - returns the left, right,
or middle part of a string
• Instr - returns the position of one string
within another, or 0 if not found
• also note that “+” or “&” concatenates 2
strings together
‘Tirgul’ # 2
Example 1
Private Sub PrintMessage( )
Print “Hello”
End Sub
Private Sub cmdDisplay_Click( )
PrintMessage
End Sub
• Sub procedure PrintMessage is called from
within the Click event procedure
• No arguments
‘Tirgul’ # 2
Example 2
Sub Add_And_Print (x as Single, y as
Single)
picOut.Print x + y
End Sub
Private Sub cmdDisplay_Click( )
Add_And_Print (Score1, Score2)
End Sub
• Sub procedure Add_And_Print is called from
within the Click event procedure
• Two arguments - Score1 and Score2
‘Tirgul’ # 2
Parameter passing
• When variables are used as inputs (parameters)
– Parameters type must be consistent
– order of Parameters
– Optional - [ ]
‘Tirgul’ # 2
User Defined Functions
• starts with the word FUNCTION
• returns EXACTLY ONE value - as a given type
• called by using its name on the right side of an
assignment statement, returns to a variable on
the left side of an assignment statement
‘Tirgul’ # 2
Sample Functions
‘Tirgul’ # 2
Example
Find whatever a given integer is a perfect number.
‘Tirgul’ # 2
Example(2)
• Factorial Example
Factorial(10) ?
‘Tirgul’ # 2
String Manipulation
•
Usefull String manipulations:
str = “welcome
mid(str,4,4) = ? (watch index!!!)
str1 = “welcome”
str2 = “come”
InStr(1,str1,str2) = ?
‘Tirgul’ # 2
String Manipulation (2)
0 vbBinaryCompare - Performs a binary comparison.
1 vbTextCompare Performs a textual comparison.
2 vbDatabaseCompare For Microsoft Access performs a
comparison based on information contained in your
database.
•
•
StrComp function return variant (Integer) indicating the result of a string
comparison.
Syntax :
- StrComp(string1, string2, [compare])
dim MyStr1 , MyStr2 As String
dim MyComp As Integer
MyComp = StrComp (MyStr1, MyStr2, vbDatabaseCompare) : returns 0
MyComp = StrComp (MyStr1, MyStr2, vbBinaryCompare) : Returns - 1
MyComp = StrComp (MyStr2, MyStr1) : Returns 1
‘Tirgul’ # 2