visual basic 6 variables
TRANSCRIPT
VISUAL BASIC Variables-Operations
May 2002
Variable Memory location whose value can change as the
program is running. Used to hold temporary information Used to control the type of data used in
calculations Can Store only one piece of data at any time Data is processed faster
Data Types Integer - Whole numbers - 2 bytes - +/- 32,767 Long - Whole numbers - 4 bytes - +/- 2 billion Single - Decimal - 4 bytes - +/- 1E-45 to 2E38 Double - Decimal - 8 bytes - +/- 5E-324 to 1.8E308 Currency - 15 left, 4 right of decimal - 8 bytes - +/- 9E14 String - Text - 1 byte per character - 65,400 chars for fixed strings,
2 billion for dynamic strings Byte - Whole numbers - 1 byte – 0 to 255 Boolean - Logical values - 2 bytes - True or false Date - Date and time - 8 bytes - 1/1/100 to 12/31/9999 Object - OLE objects - 4 bytes - N/A Variant - Any preceding type - 16 bytes+1 byte per character - N/A
Use of Appropriate Data Type
Integer or Long - Used to store whole numbers Single, Double, Currency - Used to store numbers
with a decimal fraction String - Used to store strings Boolean - Used to store Boolean values (True and
False) Date - Used to store date and time information Object - Used to store a reference to an object Byte - Used to store binary data Variant - Flexible, but not efficient
Variable Names
Can be no longer than 255 characters Can not be a reserved word Should be meaningful First three characters should represent the
data type or should start with a letter Remainder of name should represent the
variable’s purpose. No spaces, periods, or other punctuation characters are allowed
Three-Character Ids
Byte byt Boolean bln Currency cur Date/Time dtm Double dbl Integer int
Long lng Object obj Single sng String str Variant vnt
Variable Declaration
Dim variablename [As datatype] [, variablename2 [As datatype2]]
Public variablename [As datatype] Private variablename [As datatype] Static variablename [As datatype]
Assigning Values to Variables
Assignment statement variablename = value
Examples: sngHours = 38.5 curBonus = curSales * .1 strName = “Susan”
Scope of a Variable
Indicates which procedures can use the variable
Determined by where the Dim or Public statement is entered
Can be either global, form-level, or local
Local Variables
Created with the Dim statement
The Dim statement is entered in an object’s event procedure
Only the procedure in which it is declared can use the variable
Removed from memory when the procedure ends
Form Level Variables
Created with the Dim/Private statement
The Dim statement is entered in a form’s General declarations section
Can be used by any of the procedures in the form
Removed from memory when the application ends
Global Variables
Created with the Public statement The Public statement is entered in a code
module’s General declarations section Used in multi-form projects and can be used
by any of the procedures in any of the project’s forms
Removed from memory when the application ends
Static Variables
Can be used to preserve the variable value for the procedures to be called multiple timesStatic Sub Test()
Dim x As Integer
Debug.Print x
x = 1234
Debug.Print x
End Sub
(1st run: 0 and 1234; 2nd run: 1234 and 1234)
Variable Arrays
Group of variables of same typeDim x1 As Currency, x2 As CurrencyDim x3 As Currency, x4 As CurrencyDim xtotal As Currencyxtotal=x1+x2+x3+x4
Dim x (1 to 4) As CurrencyDim xtotal As Currencyxtotal=0For xcounter = 1 to 4
xtotal=xtotal+x(xcounter)Next xcounter
Option Explicit Statement
Doesn’t allow you to create variables “on the fly”
Enter in every form’s, and every code module’s, General declarations section
Use Tools, Options, Editor tab, Require Variable Declaration to have Visual Basic include Option Explicit in every new form and module
If you fail to define a variable you will receive an error message “Variable not defined”
Constants
Literal constant an item of data whose value cannot change
while the program is running 7 “Janet”
Symbolic constant a memory location whose contents cannot
be changed while the program is running conPi conRate
Creating a Symbolic Constant
A memory location whose value cannot change during run time
Syntax: [Public] Const constname [As datatype] = expression
Examples: Const conPi As Single = 3.141593
Public Const conMaxAge as Integer = 65
Scope of a Symbolic Constant
Indicates which procedures can use the symbolic constant
Global: Public Const statement in a code module’s General declarations section
Form-level: Const statement in the form’s General declarations section
Local: Const statement in an event procedure
Assignment Statements
IntNumStudents=25numeric literal
StrTopStudent=“June”string literal
IntAvgScore=TotScore/NumStudentsmathematical expression
StrSpouseName=“Mrs. ” & “Tina Fortner”string expression
StrCapitalName=Ucase$(“Chris”)return value of a function
Operator Order of Precedence
^ exponentiation - negation *, / multiplication and division \ integer division Mod modulus arithmetic +, - addition and subtraction Order is from left to right for same order or
precedence. Parentheses can be used to override the order or precedence.
Function
A predefined Visual Basic procedure
A function returns a value
Val and Format are two examples of Visual Basic’s intrinsic functions
Val Function
Val function - returns the numeric equivalent of a string
Syntax: Val(string) This Val function: Would be converted to: Val(“456”) 456 Val(“24,500”) 24 Val(“24.500”) 24.5 Val(“$56.8”) 0 Val(“A”) 0 Val(“”) 0
String Concatenation
Ampersand - & Examples: (Assume strFirstName contains “Mary”
and sngSales contains 1000) “Hello “ & strFirstName strFirstName & “ sold $“ & sngSales & “.”
Results: Hello Mary Mary sold $1000.
Newline Character
Chr(13) & Chr(10) - issues a carriage return
followed by a line feed
vbNewLine - one of Visual Basic’s intrinsic
constant
An intrinsic constant is one that is built into the
Visual Basic language
Len Function
You can use the Len function to
determine the number of characters
contained in a text box or a variable
Syntax: Len(textbox.Text)
SelStart Property of a Text Box
Tells Visual Basic where to position the
insertion point
Syntax: object.SelStart [ = index]
The first position is position (index) 0
SelLength Property of a Text Box
Tells Visual Basic how many characters
to select
Syntax: object.SelLength [ = number]
Highlighting Existing Text
Use the following two lines of code:
textbox.SelStart = 0
textbox.SelLength = Len(textbox.Text)
Enter the lines of code in the text box’s GotFocus event, which occurs when an object receives the focus
Change Case
All upper case letters: Ucase All lower case letters: Lcase
Dim str1 As String, str2 As StringDim str3 As String, str4 As Strings1 = "çğıiöşü"s2 = "ÇĞIİÖŞÜ"s3 = UCase(s1) ‘ÇĞıIÖŞÜs4 = LCase(s3) ‘çğiİöşüMsgBox (s1 & vbNewLine & s3)MsgBox (s2 & vbNewLine & s4)
Searching a String – Insrt - First Occurrence
InStr(StartPos, sourcestr, searchstr) StrChrPos = InStr(1,“I’ll see you next Tuesday.”, “you”)
Result is 10 StrChrPos = InStr(9, “I’ll see you next Tuesday.”, “e”)
Result is 15
Searching a String – InStrRev - Last Occurrence
InStr(StartPos, sourcestr, searchstr) StrChrPos = InStrRev(“I’ll see you next Tuesday.”, “e”)
Result is 21 StrChrPos = InStrRev(“I’ll see you next Tuesday.”, “l”)
Result is 4
Extracting Pieces of a String
Left(string, length) : Retrieves a specified number of characters from the left end of a string
Right(string, length) : Retrieves a specified number of characters from the right end of a string
Mid(string, start [, length]) : Retrieves characters from the middle of a string
Dim AnyString, MyStr
AnyString = "Hello World" ' Define string.
MyStr = Left(AnyString, 7) ' Returns "Hello W".
MyStr = Right(AnyString, 7) ' Returns “o World".
MyStr = Mid(AnyString, 2, 3) ' Returns “ell".
Replacing Characters in a String
Mid can be used to replace part of a string.Dim AnyString, MyStr
AnyString = "Hello World" ' Define string.
Mid(AnyString, 2) = “aaa” ' Returns “Haaao World".
Mid statement preserves the original length of the string. If the space remaining between the starting position and the end of the string is less than the length of the replacement string, only the leftmost characters are used from the replacement string.
Getting Rid of Spaces
LTrim(string) : Removes the spaces from the beginning of a string
RTrim(string) : Removes the spaces from the end of a string
Trim(string) : Removes the spaces from both the beginning and end of a string
Dim AnyString, MyStr
AnyString = “ Hello World" ' Define string.
MyStr = LTrim(AnyString) ' Returns "Hello World".
Format Function
Format function - returns a formatted expression
Syntax: Format(expression, format)
Some of Visual Basic’s predefined formats:
Currency
Fixed
Standard
Percent
Format
FormatCurrency(1234) or
Format(1234, “Currency”)
$1,234.00 or 1.234,00 TL
Format(1234, “$#,###.00”)
$1,234.00 (According to OS)
FormatNumber(1234)
1,234.00 or 1.234,00
FormatDateTime(“20:10”,vbLongTime)
20:10:00
Named Format and Descriptions General Number: No special formatting
Currency: Thousands separator, two digits to the right of the decimal
Fixed: At least one digit to the left and two digits to the right of the decimal
Standard: Thousands separator, at least one digit to the left and two digits to the right of the decimal
Percent: Multiplies by 100 and follows number by % sign
Scientific: Standard scientific notation
Yes/No: Displays Yes for a nonzero value.
True/False: Displays True for a nonzero value.
On/Off: Displays On for a nonzero value.
Codes for Numeric Formats 0 – Digit placeholder: Displays the digit or 0 if no digit.
9 – Digit placeholder: Displays the digit or displays nothing if no digit. (omits leading and trailing zeros)
. – Decimal separator: Indicates where the decimal point is displayed.
, – Thousands separator: Indicates where the separators are displayed.
% – Percentage indicator: Indicates where a percent sign is displayed. (number multiplied by 100)
E-,E+ - Scientific notation: With E- a minus sign is displayed next to negative exponents, no sign for positive.
Named Date and Time Formats General Date: Displays date and time if expression contains both.
Long Date: Displays the day of the week, the day of the month, the month and the year.
Medium Date: Displays the day of the month, a three-letter abbreviation for the month and the year.
Short Date: Displays the day, month, the month and year.
Long Time: Displays hours, minutes, and seconds along with the AM/PM indicator.
Medium Time: Displays hours and minutes along with the AM/PM indicator.
Short Time: Displays hours and minutes in military time.
Other Functions (MonthName(Month(Now))) ‘ Returns Mart
Change to Date
Cdate(“November 23, 1963”) ‘ Returns 11/23/63
Add Dates
MsgBox (DateAdd(“m”, 1, Now())) ‘ Returns 04.04.2002 10:00
Subtract Dates
(DateDiff(“m”, Now, “5.5.2002”)) ‘ Returns 2 (5-3)
Round a numeric expression to a specified number of decimal places.
Round(202.5) ‘ Returns 202
Round(202.56) ‘ Returns 203
Credit Payment Example
Credit Payment ExampleUse object names as:
lblPrincipal, txtPrincipal
lblInterest, txtInterest
lblPeriod, txtPeriod
lblPayment, txtPayment
cmdCalcul
cmdExit
Result will be: 50.388
Credit Payment ExamplePrivate Sub cmdCalcul_Click()
Dim dPrincipal As Double, dPayment As Double
Dim dInterest As Double, dPeriod As Double, dTerm As Double
dPrincipal = Val(Replace(Replace(txtPrincipal.Text, ",", ""), ".", ""))
dInterest = Val(txtinterest.Text) / 100
dPeriod = Val(txtPeriod.Text)
dTerm = dPeriod * 12
txtPrincipal.Text = Format(dPrincipal, "###,###,###,###")
dPayment = dPrincipal * (dInterest / (1 - (1 + dInterest) ^ (0 - dTerm)))
txtPayment.Text = Format(dPayment, "###,###,###,###")
End Sub
Credit Payment ExamplePrivate Sub cmdExit_Click()
End
End Sub
Private Sub Form_Load()
txtPrincipal.Text = "100000"
txtinterest.Text = 50
txtPeriode.Text = 1
End Sub