620 likes | 697 Views
Introduction to Programming Using Visual Basic 6.0. Cheryl Klimack 729-3900 klimack.cheryl@brandonsd.mb.ca. Why VB? Rationale…. Easy for beginners to produce a working program Capable of high end programs Graphical OOP (for the most part) Affordable Many free resources available. 2.
E N D
Introduction to Programming Using Visual Basic 6.0 Cheryl Klimack 729-3900klimack.cheryl@brandonsd.mb.ca
Why VB? Rationale… • Easy for beginners to produce a working program • Capable of high end programs • Graphical • OOP (for the most part) • Affordable • Many free resources available 2
The VB IDE View Object View Code Menu bar ProjectExplorer Window Tool bar Tool box PropertiesWindow Project Window ImmediateWindow 3
View Menu As in all Windows applications, simply choose View from the menu to view your different toolboxes, windows, etc. or to remove them from the IDE. 4
Objects Every VB app has at least one object – the form. Other objects are added at design time by selecting the object from the toolbox and drawing it on the form. A second way is to simply double-click the object and it will appear on the form. 5
Object Properties All objects should be named. Each object has a prefix that is standard in the VB coding world. For example, the prefix for a form is frm. See the VB help for a complete list. Objects have many properties that can be accessed at design time or at run time. VB uses dot notation to access properties…for example: lblMessage.Caption = “Welcome!” Property Object Property Value 6
Events An event procedure is a block of code that executes in response to an event. A userevent is an action performed by the user such as a mouse click. 7
Hello World • Name the form frmHelloWorld 3. Type in the Caption as shown. Note it change in the title bar. 8
Hello World • Save the project. Create a new folder and save your form in. 5. A second dialog box will pop to ask for the Project name…change it to Hello World as shown to the right 9
Label Object • Add a label object and resize it accordingly. • Change the name to lblMessage. • Change the Caption to Welcome! 10
Font Property 9. Choose the Font property and make your font larger and of a different type. 11
Alignment Property 10. Choose the Alignment property and Center the label 12
Command Button • Add a command button by double clicking that object in the toolbox. Move it as shown. • Name the button cmdDisplay and change the caption to Display. 13
Done Button • Add a button called cmdDone and change the caption to Done. Note: If you choose to Copy and Paste a control, you will get a message box re: Control Array. Answer “NO” to this. 14
Unload Me Adding the code Unload Me to the cmdDone_Click event tells the computer that when the control named cmdDone is clicked, the form (me) will unload. To run your program, choose Run from the menu, press F5, or click the Run button on the toolbar. Clicking the Done button should unload your form. 15
Display Button The code for the Display button will make the Caption in the label lblMessage change to “Hello, World”. 15. Double click the Display button and type in the following code: lblMessage.Caption=“Hello, World” Run your program and click the Done button. 16
Details – Default Buttons It would be good if the user could simply hit the <Enter> key to have the message change. 16. Choose the Display button, find the Default property and set it to True. Run the program. Note the dark outline around the button indicating that it is Default. 17
Details – Keyboard Access Keys Another standard Windows feature is to be able to access a key using Alt-?. To create this ability in your program, change the Caption property to include an &. Caption for Display - &Display Caption for Done – D&one. (You can’t have them both be a D for the hotkey. 18
Moving Your Program and Creating an exe. Your program at this point will consist of three files… *.frm *.vbw *.vbp You would need to transport all 3 of these to have it work properly at a different location. 17. Create an exe by choosing File, Make Helloworld.exe. Choose your path. This one file, of course, will allow others to run your program, but not to edit it. 19
Colors We can alter the look of your form with colors and graphics. • Select lblMessage. Choose the Backcolor property, then Palette. Select a color of your own choice. • Do the same for the Forecolor. 20
Colors on Buttons You change the color of a button’s background, but first you must set it’s Style property to Graphical. • Choose the Display button, then change the Backcolor and the Style property. Note that there is no Forecolor…the font stays black. 21
Message Boxes • In your code for the Done button, add this line: MsgBox "Have a good day!", vbOKOnly, "Bye Bye" 22
Comments Adding comments in VB is done by prefixing your statement with an apostrophe. For example: ‘this is a comment and will be ignored by the computer Comments turn green when typed correctly. • At the top of your program, add comments with your name, date, and project info as such: ‘Cheryl Klimack ‘Hello World project ‘Oct 24 2003 Run your program. We are done! 23
Pizza Project We will create the project shown to the left with checkboxes, option buttons, textboxes, message boxes, command buttons and labels. 24
Create a new project by first removing the current project. Save as Pizza. • Add a label and format it as you desire. • Add an image control and name it imgPizza. The image seen here is found at G:\klimack\images. Note: to resize an image on your form, you must set the Stretch property to True. 25
Choose the Text property and delete it’s contents to remove Text1 from the text boxes. • Add and name labels and textboxes to correspond to the figure at the right. Don’t worry about lining them up perfectly yet. txtName lblName txtPhone lblPhone 26
Aligning You can line up objects on your form evenly by selecting them (holding down the shift key allows multiple selections) and then choosing Format, Align, etc. Notice the other options under the Format menu. • Line up your labels and text boxes. • Choose both labels and text boxes at the same time, then select Font and make them all 10 or 12 point. 27
Frames Frames are used as containers for other controls. Usually groups of option buttons are placed in frames. 7. Add a frame named fraSize. 8. Make the Caption Size. 28
Option Buttons in Frame These are used when only one button of a group should be selected. For example, a pizza size choice cannot be both large and medium at the same time. 9. Select (but do not double click) the Option button control. Draw 3 buttons inside of the frame. Name them optSmall, optMedium, and optLarge. 10. Line them up and make the same size. Make their spacing equal as well. 29
Options on Form Options on a form but not in a frame function as a group. 11. Add options for Pickup and Delivery as shown. Set the Value for Pickup to True Note: Run the program and experiment with the buttons. If you can select 2 in one group, one of them doesn’t belong. Delete it and recreate it. 30
Multiline Textboxes with Scroll Bars 12. Add a label (lblAddress) for Enter Address and a textbox (txtAddress) for the contents of the address. Make the Multiline property True, and set Scrollbars to Both. 31
Checkboxes Checkboxes allow the user to select (or deselect) an option. Any number of checkboxes in a group may be selected. If selected, it’s value is vbChecked, otherwise it is vbUnchecked. • Add a frame for Toppings (fraToppings). • Add the checkboxes indicated (chkPepperoni, etc.) 32
Order and Cancel Buttons 15. Add an Order and Cancel button as shown in the figure at the right. Make the Order button Default. Add hotkey access. 33
Time to Code! The specs for this program state that the order can be cancelled at any time. After order placement, a message box will appear asking the user to verify the order as indicated. If it is verified another message box will indicate this. 34
Enabling and Disabling It is a good idea to not let the user make inappropriate choices if at all possible. Disable any options that are not applicable at the current time, and enable them when appropriate. 16. Select all the checkboxes at once and set the Enabled property to False. Run the program. 35
Enabling Controls It would be appropriate for these checkboxes to be enabled after choosing a pizza size. • Double click optSmall, and add this code to the procedure. chkPepperoni.enabled=true Run the program. Click on Small and Pepperoni should become enabled. 18. Enable each of the checkboxes in the same manner. 36
Copy and Pasting Code 19. The code for Medium and Large will be the same as it is for Small, so you can copy and paste it into those procedures. Now choosing any of the sizes will enable the checkboxes. Choose the procedures here. 37
The Address Box We don’t need the address box if the order is for Pickup, so it should not be visible until the Delivery button is selected. 20. Choose lblAddress and txtAddress and make Visible = false in the properties window. 38
Delivery Option Button If you choose the Delivery option, these two controls (lblAddress and txtAddress) should become visible and the cursor should move to the txtAddress box, waiting for input. 21. Add the following to the optDelivery_click txtAddress.Visible = True lblAddress.Visible = True txtAddress.SetFocus 39
Pickup Option Button Just as Delivery should make the Address info visible, Pickup should make them invisible. • Add the following to the optPickup_click procedure: txtAddress.Visible = false lblAddress.Visible = False 40
Cancel Button If the user clicks the Cancel button, all the info currently entered should disappear and the form reset to the initial screen. • Get to the cmdCancel_click procedure and enter the following lines of code: 'clear the text boxes txtName.Text = "" txtPhone.Text = "" txtAddress.Text = "" 41
Canceling, continued • 'clear the checkboxes • chkPepperoni.Value = vbUnchecked • chkSausage.Value = vbUnchecked • chkMushrooms.Value = vbUnchecked • chkGreenPeppers.Value = vbUnchecked • chkExtraCheese.Value = vbUnchecked • chkOnions.Value = vbUnchecked 'clearthe size options optSmall.Value = False optMedium.Value = False optLarge.Value = False 'set the pickup option optPickup.Value = True 42
Canceling, continued 'disable the checkboxes chkPepperoni.Enabled = False chkSausage.Enabled = False chkMushrooms.Enabled = False chkGreenPeppers.Enabled = False chkExtraCheese.Enabled = False chkOnions.Enabled = False ‘set focus txtName.SetFocus Last of all, disable the checkboxes again and set the focus to txtName. 43
Global Variables We are going to use some Global variables for this program. 24. Add the lines shown to your program. These variables can be used by all the procedures. 44
Constants Every time the user selects or de-selects a topping, the topping price must change. In this case, toppings are 75 cents each. 25. Constants should be declared before variables, and these are global as well, so add them BEFORE the 2 global variables you just added. 45
Topping Price We need to ADD to the curToppings every time a new topping is selected, and SUBTRACT every time one is de-selected. • In each chk procedure, add code similar to the following, changing the Pepperoni to the appropriate topping. If chkPepperoni.value=vbChecked then curToppings=curToppings + curToppingPrice Else curToppings=curToppings –curToppingPrice End if 46
The Immediate Window For testing purposes, you can View the Immediate window and see the results of the debug.print item statement that can be included in the code. Add this line to each chk procedure. Debug.print “Toppings =“ ;curToppings When you run your program, select and de-select different checkboxes and watch the results in the immediate window. 47
Debug.Print statements Results of Debug.print 48
Size Price The size price depends upon whichever option is selected. Each option procedure needs to have code similar to the following: curSize = curSmall ‘add to optSmall curSize=curMedium ‘ add to optMedium curSize=curLarge ‘add to optLarge 49
Total Price We need to calculate the total due as an addition of curSize and curToppings. • Declare curTotal as a global variable of type currency. Private curTotal as currency in the General section. 50