1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,List Boxes and Combo Boxes,Loop StructuresPrinting,chapter,SEVEN,List Boxes&Combo Boxes,Display list of items,List pre-defined or built dynamically,List of items may be read from fi
2、les or databases,List Boxes,vs,.Combo Boxes,Both have,automatic scroll bars,.,ListIndex,property-an index to each item,.,ListCount,property-a number for the length of list,.List property-the list item itself,Combo has,Style property-type of combo box,.Text property-can be an editable field,List box
3、and associated properties,l l l l l l l l,Washington,Oregon,California,Alaska,Hawaii,lstStates,List PropertySelected Property,List(0)=WashingtonSelected(0)=False,List(1)=OregonSelected(1)=False,List(2)=CaliforniaSelected(2)=False,List(3)=AlaskaSelected(3)=False,List(4)=HawaiiSelected(4)=False,ListCo
4、unt,Property=5,Washington,Oregon,California,Alaska,Hawaii,List box with two items selected,l l l l l l l l,lstStates,List PropertySelected Property,List(0)=WashingtonSelected(0)=True,List(1)=OregonSelected(1)=False,List(2)=CaliforniaSelected(2)=False,List(3)=AlaskaSelected(3)=False,List(4)=HawaiiSel
5、ected(4)=True,ListCount,Property=5,List Box:Multi-Select,0-None,One item only may be selected,1-Simple,Multiple items,Click toggles,Select,property,2-Extended,Multiple contiguous or non-contiguous selections,List Box:Properties,ListCount,ListIndex,MultiSelect,Text,Sorted,List(),Selected(),List Box:M
6、ethods,AddItem,lstBox,.,AddItem,text,Always add a string to list box since it contains text,RemoveItem,lstBox,.,RemoveItem,index,lstMembers,.,RemoveItem lstMembers,.,ListIndex,Clear,lstBox,.Clear,Combo Box,List box with associated text box,Text box for entering new values(Styles 0&1),List box for pr
7、e-defined values,Same properties as list box(Except no,MultiSelect,capability),Same general methods,prefix convention=,cbo,To remove a selected item,use the,ListIndex,property,cboMembers,.,RemoveItem cboMembers,.,ListIndex,Examples of the dropdown Style properties,l l l l l l l l,The dropdown list s
8、tyle has almost the same appearance as the dropdown,combo style.However,the user cannot type in the text box portion of a dropdown list.,Dropdown Combo style,Simple Combo style,Dropdown List style,Combo Box:Style property,0-,DropDown,Combo,Text box with down arrow,Click on down arrow to show list,1-
9、Simple Combo,List box always displayed,2-,DropDown,List,User can not type into text box,Combo Box,cboFood,.text=?,cboFood,.,listCount,=?,cboFood,.,listIndex,(3)=?,cboFood,.,listIndex,=?,What happens with the code,cboFood,.,Additem cboFood,.Text,How many items are in the list?,What event is triggered
10、 as the user types in the word“fig”?,Text property,Apple,Banana,Carrot,Donut,Eggplant,0,1,2,3,4,ListIndex,List,ListCount,=5,Fig,cboFood,Events,Change,triggers when the text changes,GotFocus,triggers when the list/combo/text box receives focus,LostFocus,triggers when list/combo/text box loses focus,P
11、ROGRAM CONSTRUCTS,Sequence,Decision(Selection),Iteration,Pre-Test(While Loop),Post-Test(Until Loop),Sequence Structure,Decision Structure,Iteration,Purpose:to have the computer repeat a certain set of steps over and over until some condition is true.,There are conditional loops and counted loops,but
12、 all are really conditional.,Steps,Condition,T,F,Iteration:Basic Rules,The termination condition,must,be modified in the body of the loop,Otherwise,you have an infinite loop,Loops may be nested,Indent appropriately,Never change the value of the counter in a FOR loop,Determinate Loops:“For-Next”Loops
13、FOR,counter,=,start,TO,end,STEP,increment,statements that compose the body of the loop,NEXT,counter,Early exit from a loop:,EXIT DO,EXIT FOR,Example of For-Next Loop,Action of For.Next structure,l l l l l l l l,for,counter=start,To,end,statement1,statement2,.,Next,counter,Counterending value,Iterat
14、ions of a For.Next loop,l l l l l,Private Sub,cmdForNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,MsgBox,Contents,1,X,0,1,4,4,4,Iterations of a For.Next loop,l l l l l,Private Sub,cmdForNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,Private Sub,cmdF
15、orNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,MsgBox,Contents,1,MsgBox,Contents,2,X,0,1,X,0,1,2,4,4,4,4,44,44,4,Iterations of a For.Next loop,l l l l l,Private Sub,cmdForNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,Private Sub,cmdForNextTest,_Cl
16、ick(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,Private Sub,cmdForNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,MsgBox,Contents,1,MsgBox,Contents,3,MsgBox,Contents,2,X,0,1,X,0,1,2,3,X,0,1,2,4,4,4,4,44,44,4,4,444,444,44,Iterations of a For.Next loop,l l l l l,Pri
17、vate Sub,cmdForNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,Private Sub,cmdForNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,Private Sub,cmdForNextTest,_Click(),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,Private Sub,cmdForNextTest,_Click
18、),Dim,X,As Integer,For,X=1,To,3,MsgBox,X,Next,X,End Sub,MsgBox,Contents,1,MsgBox,Contents,3,MsgBox,Contents,2,X,0,1,X,0,1,2,3,X,0,1,2,X,0,1,2,3,4,4,4,4,4,44,44,4,4,444,444,44,4,4444,444,444,4,Indeterminate:“Do-Loops”,Indeterminate loops run for an unknown number of repetitions,until a condition is
19、true,or,while a condition is true,Four types of indeterminate loops,Until loop with termination condition,before,body of loop,While loop with termination condition,before,body of loop,Until loop with termination condition,after,body of loop,While loop with termination condition,after,body of loop,Pr
20、e-Test,loops have termination condition before loop body,Post-test,loops have termination condition after loop body,Pre-Test Loops,Iteration:Pre-test Loops,Pretest:,DO WHILE,condition,statements,LOOP,DO UNTIL,condition,statements,LOOP,Iteration:Post-Test Loops,Post-test:,DO,statements,LOOP WHILE,con
21、dition,DO,statements,LOOP UNTIL,condition,Iteration:While Loops,WHILE loop(Pre-Test),WHILE,condition,statements,WEND,Will operate while,condition,is true(or until,condition,is false),Form of Pre-and Post-Test Loops,The form of the pre-test loops is:,Do Until(or While),condition,body of loop,Loop,The
22、 form of the post-test loops is,:,Do,body of loop,Loop Until(or While),condition,Action of DoLoop,l l l l l l l l,Do,Loop,statement1,statement2,.,Action of Do WhileLoop,l l l l l l l l,Do While,condition,statement1,statement2,.,Loop,statement,Condition False,Do While,condition,statement1,statement2,
23、Loop,Condition True,Iterations of the loop,l l l l l,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,4,4,4,4,MsgBox,Contents,1,X,0,1,Iterations of the loop,l l l l l,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,
24、End Sub,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,4,4,4,4,4,44,44,44,4,MsgBox,Contents,1,MsgBox,Contents,2,X,0,1,X,0,1,2,Iterations of the loop,l l l l l,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,
25、Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,4,4,4,4,4,44,44,44,4,4,444,444,444,44,MsgBox,Contents,1,MsgBox,Contents,3,MsgBox,Contents,2,X,0,1,X,0,1,2,3,X,0,
26、1,2,Iterations of the loop,l l l l l,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,Msg
27、Box,X,Loop,End Sub,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X 3,X=X+1,MsgBox,X,Loop,End Sub,4,4,4,4,4,44,44,44,4,4,444,444,444,44,4,4444,444,444,444,4,MsgBox,Contents,1,MsgBox,Contents,3,MsgBox,Contents,2,X,0,1,X,0,1,2,3,X,0,1,2,X,0,1,2,3,Action of Do.Loop While structure,l l l
28、l l l l l,Do,statement1,statement2,.,Loop While,condition,statement,Condition False,Do,statement1,statement2,.,Loop While,condition,Condition True,Action of Do Until.Loop structure,l l l l l l l l,Do Until,condition,statement1,statement2,.,Loop,Condition False,Do,Until,c ondition,statement1,statemen
29、t2,.,Loop,statement,Condition True,Equivalent Do While and Do Until loops,l l l l l l l l,Private Sub,cmdDoWhileTest,_Click(),Dim,X,As Integer,Do While,X =3,X=X+1,MsgBox,X,Loop,End Sub,Action of Do.Loop Until structure,l l l l l l l l,Do,statement1,statement2,.,Loop Until,condition,Condition False,D
30、o,statement1,statement2,.,Loop Until,condition,statement,Condition True,Debugging Loops,Debug a loop by inserting a debug.print command in the loop to print to the Immediate Window.,Add a Quick Watch by locating the pointer on a variable and clicking the eyeglass icon on the Debug Toolbar.The values
31、 for this variable will be shown in the Watch Window.,Use the Locals window to display the values of variables local to a procedure.,Use the Toggle Breakpoint icon to pause execution at a designated line in the code and then use the various windows to view the values for variables.,Print Method-,Pri
32、nter.Print,(sends output to printer object),NewPage,Method,Printer.,NewPage,(send page to printer-starts another),EndDoc,Method,Printer.,EndDoc,(send final page and terminate printerjob),For Debugging-To save paper,Debug.Print (displays in Immediate Window),The Printer Object,Printer.Print,Printer.,
33、EndDoc,Printer.,NewPage,Formatting,Commas advance 1 zone(14 average characters),Printer.Print Name,Phone,Semicolons does not move to next zone,Printer.Print Name:;,txtMyName,Ending Commas/Semicolons continue on print line,Printer.Print Name:,Printer.Print,txtMyName,Printer.Print by itself gives a bl
34、ank line of output,Printline,Zone 1 Zone 2,Zone 3,12345678901234 12345678901234 12345678901234,Tab/,Spc,Functions,Tab and,Spc,(Space)functions allow programmer to override the defaults,Tab is absolute&,Spc,is relative,Example,Printer.Print Tab(20)Name:,Spc,(5),txtMyName,Places the word“Name:”in the
35、20th column-an absolute placement-and the value of,txtMyName,in the 30th-5 more relative to the end of“Name:”,Printing a List,To print the contents of list box,use the,ListCount,and List()properties of the list box,ListCount,is the number of items in list box but list()property runs from 0 to,ListCo
36、unt,-1,List(Counter)is equal to the contents of the corresponding list box,Code to print contents of list box to Immediate Window:,For Counter=0 to,lstEntries,.,ListCount,-1 Debug.Print,lstEntries,.List(Counter),Next,Functions(Again?),Intrinsic Functions are*Very*useful,Take a look at Appendix B for
37、 Date,Financial,Numeric and String Functions.,Payments-,PMT Function requires arguments-,interest rate,number of periods,amount of loan,Note that he PMT function will return a negative value,to display the values of variables local to a procedure.,Another Interesting Statement,Rset,Statement(Which s
38、tands for Right Set),Format,Rset,string_variable=string,where string_variable is the name of a fixed length string variable.These are dimensioned as follows:,Dim,strToFormat,as String*10,*10 means that it will always be 10 characters long,where string is the expression you want right aligned.Example,Rset strToFormat,=Format(Payment,“fixed”),discuss what this would do,






