SlideShare a Scribd company logo
1 of 58
Chapter Three:
Object-Oriented
Fundamentals in
VB.NET
11/27/2019
BantamlakDejene,Information
Technology
1
Language Fundamentals
A statement in Visual Basic is like a command given to the computer.
Functions and subroutines are made out of statements. A statement generally
consists of the name of a subroutine followed by a list of arguments:
Debug.Print "Hello World"
The first word (Debug) is the name of a built in object in Visual Basic. The
second word (Print) is the name of a method of that object. "Hello World" is
the argument to the method. The result is:
Hello World
11/27/2019
BantamlakDejene,Information
Technology
2
Forms
A form is a window where controls are placed for use by the user of the
program. The .Caption property changes the text on the title bar of the
window, and the .MinButton and .MaxButton properties show or hide the
minimize and maximize buttons. Different window styles such as Dialog
boxes, Tool Windows, and standard Forms; as well as some allowed user
actions such as resizing and minimizing; are controlled by the form's
.BorderStyle property. It is a common practice to name a form with
frm<FormName> (ex: frmMain, or frmAlert).
11/27/2019
BantamlakDejene,Information
Technology
3
Cont.….
Components
A component is an executable module stored either as a .VBX file (Visual
Basic eXtension for the 16-bit versions of VB), .OCX (OLE Control
eXtension for 32-bit versions) file or as a .DLL (Dynamic Link Library) file.
Components are pre-compiled code modules used by other program writers
with/without knowledge and understanding of the details of its inner
workings. Pre-compiled components provide reusable code that has already
been written and debugged. Components can be code only (.DLL) or have a
visual component that can be placed on a form (.VBX and .OCX). VB
supplies many commonly used components (Button, Textbox, Listbox, etc.) as
controls in the Toolbox.
11/27/2019
BantamlakDejene,Information
Technology
4
Cont.….
Events
An event is an activity that occurs during a program's execution
usually in response to the user's actions, such as a mouse click or
a keypress. An event causes a procedure to execute.
11/27/2019
BantamlakDejene,Information
Technology
5
Cont.….
1. Controls
Control Properties
To display the Control Properties window, select ViewProperties Window or press
the F4 key. The Properties window initially appears on the right edge of the main
window and contains all the names of the editable properties as well as their current
values. Some control properties are only editable while the program is running; some
are only editable while in design mode.
Buttons
A button will be your best friend in Visual Basic. Each button should contain code,
which is added by you, the programmer. Upon clicking the button, the user will be
instructing the program to execute that portion of code. For example, you could set it
so when pressed; the program will make a message box that says "HELLO!” Good
programming styles generally use cmd<ButtonName> when naming a button.
11/27/2019
BantamlakDejene,Information
Technology
6
Cont.….
Text Boxes
Text boxes allow the users to add text areas to their programs. This text does
not have to be typed in directly by the programmer, but could come from
other sources such as database fields, text files or data the user will type in
while the program is running. Although the default value for this is the name
of the control, it can be set to anything including "" (or nothing). Text box
names are prefixed with txt, eg; txt<BoxName>.
Labels
Labels are one of the most used Visual Basic objects. They are often used to
label other controls (textboxes, images, etc.) or provide feedback to the user.
They are usually named like lbl<LabelName>.
11/27/2019
BantamlakDejene,Information
Technology
7
Cont.….
Timers
Timers are interesting and easy to learn. If you want the program to perform a
certain task after a certain amount of time, the Timer is there to help you out.
Their only event procedure is _timer, which will be executed every time after
a certain amount of time is passed. The most common steps to use Timers are
as simple as follows:
1. Add a timer to the form and give it a name.
2. Set the time interval in the Properties window to some value above 0.
3. Double click the timer and add the code you want executed at the set
intervals. Timers have very few properties too.
11/27/2019
BantamlakDejene,Information
Technology
8
Cont.….
Picture Boxes
These objects are not just a heavyweight version of image boxes: picture boxes
almost have the same properties and function as Form objects. It can do far more
than just displaying pictures. Probably the best way to describe picture boxes is
that they are containers that can group other objects together, kind of similar to
frame objects. E.g. several command buttons can be drawn "inside" of it.
General properties
VB extends some common properties to all controls placed on a form. Name,
Top, Left, and Tag, are a few of the extended property names. When you select
and highlight several controls on a form, you can change the general property
values of all the highlighted controls using the Properties window. Making a
change there will change the property of the same name for all of the highlighted
controls.
11/27/2019
BantamlakDejene,Information
Technology
9
Cont.….
2. Reserved Words
Visual Basic contains several reserved words. These words are "reserved" because
they are specific functions and commands in Visual Basic. For example, a variable
may not be named "Print" because it is a feature in VB to print. This can be avoided
however, by naming your variables "prnt" or "print1". As long as it is not the exact
word, it should work. A list of frequently used reserved words/keywords:
11/27/2019
BantamlakDejene,Information
Technology
10
Cont.….
And Command Event Get Let Next Or Reset
As Date Exit GoTo Load Not Print Resume
Beep Do False If Loop Nothing Private Set
Call End For Input Me On Public Step
Close Error Function Kill Name Option Put
3. Variables and Data Types
The built in types are:
Byte: - 8 bit, unsigned
Integer: - 16 bit, signed
Long: - 32 bit signed
Single: - 32 bit floating point, range about ±1038
Double: - 64 bit IEEE floating point, range about ±10308
Currency: - exact representation of decimal numbers of up to four decimal places
String: - dynamically allocated UniCode strings, theoretical capacity about 29
characters.
Collection: - an associative array of Variants.
Date: - 8 byte date/time value range January 1, 100 to December 31, 9999.
Object: - a holder for any type of Object.
Variant: - a holder for any type of value or object.
11/27/2019
BantamlakDejene,Information
Technology
11
Cont.….
11/27/2019
BantamlakDejene,Information
Technology
12
Cont.….
Type Storage Range of Values
Byte 1 byte 0 to 255
Integer 2 bytes -32,768 to 32,767
Long 4 bytes -2,147,483,648 to 2,147,483,647
Single 4 bytes
-3.402823E+38 to -1.401298E-45 for negative
values1.401298E-45 to 3.402823E+38 for positive
values.
Double 8 bytes
-1.79769313486232e+308 to -4.94065645841247E-
324 for negative values4.94065645841247E-324 to
1.79769313486232e+308 for positive values.
General Guidelines for declaring Variables
These suggestions will be described in greater detail further below. None of these can
be called rules and some are controversial, you have to make up your own mind based
on the costs and benefits.
 Write comments that explain why you do what you do.
 Indent your code.
 Declare all variables.
 Use meaningful variable and sub routine names.
 In the argument list of functions and subs declare all arguments as ByRef.
 Declare variables, subs, and functions in the smallest possible scope.
 Have as few variables as possible declared Public.
 Group related functions and subs together in a module.
 Encapsulate to a class a group of closely related variables and procedures
together.
11/27/2019
BantamlakDejene,Information
Technology
13
Cont.….
 Include assertions in the code to ensure that routines are given correct
data and return correct data.
 Write and execute tests.
 Make the program work first hand work fast afterwards.
 Where a variable can hold a limited range of discrete values that are
known at compile time use an 'enumerated type.
 Break large programs into separate components (DLLs or class
libraries) so that you can reduce the visibility of data and routines, to
just those other pieces of code that need to use them.
 Use a simple prefix notation to show the type of variables and the scope
of routines.
11/27/2019
BantamlakDejene,Information
Technology
14
Cont.….
A. Declaring variables
Like most programming languages, Visual Basic is able to use and process
named variables and their contents. Variables are most simply described as
names by which we refer to some location in memory - a location that
holds a value with which we are working.
B. Comments
Good comments can be critical to the longevity of a program; if a
maintenance programmer can't understand how your code was supposed to
work he might have to rewrite it. If he does that he will also have to write
more comments and more tests.
11/27/2019
BantamlakDejene,Information
Technology
15
Cont.….
4. Operators
A. Arithmetic Operators
The operators are index and take two arguments: arg1 operator arg2 except for unary
plus and minus.
Numeric Operators
11/27/2019
BantamlakDejene,Information
Technology
16
Cont.….
Operator Comments
+ Adds two numbers.
- Subtract the second number from the first.
- unary Negate the operand.
* Multiply two numbers.
/ Normal division.
 Integer division.
Mod Produces the remainder after integer division.
ˆ Raises the first operand to the power of the second.
Boolean Arithmetic
Boolean operators use Boolean variables or integer variables where each
individual bit is treated as a Boolean. There are six operators:
11/27/2019
BantamlakDejene,Information
Technology
17
Cont.….
Operator: Meaning:
Not Negation
And Conjunction
Or Disjunction (logical addition)
Xor Exclusive Or
Eqv Equivalence
Imp Implication
A B AAnd B A Or B A Xor B A Eqv B A Imp B
T T T T F T T
T F F T T F F
F T F T T F T
F F F F F T T
B. Comparison Operators
These operators, composed of <, > and =, are used to decide whether one
value is smaller than, larger than, or equal to another.
11/27/2019
BantamlakDejene,Information
Technology
18
Cont.….
Operator Meaning
= = Equality
<> Inequality
< Less than
> Greater than
>= Greater than or equal to. Or put another way: not less than
<= Less than or equal to. Or put another way: not greater than
C. Built in Arithmetic Functions
Affis(x): - returns the absolute value of x.
Exp(x): - returns the value ex. e is Euler's constant.
Log(x): -the Neperian ('Natural', e base) logarithm of x.
Randomize(x): - not really a mathematical function because it is actually a subroutine.
Rnd(x): - produces the next random number in the series.
Round(x,n): - returns a real number rounded to n decimal places.
Sgn(x): - returns plus one if x is positive, minus one if it is negative, zero if x is
identically zero.
Sqr(x): - square root of x.
Derived Functions
Log(x, base) = Log(x) / Log(base)
RootN(x, n) = x ^ (1.0 / n)
11/27/2019
BantamlakDejene,Information
Technology
19
Cont.….
D. Trigonometrically Functions
Visual Basic has the usual simple trigonometric functions, sin, cos, tan, but if
you want some of the more unusual ones or inverses you will need to write
some simple functions.
11/27/2019
BantamlakDejene,Information
Technology
20
Cont.….
Secant Sec(x) = 1 / Cos(x)
Cosecant Cosec(x) = 1 / Sin(x)
Cotangent Cotan(x) = 1 / Tan(x)
Inverse Sine Arcsin(x) = Atn(x / Sqr(-x * x + 1))
Inverse Cosine Arccos(x) = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)
Inverse Secant Arcsec(x) = Atn(x / Sqr(x * x - 1)) + Sgn((x) - 1) * (2 * Atn(1))
Inverse Cosecant Arccosec(x) = Atn(x / Sqr(x * x - 1)) + (Sgn(x) - 1) * (2 * Atn(1))
Inverse Cotangent Arccotan(x) = -Atn(x) + 2 * Atn(1)
Hyperbolic Sine HSin(x) = (Exp(x) - Exp(-x)) / 2
Hyperbolic Cosine HCos(x) = (Exp(x) + Exp(-x)) / 2
Hyperbolic Tangent HTan(x) = (Exp(x) - Exp(-x)) / (Exp(x) + Exp(-x))
11/27/2019
BantamlakDejene,Information
Technology
21
Cont.….
Hyperbolic Secant HSec(x) = 2 / (Exp(x) + Exp(-x))
Hyperbolic Cosecant HCosec(x) = 2 / (Exp(x) - Exp(-x))
Hyperbolic Cotangent HCotan(x) = (Exp(x) + Exp(-x)) / (Exp(x) - Exp(- x))
Inverse Hyperbolic Sine HArcsin(x) = Log(x + Sqr(x * x + 1))
Inverse Hyperbolic Cosine HArccos(x) = Log(x + Sqr(x * x - 1))
Inverse Hyperbolic Tangent HArctan(x) = Log((1 + x) / (1 - x)) / 2
Inverse Hyperbolic Secant HArcsec(x) = Log((Sqr(-x * x + 1) + 1) / x)
Inverse Hyperbolic Cosecant HArccosec(x) = Log((Sgn(x) * Sqr(x * x + 1) + 1) /x)
Inverse Hyperbolic Cotangent HArccotan(x) = Log((x + 1) / (x - 1)) / 2
5. Flow Control
A. If...Then Statement
If...Then statements are some of the most basic statements in all of programming.
Every language has them, in some form or another.
Condition - a set of test(s) that the program executes.
Reaction - the instructions that the program follows when the condition returns true.
The condition returns true if it passes the test and returns false if it fails the test.
There are also other parts to these statements to make them more complex. Two
other terms that can be used are Else, and ElseIf.
Else will, if the condition is false, do whatever comes between the Else statement
and the End If statement.
ElseIf will, if the condition directly preceding it is false, check for another condition
and go from there.
11/27/2019
BantamlakDejene,Information
Technology
22
Cont.….
B. If..Then..Else Statement
The If..Then..Else statement is the simplest of the conditional statements.
They are also called branches, as when the program arrives at an "If"
statement during its execution, control will "branch" off into one of two or
more "directions".
C. Select Case
Often it is necessary to compare one specific variable against several
constant expressions. For this kind of conditional expression the Select Case
is used.
11/27/2019
BantamlakDejene,Information
Technology
23
Cont.….
D. Unconditionals
Unconditionals let you change the flow of your program without a condition. You should
be careful when using unconditionals. Often they make programs difficult to understand.
Exit: - End a function, subroutine or property and return to the calling procedure or
function. Note that in Visual Basic returning from a function and assigning a return value
requires two separate statements.
For procedures: Exit Sub For functions: Exit Function For properties: Exit Property
End: - command is provided for backward compatibility and is rarely (if ever) needed to
end a VB program. Using End to end the program will terminate the program in an
ungraceful manner (some things may not get shut down properly).
Goto: - Transfer control to the statement after the label (or line number).
A couple of notes:
 Return is a reserved keyword and can only be used with a matching Gosub.
 Error handling in Visual Basic does need the use of Goto.
 Visual Basic supports line numbering.
 Using Exit instead of Goto as shown above has some side effects.
11/27/2019
BantamlakDejene,Information
Technology
24
Cont.….
E. For...Next Loops
The syntax of a For...Next loop has three components: a counter, a range, and a step.
For X = 1 To 100 Step 2
Debug.Print X
Next X
F. Do Loops
Do loops are a bit more flexible than For loops, but should generally only be used when
necessary. => Do while => Do until => Loop while => Loop until
While loops will continue to execute as long as a certain conditional is true. An Until loop will
loop as long as a certain condition is false, on the other hand. The only difference between
putting either While or Until in the Do section or the Loop section, is that Do checks when the
loop starts, and Loop checks when the loop ends.
Do
Debug.Print "hello“
x = x + 1
Loop Until x = 10
11/27/2019
BantamlakDejene,Information
Technology
25
Cont.….
Endless loop: Do..Loop: - is a loop which never ends and the statements inside are
repeated forever.
Do
Do_Something
Loop
Loop with condition at the beginning: Do While..Loop: - has a condition at the
beginning.
Do While X <= 5
X = Calculate_Something
Loop
11/27/2019
BantamlakDejene,Information
Technology
26
Cont.….
Loop with condition at the end: Do..Loop Until: - has a condition at the end and
the statements are repeated until the condition is met.
Do
X = Calculate_Something
Loop Until X > 5
Loop with condition in the middle: Do..Exit Do..Loop: - Sometimes you need to
first make a calculation and exit the loop when a certain criterion is met.
Do
X = Calculate_Something
If X > 10 then
Exit Do
End If
Do_Something (X)
Loop
11/27/2019
BantamlakDejene,Information
Technology
27
Cont.….
G. While Loops
While loops are similar to Do loops except that the tested condition always appears
at the top of the loop. The While loop will run until the condition tests false - or until
an "Exit While" statement is encountered.
H. Nested Loops
A nested loop is any type of loop inside an already existing loop. They can involve
any type of loop. For this, we will use For loops. It is important to remember that the
inner loop will execute its normal amount multiplied by how many times the outer
loop runs.
11/27/2019
BantamlakDejene,Information
Technology
28
Cont.….
6. Arrays
Arrays are extremely useful in Visual Basic, and are present in many other
programming languages. Arrays are used to group similar data together, to make it
easier to search and sort through this data.
A. Use of Arrays
Arrays have far more uses other than just making phone books. Filling an array with random
numbers is a popular technique for starting off programs, and testing other techniques such as
sorting. To fill an array, a simple For Loop may be used.
B. Indices
Per default, array indices start at 0, unless "Option Base 1" declaration is used. Without the
declaration used, an array declared as "Dim MyArray(5)" has 6 elements: 0, 1, 2, 3, 4, 5. The
index range of an array has to be a continuous sequence of integers, including negative numbers.
C. Size
The size of an array can be obtained using LBound and UBound.
Keywords: length, item count, element count.
11/27/2019
BantamlakDejene,Information
Technology
29
Cont.….
D. Dynamic Arrays
An array with the number of elements specified upon its declaration, is a static one:
the number of its elements cannot be changed in runtime. By contrast, an array
declared without the number of elements is a dynamic array, and its number of
elements can be changed using ReDim.
E. Variant Arrays
Variant arrays are dynamic arrays declared using the Variant type, and initialized using
"= Array()". Their advantage is that, after they are initialized using "= Array()",
LBound and UBound functions work with them even when they have no elements.
F. Multi-Dimensional Arrays
Arrays can be defined to have any number of dimensions (or indices), by listing the
sizes of each dimension. Dynamic arrays can also be re-dimensioned to have any
number of dimensions. The LBound and UBound functions can be used to find the
bounds of a particular dimension.
11/27/2019
BantamlakDejene,Information
Technology
30
Cont.….
G. Erasing Arrays
Any type of array can be re-set to empty by using: Erase SomeArray
H. Mixing Arrays
The real power of arrays comes when defining arrays of arrays. You can nest arrays
like this to any depth and in any order and they can be of any size. A note of caution
must be taken when using the ReDim statement.
I. Use of Matrices
Matrices are not as commonly used as arrays, but are an important element of
programming. When talking about matrices, rows are always stated before columns.
You will also notice column numbers travel from left to right, while row numbers
travel from top to bottom.
11/27/2019
BantamlakDejene,Information
Technology
31
Cont.….
7. Strings
A string is an array of characters. A normal string variable occupies 10 bytes of
RAM, plus the string's size, and can hold up to 2 billion characters!
Some frequently used built-in string constants: vbTab, vbCrLf
VbTab contains a string that does the same thing as the Tab key on your keyboard,
while vbCrLf creates a character return and a line feed(similar to the Enter key):
Some string functions: Str(),Val()
Str() converts any numerical value into a string value while Val() converts a string
value into a numerical value(only when it's convertible).
A. Comparison
Two strings are equal by value if they have the same content. The statement Option Compare
Text can be placed at the top of a module to make the comparison case-insensitive, impacting =,
<, >, <=, >=, <>. To test whether two strings are equal by reference, that is, whether they start at
the same address, you can use StrPtr function.
11/27/2019
BantamlakDejene,Information
Technology
32
Cont.….
B. Concatenation
The operator intended to perform string concatenation is &. The operator + can sometimes
be used to the same effect, but not always.
C. Containment
To find out if one string is a substring of another, use the InStr function. InStr function
returns the position of the substring if it is found or zero otherwise. The two-argument use
of InStr function is case-sensitive.
D. Replacing
To replace a string with another string inside a third string, use the built-in function.
E. Indexing and Substrings
Strings can be used almost as if they were lists of characters. The nth character in a string
can be returned by subscripting: It is also possible to return a substring of a string.
F. String constants
String constants can be declared like any other constant: Const s As String = "abcdef"
11/27/2019
BantamlakDejene,Information
Technology
33
Cont.….
G. String Functions
Strings are not objects so they do not have methods but there are a number of functions that
manipulate strings.
Asc: - Returns the integer code of the first character of the string.
Len: - Returns the length of the string.
InStr: - Returns the character index of the first occurrence of the substring in a string or zero
if the substring is not found.
InstrB: - Like InStr except that it returns the byte position.
InstrRev: - Like InStr except that it returns the character position of the last occurrence.
Left$: - returns the specified number of characters from the beginning of the string.
Mid$: - Returns a number of characters starting at the given position.
Right$: - Returns the specified number of characters from the end of the string.
IsNumeric: - Returns true if the string looks like a number.
LTrim$, RTrim$, Trim$: - Returns a copy of the string with leading, trailing or leading and
trailing spaces removed respectively.
11/27/2019
BantamlakDejene,Information
Technology
34
Cont.….
LCflse$, UCflse: - Converts the whole string to lower case or upper case respectively.
Val: - Returns a number corresponding to the number found at the start of the string.
Str: - Returns a string corresponding to the given number.
CStr: - Converts the expression to a string.
Format$: - Converts a number to a string using a specific format. The format is provided as a
string of characters, that shows how many digits should be given before and after the decimal
point.
CBool, CByte, CCur, CInt, CLng, CSng, CDbl, CDec: - Locale aware conversions to
Boolean, Byte, Currency, Integer, Long, Single, Double, Decimal.
Split: - Chops a string into pieces and returns a Variant Array.
Hex$: - Returns a string of Hex characters representing a number.
Oct$: - Returns a string of Octal characters representing a number.
Replace$: - Returns a string with occurrences of a specified substring replaced with a new
string.
StrComp: -Returns -1 if the first sting is less than the second, 0 if they are identical, +1 if the
first is greater than the second.
11/27/2019
BantamlakDejene,Information
Technology
35
Cont.….
H. Quotes in strings
Because the double quote (") is used to delimit strings, you can't use it directly to specify a quote
within a string.
I. Startswith and Endswith
Visual Basic does not have functions "startsWith" (or "BeginsWith") and "endsWith" found in
some other programming languages. But it has "Like" comparison operator used for simple
pattern matching that does the job when used with "*" to stand for "any string of characters“.
J. Pattern Matching
You can do simple pattern matching with Like keyword; for complex pattern matching. The
special characters in the patterns of Like include for a single char, * for any number of chars, #
for a single decimal digit, [...] for a single char in the list, and [!...] for a single char not in the
list.
11/27/2019
BantamlakDejene,Information
Technology
36
Cont.….
8. Methods and their Types
I. Procedures
Procedures turn a complicated process into a series of simpler steps. A procedure is called
with a simple command. Control is transferred to that section of code where the
statements in the procedure are executed. When completed, control returns to the line that
called the procedure. All procedures are either functions that return a result as the value of
the function, or subroutines that are called for their side effects.
A. Creating Procedures
Procedures provide a way to group a set of related statements to perform a task Visual Basic includes
two primary types of procedures:
Function procedures are called by name from event procedures or other procedures often used for
calculations, function procedures can receive arguments and always return a value in the function
name.
Sub procedures are called by name from event procedures or other procedures They can receive
arguments and also pass back modified values in an argument list Unlike functions, however, Sub
procedures don’t return values associated with their particular Sub procedure names Sub procedures
are typically used to receive or process input, display output, or set properties.
11/27/2019
BantamlakDejene,Information
Technology
37
Cont.….
B. Calling a Procedure
Call a procedure with a Call statement. It looks like this:
C. Passing Arguments
The set of parentheses following the procedure name supplies an optional list of arguments
for the procedure. The Call statement and the first line of the procedure each need a matching
list of arguments for the statements to work. A procedure doesn’t need an argument list to
work, but when they’re used, both the procedure and its call statement must agree. There are
two ways to pass arguments to a procedure: one is ByVal and the other is ByRef. You can also
pass multiple arguments. Just make sure that the data type and the order of the arguments
between them match exactly.
ByVal
The purpose of arguments is to customize a procedure.
ByRef
The other way to pass an argument is ByRef. That’s short for “by reference.” It’s a two-way
street. Not only can values be passed to a procedure, the procedure can modify them and
assign the value to the original variable.
11/27/2019
BantamlakDejene,Information
Technology
38
Cont.….
II. Functions
A function supplies an answer in a program. A Function procedure is a group of
statements located between a Function statement and an End Function
statement. You execute, or call, a function in a program by placing the function
name in a program statement along with any required arguments. Arguments
are the data used to make functions work, and they must be included between
parentheses and be separated by commas.
A. Creating a Function
A function takes its own space in the code, just like procedures. The function can be
Private or Public, depending on where it’s shared. Function declares it as a function.
FunctionName is the name of the function.
11/27/2019
BantamlakDejene,Information
Technology
39
Cont.….
B. Calling a Function
Functions are called with a single statement. The function call must include all the values
needed by the function and they must be in order. The general form for a function call is
var = FunctionName(arguments)
C. Arguments
Functions have at least one argument, that is, they have at least one value that’s passed to
them. The number and type of the arguments must agree between the function and the
statement that calls it. The arguments must also be in order.
D. Return
Functions return one value. That’s a major difference between functions and procedures.
E. Passing Arguments
Values can be passed to a function in two ways, ByVal and BeRef. The rules and results
are the same for functions as they are for procedures.
11/27/2019
BantamlakDejene,Information
Technology
40
Cont.….
III. Sub Procedure
A Sub procedure is similar to a Function procedure, except that a Sub procedure
doesn’t return a value associated with its name. Sub procedures are typically
used to get input from the user, display or print information, or manipulate
several properties associated with a condition. Sub procedures can also be used
to process and update variables received in an argument list during a procedure
call and pass back one or more of these values to the calling program.
A. Sub Procedure Syntax
The basic syntax for a Sub procedure is:
Sub ProcedureName ([arguments])
procedure statements
End Sub
11/27/2019
BantamlakDejene,Information
Technology
41
Cont.….
B. Calling a Sub Procedure
To call a Sub procedure in a program, you specify the name of the procedure, and then list
the arguments required by the Sub procedure.
C. Passing Arguments by Value and by Reference
Using the ByVal keyword indicates that variables should be passed to a procedure by value
(the default). Any changes made to a variable passed in by value aren’t passed back to the
calling procedure. However using the ByRef keyword indicates that variables should be
passed to a procedure by reference, meaning that any changes made to the variable in the
procedure are passed back to the calling routine passing by reference can have significant
advantages, so long as you’re careful not to change a variable unintentionally in a
procedure.
11/27/2019
BantamlakDejene,Information
Technology
42
Cont.….
9. Events
Developers must keep two things in mind: getting the program to do what it
should and making it useable – the two go hand-in-hand. A cool interface
means nothing if the software doesn’t perform.
I. New Events
You’re familiar with several events such as Click, Load, and Scroll, but there are
more, many more. Every event can trigger code and every user action raises an
event, that is, every time the user does something, from a click of the mouse to a
peck of a key, a program can respond. How it responds and what it does are key to
good software.
A. KeyPress
When a key is pressed, it generates a KeyPress event and also several other key events. These
keystrokes can be trapped in various ways and the input can be used to determine what the user
wants. The program is checking every keystroke and deciding what to do with it.
11/27/2019
BantamlakDejene,Information
Technology
43
Cont.….
B. Modifier Keys
A KeyDown event determines if one or more of the modifier keys are used. The KeyDown event is
triggered when any key is pressed down.
C. TextChanged
A TextChanged event is generated for every keystroke in a TextBox. It’s also triggered whenever
the text in a TextBox changes. The TextChanged event gives a developer the ability to examine
every change to a TextBox. The user types a character for the TextBox, triggering a TextChanged
event. It finds and checks the last character entered.
D. LostFocus
The LostFocus event for a control is triggered when that control loses the focus. It loses focus
when a user sets the focus to another control by using the tab or clicking on another control. It’s
also triggered when the Focus method sets the focus to another control. LostFocus is usually used
to clean up or validate entry.
E. Activated
The Activated event is triggered when a form becomes active and occurs when the Show method
is used on a form or the user clicks on a form to make it active. It’s similar to the Load event;
however, the Load event only occurs when the form is first loaded. Use the Activated event to
update the contents of a form or to set the focus to a particular control.
11/27/2019
BantamlakDejene,Information
Technology
44
Cont.….
II. Mouse Events
There are a handful of mouse events, each one waiting to do the bidding of a
developer.
A. MouseEnter
The MouseEnter event is triggered when the mouse moves over a control. MouseEnter is usually
used to highlight or draw attention to the control that’s selected.
B. MouseHover
The MouseHover event is triggered when the mouse pauses over a control.
C. MouseLeave
The MouseLeave enter is triggered when the mouse leaves a control. It can be
used to reset the control to what it was before the mouse entered it.
D. MouseDown
MouseDown is the first part of what users usually think of a click. However, there are several
events to a “click” event and the first is the MouseDown. It’s triggered when the mouse button is
pressed down. It’s completed before the Click or MouseUp events.
11/27/2019
BantamlakDejene,Information
Technology
45
Cont.….
E. MouseUp
MouseUp is the last part of the click. It’s triggered when the mouse button is released. Of
course the MouseUp and MouseDown events must occur over the same control for it to be a
click. However, MouseUp occurs regardless of where the mouse is when the button is
released.
F. MouseMove
MouseMove events occur when the mouse moves over a control. The location of the mouse
is tracked using X, Y coordinates. The top left of the control is point 0, 0 and is tracked for
every control, even the form.
G. DoubleClick
In addition to the Click event, controls also have a DoubleClick event. The Click event is
triggered when the first click is completed and the DoubleClick is raised if two clicks on
the same control happen in quick succession.
11/27/2019
BantamlakDejene,Information
Technology
46
Cont.….
III. New Controls
It’s time to learn a few more controls from the Toolbox.
A. ColorDialog
The ColorDialog lets a developer give the user the power to set the color of almost anything.
Name the control dlgColor. The ForeColor property controls the font color for most controls. The
BackColor property determines the background color.
B. FontDialog
The FontDialog lets a developer give the user the power to set the font properties of almost
anything. The FontDialog controls the font, size, and style properties of text.
C. LinkLabel
A LinkLabel is very similar to a hyperlink on a webpage, but it can do more than just link to a
webpage. The LinkClicked event triggers a process that can start your browser, open your email,
or start a program.
D. ProgressBar
The ProgressBar is often used to indicate the status of a process. Sometimes the user has to wait
for a file to load or for a series of calculations to complete.
11/27/2019
BantamlakDejene,Information
Technology
47
Cont.….
E. MonthCalendar
The MonthCalendar is a quick and easy way to select a date. MonthCalendar displays the current
month and can easily navigate to months in the past or future. Click on a date to select it – a fast and
easy way for a user to select a date. Once selected, there are a number of methods to extract and
work with the date.
F. DateTimePicker
When space is limited, the DateTimePicker is handy. It’s similar to the MonthCalendar, but it takes
up less space. The calendar starts as a dropdown box and expands when selected. From there, the
user navigates through it like a MonthCalendar. There is one difference, however; the date is stored
in the Value property and assigns values accordingly.
F. Predefined Forms
Visual Basic has several predefined forms. Until now you’ve ignored them and stuck to a Windows
Form when adding a form to a project.
G. Splash Screen
A splash screen can also be called a startup screen. It’s the first screen a user sees. It usually contains
the name of the application and some other important information. This screen pops up as the rest of
the application loads.
11/27/2019
BantamlakDejene,Information
Technology
48
Cont.….
IV. Potential Problems
Key events won’t work when there are Buttons around. Don’t use key events and Buttons
on the same form. Always check to see which events will trigger the code. When code is
added to other events, there’s the potential for lots of things to happen. It might slow your
program to a crawl and many unexpected things could happen.
A. DragEnter
The DragEnter event is raised when the mouse moves onto a control. It differs from the MouseEnter
event because the mouse button is down for the DragEnter event.
B. DragOver
The DragOver event is raised as the mouse moves over a control. It differs from the MouseHover
event because the mouse button is down for a DragOver event.
C. DragLeave
The DragLeave event is raised as the mouse leaves a control. It differs from the MouseLeave event
because the mouse button is down for a DragLeave event.
D. DragDrop
Several things must happen for a DragDrop event to happen. It simply means the user grabbed
something and dropped it somewhere else.
11/27/2019
BantamlakDejene,Information
Technology
49
Cont.….
10. Regular Expressions
Sometimes, the built in string functions are not the most convenient or
elegant solution to the problem at hand. If the task involves manipulating
complicated patterns of characters, regular expressions can be a more
effective tool than sequences of simple string functions. It can use regular
expressions via VBScript Regular Expression Library.
11/27/2019
BantamlakDejene,Information
Technology
50
Cont.….
A. Class outline
Class outline of VBScript RegExp class:
Attributes
RegExp.Pattern => RegExp.Global => RegExp.IgnoreCase =>RegExp.MultiLine
Methods
RegExp.Test => RegExp.Replace => RegExp.Execute
B. Constructing a RegExp
A method of constructing a regular expression object:
Set Regexp = CreateObject ("VBScript.RegExp")
C. Testing for match
D. Finding matches
E. Finding groups
F. Replacing
G. Splitting
11/27/2019
BantamlakDejene,Information
Technology
51
Cont.….
Class
1. Class Definition
A class definition starts with the keyword Class followed by the class name; and the
class body, ended by the End Class statement.
[<Attributelist>] [Accessmodifier] [Shadows] [MustInherit |NotInheritable] [Partial]
_Class name [ ( Of typelist ) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ statements ]
End Class
11/27/2019
BantamlakDejene,Information
Technology
52
2. Member Functions and Encapsulation
A member function of a class is a function that has its definition or its
prototype within the class definition like any other variable. It operates on
any object of the class of which it is a member and has access to all the
members of a class for that object. Member variables are attributes of an
object (from design perspective) and they are kept private to implement
encapsulation. These variables can only be accessed using the public
member functions.
11/27/2019
BantamlakDejene,Information
Technology
53
Cont.….
3. Constructors and Destructors
A class constructor is a special member Sub of a class that is executed
whenever we create new objects of that class. A constructor has the name
New and it does not have any return type.
A destructor is a special member Sub of a class that is executed whenever
an object of its class goes out of scope. A destructor has the name
Finalize and it can neither return a value nor can it take any parameters.
Destructor can be very useful for releasing resources before coming out of
the program like closing files, releasing memories, etc. Destructors cannot
be inherited or overloaded.
11/27/2019
BantamlakDejene,Information
Technology
54
Cont.….
4. Shared Members of a VB.Net Class
The keyword Shared implies that only one instance of the member exists
for a class. Shared variables are used for defining constants because their
values can be retrieved by invoking the class without creating an instance
of it. Shared variables can be initialized outside the member function or
class definition. You can also initialize Shared variables inside the class
definition. You can also declare a member function as Shared. Such
functions can access only Shared variables. The Shared functions exist
even before the object is created.
11/27/2019
BantamlakDejene,Information
Technology
55
Cont.….
Inheritance
1. Base & Derived Classes
A class can be derived from more than one class or interface, which
means that it can inherit data and functions from multiple base classes or
interfaces.
The syntax used in VB.Net for creating derived classes is as follows:
<access-specifier> Class <base_class>
...
End Class
Class <derived_class>: Inherits <base_class>
...
End Class
11/27/2019
BantamlakDejene,Information
Technology
56
2. Base Class Initialization
The derived class inherits the base class member variables and
member methods. Therefore, the super class object should be
created before the subclass is created. The super class or the base
class is implicitly known as MyBase in VB.Net.
11/27/2019
BantamlakDejene,Information
Technology
57
Cont.….
THANK YOU
11/27/2019
BantamlakDejene,Information
Technology
58

More Related Content

What's hot

BCA IPU VB.NET UNIT-III
BCA IPU VB.NET UNIT-IIIBCA IPU VB.NET UNIT-III
BCA IPU VB.NET UNIT-IIIVaibhavj1234
 
Design documentation
Design documentationDesign documentation
Design documentationnicky_walters
 
Introduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 FundamentalsIntroduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 FundamentalsSanay Kumar
 
Vb6 ch.6-3 cci
Vb6 ch.6-3 cciVb6 ch.6-3 cci
Vb6 ch.6-3 cciFahim Khan
 
Part 12 built in function vb.net
Part 12 built in function vb.netPart 12 built in function vb.net
Part 12 built in function vb.netGirija Muscut
 
Best practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.netBest practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.netajmal_fuuast
 
Introduction to visual basic 6 (1)
Introduction to visual basic 6 (1)Introduction to visual basic 6 (1)
Introduction to visual basic 6 (1)Mark Vincent Cantero
 
Lab # 06
Lab # 06Lab # 06
Lab # 06Mr SMAK
 

What's hot (16)

Visual basic
Visual basicVisual basic
Visual basic
 
Vb introduction.
Vb introduction.Vb introduction.
Vb introduction.
 
BCA IPU VB.NET UNIT-III
BCA IPU VB.NET UNIT-IIIBCA IPU VB.NET UNIT-III
BCA IPU VB.NET UNIT-III
 
Design documentation
Design documentationDesign documentation
Design documentation
 
Introduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 FundamentalsIntroduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 Fundamentals
 
Vb 6ch123
Vb 6ch123Vb 6ch123
Vb 6ch123
 
Vb6 ch.6-3 cci
Vb6 ch.6-3 cciVb6 ch.6-3 cci
Vb6 ch.6-3 cci
 
Unit 2 ppt
Unit 2 pptUnit 2 ppt
Unit 2 ppt
 
Part 12 built in function vb.net
Part 12 built in function vb.netPart 12 built in function vb.net
Part 12 built in function vb.net
 
Best practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.netBest practices for upgrading vb 6.0 projects to vb.net
Best practices for upgrading vb 6.0 projects to vb.net
 
Introduction to visual basic 6 (1)
Introduction to visual basic 6 (1)Introduction to visual basic 6 (1)
Introduction to visual basic 6 (1)
 
Lab # 06
Lab # 06Lab # 06
Lab # 06
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 
3.2
3.23.2
3.2
 
Programming and problem solving with c++, 3rd edition
Programming and problem solving with c++, 3rd editionProgramming and problem solving with c++, 3rd edition
Programming and problem solving with c++, 3rd edition
 
Component Diagram
Component DiagramComponent Diagram
Component Diagram
 

Similar to Vb ch 3-object-oriented_fundamentals_in_vb.net

object oriented fundamentals in vb.net
object oriented fundamentals in vb.netobject oriented fundamentals in vb.net
object oriented fundamentals in vb.netbantamlak dejene
 
Chapter 1
Chapter 1Chapter 1
Chapter 1gebrsh
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net FundamentalsLiquidHub
 
AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1guest38bf
 
Book management system
Book management systemBook management system
Book management systemSHARDA SHARAN
 
Contact management system
Contact management systemContact management system
Contact management systemSHARDA SHARAN
 
Microcontroladores: Introducción a las herramientas de desarrollo de microcon...
Microcontroladores: Introducción a las herramientas de desarrollo de microcon...Microcontroladores: Introducción a las herramientas de desarrollo de microcon...
Microcontroladores: Introducción a las herramientas de desarrollo de microcon...SANTIAGO PABLO ALBERTO
 
01 Database Management (re-uploaded)
01 Database Management (re-uploaded)01 Database Management (re-uploaded)
01 Database Management (re-uploaded)bluejayjunior
 
Ppt on visual basics
Ppt on visual basicsPpt on visual basics
Ppt on visual basicsyounganand
 
COM 211 PRESENTATION.pptx
COM 211 PRESENTATION.pptxCOM 211 PRESENTATION.pptx
COM 211 PRESENTATION.pptxAnasYunusa
 
The visual studio start page is shown in the figure below
The visual studio start page is shown in the figure belowThe visual studio start page is shown in the figure below
The visual studio start page is shown in the figure belowTan Ps
 
06 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa1606 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa16John Todora
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0DivyaR219113
 

Similar to Vb ch 3-object-oriented_fundamentals_in_vb.net (20)

object oriented fundamentals in vb.net
object oriented fundamentals in vb.netobject oriented fundamentals in vb.net
object oriented fundamentals in vb.net
 
Vb6.0 intro
Vb6.0 introVb6.0 intro
Vb6.0 intro
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Ch02 bronson
Ch02 bronsonCh02 bronson
Ch02 bronson
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
 
Ms vb
Ms vbMs vb
Ms vb
 
AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1
 
Visual basic
Visual basicVisual basic
Visual basic
 
Book management system
Book management systemBook management system
Book management system
 
Csharp
CsharpCsharp
Csharp
 
PRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdfPRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdf
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
Contact management system
Contact management systemContact management system
Contact management system
 
Microcontroladores: Introducción a las herramientas de desarrollo de microcon...
Microcontroladores: Introducción a las herramientas de desarrollo de microcon...Microcontroladores: Introducción a las herramientas de desarrollo de microcon...
Microcontroladores: Introducción a las herramientas de desarrollo de microcon...
 
01 Database Management (re-uploaded)
01 Database Management (re-uploaded)01 Database Management (re-uploaded)
01 Database Management (re-uploaded)
 
Ppt on visual basics
Ppt on visual basicsPpt on visual basics
Ppt on visual basics
 
COM 211 PRESENTATION.pptx
COM 211 PRESENTATION.pptxCOM 211 PRESENTATION.pptx
COM 211 PRESENTATION.pptx
 
The visual studio start page is shown in the figure below
The visual studio start page is shown in the figure belowThe visual studio start page is shown in the figure below
The visual studio start page is shown in the figure below
 
06 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa1606 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa16
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0
 

More from bantamlak dejene

html forms and server side scripting
html forms and server side scriptinghtml forms and server side scripting
html forms and server side scriptingbantamlak dejene
 
server side scripting basics
server side scripting basicsserver side scripting basics
server side scripting basicsbantamlak dejene
 
server side scripting basics by Bantamlak Dejene
server side scripting basics by Bantamlak Dejeneserver side scripting basics by Bantamlak Dejene
server side scripting basics by Bantamlak Dejenebantamlak dejene
 
Vb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.netVb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.netbantamlak dejene
 
Php ch-2_html_forms_and_server_side_scripting
Php ch-2_html_forms_and_server_side_scriptingPhp ch-2_html_forms_and_server_side_scripting
Php ch-2_html_forms_and_server_side_scriptingbantamlak dejene
 
Php ch-1_server_side_scripting_basics
Php ch-1_server_side_scripting_basicsPhp ch-1_server_side_scripting_basics
Php ch-1_server_side_scripting_basicsbantamlak dejene
 

More from bantamlak dejene (9)

introduction to .net
introduction to .netintroduction to .net
introduction to .net
 
introduction to vb.net
introduction to vb.netintroduction to vb.net
introduction to vb.net
 
html forms and server side scripting
html forms and server side scriptinghtml forms and server side scripting
html forms and server side scripting
 
server side scripting basics
server side scripting basicsserver side scripting basics
server side scripting basics
 
server side scripting basics by Bantamlak Dejene
server side scripting basics by Bantamlak Dejeneserver side scripting basics by Bantamlak Dejene
server side scripting basics by Bantamlak Dejene
 
Vb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.netVb ch 2-introduction_to_.net
Vb ch 2-introduction_to_.net
 
Vb ch 1-introduction
Vb ch 1-introductionVb ch 1-introduction
Vb ch 1-introduction
 
Php ch-2_html_forms_and_server_side_scripting
Php ch-2_html_forms_and_server_side_scriptingPhp ch-2_html_forms_and_server_side_scripting
Php ch-2_html_forms_and_server_side_scripting
 
Php ch-1_server_side_scripting_basics
Php ch-1_server_side_scripting_basicsPhp ch-1_server_side_scripting_basics
Php ch-1_server_side_scripting_basics
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 

Vb ch 3-object-oriented_fundamentals_in_vb.net

  • 2. Language Fundamentals A statement in Visual Basic is like a command given to the computer. Functions and subroutines are made out of statements. A statement generally consists of the name of a subroutine followed by a list of arguments: Debug.Print "Hello World" The first word (Debug) is the name of a built in object in Visual Basic. The second word (Print) is the name of a method of that object. "Hello World" is the argument to the method. The result is: Hello World 11/27/2019 BantamlakDejene,Information Technology 2
  • 3. Forms A form is a window where controls are placed for use by the user of the program. The .Caption property changes the text on the title bar of the window, and the .MinButton and .MaxButton properties show or hide the minimize and maximize buttons. Different window styles such as Dialog boxes, Tool Windows, and standard Forms; as well as some allowed user actions such as resizing and minimizing; are controlled by the form's .BorderStyle property. It is a common practice to name a form with frm<FormName> (ex: frmMain, or frmAlert). 11/27/2019 BantamlakDejene,Information Technology 3 Cont.….
  • 4. Components A component is an executable module stored either as a .VBX file (Visual Basic eXtension for the 16-bit versions of VB), .OCX (OLE Control eXtension for 32-bit versions) file or as a .DLL (Dynamic Link Library) file. Components are pre-compiled code modules used by other program writers with/without knowledge and understanding of the details of its inner workings. Pre-compiled components provide reusable code that has already been written and debugged. Components can be code only (.DLL) or have a visual component that can be placed on a form (.VBX and .OCX). VB supplies many commonly used components (Button, Textbox, Listbox, etc.) as controls in the Toolbox. 11/27/2019 BantamlakDejene,Information Technology 4 Cont.….
  • 5. Events An event is an activity that occurs during a program's execution usually in response to the user's actions, such as a mouse click or a keypress. An event causes a procedure to execute. 11/27/2019 BantamlakDejene,Information Technology 5 Cont.….
  • 6. 1. Controls Control Properties To display the Control Properties window, select ViewProperties Window or press the F4 key. The Properties window initially appears on the right edge of the main window and contains all the names of the editable properties as well as their current values. Some control properties are only editable while the program is running; some are only editable while in design mode. Buttons A button will be your best friend in Visual Basic. Each button should contain code, which is added by you, the programmer. Upon clicking the button, the user will be instructing the program to execute that portion of code. For example, you could set it so when pressed; the program will make a message box that says "HELLO!” Good programming styles generally use cmd<ButtonName> when naming a button. 11/27/2019 BantamlakDejene,Information Technology 6 Cont.….
  • 7. Text Boxes Text boxes allow the users to add text areas to their programs. This text does not have to be typed in directly by the programmer, but could come from other sources such as database fields, text files or data the user will type in while the program is running. Although the default value for this is the name of the control, it can be set to anything including "" (or nothing). Text box names are prefixed with txt, eg; txt<BoxName>. Labels Labels are one of the most used Visual Basic objects. They are often used to label other controls (textboxes, images, etc.) or provide feedback to the user. They are usually named like lbl<LabelName>. 11/27/2019 BantamlakDejene,Information Technology 7 Cont.….
  • 8. Timers Timers are interesting and easy to learn. If you want the program to perform a certain task after a certain amount of time, the Timer is there to help you out. Their only event procedure is _timer, which will be executed every time after a certain amount of time is passed. The most common steps to use Timers are as simple as follows: 1. Add a timer to the form and give it a name. 2. Set the time interval in the Properties window to some value above 0. 3. Double click the timer and add the code you want executed at the set intervals. Timers have very few properties too. 11/27/2019 BantamlakDejene,Information Technology 8 Cont.….
  • 9. Picture Boxes These objects are not just a heavyweight version of image boxes: picture boxes almost have the same properties and function as Form objects. It can do far more than just displaying pictures. Probably the best way to describe picture boxes is that they are containers that can group other objects together, kind of similar to frame objects. E.g. several command buttons can be drawn "inside" of it. General properties VB extends some common properties to all controls placed on a form. Name, Top, Left, and Tag, are a few of the extended property names. When you select and highlight several controls on a form, you can change the general property values of all the highlighted controls using the Properties window. Making a change there will change the property of the same name for all of the highlighted controls. 11/27/2019 BantamlakDejene,Information Technology 9 Cont.….
  • 10. 2. Reserved Words Visual Basic contains several reserved words. These words are "reserved" because they are specific functions and commands in Visual Basic. For example, a variable may not be named "Print" because it is a feature in VB to print. This can be avoided however, by naming your variables "prnt" or "print1". As long as it is not the exact word, it should work. A list of frequently used reserved words/keywords: 11/27/2019 BantamlakDejene,Information Technology 10 Cont.…. And Command Event Get Let Next Or Reset As Date Exit GoTo Load Not Print Resume Beep Do False If Loop Nothing Private Set Call End For Input Me On Public Step Close Error Function Kill Name Option Put
  • 11. 3. Variables and Data Types The built in types are: Byte: - 8 bit, unsigned Integer: - 16 bit, signed Long: - 32 bit signed Single: - 32 bit floating point, range about ±1038 Double: - 64 bit IEEE floating point, range about ±10308 Currency: - exact representation of decimal numbers of up to four decimal places String: - dynamically allocated UniCode strings, theoretical capacity about 29 characters. Collection: - an associative array of Variants. Date: - 8 byte date/time value range January 1, 100 to December 31, 9999. Object: - a holder for any type of Object. Variant: - a holder for any type of value or object. 11/27/2019 BantamlakDejene,Information Technology 11 Cont.….
  • 12. 11/27/2019 BantamlakDejene,Information Technology 12 Cont.…. Type Storage Range of Values Byte 1 byte 0 to 255 Integer 2 bytes -32,768 to 32,767 Long 4 bytes -2,147,483,648 to 2,147,483,647 Single 4 bytes -3.402823E+38 to -1.401298E-45 for negative values1.401298E-45 to 3.402823E+38 for positive values. Double 8 bytes -1.79769313486232e+308 to -4.94065645841247E- 324 for negative values4.94065645841247E-324 to 1.79769313486232e+308 for positive values.
  • 13. General Guidelines for declaring Variables These suggestions will be described in greater detail further below. None of these can be called rules and some are controversial, you have to make up your own mind based on the costs and benefits.  Write comments that explain why you do what you do.  Indent your code.  Declare all variables.  Use meaningful variable and sub routine names.  In the argument list of functions and subs declare all arguments as ByRef.  Declare variables, subs, and functions in the smallest possible scope.  Have as few variables as possible declared Public.  Group related functions and subs together in a module.  Encapsulate to a class a group of closely related variables and procedures together. 11/27/2019 BantamlakDejene,Information Technology 13 Cont.….
  • 14.  Include assertions in the code to ensure that routines are given correct data and return correct data.  Write and execute tests.  Make the program work first hand work fast afterwards.  Where a variable can hold a limited range of discrete values that are known at compile time use an 'enumerated type.  Break large programs into separate components (DLLs or class libraries) so that you can reduce the visibility of data and routines, to just those other pieces of code that need to use them.  Use a simple prefix notation to show the type of variables and the scope of routines. 11/27/2019 BantamlakDejene,Information Technology 14 Cont.….
  • 15. A. Declaring variables Like most programming languages, Visual Basic is able to use and process named variables and their contents. Variables are most simply described as names by which we refer to some location in memory - a location that holds a value with which we are working. B. Comments Good comments can be critical to the longevity of a program; if a maintenance programmer can't understand how your code was supposed to work he might have to rewrite it. If he does that he will also have to write more comments and more tests. 11/27/2019 BantamlakDejene,Information Technology 15 Cont.….
  • 16. 4. Operators A. Arithmetic Operators The operators are index and take two arguments: arg1 operator arg2 except for unary plus and minus. Numeric Operators 11/27/2019 BantamlakDejene,Information Technology 16 Cont.…. Operator Comments + Adds two numbers. - Subtract the second number from the first. - unary Negate the operand. * Multiply two numbers. / Normal division. Integer division. Mod Produces the remainder after integer division. ˆ Raises the first operand to the power of the second.
  • 17. Boolean Arithmetic Boolean operators use Boolean variables or integer variables where each individual bit is treated as a Boolean. There are six operators: 11/27/2019 BantamlakDejene,Information Technology 17 Cont.…. Operator: Meaning: Not Negation And Conjunction Or Disjunction (logical addition) Xor Exclusive Or Eqv Equivalence Imp Implication A B AAnd B A Or B A Xor B A Eqv B A Imp B T T T T F T T T F F T T F F F T F T T F T F F F F F T T
  • 18. B. Comparison Operators These operators, composed of <, > and =, are used to decide whether one value is smaller than, larger than, or equal to another. 11/27/2019 BantamlakDejene,Information Technology 18 Cont.…. Operator Meaning = = Equality <> Inequality < Less than > Greater than >= Greater than or equal to. Or put another way: not less than <= Less than or equal to. Or put another way: not greater than
  • 19. C. Built in Arithmetic Functions Affis(x): - returns the absolute value of x. Exp(x): - returns the value ex. e is Euler's constant. Log(x): -the Neperian ('Natural', e base) logarithm of x. Randomize(x): - not really a mathematical function because it is actually a subroutine. Rnd(x): - produces the next random number in the series. Round(x,n): - returns a real number rounded to n decimal places. Sgn(x): - returns plus one if x is positive, minus one if it is negative, zero if x is identically zero. Sqr(x): - square root of x. Derived Functions Log(x, base) = Log(x) / Log(base) RootN(x, n) = x ^ (1.0 / n) 11/27/2019 BantamlakDejene,Information Technology 19 Cont.….
  • 20. D. Trigonometrically Functions Visual Basic has the usual simple trigonometric functions, sin, cos, tan, but if you want some of the more unusual ones or inverses you will need to write some simple functions. 11/27/2019 BantamlakDejene,Information Technology 20 Cont.…. Secant Sec(x) = 1 / Cos(x) Cosecant Cosec(x) = 1 / Sin(x) Cotangent Cotan(x) = 1 / Tan(x) Inverse Sine Arcsin(x) = Atn(x / Sqr(-x * x + 1)) Inverse Cosine Arccos(x) = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1) Inverse Secant Arcsec(x) = Atn(x / Sqr(x * x - 1)) + Sgn((x) - 1) * (2 * Atn(1)) Inverse Cosecant Arccosec(x) = Atn(x / Sqr(x * x - 1)) + (Sgn(x) - 1) * (2 * Atn(1)) Inverse Cotangent Arccotan(x) = -Atn(x) + 2 * Atn(1) Hyperbolic Sine HSin(x) = (Exp(x) - Exp(-x)) / 2 Hyperbolic Cosine HCos(x) = (Exp(x) + Exp(-x)) / 2 Hyperbolic Tangent HTan(x) = (Exp(x) - Exp(-x)) / (Exp(x) + Exp(-x))
  • 21. 11/27/2019 BantamlakDejene,Information Technology 21 Cont.…. Hyperbolic Secant HSec(x) = 2 / (Exp(x) + Exp(-x)) Hyperbolic Cosecant HCosec(x) = 2 / (Exp(x) - Exp(-x)) Hyperbolic Cotangent HCotan(x) = (Exp(x) + Exp(-x)) / (Exp(x) - Exp(- x)) Inverse Hyperbolic Sine HArcsin(x) = Log(x + Sqr(x * x + 1)) Inverse Hyperbolic Cosine HArccos(x) = Log(x + Sqr(x * x - 1)) Inverse Hyperbolic Tangent HArctan(x) = Log((1 + x) / (1 - x)) / 2 Inverse Hyperbolic Secant HArcsec(x) = Log((Sqr(-x * x + 1) + 1) / x) Inverse Hyperbolic Cosecant HArccosec(x) = Log((Sgn(x) * Sqr(x * x + 1) + 1) /x) Inverse Hyperbolic Cotangent HArccotan(x) = Log((x + 1) / (x - 1)) / 2
  • 22. 5. Flow Control A. If...Then Statement If...Then statements are some of the most basic statements in all of programming. Every language has them, in some form or another. Condition - a set of test(s) that the program executes. Reaction - the instructions that the program follows when the condition returns true. The condition returns true if it passes the test and returns false if it fails the test. There are also other parts to these statements to make them more complex. Two other terms that can be used are Else, and ElseIf. Else will, if the condition is false, do whatever comes between the Else statement and the End If statement. ElseIf will, if the condition directly preceding it is false, check for another condition and go from there. 11/27/2019 BantamlakDejene,Information Technology 22 Cont.….
  • 23. B. If..Then..Else Statement The If..Then..Else statement is the simplest of the conditional statements. They are also called branches, as when the program arrives at an "If" statement during its execution, control will "branch" off into one of two or more "directions". C. Select Case Often it is necessary to compare one specific variable against several constant expressions. For this kind of conditional expression the Select Case is used. 11/27/2019 BantamlakDejene,Information Technology 23 Cont.….
  • 24. D. Unconditionals Unconditionals let you change the flow of your program without a condition. You should be careful when using unconditionals. Often they make programs difficult to understand. Exit: - End a function, subroutine or property and return to the calling procedure or function. Note that in Visual Basic returning from a function and assigning a return value requires two separate statements. For procedures: Exit Sub For functions: Exit Function For properties: Exit Property End: - command is provided for backward compatibility and is rarely (if ever) needed to end a VB program. Using End to end the program will terminate the program in an ungraceful manner (some things may not get shut down properly). Goto: - Transfer control to the statement after the label (or line number). A couple of notes:  Return is a reserved keyword and can only be used with a matching Gosub.  Error handling in Visual Basic does need the use of Goto.  Visual Basic supports line numbering.  Using Exit instead of Goto as shown above has some side effects. 11/27/2019 BantamlakDejene,Information Technology 24 Cont.….
  • 25. E. For...Next Loops The syntax of a For...Next loop has three components: a counter, a range, and a step. For X = 1 To 100 Step 2 Debug.Print X Next X F. Do Loops Do loops are a bit more flexible than For loops, but should generally only be used when necessary. => Do while => Do until => Loop while => Loop until While loops will continue to execute as long as a certain conditional is true. An Until loop will loop as long as a certain condition is false, on the other hand. The only difference between putting either While or Until in the Do section or the Loop section, is that Do checks when the loop starts, and Loop checks when the loop ends. Do Debug.Print "hello“ x = x + 1 Loop Until x = 10 11/27/2019 BantamlakDejene,Information Technology 25 Cont.….
  • 26. Endless loop: Do..Loop: - is a loop which never ends and the statements inside are repeated forever. Do Do_Something Loop Loop with condition at the beginning: Do While..Loop: - has a condition at the beginning. Do While X <= 5 X = Calculate_Something Loop 11/27/2019 BantamlakDejene,Information Technology 26 Cont.….
  • 27. Loop with condition at the end: Do..Loop Until: - has a condition at the end and the statements are repeated until the condition is met. Do X = Calculate_Something Loop Until X > 5 Loop with condition in the middle: Do..Exit Do..Loop: - Sometimes you need to first make a calculation and exit the loop when a certain criterion is met. Do X = Calculate_Something If X > 10 then Exit Do End If Do_Something (X) Loop 11/27/2019 BantamlakDejene,Information Technology 27 Cont.….
  • 28. G. While Loops While loops are similar to Do loops except that the tested condition always appears at the top of the loop. The While loop will run until the condition tests false - or until an "Exit While" statement is encountered. H. Nested Loops A nested loop is any type of loop inside an already existing loop. They can involve any type of loop. For this, we will use For loops. It is important to remember that the inner loop will execute its normal amount multiplied by how many times the outer loop runs. 11/27/2019 BantamlakDejene,Information Technology 28 Cont.….
  • 29. 6. Arrays Arrays are extremely useful in Visual Basic, and are present in many other programming languages. Arrays are used to group similar data together, to make it easier to search and sort through this data. A. Use of Arrays Arrays have far more uses other than just making phone books. Filling an array with random numbers is a popular technique for starting off programs, and testing other techniques such as sorting. To fill an array, a simple For Loop may be used. B. Indices Per default, array indices start at 0, unless "Option Base 1" declaration is used. Without the declaration used, an array declared as "Dim MyArray(5)" has 6 elements: 0, 1, 2, 3, 4, 5. The index range of an array has to be a continuous sequence of integers, including negative numbers. C. Size The size of an array can be obtained using LBound and UBound. Keywords: length, item count, element count. 11/27/2019 BantamlakDejene,Information Technology 29 Cont.….
  • 30. D. Dynamic Arrays An array with the number of elements specified upon its declaration, is a static one: the number of its elements cannot be changed in runtime. By contrast, an array declared without the number of elements is a dynamic array, and its number of elements can be changed using ReDim. E. Variant Arrays Variant arrays are dynamic arrays declared using the Variant type, and initialized using "= Array()". Their advantage is that, after they are initialized using "= Array()", LBound and UBound functions work with them even when they have no elements. F. Multi-Dimensional Arrays Arrays can be defined to have any number of dimensions (or indices), by listing the sizes of each dimension. Dynamic arrays can also be re-dimensioned to have any number of dimensions. The LBound and UBound functions can be used to find the bounds of a particular dimension. 11/27/2019 BantamlakDejene,Information Technology 30 Cont.….
  • 31. G. Erasing Arrays Any type of array can be re-set to empty by using: Erase SomeArray H. Mixing Arrays The real power of arrays comes when defining arrays of arrays. You can nest arrays like this to any depth and in any order and they can be of any size. A note of caution must be taken when using the ReDim statement. I. Use of Matrices Matrices are not as commonly used as arrays, but are an important element of programming. When talking about matrices, rows are always stated before columns. You will also notice column numbers travel from left to right, while row numbers travel from top to bottom. 11/27/2019 BantamlakDejene,Information Technology 31 Cont.….
  • 32. 7. Strings A string is an array of characters. A normal string variable occupies 10 bytes of RAM, plus the string's size, and can hold up to 2 billion characters! Some frequently used built-in string constants: vbTab, vbCrLf VbTab contains a string that does the same thing as the Tab key on your keyboard, while vbCrLf creates a character return and a line feed(similar to the Enter key): Some string functions: Str(),Val() Str() converts any numerical value into a string value while Val() converts a string value into a numerical value(only when it's convertible). A. Comparison Two strings are equal by value if they have the same content. The statement Option Compare Text can be placed at the top of a module to make the comparison case-insensitive, impacting =, <, >, <=, >=, <>. To test whether two strings are equal by reference, that is, whether they start at the same address, you can use StrPtr function. 11/27/2019 BantamlakDejene,Information Technology 32 Cont.….
  • 33. B. Concatenation The operator intended to perform string concatenation is &. The operator + can sometimes be used to the same effect, but not always. C. Containment To find out if one string is a substring of another, use the InStr function. InStr function returns the position of the substring if it is found or zero otherwise. The two-argument use of InStr function is case-sensitive. D. Replacing To replace a string with another string inside a third string, use the built-in function. E. Indexing and Substrings Strings can be used almost as if they were lists of characters. The nth character in a string can be returned by subscripting: It is also possible to return a substring of a string. F. String constants String constants can be declared like any other constant: Const s As String = "abcdef" 11/27/2019 BantamlakDejene,Information Technology 33 Cont.….
  • 34. G. String Functions Strings are not objects so they do not have methods but there are a number of functions that manipulate strings. Asc: - Returns the integer code of the first character of the string. Len: - Returns the length of the string. InStr: - Returns the character index of the first occurrence of the substring in a string or zero if the substring is not found. InstrB: - Like InStr except that it returns the byte position. InstrRev: - Like InStr except that it returns the character position of the last occurrence. Left$: - returns the specified number of characters from the beginning of the string. Mid$: - Returns a number of characters starting at the given position. Right$: - Returns the specified number of characters from the end of the string. IsNumeric: - Returns true if the string looks like a number. LTrim$, RTrim$, Trim$: - Returns a copy of the string with leading, trailing or leading and trailing spaces removed respectively. 11/27/2019 BantamlakDejene,Information Technology 34 Cont.….
  • 35. LCflse$, UCflse: - Converts the whole string to lower case or upper case respectively. Val: - Returns a number corresponding to the number found at the start of the string. Str: - Returns a string corresponding to the given number. CStr: - Converts the expression to a string. Format$: - Converts a number to a string using a specific format. The format is provided as a string of characters, that shows how many digits should be given before and after the decimal point. CBool, CByte, CCur, CInt, CLng, CSng, CDbl, CDec: - Locale aware conversions to Boolean, Byte, Currency, Integer, Long, Single, Double, Decimal. Split: - Chops a string into pieces and returns a Variant Array. Hex$: - Returns a string of Hex characters representing a number. Oct$: - Returns a string of Octal characters representing a number. Replace$: - Returns a string with occurrences of a specified substring replaced with a new string. StrComp: -Returns -1 if the first sting is less than the second, 0 if they are identical, +1 if the first is greater than the second. 11/27/2019 BantamlakDejene,Information Technology 35 Cont.….
  • 36. H. Quotes in strings Because the double quote (") is used to delimit strings, you can't use it directly to specify a quote within a string. I. Startswith and Endswith Visual Basic does not have functions "startsWith" (or "BeginsWith") and "endsWith" found in some other programming languages. But it has "Like" comparison operator used for simple pattern matching that does the job when used with "*" to stand for "any string of characters“. J. Pattern Matching You can do simple pattern matching with Like keyword; for complex pattern matching. The special characters in the patterns of Like include for a single char, * for any number of chars, # for a single decimal digit, [...] for a single char in the list, and [!...] for a single char not in the list. 11/27/2019 BantamlakDejene,Information Technology 36 Cont.….
  • 37. 8. Methods and their Types I. Procedures Procedures turn a complicated process into a series of simpler steps. A procedure is called with a simple command. Control is transferred to that section of code where the statements in the procedure are executed. When completed, control returns to the line that called the procedure. All procedures are either functions that return a result as the value of the function, or subroutines that are called for their side effects. A. Creating Procedures Procedures provide a way to group a set of related statements to perform a task Visual Basic includes two primary types of procedures: Function procedures are called by name from event procedures or other procedures often used for calculations, function procedures can receive arguments and always return a value in the function name. Sub procedures are called by name from event procedures or other procedures They can receive arguments and also pass back modified values in an argument list Unlike functions, however, Sub procedures don’t return values associated with their particular Sub procedure names Sub procedures are typically used to receive or process input, display output, or set properties. 11/27/2019 BantamlakDejene,Information Technology 37 Cont.….
  • 38. B. Calling a Procedure Call a procedure with a Call statement. It looks like this: C. Passing Arguments The set of parentheses following the procedure name supplies an optional list of arguments for the procedure. The Call statement and the first line of the procedure each need a matching list of arguments for the statements to work. A procedure doesn’t need an argument list to work, but when they’re used, both the procedure and its call statement must agree. There are two ways to pass arguments to a procedure: one is ByVal and the other is ByRef. You can also pass multiple arguments. Just make sure that the data type and the order of the arguments between them match exactly. ByVal The purpose of arguments is to customize a procedure. ByRef The other way to pass an argument is ByRef. That’s short for “by reference.” It’s a two-way street. Not only can values be passed to a procedure, the procedure can modify them and assign the value to the original variable. 11/27/2019 BantamlakDejene,Information Technology 38 Cont.….
  • 39. II. Functions A function supplies an answer in a program. A Function procedure is a group of statements located between a Function statement and an End Function statement. You execute, or call, a function in a program by placing the function name in a program statement along with any required arguments. Arguments are the data used to make functions work, and they must be included between parentheses and be separated by commas. A. Creating a Function A function takes its own space in the code, just like procedures. The function can be Private or Public, depending on where it’s shared. Function declares it as a function. FunctionName is the name of the function. 11/27/2019 BantamlakDejene,Information Technology 39 Cont.….
  • 40. B. Calling a Function Functions are called with a single statement. The function call must include all the values needed by the function and they must be in order. The general form for a function call is var = FunctionName(arguments) C. Arguments Functions have at least one argument, that is, they have at least one value that’s passed to them. The number and type of the arguments must agree between the function and the statement that calls it. The arguments must also be in order. D. Return Functions return one value. That’s a major difference between functions and procedures. E. Passing Arguments Values can be passed to a function in two ways, ByVal and BeRef. The rules and results are the same for functions as they are for procedures. 11/27/2019 BantamlakDejene,Information Technology 40 Cont.….
  • 41. III. Sub Procedure A Sub procedure is similar to a Function procedure, except that a Sub procedure doesn’t return a value associated with its name. Sub procedures are typically used to get input from the user, display or print information, or manipulate several properties associated with a condition. Sub procedures can also be used to process and update variables received in an argument list during a procedure call and pass back one or more of these values to the calling program. A. Sub Procedure Syntax The basic syntax for a Sub procedure is: Sub ProcedureName ([arguments]) procedure statements End Sub 11/27/2019 BantamlakDejene,Information Technology 41 Cont.….
  • 42. B. Calling a Sub Procedure To call a Sub procedure in a program, you specify the name of the procedure, and then list the arguments required by the Sub procedure. C. Passing Arguments by Value and by Reference Using the ByVal keyword indicates that variables should be passed to a procedure by value (the default). Any changes made to a variable passed in by value aren’t passed back to the calling procedure. However using the ByRef keyword indicates that variables should be passed to a procedure by reference, meaning that any changes made to the variable in the procedure are passed back to the calling routine passing by reference can have significant advantages, so long as you’re careful not to change a variable unintentionally in a procedure. 11/27/2019 BantamlakDejene,Information Technology 42 Cont.….
  • 43. 9. Events Developers must keep two things in mind: getting the program to do what it should and making it useable – the two go hand-in-hand. A cool interface means nothing if the software doesn’t perform. I. New Events You’re familiar with several events such as Click, Load, and Scroll, but there are more, many more. Every event can trigger code and every user action raises an event, that is, every time the user does something, from a click of the mouse to a peck of a key, a program can respond. How it responds and what it does are key to good software. A. KeyPress When a key is pressed, it generates a KeyPress event and also several other key events. These keystrokes can be trapped in various ways and the input can be used to determine what the user wants. The program is checking every keystroke and deciding what to do with it. 11/27/2019 BantamlakDejene,Information Technology 43 Cont.….
  • 44. B. Modifier Keys A KeyDown event determines if one or more of the modifier keys are used. The KeyDown event is triggered when any key is pressed down. C. TextChanged A TextChanged event is generated for every keystroke in a TextBox. It’s also triggered whenever the text in a TextBox changes. The TextChanged event gives a developer the ability to examine every change to a TextBox. The user types a character for the TextBox, triggering a TextChanged event. It finds and checks the last character entered. D. LostFocus The LostFocus event for a control is triggered when that control loses the focus. It loses focus when a user sets the focus to another control by using the tab or clicking on another control. It’s also triggered when the Focus method sets the focus to another control. LostFocus is usually used to clean up or validate entry. E. Activated The Activated event is triggered when a form becomes active and occurs when the Show method is used on a form or the user clicks on a form to make it active. It’s similar to the Load event; however, the Load event only occurs when the form is first loaded. Use the Activated event to update the contents of a form or to set the focus to a particular control. 11/27/2019 BantamlakDejene,Information Technology 44 Cont.….
  • 45. II. Mouse Events There are a handful of mouse events, each one waiting to do the bidding of a developer. A. MouseEnter The MouseEnter event is triggered when the mouse moves over a control. MouseEnter is usually used to highlight or draw attention to the control that’s selected. B. MouseHover The MouseHover event is triggered when the mouse pauses over a control. C. MouseLeave The MouseLeave enter is triggered when the mouse leaves a control. It can be used to reset the control to what it was before the mouse entered it. D. MouseDown MouseDown is the first part of what users usually think of a click. However, there are several events to a “click” event and the first is the MouseDown. It’s triggered when the mouse button is pressed down. It’s completed before the Click or MouseUp events. 11/27/2019 BantamlakDejene,Information Technology 45 Cont.….
  • 46. E. MouseUp MouseUp is the last part of the click. It’s triggered when the mouse button is released. Of course the MouseUp and MouseDown events must occur over the same control for it to be a click. However, MouseUp occurs regardless of where the mouse is when the button is released. F. MouseMove MouseMove events occur when the mouse moves over a control. The location of the mouse is tracked using X, Y coordinates. The top left of the control is point 0, 0 and is tracked for every control, even the form. G. DoubleClick In addition to the Click event, controls also have a DoubleClick event. The Click event is triggered when the first click is completed and the DoubleClick is raised if two clicks on the same control happen in quick succession. 11/27/2019 BantamlakDejene,Information Technology 46 Cont.….
  • 47. III. New Controls It’s time to learn a few more controls from the Toolbox. A. ColorDialog The ColorDialog lets a developer give the user the power to set the color of almost anything. Name the control dlgColor. The ForeColor property controls the font color for most controls. The BackColor property determines the background color. B. FontDialog The FontDialog lets a developer give the user the power to set the font properties of almost anything. The FontDialog controls the font, size, and style properties of text. C. LinkLabel A LinkLabel is very similar to a hyperlink on a webpage, but it can do more than just link to a webpage. The LinkClicked event triggers a process that can start your browser, open your email, or start a program. D. ProgressBar The ProgressBar is often used to indicate the status of a process. Sometimes the user has to wait for a file to load or for a series of calculations to complete. 11/27/2019 BantamlakDejene,Information Technology 47 Cont.….
  • 48. E. MonthCalendar The MonthCalendar is a quick and easy way to select a date. MonthCalendar displays the current month and can easily navigate to months in the past or future. Click on a date to select it – a fast and easy way for a user to select a date. Once selected, there are a number of methods to extract and work with the date. F. DateTimePicker When space is limited, the DateTimePicker is handy. It’s similar to the MonthCalendar, but it takes up less space. The calendar starts as a dropdown box and expands when selected. From there, the user navigates through it like a MonthCalendar. There is one difference, however; the date is stored in the Value property and assigns values accordingly. F. Predefined Forms Visual Basic has several predefined forms. Until now you’ve ignored them and stuck to a Windows Form when adding a form to a project. G. Splash Screen A splash screen can also be called a startup screen. It’s the first screen a user sees. It usually contains the name of the application and some other important information. This screen pops up as the rest of the application loads. 11/27/2019 BantamlakDejene,Information Technology 48 Cont.….
  • 49. IV. Potential Problems Key events won’t work when there are Buttons around. Don’t use key events and Buttons on the same form. Always check to see which events will trigger the code. When code is added to other events, there’s the potential for lots of things to happen. It might slow your program to a crawl and many unexpected things could happen. A. DragEnter The DragEnter event is raised when the mouse moves onto a control. It differs from the MouseEnter event because the mouse button is down for the DragEnter event. B. DragOver The DragOver event is raised as the mouse moves over a control. It differs from the MouseHover event because the mouse button is down for a DragOver event. C. DragLeave The DragLeave event is raised as the mouse leaves a control. It differs from the MouseLeave event because the mouse button is down for a DragLeave event. D. DragDrop Several things must happen for a DragDrop event to happen. It simply means the user grabbed something and dropped it somewhere else. 11/27/2019 BantamlakDejene,Information Technology 49 Cont.….
  • 50. 10. Regular Expressions Sometimes, the built in string functions are not the most convenient or elegant solution to the problem at hand. If the task involves manipulating complicated patterns of characters, regular expressions can be a more effective tool than sequences of simple string functions. It can use regular expressions via VBScript Regular Expression Library. 11/27/2019 BantamlakDejene,Information Technology 50 Cont.….
  • 51. A. Class outline Class outline of VBScript RegExp class: Attributes RegExp.Pattern => RegExp.Global => RegExp.IgnoreCase =>RegExp.MultiLine Methods RegExp.Test => RegExp.Replace => RegExp.Execute B. Constructing a RegExp A method of constructing a regular expression object: Set Regexp = CreateObject ("VBScript.RegExp") C. Testing for match D. Finding matches E. Finding groups F. Replacing G. Splitting 11/27/2019 BantamlakDejene,Information Technology 51 Cont.….
  • 52. Class 1. Class Definition A class definition starts with the keyword Class followed by the class name; and the class body, ended by the End Class statement. [<Attributelist>] [Accessmodifier] [Shadows] [MustInherit |NotInheritable] [Partial] _Class name [ ( Of typelist ) ] [ Inherits classname ] [ Implements interfacenames ] [ statements ] End Class 11/27/2019 BantamlakDejene,Information Technology 52
  • 53. 2. Member Functions and Encapsulation A member function of a class is a function that has its definition or its prototype within the class definition like any other variable. It operates on any object of the class of which it is a member and has access to all the members of a class for that object. Member variables are attributes of an object (from design perspective) and they are kept private to implement encapsulation. These variables can only be accessed using the public member functions. 11/27/2019 BantamlakDejene,Information Technology 53 Cont.….
  • 54. 3. Constructors and Destructors A class constructor is a special member Sub of a class that is executed whenever we create new objects of that class. A constructor has the name New and it does not have any return type. A destructor is a special member Sub of a class that is executed whenever an object of its class goes out of scope. A destructor has the name Finalize and it can neither return a value nor can it take any parameters. Destructor can be very useful for releasing resources before coming out of the program like closing files, releasing memories, etc. Destructors cannot be inherited or overloaded. 11/27/2019 BantamlakDejene,Information Technology 54 Cont.….
  • 55. 4. Shared Members of a VB.Net Class The keyword Shared implies that only one instance of the member exists for a class. Shared variables are used for defining constants because their values can be retrieved by invoking the class without creating an instance of it. Shared variables can be initialized outside the member function or class definition. You can also initialize Shared variables inside the class definition. You can also declare a member function as Shared. Such functions can access only Shared variables. The Shared functions exist even before the object is created. 11/27/2019 BantamlakDejene,Information Technology 55 Cont.….
  • 56. Inheritance 1. Base & Derived Classes A class can be derived from more than one class or interface, which means that it can inherit data and functions from multiple base classes or interfaces. The syntax used in VB.Net for creating derived classes is as follows: <access-specifier> Class <base_class> ... End Class Class <derived_class>: Inherits <base_class> ... End Class 11/27/2019 BantamlakDejene,Information Technology 56
  • 57. 2. Base Class Initialization The derived class inherits the base class member variables and member methods. Therefore, the super class object should be created before the subclass is created. The super class or the base class is implicitly known as MyBase in VB.Net. 11/27/2019 BantamlakDejene,Information Technology 57 Cont.….