350 likes | 453 Views
Decisions with Select Case and Strings. Chapter 4 Part 2. String Storage (Section 4.8). Stores characters (e.g., A, a, B, b) as numeric codes in Unicode format. Displays character corresponding to actual Unicode number stored in memory.
E N D
Decisions with Select Case and Strings Chapter 4 Part 2
String Storage (Section 4.8) • Stores characters (e.g., A, a, B, b) as numeric codes in Unicode format. • Displays character corresponding to actual Unicode number stored in memory. • Arranges letters in alphabetical order in Unicode sequencing. • A comes before B. • A has lower Unicode number than B. • Uppercase before lowercase: • A before a • Space before letters Chapter 4
String Comparison in If Statement • John (same)JOHN (different) Chapter 4
More String Comparison • John (equal) • JOHN (less than John) • Johnny (greater than John) • Jones (greater than John) Chapter 4
How Strings Are Compared Chapter 4
ToUpper • StringExpression.ToUpper • Returns uppercase equivalent of string. • Does not change original string contents. • Then store result in another variable. Chapter 4
ToLower • StringExpression.ToLower • Returns lowercase equivalent of string. • Does not change original string contents. • Then store result in another variable. Chapter 4
Tutorial 4-6 (pp. 214-216) • Illustrates how to use ToUpper within an If statement to process comparisons. • Shows that typing “prospero” equals “PROSPERO” when using: txtInput.Text.ToUpper Chapter 4
StringExpression.Length • Determines the length of a string. • Text Box Example: • Visual Basic (typed in text box) • txtProgram.Text.Length • Length = 17 • Variable Example: • strName = txtName.Text • intNumber = strName.Length • Good for getting restricted # of characters from user. (see p. 217) Chapter 4
Spaces • Leading Spaces • Spaces (shown here with #) before actual characters • #####Keith • Trailing Spaces • Spaces after actual characters • Keith##### Chapter 4
Trim Methods • Use Trim method to remove spaces. • StringExpression.TrimStart • Removes leading spaces • #####Keith becomes Keith • StringExpression.TrimEnd • Removes trailing spaces • Keith##### becomes Keith • StringExpression.Trim • Removes leading and trailing spaces • #####Keith##### becomes Keith • Trim methods do not modify actual variable; use Trim and store results in another variable. Chapter 4
TrimStart Example • See p. 227 for displayingmultiple lines. Chapter 4
Other String Expressions • Substring (pp. 218-219) • IndexOf (pp. 219-220) Chapter 4
InStr • Searches for a substring within the base string (searches are case-sensitive). • Proceeds left to right. • Stops at match or end of string. • If successful, returns the character position at which the match was found. • If unsuccessful, returns 0. • Example: • InStr("Eventful adventure","advent") • Returns 10 because “a” starts in 10th position. • Eventful adventure (string) • advent (substring Chapter 4
More InStr() • Instr(startpos, basestring, searchstring) • Example: • InStr(1,”Eventful adventure”, “vent”) • Starts at position 1. • Looks in Eventful adventure. • Finds starting position of v in vent. • Returns 2. • Example: • InStr(1, strWholeName, “,“) • Looks within variable contents to find position of comma. Chapter 4
Trim Full Name Example Chapter 4
Trim Full Name, Continued Chapter 4
Select Case • Handles conditions with multiple outcomes. • Tests one expression, whereas ElseIf tests several expressions. • Select Case testexpression • Case expressionlist1 • Statementblock1 • Case expressionlist2 • Statementblock2 • Case Else • Statementblock • End Select Chapter 4
Select Case Exact Match Example Chapter 4
Select Case at Run Time • Evaluates the test expression. • Attempts to match the resulting value with one of the expression lists. • Starts searching top of expression list. • Proceeds through subsequent expression lists, stopping at the first match. • Processes code at match or • Executes the Case Else statement block if no match is selected. Chapter 4
Select Case for Ranges • Select Case expression • Case Is < 1 ‘requires Is before relational operator • Do something • Case 1 To 5 ‘requires To keyword between values • Do something different • Case 6 To 10 • Do something • Case Else • Do something entirely different. • End Select Chapter 4
Select Case Example • txtTest • btnGrade • 90+ Display A and “Superior” • 80-89 Display B and “Good” • 70-79 Display C and “Satisfactory” • Other Display failing notice Chapter 4
Summary Chapter 4
Decision Rules Chapter 4
Radio Button Control (p. 236) • Ensures that the user selects only one option: • Male/Female • Age ranges • Circle with descriptive text • Only 1 selected in group ata time • Mutually Exclusive:Deselects one when youselect another radio button Chapter 4
Radio Button Rules & Conventions • Use radControlName style with rad prefix. • Use access keys on Text property. • Set TabIndex from one radio button to another. • Must use group boxes if the form has more than one set of radio buttons (see bulleted list and examples on p. 236). • Use no more than 7 radio buttons per set. Chapter 4
Radio Button Properties Chapter 4
Radio Button Results • Can trigger Click event, but typically enable user to choose and then click a button to trigger event. • Default radio button • Set Checked property to True. Chapter 4
Which button is clicked? • Use in IF…ElseIf statement to determine if radio button Checked property value is true (i.e., selected). • If radRed.Checked = True Then MessageBox.Show(“You chose red.”)ElseIf radGreen.Checked = True Then MessageBox.Show(“You chose green.”)ElseIf radBlue.Checked = True Then MessageBox.Show(“You chose blue.”)ElseIf radPurple.Checked = True Then MessageBox.Show(“You chose purple.”)End If Chapter 4
Check Box Control (p. 238) • Not Mutually Exclusive: • Enables user to select 0, 1, or more options in same category. • Name: chk prefix standard • chkBold • chkItalic • chkUnderline • Text: caption displayed onscreen • Checked: selected if True • Can set 1 or more at design time • See characteristics on p. 238. Chapter 4
Is a check box checked? • Although If…ElseIf statements work well for radio button groups, they do not work well for check boxes. • Use individual If statements for each check box to see if it is checked. • Use Checked to determine if check box is selected. • chkBold.Checked = True • Compare radio button code (p. 239) to check box code (p. 240). Chapter 4
Class-Level Variables • Review scope of a variable. • Visible and accessible to statements • Local variables • Declared within event procedure; local to that procedure • Class-level variables • Declared at the form level; available to all procedures on that form Chapter 4
Class-Level Concerns • Wrong value can be stored; must track down code that causes problem (very troublesome in complex programs). • When 2 or more procedures modify same variable, must be careful that 1 procedure doesn’t modify it when you need original value in another procedure. Chapter 4
Recommended Practice • Tutorial 4-7 (Strings) • Tutorial 4-8 (Select Case) • Tutorial 4-9 (Check Boxes & Radio Btns) • Section 4-14 and Tutorial 10 • pp. 241-250 • Comprehensive review Chapter 4