General Pascal Index

A | B | C | D | E | F | G | H | I | J, K | L | M | N | O | P | Q | R | S | T | U, V | W | X, Y, Z

3D graphics
programs 3D-Driving, SuperHappyFunLand, MrSnugglekins and TesterGameEngine
A* algorithm
shortest path (program by Christopher Winward)
accumulator
assembly language
actual parameter
passing parameters
addressing mode
in-line assembler
ADO
ADO table for easy access to database
affine transform
Graphics2D applets (Oxygene for Java)
algorithm
comparison of sorting and searching algorithms
A* algorithm
shunting-yard algorithm
alphanumeric
multi-character tokens
AND operator
Boolean operators
translating Boolean expressions
ANSI
character coding schemes
app
Introduction to Android Apps (Oxygene for Java)
append
input and output
appending data to a text file
appendix
Appendix
applet
Introduction to Applets (Oxygene for Java)
argument
functions
see also actual parameter
ARM
ARM assembler
compiling via ARM assembler
array
introduction
array constants
dynamic arrays
2D arrays
     experimenting
parallel arrays
     experimenting
array of records
arrays for enthusiasts
     dynamic arrays
     array parameters
     vector processing
     encryption using MMX
     encryption using MMX via in-line assembler
     32-bit-at-a-time encryption for comparison
artificial life simulation
AlifeSim by Steven Binns
artillery
artillery game tutorial
ASCII
character coding schemes
ascii3D
retro racing game by Peter Hearnshaw
assembler
assemblers
building a compiler
assembler simulator (GASP)
     in-line assembler
          introduction
          getting started
          addition and subtraction
          multiplication
          division
          binary input
          shifts
          iteration
          selection
          experimenting
          references
     advanced in-line assembler
          introduction
          indexed addressing
          indirect addressing
          flags
          tips
     encryption
          introduction
          demonstration
          demonstration of decryption
          encryption without assembler
          encryption using MMX
          experimenting
real number arithmetic in assembler
how to use the MASM assembler
integration of TINY translator with MASM
assembly language
see assembler
assignment
assignment operator
Why Pascal?
translating assignments
atom
program that bonds atoms to form molecules
AT&T
Intel and AT&T syntax
audio
see music
automated testing
demonstration
automated testing using TestRunner

B

background
background colour using crt
single background image using SDL
tiled background images using wingraph
tiled background images using SDL
randomly generated terrain
bar chart
Bar Chart
battleships
game by Lewis Wright
BCNF (Boyce-Codd Normal Form
planning a database
binary
binary search
binary search tree
binary input in assembler
bit
left and right shifts
flags and assembler
bit button (button with image)
bitmap
bitmap graphics
     introduction
     changing colours
     moving objects
     hiding messages
     experimenting
black box testing
introduction to testing
blit
blitting
BNF (Backus-Naur Form)
top-down design of compiler
see also most pages of the same tutorial
Boolean
Boolean variables
Boolean operators
translating Boolean expressions
bottom-up design
bottom-up design of a compiler
branch
branch to label
break
translating a break statement
Breakout
simple version of arcade game for you to complete
breakpoint
setting breakpoints
browser
using a web browser in Delphi
bubble sort
introduction
button
button on form
byte
program Functions
overflow
file of byte

C

C#
C# after Pascal
calculator
using the shunting-yard algorithm (program by Christopher Winward)
calendar
calendar dialogue
canvas
introduction
use in Delphi
use in Lazarus
carry flag
demonstration of flags
case
case statements
string selectors in case statements
cast
casting strings
challenge
challenges
ideas for programs
programs to debug
programs to complete
char
char variables
codes (ASCII)
character
character check
chart
Displaying Data in a Chart
check
character check
check-digit
format check
length check
presence check
range check
type check
check box
using a check box
CIR (Current Instruction Register)
contents of registers during fetch-execute cycle
class
classes and objects
artillery game tutorial
Calculator
see also object-oriented programming
client
client dataset
program NetworkChat by Max Foster
program AlphaClient by James Hall
code generation
compilers
Collatz
in-line assembler program to find Collatz chain length of a positive integer
colour
colour in console programs using the crt unit
colour dialogue
combination
CombinationPermutation
CombinationPermutation
CombinationPermutation
combo box
using a combo box
command prompt
Using Command Prompts
installing Firebird
compiler
compiler basics
building a compiler
testing your compiler
compression
compression and decompression of text files (program by Adam Greenberg)
connection
editing a database
console program
Delphi 7
     first program
     experimenting
Delphi 2007
     first program
Lazarus
     first program
differences between Delphi and Lazarus
constant
using constants
constraint
creating a database
construct
iteration
crt unit
using the crt unit
crt in Delphi
student programs using crt
assembler code with crt functionality
introducing crt functionality to the TINY compiler
csv (comma separated value)
displaying a csv file
saving a csv file
Cygwin
Cygwin commands for ARM assembly and simulated running of ELF files
Cygwin batch file

D

database
introduction
planning
installing Firebird
creating
editing
searching
reports
stored procedures
client dataset
dataset
editing a database
data source
editing a database
DBNavigator
using a DBNavigator
DBGrid
introduction
DBGrid in Delphi
DBGrid in Lazarus
updating
DBMS
introduction to databases
DDL (Data Definition Language).
creating a database
debugging
introduction
stepping through code
displaying values
setting breakpoints
logging messages
error handling
range checking
how to search and replace
programs to debug
decryption
demonstration
Delphi
(A few of the numerous references)
first program in Delphi 7
first program in Delphi 2007
getting started with forms applications in Delphi 7
getting started with forms applications in Delphi 2007
dialogue
introduction
     message dialogue
     file dialogue
     colour dialogue
     font dialogue
     calendar dialogue
dictionary
dictionary search program by Adam Renak
direct addressing
in-line assembler
DIV operator
mathematical operators
Trains
do
translating a do statement

F

factorial
while loops
example of recursion
FAQ
frequently asked questions
fetch-execute cycle
assembler simulator (GASP)
Fibonacci
example of recursion
example in assembler simulator
file
text file processing
     introduction to text files
     displaying a csv file
     syntax highlighting
     counting words
     program statistics
     experimenting
files of records
saving a csv file
saving a rich text file
random file
TFileStream example
Firebird
installing the Firebird DBMS
see also database
flag
flags and assembler
flags as parameters
font
font dialogue
font unit (SDL)
font unit using OpenGL within SDL
fonts in a report
for
for loops
for-in loops
experimenting
translating a for loop
foreign key
planning a database
formal parameter
passing parameters
form-based application
Delphi 7
     getting started
          first application
          data input
          using two forms
          using existing files
     dbgrid
     providing help
Delphi 2007
     getting started
Lazarus
     getting started
          first application
          data input
          using two forms
          using existing files
          using a .lpi file
     introduction
     accessing variables and calling procedures
     list box
     combo box
     string grid
          demonstration
          validation
     dbgrid
          demonstration
          updating
     dialogues
          message dialogue
          file dialogue
          colour dialogue
          font dialogue
          calendar dialogue
     canvas
     timer
     providing help
          demonstration
format
Format Check
Formatting Your Code
Printing
fractal
Sierpinski carpet and curves
Mandelbrot fractal
Mandelbrot fractal using Oxygene for Java
Julia fractal using Oxygene for Java
function
procedures and functions
experimenting
return values
parameters

G

game development
introduction
artillery game tutorial
preliminary knowledge
     pointers
     blitting
     parameters
          flags
          casting types
          integer types
     coding for speed
getting started with SDL
     subroutines
          setup
          loading images
          blitting
          events
          freeing resources
     help
          web
          documentation
               demonstration
               advice
          source files
Game of Life
implementation by James Hall
GASP
Graphical Assembler Simulator Program by Peter Hearnshaw
global variable
variable parameters
GPIO
Getting Started with the Pi's GPIO Port
grammar
compilers
graphics
most student programs e.g. PascalPokemon (using crt), Knowledge and GASP (using wingraph) and MrSnugglekins (using SDL)
introduction
     vector graphics
          introduction
          crt unit
          drawing demonstration
          Mandelbrot fractal demonstration
          experimenting
     bitmap graphics
          introduction
          changing colours
          moving objects
          hiding messages
          experimenting
     motion graphics
          moving a letter
          fly-in
          rebounding
          bouncing
          experimenting
     Delphi graphics (for console applications)
          introduction
          using crt
          using wingraph
          demonstrations
guest tutorial
Artillery Game Tutorial by Jason McMillen
Let's Build a Compiler by Jack Crenshaw

H

hash
hashing
help
providing help
     demonstration using Delphi 7
     demonstration using Lazarus
host
program AlphaHost by James Hall
HTML
showing help pages with the TWebBrowser component in Delphi 7
showing help pages with the TIpHtmlPanel component in Lazarus
syntax highlighting

I

idea
ideas for programs
some of Peter Hearnshaw's ideas
if
if statements
translating an if statement
image
see graphics
immediate addressing
in-line assembler
indent
indenting blocks of code: frequently asked questions
index
indexed addressing
indirect
indirect addressing
infix
converting infix to RPN
infrared
program that predicts infrared spectra of molecules
inheritance
introduction
in-line assembler
introduction, see also assembler
input
input and output
input from file
experimenting with I/O
see also keyboard, mouse, joystick
insertion
insertion sort
instance
object-oriented pascal
integer
integer variables
Intel
Intel and AT&T syntax
intermediate language
compiler basics
Invader
invading bug game by Steven Binns
iteration
introduction
iteration in assembler

J

Java
getting started with Oxygene for Java
tutorial on Oxygene for Java
Java Virtual Machine (JVM)
compiler basics
JavaScript
Tutorial
Getting Started with Smart Mobile Studio
joystick
input unit (SDL)
Julia
Julia fractal using Oxygene for Java
jump
iteration
branch = jump throughout compiler tutorial

K

key
key for encryption
foreign key and primary key: planning a database
short-cut keys for form-based applications in Lazarus
short-cut keys for form-based applications in Delphi
keyboard
input from keyboard
input using crt unit
input using SDL
advanced input using SDL
keyboard shortcuts for:
keyword
Why Pascal?
syntax highlighting
KISS
KISS compiler
koala
KoalasInSpace

M

Mandelbrot
Mandelbrot fractal using Oxygene for Java
map
Displaying a Map
Installing TMapViewer
MAR (Memory Address Register)
contents of registers during fetch-execute cycle
MASM
how to use the MASM assembler
integration of TINY translator with MASM
MDR (Memory Data Register)
contents of registers during fetch-execute cycle
media player
Resources Unit
memo
using a memo
menu
menu in a console program: Functions
commonly used menu items for form-based applications in Lazarus
commonly used menu items for form-based applications in Delphi
message
message dialogue
MMX
vector processing
encryption using MMX
encryption using MMX via in-line assembler
mnemonic
assembly language
MOVQ
MOD operator
mathematical operators
Trains
molecule
MolyMaker by Peter Hearnshaw
Morse code
translator by Jack Fearn
motion graphics
moving a letter
fly-in
rebounding
bouncing
experimenting
see student games using crt, wincrt, wingraph and winmouse or SDL
mouse
program MultiDraw, demonstrating the winmouse unit
mouse events in SDL: CowGame, Invader, the input unit of program A_star and MrSnugglekins
MrSnugglekins
The Curious Case of Mr Snugglekins and the Giant Sack of Catnip
music
frequently asked questions
example of music using windows.beep: Mazer
SDL games with music: SpaceShooter, Invader, MrSnugglekins
music unit (SDL)

N

navigator
editing a database
nest
nested loops
nested procedures
nested functions
translating nested IF statements
network
program NetworkChat by Max Foster
programs AlphaClient and AlphaHost by James Hall
neural network
AlifeSim by Steven Binns
node
tree sort
A* algorithm for shortest path
tree node, parent node and child node: Deadline Planner Unit
NOT operator
Boolean operators
translating Boolean expressions
Notes
Text editor by James

O

object
classes and objects
object-oriented programming (OOP)
     introduction
     classes
     inheritance
     properties
     inbuilt classes
          introduction
          string list
          queue
          introduction to the canvas
          using the canvas in Delphi
          using the canvas in Lazarus
          experimenting
artillery game tutorial
see also most programs by Max Foster (e.g. Mr Snugglekins) and Christopher Winward (e.g. Calculator)
one-to-many relationship
planning a database
opcode
assemblers
OpenGL
Mr Snugglekins by Max Foster
SpaceShooter by Christopher Winward
TesterGameEngine by Steven Binns
operand
operators
assemblers
operator
introduction
mathematical operators
Boolean operators
relational operators
set operators
optimisation
compiler basics
OR operator
Boolean operators
translating Boolean expressions
output
input and output
monitor
output to file
printing
experimenting with I/O
overflow flag
demonstration of flags
Oxygene for Java
getting started
tutorial
console programs
applets
Android apps
general index
index of methods
Oxygene for .Net
Getting Started with Oxygene for .Net

P

page control
Using a PageControl (to display tabbed pages)
Novel Unit
PaintBox
Drawing on a PaintBox
parameter
introduction
variable parameters
     experimenting
array parameters
actual and formal parameters
PascalPokemon
Pokemon clone by Max Foster (using only the crt unit)
pass-by-reference
comparison with pass-by-value
translating procedures with parameters passed by reference
pass-by-value
translating procedures with parameters passed by value
PC (Program Counter)
contents of registers during fetch-execute cycle
permutation
CombinationPermutation
pie chart
Pie Chart
pointer
how to use pointers
record pointers
precedence
operators
translation and many other references in the same tutorial
primary key
planning a database
print
printing
creating and printing a report
procedure
introduction
experimenting
parameters
variable parameters
     experimenting
translating procedures
     translating a declaration
     translating a call
stored procedures (in a database)
program
student programs
see also console program and form-based application
property
properties

S

scanner
lexical scanning
scroll bar
using a scroll bar
SDL
see game development
student programs using SDL
search
introduction to sorting and searching
searching
linear search
binary search
binary search tree
hashing
sorting and searching arrays of records
choosing methods for sorting and searching
experimenting with sorting and searching
searching a database
selection
introduction
selection in assembler
server
program NetworkChat by Max Foster
program AlphaHost by James Hall
set
introduction
declaring a set
set operators
set procedures
experimenting
shift
shifts (assembly language)
shortcut
See keyboard shortcuts
shortest path
A* algorithm (program by Christopher Winward)
shunting-yard algorithm
Calculator (program by Christopher Winward)
Sierpinski
Sierpinski carpet and curves
simulator
assembler simulator (GASP)
Smart Mobile Studio
Getting Started
Tutorial
Smart General Index
Index of Smart Routines
Smart Pascal
Getting Started
Tutorial
snake
Snake by Peter Hearnshaw
SnakeWithoutATail by Joe
assembler version of Console Games
sort
introduction to sorting and searching
sorting
bubble sort
insertion sort
tree sort
quick sort
sorting and searching arrays of records
choosing methods for sorting and searching
experimenting with sorting and searching
sound
see music
sprite
Using Sprites (using Smart Mobile Studio)
SQL
introduction to databases
SQLQuery
using an SQLQuery
SQLTransaction
using an SQLTransaction
stack
lists, stacks and queues
introduction to stacks
demonstration
demonstration of a stack class
experimenting
state machine
lexical scanner
status bar
Novel Unit
step
stepping through code
stopping condition
recursion
string
string variables
     experimenting
string grid
     demonstration
     validation
string manipulation
     introduction
     routines
          introduction to routines
          basic routines
          comparing strings
          advanced routines
          experimenting
     text file processing
          introduction to text files
          displaying csv files
          syntax highlighting
          counting words
          program statistics
          experimenting
string list
subroutine
procedures and functions
SDL subroutines
string routines
symbol table
compilers
simple example
SynEdit
using a SynEdit for syntax highlighting
syntax
common syntax errors
syntax analysis
syntax diagram
Syntax-Highlighting Your Code
syntax highlighting
Intel and AT&T syntax

W

web browser
using a web browser in Delphi
while
while loops
     experimenting
translating a while statement
white box testing
introduction to testing
wincrt, wingraph and winmouse
using wingraph
demonstrations of crt and wingraph
student programs using these units
word processor
Jerzy Griffith's word processor for authors
Programming - a skill for life!

Introducing Pascal Programming for Schools