PP4S Home Page
Welcome to the PP4S Website!
The aim of the website is to provide valuable, but free, resources to help promote Pascal programming in schools by sharing ideas, knowledge and experience. We welcome contributions and feedback on the site. Please let us know what you think.
There is plenty more still to come but there is enough on the site for a beginner to learn how to program.
"Your site is great. It builds up talented young people's understanding of Computing and Pascal capability, understanding and skills in quite a simple way through use of various examples. It's very good for students that want to develop their computing talents independently. Pascal does seem to be preferred by quite a lot of schools nationally at the moment."
We have added this quote and others to support our reasons for encouraging you to learn Pascal at school.
- follow the instructions on Getting Started with Lazarus (updated to refer to the latest version of the IDE) or our section on Getting Started with Delphi;
- start to work through the first few tutorials in order;
- look at the student programs, starting with the more straightforward ones at the beginning the table.
New! Steven is continuing to impress with his enjoyable game Invader. You control an invading bug with the mouse and try to survive for as long as possible by avoiding the moving white blood cells. Steven produces smooth motion graphics and uses alpha blending to good effect. He also provides music and levels that change automatically as you progress. You would not guess that he is our youngest contributor!
New! We have added a tutorial on databases. We provide some theory then give practical steps for downloading the (free) Firebird database management system and demonstrate its use in Lazarus applications. The tutorial includes relational databases, primary and foreign keys, constraints, DML, DDL, SQL, stored procedures, the isql command line tool, master-detail relationships and reports. We show how you can use ClientDataSets in Delphi to produce a convenient local database. Experiment with databases to experience a surprisingly different type of programming!
The remainder of this page is our description of the previous update to the website.
- position the nodes by dragging them with the mouse;
- add and delete nodes;
- introduce links between nodes.

Shortest path (green) changes as F is repositioned
Christopher has divided his code into logical units and has commented it clearly. His experience of writing substantial games has enabled him to write fluent code that will help you to learn.
New! Steven's program my_first_sdl is a most promising start to his use of the SDL and SDL_gfx libraries. He creates an appealing motion graphic by superimposing ellipses drawn with gradually changing radii. Steven is our youngest contributor so far and we hope that his code will encourage others to tackle SDL.
We have extended our tutorial on forms applications to cover providing HTML help in Lazarus and Delphi. We provide demonstrations of using the TWebBrowser control in Delphi and the TIPHTMLPanel in Lazarus. Other types of control introduced include TCheckbox, TBitBtn and the powerful TSynEdit.
Now that student contributors are becoming more advanced programmers we need to revisit earlier tutorial topics and describe difficult techniques that we do not consider to be suitable for beginners. Arrays for Enthusiasts covers array parameters, dynamic arrays and vector processing.
We have added a page to our guide to Lazarus forms applications in the Resources section. This describes the use of the Lazarus Project Information file (extension .lpi) and the Lazarus Project Session file (extension .lps).
dita powered.