SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Intro to Event-driven Programming
and Forms with Delphi
L02 – Controls P1

Mohammad Shaker
mohammadshakergtr.wordpress.com
Intro to Event-driven Programming and Forms with Delphi
@ZGTRShaker
2010, 2011, 2012
What’s for today?
•
•
•
•
•
•
•
•

Label
Edit
ComboBox
CheckBox
GroupBox
RadioButton
RadioGroup
ListBox
Tips
General ‘Info’s & Tips
• Don’t forget the CTRL+Space auto-completion
– CTRL+Space: code in-sightauto-completion.

• You can’t write in Arabic in a component’s “NAME”.
• Delphi is a not a “Case Sensitive ” language.
• dpr *: when saving, the project you have will be saved as a
‘dpr’ termination.

*dpr: Delphi Project
Runtime
• Form the upper bar > Run > Run.
• Form the button in the upper bar.
• Or F9
Sth to Remember
• Differentiate between Visible & Enabled in Component’s
properties.
• Differentiate between Name & Caption in Component’s
properties.
• F9: RUN.
• F9+CTRL: Compile.
Changing your “.exe” icon
• “.ico” files extension
• Project > Options > Application > Load Icon
• It appears in the upper left corner of the application form
Chase the button
Exercise Do it & enjoy catching it :D
Label
Example
• Design this
Label
• Is an Info
• It can be used as an output as a “String”
• “caption” manipulating.

Label1.caption:= ‘Hello World’;

String & only String
Edit
Example
• Design this
Pre-Made String Functions
• StrAlloc
– Allocates a character buffer of a given size on the heap.

• StrBufSize
– Returns the size of a character buffer allocated using StrAlloc or
StrNew.

• StrCat
– Concatenates two strings.

• StrComp
– Compares two strings.

• StrCopy
– Copies a string.
Pre-Made String Functions
• StrDispose
– Disposes a character buffer allocated using StrAlloc or StrNew.

• StrECopy
– Copies a string and returns a pointer to the end of the string.

• StrEnd
– Returns a pointer to the end of a string.

• StrFmt
– Formats one or more values into a string.

• StrIComp
– Compares two strings without case sensitivity.

• StrLCat
– Concatenates two strings with a given maximum length of the resulting
string.
Pre-Made String Functions
• StrLComp
– Compares two strings for a given maximum length.

• StrLCopy
– Copies a string up to a given maximum length.

• StrLen
– Returns the length of a string.

• StrLFmt
– Formats one or more values into a string with a given maximum length.

• StrLIComp
– Compares two strings for a given maximum length without case sensitivity.

• StrLower
– Converts a string to lowercase.

• StrMove
– Moves a block of characters from one string to another.
Pre-Made String Functions
• StrNew
– Allocates a string on the heap.

• StrPCopy
– Copies a Pascal string to a null-terminated string.

• StrPLCopy
– Copies a Pascal string to a null-terminated string with a given maximum length.

• StrPos
– Returns a pointer to the first occurrence of a given substring within a string.

• StrRScan
– Returns a pointer to the last occurrence of a given character within a string.

• StrScan
– Returns a pointer to the first occurrence of a given character within a string.

• StrUpper
– Converts a string to uppercase.
Pre-Made String Functions
• What we need the most:
– String to integer
– Integer to string

: StrToInt()
: IntToStr()
Edit Prop.
•
•
•
•
•

No “Caption” Prop., “Text”.
PassWord
Visible, Enabled
Hint, ShowHint
Top, Left
Edit
• Text:“String” inner valued.
• Can be used as an input & output.
Var temp:integer;
Edit1.Text:= temp;
temp:= Edit1.Text;

// output
// input

• Have a supposition value (text Prop.).
– Can be changed.

• ReadOnly Prop.
Edit
• Can be used to contain other variables types.
• Input:
Var temp:integer;
temp:= StrToInt(Edit1.Text);

• Output:
Var temp:String;
Edit1.Text:= IntToStr(temp); //no need for -IntToStr-
CheckBox
a “boolean”
CheckBox Properties
•
•
•
•
•

Caption
“true OR false”
Can be used as a “boolean” input
“Checked” Prop.
Can be referenced to other “boolean” variable.
Crack the code
If (CheckBox1.Checked=true) then
Begin
// code
End
Else
if (CheckBox2.checked=true) then
Begin
// code
End
else
Begin
// code
End
x:=5;
If (CheckBox1.Checked=true) then
CheckBox1: Not Checked
Begin
CheckBox2: Checked
x:=10;
End
Else
if ((CheckBox1.Checked=false) and (CheckBox2.checked=false))
then
Begin
x:=11;
End;
x:=5;
If (CheckBox1.Checked=true) then
CheckBox1: Checked
Begin
CheckBox2: Checked
x:=10;
End
Else
if ((CheckBox1.Checked=true) and (CheckBox2.checked=true))
then
Begin
x:=11;
End;
x:=5;
CheckBox1: Checked
If (CheckBox1.Checked=true) then
CheckBox2: Not Checked
Begin
x:=10;
End
if ((CheckBox1.Checked=false) Or (CheckBox2.checked=false)) then
Begin
x:=11;
End;

x:=5;
CheckBox1: Not Checked
If (CheckBox1.Checked=false) then
CheckBox2: Checked
Begin
x:=10;
End
Else
if ((CheckBox1.Checked=true) Or (CheckBox2.checked=true)) then
Begin
x:=11;
End;
x:=5;
If (CheckBox1.Checked=true) then
CheckBox1: Not Checked
Begin
CheckBox2: Checked
x:=10;
End
Else
if ((CheckBox1.Checked=false) or (CheckBox2.checked=false))
then
Begin
x:=11;
End;

x:=5;
If (CheckBox1.Checked=true) then
Begin
x:=10;
End
Else
if

CheckBox1: Not Checked
CheckBox2: Not Checked

((CheckBox1.Checked=true)or(CheckBox2.checked=not(CheckBox1.Checked)))
then
Begin
x:=11;
End;
Crack the code
x:=5;
If (CheckBox1.Checked=true) then
Begin
x:=10;
End;
Else
if (CheckBox2.Checked=true) then
Begin
x:=11;
End;

CheckBox1: Not Checked
CheckBox2: Not Checked
Var Bool1,Bool2: boolean;
Begin
Bool1: = CheckBox1.Checked; Bool2:-=false;
If (Bool1=true) then
Begin
// your code
End
Else
if (Bool2=not(true)) then
Begin
//your code
End
else
Begin
//your code
End
End;
Var Bool1,Bool2: boolean; x:integer;
Begin
CheckBox1: Not Checked
x:=5;
Bool1: = CheckBox1.Checked; Bool2:-=false;
If (Bool1=true) then
Begin
x:=3;
End
Else
if (Bool2=not(true)) then
Begin
x:=x+1;
End
End;

Var Bool1,Bool2: boolean; x:integer;
Begin
x:=5;
Bool1: = CheckBox1.Checked; Bool2:-=true;
If (Bool1=Bool2) then
Begin
x:=3;
End
if (Bool2=not(not(Bool1)) then
Begin
x:=x+1;
End
End;

CheckBox1: Checked
ListBox
ListBox
ListBox Prop.
• Properties:
– Sorted:
• If “true”, sorted in ascending order, default false

– Items:
• Items.add > (String)
• Items.string > [index] > (String)

– ItemIndex:
• ItemIndex > Return selected index [] > (Integer)
• No “ItemIndex” change at Design time

– Columns:
• Multiple “column”s in ListBox if greater than Zero “0”.

– MultiSelect:
• Enables “multiselect” to be “selected” if “true”, default “false”.

– “Auto” ScrollBar
ListBox example
procedure TForm2.Button1Click(Sender: TObject);
var x:integer; s:string;
begin
//Items
ListBox1.Items.Add('hehe');
//String
s:=ListBox1.Items.Strings[0];
Label1.caption:=s;

//ItemIndex
x:=ListBox1.ItemIndex;
Label2.caption:=inttostr(x);
end;
ComboBox
ComboBox
• Look like “ListBox”, but it’s a one “Choice at a time” one.
– No “MultiSelect” Prop.
ComboBox Prop.
• Properties:
– Text
• Text > (string) like a “caption” for “ComboBox”

– Items
• The available “option”s for user.
• Items.add > (String)
• Items.string > [index] > (String)

// func. Runtime
// func. Runtime

– ItemIndex
• ItemIndex > Return selected index [] > (Integer)
• “ItemIndex” changable at Design time , in contrary to “ListBox”

– Sorted:
• If “true”, sorted in ascending order, default false
ComboBox Event
• Most important: Onchange
• Code: let’s “just” change the option “3” times.
ComboBox – Code example
procedure TForm2.ComboBox1Change(Sender: TObject);
begin
memo1.lines.add('krkrkrkr');
end;
//Now let us add this new block of code on Button1Click
procedure TForm2.Button1Click(Sender: TObject);
var x:integer; s:string;
begin
if ComboBox1.ItemIndex=0 then
memo1.Lines.Add('You chose English')
else
begin
if ComboBox1.ItemIndex=1 then
memo1.Lines.Add('You chose Arabic')
else
begin
if ComboBox1.ItemIndex=2 then
memo1.Lines.Add('You chose German')
else
if ComboBox1.ItemIndex=3 then
memo1.Lines.Add('You chose French');
end;
end;
end;
ComboBox – Code example
• Now, what is the output on “Memo1” (Just Think it as if it’s a
Multi-Lines “Edit”) that can show just 5 lines, without a
scrollbar, when we choose 3 options (Arabic, German, French)
in row, and clicking the button after each choice?
• Think Think Think.
RadioButton
RadioButton
• What it looks like?
• It’s like when we choose the ages, languages,
– example
– It’s represent “constant values” for one “variables”

• So it’s like CheckBox that we learned but with a key
difference.
Components

Radio Button
RadioButton - Differences
• Let’s have 3 CheckBox & 3 Radio buttons.
CheckBox

RadioButton

We can select all 3
(one or more)

We can’t select all 3
(just one of them)

Not connected with each other

Connected with each other
RadioButton - Example
•

Remember that only one option can be chosen at a time

Block of code
Block of code
Block of code
Block of code
Many ways to “CRACK” the restriction
• GroupBox
• RadioGroup
• Panel
RadioGroup
simplifies the task of grouping radio buttons
RadioGroup Prop.
• Item:
– Numbers of option in the “RadioGroup” depends on “item” Prop.
– each string in “item” makes a radio button appears in the group box
with string as its “caption”.

• ItemIndex:
– determines which “RadioButton” is currently selected.
• It’s which we’ll deal with in code in “Runtime”.

• Column:
– Display the radio buttons in a single column or in multiple columns.
RadioGroup Prop.
No “Checked” Prop., It’s “ItemIndex”
Live example.
RadioGroup Prop.
procedure TForm1.NextClick(Sender: TObject);
begin
ShowMessage(RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]
+ ' with Index '
+ IntToStr(RadioGroup1.ItemIndex));
end;
GroupBox
GroupBox
• What it looks like?
• Its main function is to arrange all the related “control”s in
the “form”.
• The most known related “control” is “RadioGroup” as we have
seen.
• “Caption” Prop. Labels the GroupBox
• Remember “cut & paste” method.
Adding component to GroupBox
• Tool Pallete > Choose what you want to add
– Place it in the “GroupBox”

• Now you can deal with your GroupBox as a complete block
that contains related “control”s
See you!

Contenu connexe

Tendances

Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayUtkarsh Sengar
 
Intro to Functions Python
Intro to Functions PythonIntro to Functions Python
Intro to Functions Pythonprimeteacher32
 
Programming in Computational Biology
Programming in Computational BiologyProgramming in Computational Biology
Programming in Computational BiologyAtreyiB
 
Introduction to Kotlin for Android developers
Introduction to Kotlin for Android developersIntroduction to Kotlin for Android developers
Introduction to Kotlin for Android developersMohamed Wael
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekingeProf. Wim Van Criekinge
 
Python - An Introduction
Python - An IntroductionPython - An Introduction
Python - An IntroductionEueung Mulyana
 
Learn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesLearn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesMatt Harrison
 
Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)Pedro Rodrigues
 
4 b file-io-if-then-else
4 b file-io-if-then-else4 b file-io-if-then-else
4 b file-io-if-then-elseMalik Alig
 
Python 101++: Let's Get Down to Business!
Python 101++: Let's Get Down to Business!Python 101++: Let's Get Down to Business!
Python 101++: Let's Get Down to Business!Paige Bailey
 
4. python functions
4. python   functions4. python   functions
4. python functionsin4400
 
An Intro to Python in 30 minutes
An Intro to Python in 30 minutesAn Intro to Python in 30 minutes
An Intro to Python in 30 minutesSumit Raj
 
Memory Management In Python The Basics
Memory Management In Python The BasicsMemory Management In Python The Basics
Memory Management In Python The BasicsNina Zakharenko
 
Introduction to advanced python
Introduction to advanced pythonIntroduction to advanced python
Introduction to advanced pythonCharles-Axel Dein
 

Tendances (20)

Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
 
Intro to Functions Python
Intro to Functions PythonIntro to Functions Python
Intro to Functions Python
 
Python for Beginners(v1)
Python for Beginners(v1)Python for Beginners(v1)
Python for Beginners(v1)
 
Programming in Computational Biology
Programming in Computational BiologyProgramming in Computational Biology
Programming in Computational Biology
 
Introduction to Kotlin for Android developers
Introduction to Kotlin for Android developersIntroduction to Kotlin for Android developers
Introduction to Kotlin for Android developers
 
Elixir
ElixirElixir
Elixir
 
Strings in python
Strings in pythonStrings in python
Strings in python
 
Python1
Python1Python1
Python1
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge
 
Python - An Introduction
Python - An IntroductionPython - An Introduction
Python - An Introduction
 
Learn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesLearn 90% of Python in 90 Minutes
Learn 90% of Python in 90 Minutes
 
Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)
 
4 b file-io-if-then-else
4 b file-io-if-then-else4 b file-io-if-then-else
4 b file-io-if-then-else
 
Python 101++: Let's Get Down to Business!
Python 101++: Let's Get Down to Business!Python 101++: Let's Get Down to Business!
Python 101++: Let's Get Down to Business!
 
4. python functions
4. python   functions4. python   functions
4. python functions
 
Python Workshop
Python WorkshopPython Workshop
Python Workshop
 
python.ppt
python.pptpython.ppt
python.ppt
 
An Intro to Python in 30 minutes
An Intro to Python in 30 minutesAn Intro to Python in 30 minutes
An Intro to Python in 30 minutes
 
Memory Management In Python The Basics
Memory Management In Python The BasicsMemory Management In Python The Basics
Memory Management In Python The Basics
 
Introduction to advanced python
Introduction to advanced pythonIntroduction to advanced python
Introduction to advanced python
 

En vedette

C# Starter L07-Objects Cloning
C# Starter L07-Objects CloningC# Starter L07-Objects Cloning
C# Starter L07-Objects CloningMohammad Shaker
 
C# Advanced L09-HTML5+ASP
C# Advanced L09-HTML5+ASPC# Advanced L09-HTML5+ASP
C# Advanced L09-HTML5+ASPMohammad Shaker
 
Utilizing Kinect Control for a More Immersive Interaction with 3D Environment
Utilizing Kinect Control for a More Immersive Interaction with 3D EnvironmentUtilizing Kinect Control for a More Immersive Interaction with 3D Environment
Utilizing Kinect Control for a More Immersive Interaction with 3D EnvironmentMohammad Shaker
 
XNA L10–Shaders Part 1
XNA L10–Shaders Part 1XNA L10–Shaders Part 1
XNA L10–Shaders Part 1Mohammad Shaker
 
XNA L11–Shaders Part 2
XNA L11–Shaders Part 2XNA L11–Shaders Part 2
XNA L11–Shaders Part 2Mohammad Shaker
 
Indie Series 03: Becoming an Indie
Indie Series 03: Becoming an IndieIndie Series 03: Becoming an Indie
Indie Series 03: Becoming an IndieMohammad Shaker
 
WPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D AnimationWPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D AnimationMohammad Shaker
 
C# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow FoundationC# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow FoundationMohammad Shaker
 
WPF L01-Layouts, Controls, Styles and Templates
WPF L01-Layouts, Controls, Styles and TemplatesWPF L01-Layouts, Controls, Styles and Templates
WPF L01-Layouts, Controls, Styles and TemplatesMohammad Shaker
 
Interaction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with PsychologyInteraction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with PsychologyMohammad Shaker
 
C# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCFC# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCFMohammad Shaker
 
Short, Matters, Love - Passioneers Event 2015
Short, Matters, Love -  Passioneers Event 2015Short, Matters, Love -  Passioneers Event 2015
Short, Matters, Love - Passioneers Event 2015Mohammad Shaker
 
C# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension MethodsC# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension MethodsMohammad Shaker
 
Car Dynamics with ABS, ESP and GPS Systems
Car Dynamics with ABS, ESP and GPS SystemsCar Dynamics with ABS, ESP and GPS Systems
Car Dynamics with ABS, ESP and GPS SystemsMohammad Shaker
 
XNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and TransformationsXNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and TransformationsMohammad Shaker
 
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]Mohammad Shaker
 

En vedette (18)

C# Starter L07-Objects Cloning
C# Starter L07-Objects CloningC# Starter L07-Objects Cloning
C# Starter L07-Objects Cloning
 
C# Advanced L09-HTML5+ASP
C# Advanced L09-HTML5+ASPC# Advanced L09-HTML5+ASP
C# Advanced L09-HTML5+ASP
 
Utilizing Kinect Control for a More Immersive Interaction with 3D Environment
Utilizing Kinect Control for a More Immersive Interaction with 3D EnvironmentUtilizing Kinect Control for a More Immersive Interaction with 3D Environment
Utilizing Kinect Control for a More Immersive Interaction with 3D Environment
 
XNA L10–Shaders Part 1
XNA L10–Shaders Part 1XNA L10–Shaders Part 1
XNA L10–Shaders Part 1
 
XNA L11–Shaders Part 2
XNA L11–Shaders Part 2XNA L11–Shaders Part 2
XNA L11–Shaders Part 2
 
Indie Series 03: Becoming an Indie
Indie Series 03: Becoming an IndieIndie Series 03: Becoming an Indie
Indie Series 03: Becoming an Indie
 
WPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D AnimationWPF L03-3D Rendering and 3D Animation
WPF L03-3D Rendering and 3D Animation
 
Android L01 - Warm Up
Android L01 - Warm UpAndroid L01 - Warm Up
Android L01 - Warm Up
 
C# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow FoundationC# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow Foundation
 
WPF L01-Layouts, Controls, Styles and Templates
WPF L01-Layouts, Controls, Styles and TemplatesWPF L01-Layouts, Controls, Styles and Templates
WPF L01-Layouts, Controls, Styles and Templates
 
Interaction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with PsychologyInteraction Design L06 - Tricks with Psychology
Interaction Design L06 - Tricks with Psychology
 
C# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCFC# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCF
 
Short, Matters, Love - Passioneers Event 2015
Short, Matters, Love -  Passioneers Event 2015Short, Matters, Love -  Passioneers Event 2015
Short, Matters, Love - Passioneers Event 2015
 
C# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension MethodsC# Starter L06-Delegates, Event Handling and Extension Methods
C# Starter L06-Delegates, Event Handling and Extension Methods
 
Car Dynamics with ABS, ESP and GPS Systems
Car Dynamics with ABS, ESP and GPS SystemsCar Dynamics with ABS, ESP and GPS Systems
Car Dynamics with ABS, ESP and GPS Systems
 
OpenGL Starter L02
OpenGL Starter L02OpenGL Starter L02
OpenGL Starter L02
 
XNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and TransformationsXNA L02–Basic Matrices and Transformations
XNA L02–Basic Matrices and Transformations
 
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
 

Similaire à Delphi L02 Controls P1

Similaire à Delphi L02 Controls P1 (20)

Python first day
Python first dayPython first day
Python first day
 
Python first day
Python first dayPython first day
Python first day
 
Q-Step_WS_02102019_Practical_introduction_to_Python.pdf
Q-Step_WS_02102019_Practical_introduction_to_Python.pdfQ-Step_WS_02102019_Practical_introduction_to_Python.pdf
Q-Step_WS_02102019_Practical_introduction_to_Python.pdf
 
Acm aleppo cpc training ninth session
Acm aleppo cpc training ninth sessionAcm aleppo cpc training ninth session
Acm aleppo cpc training ninth session
 
IoT-Week1-Day1-Lab.pptx
IoT-Week1-Day1-Lab.pptxIoT-Week1-Day1-Lab.pptx
IoT-Week1-Day1-Lab.pptx
 
python1.ppt
python1.pptpython1.ppt
python1.ppt
 
python1.ppt
python1.pptpython1.ppt
python1.ppt
 
Python Basics
Python BasicsPython Basics
Python Basics
 
python1.ppt
python1.pptpython1.ppt
python1.ppt
 
Lenguaje Python
Lenguaje PythonLenguaje Python
Lenguaje Python
 
pysdasdasdsadsadsadsadsadsadasdasdthon1.ppt
pysdasdasdsadsadsadsadsadsadasdasdthon1.pptpysdasdasdsadsadsadsadsadsadasdasdthon1.ppt
pysdasdasdsadsadsadsadsadsadasdasdthon1.ppt
 
coolstuff.ppt
coolstuff.pptcoolstuff.ppt
coolstuff.ppt
 
python1.ppt
python1.pptpython1.ppt
python1.ppt
 
Introductio_to_python_progamming_ppt.ppt
Introductio_to_python_progamming_ppt.pptIntroductio_to_python_progamming_ppt.ppt
Introductio_to_python_progamming_ppt.ppt
 
python1.ppt
python1.pptpython1.ppt
python1.ppt
 
python1.ppt
python1.pptpython1.ppt
python1.ppt
 
python1.ppt
python1.pptpython1.ppt
python1.ppt
 
Introduction to Python for Bioinformatics
Introduction to Python for BioinformaticsIntroduction to Python for Bioinformatics
Introduction to Python for Bioinformatics
 
ENGLISH PYTHON.ppt
ENGLISH PYTHON.pptENGLISH PYTHON.ppt
ENGLISH PYTHON.ppt
 
manish python.pptx
manish python.pptxmanish python.pptx
manish python.pptx
 

Plus de Mohammad Shaker

12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian GraduateMohammad Shaker
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game DevelopmentMohammad Shaker
 
Android L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and WearablesAndroid L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and WearablesMohammad Shaker
 
Interaction Design L03 - Color
Interaction Design L03 - ColorInteraction Design L03 - Color
Interaction Design L03 - ColorMohammad Shaker
 
Interaction Design L05 - Typography
Interaction Design L05 - TypographyInteraction Design L05 - Typography
Interaction Design L05 - TypographyMohammad Shaker
 
Interaction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and CouplingInteraction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and CouplingMohammad Shaker
 
Android L04 - Notifications and Threading
Android L04 - Notifications and ThreadingAndroid L04 - Notifications and Threading
Android L04 - Notifications and ThreadingMohammad Shaker
 
Android L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSAndroid L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSMohammad Shaker
 
Interaction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile ConstraintsInteraction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile ConstraintsMohammad Shaker
 
Interaction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and GridsInteraction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and GridsMohammad Shaker
 
Android L10 - Stores and Gaming
Android L10 - Stores and GamingAndroid L10 - Stores and Gaming
Android L10 - Stores and GamingMohammad Shaker
 
Android L06 - Cloud / Parse
Android L06 - Cloud / ParseAndroid L06 - Cloud / Parse
Android L06 - Cloud / ParseMohammad Shaker
 
Android L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesAndroid L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesMohammad Shaker
 
Android L03 - Styles and Themes
Android L03 - Styles and Themes Android L03 - Styles and Themes
Android L03 - Styles and Themes Mohammad Shaker
 
Android L02 - Activities and Adapters
Android L02 - Activities and AdaptersAndroid L02 - Activities and Adapters
Android L02 - Activities and AdaptersMohammad Shaker
 
Indie Series 01: Intro to Games
Indie Series 01: Intro to GamesIndie Series 01: Intro to Games
Indie Series 01: Intro to GamesMohammad Shaker
 
Indie Series 04: The Making of SyncSeven
Indie Series 04: The Making of SyncSevenIndie Series 04: The Making of SyncSeven
Indie Series 04: The Making of SyncSevenMohammad Shaker
 
Indie Series 02: AI and Recent Advances in Games
Indie Series 02: AI and Recent Advances in GamesIndie Series 02: AI and Recent Advances in Games
Indie Series 02: AI and Recent Advances in GamesMohammad Shaker
 
Roboconf DSL Advanced Software Engineering
Roboconf DSL Advanced Software EngineeringRoboconf DSL Advanced Software Engineering
Roboconf DSL Advanced Software EngineeringMohammad Shaker
 

Plus de Mohammad Shaker (20)

12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate12 Rules You Should to Know as a Syrian Graduate
12 Rules You Should to Know as a Syrian Graduate
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game Development
 
Android L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and WearablesAndroid L07 - Touch, Screen and Wearables
Android L07 - Touch, Screen and Wearables
 
Interaction Design L03 - Color
Interaction Design L03 - ColorInteraction Design L03 - Color
Interaction Design L03 - Color
 
Interaction Design L05 - Typography
Interaction Design L05 - TypographyInteraction Design L05 - Typography
Interaction Design L05 - Typography
 
Interaction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and CouplingInteraction Design L04 - Materialise and Coupling
Interaction Design L04 - Materialise and Coupling
 
Android L05 - Storage
Android L05 - StorageAndroid L05 - Storage
Android L05 - Storage
 
Android L04 - Notifications and Threading
Android L04 - Notifications and ThreadingAndroid L04 - Notifications and Threading
Android L04 - Notifications and Threading
 
Android L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSAndroid L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOS
 
Interaction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile ConstraintsInteraction Design L01 - Mobile Constraints
Interaction Design L01 - Mobile Constraints
 
Interaction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and GridsInteraction Design L02 - Pragnanz and Grids
Interaction Design L02 - Pragnanz and Grids
 
Android L10 - Stores and Gaming
Android L10 - Stores and GamingAndroid L10 - Stores and Gaming
Android L10 - Stores and Gaming
 
Android L06 - Cloud / Parse
Android L06 - Cloud / ParseAndroid L06 - Cloud / Parse
Android L06 - Cloud / Parse
 
Android L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesAndroid L08 - Google Maps and Utilities
Android L08 - Google Maps and Utilities
 
Android L03 - Styles and Themes
Android L03 - Styles and Themes Android L03 - Styles and Themes
Android L03 - Styles and Themes
 
Android L02 - Activities and Adapters
Android L02 - Activities and AdaptersAndroid L02 - Activities and Adapters
Android L02 - Activities and Adapters
 
Indie Series 01: Intro to Games
Indie Series 01: Intro to GamesIndie Series 01: Intro to Games
Indie Series 01: Intro to Games
 
Indie Series 04: The Making of SyncSeven
Indie Series 04: The Making of SyncSevenIndie Series 04: The Making of SyncSeven
Indie Series 04: The Making of SyncSeven
 
Indie Series 02: AI and Recent Advances in Games
Indie Series 02: AI and Recent Advances in GamesIndie Series 02: AI and Recent Advances in Games
Indie Series 02: AI and Recent Advances in Games
 
Roboconf DSL Advanced Software Engineering
Roboconf DSL Advanced Software EngineeringRoboconf DSL Advanced Software Engineering
Roboconf DSL Advanced Software Engineering
 

Dernier

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Dernier (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Delphi L02 Controls P1

  • 1. Intro to Event-driven Programming and Forms with Delphi L02 – Controls P1 Mohammad Shaker mohammadshakergtr.wordpress.com Intro to Event-driven Programming and Forms with Delphi @ZGTRShaker 2010, 2011, 2012
  • 2.
  • 5. General ‘Info’s & Tips • Don’t forget the CTRL+Space auto-completion – CTRL+Space: code in-sightauto-completion. • You can’t write in Arabic in a component’s “NAME”. • Delphi is a not a “Case Sensitive ” language. • dpr *: when saving, the project you have will be saved as a ‘dpr’ termination. *dpr: Delphi Project
  • 6. Runtime • Form the upper bar > Run > Run. • Form the button in the upper bar. • Or F9
  • 7. Sth to Remember • Differentiate between Visible & Enabled in Component’s properties. • Differentiate between Name & Caption in Component’s properties. • F9: RUN. • F9+CTRL: Compile.
  • 8. Changing your “.exe” icon • “.ico” files extension • Project > Options > Application > Load Icon • It appears in the upper left corner of the application form
  • 9. Chase the button Exercise Do it & enjoy catching it :D
  • 10. Label
  • 12. Label • Is an Info • It can be used as an output as a “String” • “caption” manipulating. Label1.caption:= ‘Hello World’; String & only String
  • 13. Edit
  • 15. Pre-Made String Functions • StrAlloc – Allocates a character buffer of a given size on the heap. • StrBufSize – Returns the size of a character buffer allocated using StrAlloc or StrNew. • StrCat – Concatenates two strings. • StrComp – Compares two strings. • StrCopy – Copies a string.
  • 16. Pre-Made String Functions • StrDispose – Disposes a character buffer allocated using StrAlloc or StrNew. • StrECopy – Copies a string and returns a pointer to the end of the string. • StrEnd – Returns a pointer to the end of a string. • StrFmt – Formats one or more values into a string. • StrIComp – Compares two strings without case sensitivity. • StrLCat – Concatenates two strings with a given maximum length of the resulting string.
  • 17. Pre-Made String Functions • StrLComp – Compares two strings for a given maximum length. • StrLCopy – Copies a string up to a given maximum length. • StrLen – Returns the length of a string. • StrLFmt – Formats one or more values into a string with a given maximum length. • StrLIComp – Compares two strings for a given maximum length without case sensitivity. • StrLower – Converts a string to lowercase. • StrMove – Moves a block of characters from one string to another.
  • 18. Pre-Made String Functions • StrNew – Allocates a string on the heap. • StrPCopy – Copies a Pascal string to a null-terminated string. • StrPLCopy – Copies a Pascal string to a null-terminated string with a given maximum length. • StrPos – Returns a pointer to the first occurrence of a given substring within a string. • StrRScan – Returns a pointer to the last occurrence of a given character within a string. • StrScan – Returns a pointer to the first occurrence of a given character within a string. • StrUpper – Converts a string to uppercase.
  • 19. Pre-Made String Functions • What we need the most: – String to integer – Integer to string : StrToInt() : IntToStr()
  • 20. Edit Prop. • • • • • No “Caption” Prop., “Text”. PassWord Visible, Enabled Hint, ShowHint Top, Left
  • 21. Edit • Text:“String” inner valued. • Can be used as an input & output. Var temp:integer; Edit1.Text:= temp; temp:= Edit1.Text; // output // input • Have a supposition value (text Prop.). – Can be changed. • ReadOnly Prop.
  • 22. Edit • Can be used to contain other variables types. • Input: Var temp:integer; temp:= StrToInt(Edit1.Text); • Output: Var temp:String; Edit1.Text:= IntToStr(temp); //no need for -IntToStr-
  • 24. CheckBox Properties • • • • • Caption “true OR false” Can be used as a “boolean” input “Checked” Prop. Can be referenced to other “boolean” variable.
  • 25. Crack the code If (CheckBox1.Checked=true) then Begin // code End Else if (CheckBox2.checked=true) then Begin // code End else Begin // code End
  • 26. x:=5; If (CheckBox1.Checked=true) then CheckBox1: Not Checked Begin CheckBox2: Checked x:=10; End Else if ((CheckBox1.Checked=false) and (CheckBox2.checked=false)) then Begin x:=11; End; x:=5; If (CheckBox1.Checked=true) then CheckBox1: Checked Begin CheckBox2: Checked x:=10; End Else if ((CheckBox1.Checked=true) and (CheckBox2.checked=true)) then Begin x:=11; End;
  • 27. x:=5; CheckBox1: Checked If (CheckBox1.Checked=true) then CheckBox2: Not Checked Begin x:=10; End if ((CheckBox1.Checked=false) Or (CheckBox2.checked=false)) then Begin x:=11; End; x:=5; CheckBox1: Not Checked If (CheckBox1.Checked=false) then CheckBox2: Checked Begin x:=10; End Else if ((CheckBox1.Checked=true) Or (CheckBox2.checked=true)) then Begin x:=11; End;
  • 28. x:=5; If (CheckBox1.Checked=true) then CheckBox1: Not Checked Begin CheckBox2: Checked x:=10; End Else if ((CheckBox1.Checked=false) or (CheckBox2.checked=false)) then Begin x:=11; End; x:=5; If (CheckBox1.Checked=true) then Begin x:=10; End Else if CheckBox1: Not Checked CheckBox2: Not Checked ((CheckBox1.Checked=true)or(CheckBox2.checked=not(CheckBox1.Checked))) then Begin x:=11; End;
  • 29. Crack the code x:=5; If (CheckBox1.Checked=true) then Begin x:=10; End; Else if (CheckBox2.Checked=true) then Begin x:=11; End; CheckBox1: Not Checked CheckBox2: Not Checked
  • 30. Var Bool1,Bool2: boolean; Begin Bool1: = CheckBox1.Checked; Bool2:-=false; If (Bool1=true) then Begin // your code End Else if (Bool2=not(true)) then Begin //your code End else Begin //your code End End;
  • 31. Var Bool1,Bool2: boolean; x:integer; Begin CheckBox1: Not Checked x:=5; Bool1: = CheckBox1.Checked; Bool2:-=false; If (Bool1=true) then Begin x:=3; End Else if (Bool2=not(true)) then Begin x:=x+1; End End; Var Bool1,Bool2: boolean; x:integer; Begin x:=5; Bool1: = CheckBox1.Checked; Bool2:-=true; If (Bool1=Bool2) then Begin x:=3; End if (Bool2=not(not(Bool1)) then Begin x:=x+1; End End; CheckBox1: Checked
  • 34. ListBox Prop. • Properties: – Sorted: • If “true”, sorted in ascending order, default false – Items: • Items.add > (String) • Items.string > [index] > (String) – ItemIndex: • ItemIndex > Return selected index [] > (Integer) • No “ItemIndex” change at Design time – Columns: • Multiple “column”s in ListBox if greater than Zero “0”. – MultiSelect: • Enables “multiselect” to be “selected” if “true”, default “false”. – “Auto” ScrollBar
  • 35. ListBox example procedure TForm2.Button1Click(Sender: TObject); var x:integer; s:string; begin //Items ListBox1.Items.Add('hehe'); //String s:=ListBox1.Items.Strings[0]; Label1.caption:=s; //ItemIndex x:=ListBox1.ItemIndex; Label2.caption:=inttostr(x); end;
  • 37. ComboBox • Look like “ListBox”, but it’s a one “Choice at a time” one. – No “MultiSelect” Prop.
  • 38. ComboBox Prop. • Properties: – Text • Text > (string) like a “caption” for “ComboBox” – Items • The available “option”s for user. • Items.add > (String) • Items.string > [index] > (String) // func. Runtime // func. Runtime – ItemIndex • ItemIndex > Return selected index [] > (Integer) • “ItemIndex” changable at Design time , in contrary to “ListBox” – Sorted: • If “true”, sorted in ascending order, default false
  • 39. ComboBox Event • Most important: Onchange • Code: let’s “just” change the option “3” times.
  • 40. ComboBox – Code example procedure TForm2.ComboBox1Change(Sender: TObject); begin memo1.lines.add('krkrkrkr'); end;
  • 41. //Now let us add this new block of code on Button1Click procedure TForm2.Button1Click(Sender: TObject); var x:integer; s:string; begin if ComboBox1.ItemIndex=0 then memo1.Lines.Add('You chose English') else begin if ComboBox1.ItemIndex=1 then memo1.Lines.Add('You chose Arabic') else begin if ComboBox1.ItemIndex=2 then memo1.Lines.Add('You chose German') else if ComboBox1.ItemIndex=3 then memo1.Lines.Add('You chose French'); end; end; end;
  • 42. ComboBox – Code example • Now, what is the output on “Memo1” (Just Think it as if it’s a Multi-Lines “Edit”) that can show just 5 lines, without a scrollbar, when we choose 3 options (Arabic, German, French) in row, and clicking the button after each choice? • Think Think Think.
  • 44. RadioButton • What it looks like? • It’s like when we choose the ages, languages, – example – It’s represent “constant values” for one “variables” • So it’s like CheckBox that we learned but with a key difference.
  • 46. RadioButton - Differences • Let’s have 3 CheckBox & 3 Radio buttons. CheckBox RadioButton We can select all 3 (one or more) We can’t select all 3 (just one of them) Not connected with each other Connected with each other
  • 47. RadioButton - Example • Remember that only one option can be chosen at a time Block of code Block of code Block of code Block of code
  • 48. Many ways to “CRACK” the restriction • GroupBox • RadioGroup • Panel
  • 49. RadioGroup simplifies the task of grouping radio buttons
  • 50. RadioGroup Prop. • Item: – Numbers of option in the “RadioGroup” depends on “item” Prop. – each string in “item” makes a radio button appears in the group box with string as its “caption”. • ItemIndex: – determines which “RadioButton” is currently selected. • It’s which we’ll deal with in code in “Runtime”. • Column: – Display the radio buttons in a single column or in multiple columns.
  • 51. RadioGroup Prop. No “Checked” Prop., It’s “ItemIndex” Live example.
  • 52. RadioGroup Prop. procedure TForm1.NextClick(Sender: TObject); begin ShowMessage(RadioGroup1.Items.Strings[RadioGroup1.ItemIndex] + ' with Index ' + IntToStr(RadioGroup1.ItemIndex)); end;
  • 54. GroupBox • What it looks like? • Its main function is to arrange all the related “control”s in the “form”. • The most known related “control” is “RadioGroup” as we have seen. • “Caption” Prop. Labels the GroupBox • Remember “cut & paste” method.
  • 55. Adding component to GroupBox • Tool Pallete > Choose what you want to add – Place it in the “GroupBox” • Now you can deal with your GroupBox as a complete block that contains related “control”s