SlideShare a Scribd company logo
1 
What is Event Driven 
Programming? 
Visual Studio 
and 
VB.NET
2 
P1: Key Features of EDP 
1. Event loops 
2. GUI design (Forms & Controls 
3. Trigger functions 
4. Event handlers
3 
P2: Demonstrate the use of event 
driven tools and techniques 
Using Visual Studio and VB.NET language 
Demonstrate the development process with screenshots 
and code examples, to show the main choices available 
IDE Tools inc: 
GUI form design 
Add & edit controls 
Choice of triggers 
Code colour & dropdown 
Debugging tools 
 Error list 
 Breakpoints & step 
through code 
Coding Techniques inc: 
Variables and Datatypes 
 Const, Global, Local 
 Integer, boolean, decimal, 
string, date 
Selection 
 If...Else & Select...Case 
Loops 
 Fixed & Conditional
4 
Event Loops 
Programmers are often not aware of these: 
The Event loop keeps testing the user interface to see if 
anything has happened e.g. a button click or a key 
pressed. Open Task Manager to see which programs are running 
When an event is detected, it is passed to the list of 
identified trigger functions, which then launches a 
response to the event. 
The event handlers are the actual program code 
modules that are executed when a particular trigger has 
occurred. 
Other (non user) activities can also cause an event to 
trigger – typically used in networking and when reading 
from or writing to files.
5 
Event Loop 
1 User interacts with page 
2 An ‘event’ is triggered 
EVENT! 
The page’s appearance is 3 A code handler runs in response 
updated/modified as a result 
4
6 
Forms and Controls 
A GUI (graphical user interface) is what the user 
sees when the program runs and usually consists of 
one or several forms 
Event driven programming is particularly suitable for 
GUIs - uses WIMP system 
Windows, Icons, Menus, Pointers 
Programmer can assist user with intuitive interface, 
restrict input to a limited range, provide visual 
feedback and context-sensitive help 
Event driven programs respond to events triggered 
by the user via the mouse or keyboard
7 
Forms and Controls 
Common methods for user interaction include clicking 
the mouse or pressing a key 
Each form contains various controls which allow the 
user to interact with the program in different ways 
e.g. Buttons, Textboxes, Labels, Menus, Pictureboxes, Timers 
Wide choice of controls can be customised for use by 
Select from toolbar and drop onto the form 
change its properties in design view (text, image, visible) 
Show form design in IDE and choice of controls in toolbox 
Add different types controls to provide input and feedback 
inc. visual and non-visual controls (timer) 
Change the properties (inc Name) and explain purpose
8 
Trigger functions 
Event driven programs respond to events 
triggered by the user 
The programmer chooses which event(s) 
to respond to by selecting the appropriate 
trigger function. 
Every object has a range of trigger 
functions – one for each possible event 
Different controls have different events 
(events for a text box not the same for a 
button) 
A Button has a Click event, a GotFocus event, a 
MouseHover event etc 
Button events
9 
Trigger Functions 
Triggers can also come from unseen events e.g. Timer 
Double clicking a control will select its default event 
Timer1_Tick() 
MenuItem1_Click() 
Forms also have events inc: 
Load (open for first time, set default values) 
KeyDown (when the user presses a key) 
Demonstrate how to create trigger functions for different controls 
inc. mouse, keyboard and timer (control event) 
Show how to select different triggers for the same control 
Explain how trigger functions are used in your program
10 
Event Handlers 
An event triggers the appropriate event handler 
Event handlers contain the code that runs when an 
event occurs 
These event handlers are self-contained sections of 
code – also called Procedures or Subroutines 
VB.NET uses Sub/End Sub to start and end the code 
This allows the programmer to work on one event of 
one control at a time and makes testing easier
11 
Event Handlers 
Demonstrate and explain different coding techniques 
Variables 
 Different datatypes 
 Local and Global 
Selection 
 If...Else 
 Select...Case 
Loops 
 Fixed loop e.g. For...Next 
 Conditional loop e.g. Do...Loop While 
Show how IDE assists with coding and debugging 
 Pre-written code and drop-down lists showing choice of 
possible commands 
 Errors are highlighted and step through debugging
12 
Advantages 
Flexibility: 
Wide choice of controls and trigger functions - 
programmer can decide what will happen when 
Suitability for GUI: 
WIMP system (Windows, Icons, Menus, Pointers) 
Simplicity and Ease of development: 
Programmers can add and code one object at a 
time, using simple constructs 
Pre-written code and drop-down lists showing 
choice of possible commands 
Errors are highlighted and step through debugging
13 
Disadvantages 
Errors can be more difficult to spot than with 
simpler, procedural programs 
Programs with complex GUIs may be slower 
to load and run than simpler programs – 
particularly if RAM is insufficient 
Programs with too many forms can be very 
confusing and/or frustrating for the user
14 
Which control would a programmer 
use to….? 
Allow a Yes/ No answer only? 
Allow a wide range of keyboard input? 
Limit user input to the numbers 1, 2, 3 & 4? 
Allow a user to subtly change the colour or 
brightness selected in a graphics application 
Allow a user to access commands without the 
mouse, but using keyboard navigation only?

More Related Content

What's hot

Windows programming ppt
Windows programming pptWindows programming ppt
Windows programming ppt
SAMIR CHANDRA
 
HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation support
Alan Dix
 
Event Handling in JAVA
Event Handling in JAVAEvent Handling in JAVA
Event Handling in JAVA
Srajan Shukla
 
Gui Layout Presentation
Gui Layout PresentationGui Layout Presentation
Gui Layout Presentation
trangy
 
User interface design
User interface designUser interface design
User interface design
Naveen Sagayaselvaraj
 
introduction to visual basic PPT.pptx
introduction to visual basic PPT.pptxintroduction to visual basic PPT.pptx
introduction to visual basic PPT.pptx
classall
 
Hci activity#2
Hci activity#2Hci activity#2
Hci activity#2
Desalegn Aweke
 
Windows programming
Windows programmingWindows programming
Windows programming
Bapan Maity
 
Swapping | Computer Science
Swapping | Computer ScienceSwapping | Computer Science
Swapping | Computer Science
Transweb Global Inc
 
Architecture of Linux
 Architecture of Linux Architecture of Linux
Architecture of Linux
SHUBHA CHATURVEDI
 
HCI 3e - Ch 19: Groupware
HCI 3e - Ch 19:  GroupwareHCI 3e - Ch 19:  Groupware
HCI 3e - Ch 19: Groupware
Alan Dix
 
SELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLSSELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLS
Dhanya LK
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
Anjan Mahanta
 
Introduction to distributed database
Introduction to distributed databaseIntroduction to distributed database
Introduction to distributed database
Sonia Panesar
 
Mobile Design
Mobile DesignMobile Design
Mobile Design
Lifna C.S
 
Linux process management
Linux process managementLinux process management
Linux process management
Raghu nath
 
The Mobile Ecosystem
The Mobile EcosystemThe Mobile Ecosystem
The Mobile Ecosystem
Ivano Malavolta
 
HCI 3e - Ch 17: Models of the system
HCI 3e - Ch 17:  Models of the systemHCI 3e - Ch 17:  Models of the system
HCI 3e - Ch 17: Models of the system
Alan Dix
 
Case study linux
Case study linuxCase study linux
Case study linux
Abhishek Masiiwal
 
Types of Operating System
Types of Operating SystemTypes of Operating System
Types of Operating System
Priya Patra
 

What's hot (20)

Windows programming ppt
Windows programming pptWindows programming ppt
Windows programming ppt
 
HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation support
 
Event Handling in JAVA
Event Handling in JAVAEvent Handling in JAVA
Event Handling in JAVA
 
Gui Layout Presentation
Gui Layout PresentationGui Layout Presentation
Gui Layout Presentation
 
User interface design
User interface designUser interface design
User interface design
 
introduction to visual basic PPT.pptx
introduction to visual basic PPT.pptxintroduction to visual basic PPT.pptx
introduction to visual basic PPT.pptx
 
Hci activity#2
Hci activity#2Hci activity#2
Hci activity#2
 
Windows programming
Windows programmingWindows programming
Windows programming
 
Swapping | Computer Science
Swapping | Computer ScienceSwapping | Computer Science
Swapping | Computer Science
 
Architecture of Linux
 Architecture of Linux Architecture of Linux
Architecture of Linux
 
HCI 3e - Ch 19: Groupware
HCI 3e - Ch 19:  GroupwareHCI 3e - Ch 19:  Groupware
HCI 3e - Ch 19: Groupware
 
SELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLSSELECT THE PROPER DEVICE BASED CONTROLS
SELECT THE PROPER DEVICE BASED CONTROLS
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Introduction to distributed database
Introduction to distributed databaseIntroduction to distributed database
Introduction to distributed database
 
Mobile Design
Mobile DesignMobile Design
Mobile Design
 
Linux process management
Linux process managementLinux process management
Linux process management
 
The Mobile Ecosystem
The Mobile EcosystemThe Mobile Ecosystem
The Mobile Ecosystem
 
HCI 3e - Ch 17: Models of the system
HCI 3e - Ch 17:  Models of the systemHCI 3e - Ch 17:  Models of the system
HCI 3e - Ch 17: Models of the system
 
Case study linux
Case study linuxCase study linux
Case study linux
 
Types of Operating System
Types of Operating SystemTypes of Operating System
Types of Operating System
 

Viewers also liked

Controls
ControlsControls
Controls
nicky_walters
 
Event+driven+programming key+features
Event+driven+programming key+featuresEvent+driven+programming key+features
Event+driven+programming key+features
Faisal Aziz
 
Design for edp
Design for edpDesign for edp
Design for edp
nicky_walters
 
Event driven programming amazeballs
Event driven programming amazeballsEvent driven programming amazeballs
Event driven programming amazeballs
MsWillcox
 
Decisions
DecisionsDecisions
Decisions
nicky_walters
 
(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming
Amazon Web Services
 
Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
nicky_walters
 
Event driventheory
Event driventheoryEvent driventheory
Event driventheory
nicky_walters
 
Input output
Input outputInput output
Input output
nicky_walters
 
Ch 3 event driven programming
Ch 3 event driven programmingCh 3 event driven programming
Ch 3 event driven programming
Chaffey College
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programming
Ashwini Awatare
 
Simple debugging
Simple debuggingSimple debugging
Simple debugging
nicky_walters
 
Using loops
Using loopsUsing loops
Using loops
nicky_walters
 
AWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDB
AWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDBAWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDB
AWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDB
Amazon Web Services
 
Decisions
DecisionsDecisions
Decisions
nicky_walters
 
Simple debugging
Simple debuggingSimple debugging
Simple debugging
nicky_walters
 
Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
nicky_walters
 
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
nicky_walters
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
nicky_walters
 
Data structures vb
Data structures vbData structures vb
Data structures vb
nicky_walters
 

Viewers also liked (20)

Controls
ControlsControls
Controls
 
Event+driven+programming key+features
Event+driven+programming key+featuresEvent+driven+programming key+features
Event+driven+programming key+features
 
Design for edp
Design for edpDesign for edp
Design for edp
 
Event driven programming amazeballs
Event driven programming amazeballsEvent driven programming amazeballs
Event driven programming amazeballs
 
Decisions
DecisionsDecisions
Decisions
 
(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming(WRK302) Event-Driven Programming
(WRK302) Event-Driven Programming
 
Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
 
Event driventheory
Event driventheoryEvent driventheory
Event driventheory
 
Input output
Input outputInput output
Input output
 
Ch 3 event driven programming
Ch 3 event driven programmingCh 3 event driven programming
Ch 3 event driven programming
 
Event oriented programming
Event oriented programmingEvent oriented programming
Event oriented programming
 
Simple debugging
Simple debuggingSimple debugging
Simple debugging
 
Using loops
Using loopsUsing loops
Using loops
 
AWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDB
AWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDBAWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDB
AWS December 2015 Webinar Series - Design Patterns using Amazon DynamoDB
 
Decisions
DecisionsDecisions
Decisions
 
Simple debugging
Simple debuggingSimple debugging
Simple debugging
 
Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
 
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
Data structures vb
Data structures vbData structures vb
Data structures vb
 

Similar to Event driven theory

SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Design
ghayour abbas
 
Unit 2
Unit 2Unit 2
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptx
VikasTuwar1
 
2.5 gui
2.5 gui2.5 gui
2.5 gui
Jyothi Vbs
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0
DivyaR219113
 
06 win forms
06 win forms06 win forms
06 win forms
mrjw
 
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptx
VikasTuwar1
 
2 Module - Operating Systems Configuration and Use by Mark John Lado
2 Module - Operating Systems Configuration and Use by Mark John Lado2 Module - Operating Systems Configuration and Use by Mark John Lado
2 Module - Operating Systems Configuration and Use by Mark John Lado
Mark John Lado, MIT
 
WinRunner Training
WinRunner TrainingWinRunner Training
WinRunner Training
sunny.deb
 
Publication Non Visual Components
Publication Non Visual ComponentsPublication Non Visual Components
Publication Non Visual Components
satyres
 
Working with Operating System
Working with Operating SystemWorking with Operating System
Working with Operating System
Praveen M Jigajinni
 
2 working with operating system
2 working with operating system2 working with operating system
2 working with operating system
Mukesh Thakur
 
VB.Net GUI Unit_01
VB.Net GUI Unit_01VB.Net GUI Unit_01
VB.Net GUI Unit_01
Prashanth Shivakumar
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
Laura Arrigo
 
visual basic v6 introduction
visual basic v6 introductionvisual basic v6 introduction
visual basic v6 introduction
bloodyedge03
 
Software
Software Software
Software
Joan Arriola
 
ANDROID LAB MANUAL.doc
ANDROID LAB MANUAL.docANDROID LAB MANUAL.doc
ANDROID LAB MANUAL.doc
Palakjaiswal43
 
Software
SoftwareSoftware
Software
Joan Arriola
 
Vb6.0 intro
Vb6.0 introVb6.0 intro
Vb6.0 intro
JOSEPHINEA6
 
RPA Developer Kickstarter | Day 3: UI Automation and UiPath Selectors
RPA Developer Kickstarter | Day 3: UI Automation and UiPath SelectorsRPA Developer Kickstarter | Day 3: UI Automation and UiPath Selectors
RPA Developer Kickstarter | Day 3: UI Automation and UiPath Selectors
Rohit Radhakrishnan
 

Similar to Event driven theory (20)

SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Design
 
Unit 2
Unit 2Unit 2
Unit 2
 
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptx
 
2.5 gui
2.5 gui2.5 gui
2.5 gui
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0
 
06 win forms
06 win forms06 win forms
06 win forms
 
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptx
 
2 Module - Operating Systems Configuration and Use by Mark John Lado
2 Module - Operating Systems Configuration and Use by Mark John Lado2 Module - Operating Systems Configuration and Use by Mark John Lado
2 Module - Operating Systems Configuration and Use by Mark John Lado
 
WinRunner Training
WinRunner TrainingWinRunner Training
WinRunner Training
 
Publication Non Visual Components
Publication Non Visual ComponentsPublication Non Visual Components
Publication Non Visual Components
 
Working with Operating System
Working with Operating SystemWorking with Operating System
Working with Operating System
 
2 working with operating system
2 working with operating system2 working with operating system
2 working with operating system
 
VB.Net GUI Unit_01
VB.Net GUI Unit_01VB.Net GUI Unit_01
VB.Net GUI Unit_01
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
 
visual basic v6 introduction
visual basic v6 introductionvisual basic v6 introduction
visual basic v6 introduction
 
Software
Software Software
Software
 
ANDROID LAB MANUAL.doc
ANDROID LAB MANUAL.docANDROID LAB MANUAL.doc
ANDROID LAB MANUAL.doc
 
Software
SoftwareSoftware
Software
 
Vb6.0 intro
Vb6.0 introVb6.0 intro
Vb6.0 intro
 
RPA Developer Kickstarter | Day 3: UI Automation and UiPath Selectors
RPA Developer Kickstarter | Day 3: UI Automation and UiPath SelectorsRPA Developer Kickstarter | Day 3: UI Automation and UiPath Selectors
RPA Developer Kickstarter | Day 3: UI Automation and UiPath Selectors
 

Recently uploaded

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Event driven theory

  • 1. 1 What is Event Driven Programming? Visual Studio and VB.NET
  • 2. 2 P1: Key Features of EDP 1. Event loops 2. GUI design (Forms & Controls 3. Trigger functions 4. Event handlers
  • 3. 3 P2: Demonstrate the use of event driven tools and techniques Using Visual Studio and VB.NET language Demonstrate the development process with screenshots and code examples, to show the main choices available IDE Tools inc: GUI form design Add & edit controls Choice of triggers Code colour & dropdown Debugging tools  Error list  Breakpoints & step through code Coding Techniques inc: Variables and Datatypes  Const, Global, Local  Integer, boolean, decimal, string, date Selection  If...Else & Select...Case Loops  Fixed & Conditional
  • 4. 4 Event Loops Programmers are often not aware of these: The Event loop keeps testing the user interface to see if anything has happened e.g. a button click or a key pressed. Open Task Manager to see which programs are running When an event is detected, it is passed to the list of identified trigger functions, which then launches a response to the event. The event handlers are the actual program code modules that are executed when a particular trigger has occurred. Other (non user) activities can also cause an event to trigger – typically used in networking and when reading from or writing to files.
  • 5. 5 Event Loop 1 User interacts with page 2 An ‘event’ is triggered EVENT! The page’s appearance is 3 A code handler runs in response updated/modified as a result 4
  • 6. 6 Forms and Controls A GUI (graphical user interface) is what the user sees when the program runs and usually consists of one or several forms Event driven programming is particularly suitable for GUIs - uses WIMP system Windows, Icons, Menus, Pointers Programmer can assist user with intuitive interface, restrict input to a limited range, provide visual feedback and context-sensitive help Event driven programs respond to events triggered by the user via the mouse or keyboard
  • 7. 7 Forms and Controls Common methods for user interaction include clicking the mouse or pressing a key Each form contains various controls which allow the user to interact with the program in different ways e.g. Buttons, Textboxes, Labels, Menus, Pictureboxes, Timers Wide choice of controls can be customised for use by Select from toolbar and drop onto the form change its properties in design view (text, image, visible) Show form design in IDE and choice of controls in toolbox Add different types controls to provide input and feedback inc. visual and non-visual controls (timer) Change the properties (inc Name) and explain purpose
  • 8. 8 Trigger functions Event driven programs respond to events triggered by the user The programmer chooses which event(s) to respond to by selecting the appropriate trigger function. Every object has a range of trigger functions – one for each possible event Different controls have different events (events for a text box not the same for a button) A Button has a Click event, a GotFocus event, a MouseHover event etc Button events
  • 9. 9 Trigger Functions Triggers can also come from unseen events e.g. Timer Double clicking a control will select its default event Timer1_Tick() MenuItem1_Click() Forms also have events inc: Load (open for first time, set default values) KeyDown (when the user presses a key) Demonstrate how to create trigger functions for different controls inc. mouse, keyboard and timer (control event) Show how to select different triggers for the same control Explain how trigger functions are used in your program
  • 10. 10 Event Handlers An event triggers the appropriate event handler Event handlers contain the code that runs when an event occurs These event handlers are self-contained sections of code – also called Procedures or Subroutines VB.NET uses Sub/End Sub to start and end the code This allows the programmer to work on one event of one control at a time and makes testing easier
  • 11. 11 Event Handlers Demonstrate and explain different coding techniques Variables  Different datatypes  Local and Global Selection  If...Else  Select...Case Loops  Fixed loop e.g. For...Next  Conditional loop e.g. Do...Loop While Show how IDE assists with coding and debugging  Pre-written code and drop-down lists showing choice of possible commands  Errors are highlighted and step through debugging
  • 12. 12 Advantages Flexibility: Wide choice of controls and trigger functions - programmer can decide what will happen when Suitability for GUI: WIMP system (Windows, Icons, Menus, Pointers) Simplicity and Ease of development: Programmers can add and code one object at a time, using simple constructs Pre-written code and drop-down lists showing choice of possible commands Errors are highlighted and step through debugging
  • 13. 13 Disadvantages Errors can be more difficult to spot than with simpler, procedural programs Programs with complex GUIs may be slower to load and run than simpler programs – particularly if RAM is insufficient Programs with too many forms can be very confusing and/or frustrating for the user
  • 14. 14 Which control would a programmer use to….? Allow a Yes/ No answer only? Allow a wide range of keyboard input? Limit user input to the numbers 1, 2, 3 & 4? Allow a user to subtly change the colour or brightness selected in a graphics application Allow a user to access commands without the mouse, but using keyboard navigation only?