Download - Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Transcript
Page 1: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

1

CNS 1120Chapter 2

Project Structure and Tools1120-Ch2.PPT

Page 2: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

2Copyright © Don Kussee 1120-Ch2 #53

Structure of VB projects

ProjectResource

fileClass

modules*Code modules

Forms

Generaldeclarations

sectionGeneral

subprocedures

Controls

Properties Eventprocedures

Generaldeclarations

sectionGeneral

subprocedures

* The structure of class modules has been omitted for clarity.

0+

1

0 or 1

0+ 1+

1+ 0+

0+0+

0+1

Page 3: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

3Copyright © Don Kussee 1120-Ch2 #53

Structure of VB projects

ProjectForms

Generaldeclarations

sectionGeneral

subprocedures

Controls

Properties Eventprocedures

0+

10+ 1+

1+ 0+

Displayed “windows”

User interface object

Instructions to the computer

The definition of what isincluded in the program.

Code

Page 4: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

4

Terms

• Project - all of the Forms, controls, code necessary for a program to run.

• Form - the screen we will design on, and the user will see.

• Controls or Objects - GUI objects attached to the form

• Expressions - code - the instructions that the computer will follow.

Page 5: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

5

TOPE chartTask-Object-Event

• Task Object Property Event

Page 6: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

6

VB Programming Process

1 Understand the user’s requirements2 Analyze - TOPE chart for inputs & outputs3 Develop the GUI forms to be used

– Place the controls on the forms4 Write code to hook the controls together5 Test and debug the program6 Create the executable program.

Page 7: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

7

Visual Basic Modes• Design

– where most of our time will be spent – Form, the tool bar and tool box are available– Properties window is available– Code window is available

• Run - where we will test & evaluate the program • Break - where we can debug our problems• Compile

– The program we will give to the user.

Page 8: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

8Copyright © Don Kussee 1120-Ch2 #53

The VB environment

Page 9: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Form frm 53 Properties, 31 Events, 21 Methods

Page 10: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

10

53 Properties Propertiesfrm

Page 11: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

11

FormEvents

31 Events

Page 12: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

12

Form methods 21 Methods

• Circle, Line, Point• Cls, Hide, Show, Refresh• Popup menu • Drag, DragOver• Move left, [top, [width, [height]]]• SetFocus, GotFocus, LostFocus

Page 13: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

13

Properties of Forms

• Caption - Name at the top of the form• BackColor - Systems colors or Palette• WindowState - 0 = Just like design(Default)

1 = Minimized, 2 = Maximized• Name used in code also is default file name• Form1.BackColor = vbRed• Form1.Label2.Forecolor = vbRed

Page 14: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

14

Objects, Classes, Controls

• Over 4000 different controls available - we will use about 10

• Many special VBX on the internet• NextPage Corp’s VBX is $ 5,000• VB assists in building of new Classes -

ActiveX - VBX - OCX• CNS 3200 includes these concepts

Page 15: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

15

Controls, Objects, Classes

Text Box

Control Button

Label

Page 16: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

16

Programs

• Series of steps for the computer to follow• Computer can be told to do only 5 things

– Input - Get data from outside– Output - Supply data to outside– Process - Add, Subtract, Multiply, etc– Select - Equal to, less than, between – Loop - Repeat some steps of a program

Page 17: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

17

Controls, Objects, Classes

• Label output• Text Box input• Command Button trigger

• Pickup truck - Red Dodge V-10 long bed• Bird - Gray - “chi-cog-o” - top-feather - walks• Computer- 300 Mhertz- 64M RAM- 17” screen

Page 18: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

18

Controls7 general categories

• Trigger 3 Timer, Command button• Input 6 TextBox, Combo, Scroll• Output 4 Label, Textbox, Image• Organize 3 Form, Frame• Graphic 2 Line, Circle• Data Access 4 Combo, Data• Integration 1 OLE

Page 19: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

19

Primary Controls for Input…………... Output………...

• Text box• Command button• MsgBox / InputBox• Menu• Check box• Option buttons• List / Combo box• Scroll bars

• Text box• MsgBox• Label• Image• Picture

Page 20: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

20

Controls - Object - Class

• Properties that can change it’s appearance– Size, shape, location, look, color

• Events that it can respond to– Click, mouse over, drag

• Methods - things it can do– Move, Connect, Load, Update

Page 21: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

21

Real world objectsproperties, events, methods

• Cashier• Woodpecker• Grass• Computer• Student• Professor• Dog Vs Cat• Airplane

• Jet ski• Bicycle• Bicycle rider• Olympic Bicycle racer• Car• Duck• Ostrich• Duckbilled platypus

Page 22: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

22

VB Tool BoxLabel tool

Used to label other controls, and provide output.

Page 23: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

23

Label lbl

• 48 Properties– Appearance & location

• 23 Events– Change– Click– DblClick– Load

• 10 Methods– Move– Refresh– ZOrder

Page 24: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

24

Label

Page 25: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

25

Label properties

• Name - used in code procedures• Caption - displayed on the form or control

• Enabled - does it work• Visible - can you see it

• Usual event - None

Page 26: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

26

Command Button cmd

• 17 Events – Cause an user event to occur - Click usually

• 24 Methods• 32 Properties for each instantiation

– Appearance• Size, Shape, Location, Colors, Font, Style

– Caption - The title on the button– Picture property - an image on the button

Page 27: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

27

Command Button properties

• Name - used in code procedures• Caption - displayed on the button• Picture - displayed on the button• Enabled - does it work• Visible - can you see it

• Usual event - Click

Page 28: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

28

CommandButton.Caption changed

Page 29: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

29

Events

Page 30: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

30

Processing code for Command Button

• Note: header and indentation

Page 31: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

31

Header required for every program

Rem *********************************

Rem *** Program name ***‘ *** Programmers name ***‘ *** Date of program ***‘ *** Description of the program ***‘ ********************************

Page 32: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

32

Demo of design mode

• Add a control 3 ways– Double click, Draw, Copy & Paste

• Delete control• Change properties 3 ways F4

– Type over– Additional menu …– Choice items

Page 33: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

33

Procedure Vs Event programming

• Procedures ... the old way, it starts at the top and runs to the bottom every time - how a traffic light works, cars or no cars

• Event new way store clerks - demand– The program waits, then reacts to some event. – Reacts differently to different events.– Event procedure is the detail code for the

computer to follow

Page 34: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

34

Other VB Windows

• Form Layout Window Figure 2.25• Project Explorer Window Figure 2.26• Help Windows Figure 2.29 - 32

Page 35: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

35

Stopping Visual Basic

• Include an Exit key in every project• Ctr + Break will stop processing• Run menu Square• Alt + R Gets run menu - choose E

Page 36: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

36Copyright © Don Kussee 1120-Ch2 #53

The VB environment

Page 37: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

PropertiesThe currently selected control is named Command1

The setting for Command1’s Caption property is Command1

Property list

Object box

Page 38: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

38

Code window

Procedure boxObject box

Code area

Page 39: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

39

Code Window

• Each procedure has an Object_Event

Page 40: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

40Copyright © Don Kussee 1120-Ch2 #53

The VB environment

Menu barTool bar

Toolbox

Code window

Form window Properties window

Project window

Page 41: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

41

Naming objects

• When projects get big (Project 2 Page 59 uses 17 labels) naming objects with meaningful names is very helpful when writing code and provides documentation.

• Not all objects need to be re-named• All object names should use the three letter

abbreviation of the object type

Page 42: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

42

Some primary controls• Command button - allows user to cause event

– 32 properties 24 Methods 17 events cmd• Form - The window that the user sees

– 52 properties 21 Methods 31 events frm• Label - outputs information to the user

– 48 properties 10 Methods 18 events lbl• Timer - an event based on time

– 7 properties 0 Methods 1 event tmr

Page 43: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

43

Some primary controls• Frame - groups controls into a group

– 34 properties 6 Methods 13 events fra

Page 44: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

44

Command Button properties

• 32 Properties 24 Methods 17 Events• Name - used in code procedures• Caption - displayed on the button• Picture - displayed on the button• Enabled - does it work• Visible - can you see it• Usual event - Click

Page 45: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

45

Printing Visual Basic programs

Page 46: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

46

File Names

• Win95 allows 256 characters – Except only ~ ? * :– But in DOS mode only 1st 6 letters are used– There is an extension

Form including controls and code .FRM Changes to controls on the

form .FRX Project listing forms and others files .VBP

Page 47: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

47

Win95 Standard File Extensions

• VBP VB Project• FRM VB Form• VBX controls on form• BAS VB Module• CLS VB Class• MDB MS Access• TXT Generic text• EXE Executable

• DAT Data • LOG Recorded event• COM Commands• BAT Batch • BIN Binary • BAK Backup• JPG Graphics• SYS System

Page 48: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

48

Saving Visual Basic Programs

1 Create a folder with a descriptive name2 In the folder, create a VB program3 Save the Form, Classes, Code, Resources4 Save the Project

• Save frequently• Backup often

Page 49: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

49

Saving Visual Basic Programs

Page 50: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

50

File type change

Page 51: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

51

Expanded VP program parts

• Projects - grouping of forms & files & code• One and only one project .vbp• Zero or more Forms - usually one .frm

– modification of controls on the form .vbx• Zero or more Code modules -often zero .bas• Zero or more Class modules -often zero .cls• Zero or more Resource files -often zero .res

Page 52: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

52

Assignments

• Lightening 1• Exchange Rate• Café Don• Lightening 2• Color choice• Data types

Page 53: Copyright © Don Kussee 1120-Ch2 #531 CNS 1120 Chapter 2 Project Structure and Tools 1120-Ch2.PPT.

Copyright © Don Kussee 1120-Ch2 #53

53

Computer Terms

• Syntax• Semantic• Keyword• Code• Control• Object• Properties• Methods• Events

• Run time error• Syntax error• Logical error• Default value• Form• lbl Prefix• cmd Prefix• Empty string