General 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 and MrSnugglekins
- 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
- 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
- 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
- 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
- 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
- cast
- casting strings
- challenge
- challenges
- ideas for programs
- programs to debug
- programs to complete
- char
- char variables
- codes (ASCII)
- character
- character check
- 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
- combo box
- using a combo box
- command prompt
- 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
E
- edit box
- using an edit box
- using a labelled edit box
- ELF (Executable and Linkable Format)
- assembling to ELF file
- compiling to ELF file
- encryption
- introduction
- demonstration
- encryption without assembler
- experimenting
- encryption using MMX
- encryption using MMX via in-line assembler
- 32-bit-at-a-time encryption for comparison with MMX
- enumerated type
- introduction
- program Physics by Charles
- erroneous data
- testing example
- error
- error handling
- common error checklist
- common miscellaneous errors
- common syntax errors
- common runtime errors
- event
- SDL event handling
- artillery game tutorial
- student programs using SDL
- extreme data
- testing example
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
- 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
- fractal
- Sierpinski carpet and curves
- Mandelbrot fractal
- 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
- 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
- iteration
- introduction
- iteration in assembler
J
- Java
- getting started with Oxygene for Java
- tutorial on Oxygene for Java
- Java Virtual Machine (JVM)
- compiler basics
- joystick
- input unit (SDL)
- 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
- keyword
- Why Pascal?
- syntax highlighting
- KISS
- KISS compiler
- koala
- KoalasInSpace
L
- label
- label on form
- iteration
- generating labels
- Lazarus
- (A few of the numerous references)
- downloading
- installing
- experimenting
- copying code into
- lazy
- lazy translation
- lexical analysis
- compilers
- library
- dynamic link libraries
- demonstration
- linker
- dynamic link libraries
- Linux
- Lazarus on Linux
- list
- lists, stacks and queues
- introduction to lists
- list box
- linked list
- introduction
- bubble sort
- experimenting
- loader
- dynamic link libraries
- local variable
- translating local variables
- logical
- logical error
- logical operator
- loop
- translating a loop statement
- lookup table
- trigonometry lookup table
M
- 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
- 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
- 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
- node
- tree sort
- A* algorithm for shortest path
- NOT operator
- Boolean operators
- translating Boolean expressions
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 Delphi
- 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
- 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
P
- 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
- pointer
- how to use pointers
- record pointers
- precedence
- operators
- translation and many other references in the same tutorial
- primary key
- planning a database
- 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
R
- radio group
- using a radio group
- random
- using random numbers
- randomly generated terrain
- random seed
- random file
- range
- range check (validation)
- range checking (debugging)
- real
- real variables
- displaying real numbers: frequently asked questions
- real number arithmetic in assembler
- record
- introduction
- single record
- array of records
- file of records
- practice
- recursion
- introduction
- simple examples
- binary search tree
- fractals
- redundancy
- introduction to databases
- register
- Intel and AT&T syntax
- advanced in-line assembler
- Graphical Assembler Simulator Program (GASP)
- regression testing
- automated testing
- regular expression
- how to search and replace
- lexical scanner
- relation
- relational operators
- repeat
- repeat loops
- experimenting
- translating a repeat-until loop
- repetition
- introduction
- replace
- how to search and replace
- report
- creating and printing a report
- Reverse Polish Notation
- arithmetic using RPN
- root node
- tree sort
- routine
- procedures and functions
- SDL subroutines
- string routines
- RPN
- arithmetic using Reverse Polish Notation
- rtf (rich text file)
- saving a rich text file
- rule
- rules for naming variables
- production rules
- runtime error
- common runtime errors
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)
- 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)
- 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
- 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
- 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
- Intel and AT&T syntax
T
- terrain
- randomly generated terrain
- test case
- testing example
- testing
- introduction
- example
- automated testing
- automated testing using TestRunner
- tips
- testing your compiler
- text file processing
- introduction to text files
- displaying csv files
- syntax highlighting
- counting words
- statistics
- experimenting
- appending data to a text file
- TFileStream
- encryption using MMX
- timer
- using a timer
- TINY
- TINY compiler
- integration of TINY with MASM
- TList
- Calculator (program by Christopher Winward)
- token
- calculator
- compilers
- multi-character tokens
- lexical scanning
- top-down design
- top-down design of a compiler
- track bar
- using a trackbar
- translator
- introduction
- compiler basics
- building a compiler
- testing your compiler
- interpreter
- building an interpreter
- assemblers
- tree
- binary search trees
- tree sort
- parse tree
U, V
- unary minus
- expression parsing
- see also many other examples in the same tutorial
- unary operator
- reverse Polish notation
- valid
- testing valid data
- validation
- introduction
- character check
- check-digit
- format check
- length check
- presence check
- range check
- type check
- validation practice
- variable
- Boolean variables
- char variables
- integer variables
- real variables
- rules for naming variables
- string variables
- experimenting
- variable parameters
- VB
- see Visual Basic
- vector
- vector graphics
- crt unit
- drawing demonstration
- Mandelbrot fractal demonstration
- experimenting
- vector processing
- virtual machine
- Java Virtual Machine
- Visual Basic
- introduction
- comparison table
- comparison programs
- differences from Pascal
- introduction
- symbols
- types of variable
- input/output
- selection
- repetition
- routines
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

dita powered.