{"id":5399,"date":"2025-05-07T19:21:25","date_gmt":"2025-05-08T02:21:25","guid":{"rendered":"http:\/\/www.contrapositivediary.com\/?p=5399"},"modified":"2025-10-21T15:46:20","modified_gmt":"2025-10-21T22:46:20","slug":"new-edition-of-freepascal-from-square-one","status":"publish","type":"post","link":"https:\/\/www.contrapositivediary.com\/?p=5399","title":{"rendered":"New Edition of FreePascal From Square One"},"content":{"rendered":"<p>[I released a new rev of the book as of 10-21-2025, and the link in this post now points to the new rev.]<\/p>\n<p>Once I got <em>The Everything Machine<\/em> published on KDP this past March, I went back to a project I\u2019ve tinkered with for almost 15 years: <em>FreePascal from Square One<\/em>, a 354-page PDF providing an introduction to programming, using the FreePascal FOSS compiler and the Lazarus IDE for editing and building. I need to mention here that the book does <em>not<\/em> go into Windows programming, OOP, software components, or the Lazarus GUI builder. I have a concept for a second book for those topics, and have written some of it, and borrowed a little from my portions of <em>The Delphi 2 Explorer<\/em>. No schedule yet, but I work on it when time permits.<\/p>\n<p><em>FreePascal from Square One<\/em> really is a free ebook. It\u2019s a distillation of the four editions of my Pascal tutorial, <em>Complete Turbo Pascal<\/em>, which first appeared in 1985 and culminated in <em>Borland Pascal 7 From Square One<\/em> in 1993. I sold a lot of those books and made plenty of money, so I\u2019m now giving it away, in hopes of drawing more people into the Pascal universe.<\/p>\n<p>The book begins at the beginning of the beginning, and explains the ideas behind programming, drawing on metaphors from daily life, before jumping into coding. I\u2019ve turned loose increasingly polished revisions on a regular basis since 2011 or so. This one has things none of the earlier revisions had: A new chapter on simple Pascal file I\/O, and a clickable table of contents.<\/p>\n<p>The TOC thing made me nuts for awhile. I tried to make it work using InDesign, but InDesign (my 2005-era copy, at least) can\u2019t do it. I know it can be done\u2014I have a couple of technical ebook PDFs with clickable TOCs\u2014but needed to buy a high-end PDF editing tool to make it work. The product is <a href=\"https:\/\/pdf-xchange.eu\/pdf-xchange-pro\/index.htm\" target=\"_blank\" rel=\"noopener\">PDF X-Change Pro<\/a> from Tracker Software. It\u2019s not free, but if you do any amount of work with PDFs, it\u2019s essential. The Pro-level product comes with a <em>1,372-page<\/em> manual\u2014in PDF format, of course. It took me most of a day plowing through that monster manual to find out how to make clickable links in PDFs, but once I located that part, adding links to the TOC took me less than an hour.<\/p>\n<p>It\u2019s not tied to TOCs. You can define a clickable rectangle anywhere in a PDF, and specify what page that clickable rectangle will send you to. I drew rectangles all around the lines in the TOC, then right-clicked each rectangle and specified a destination page number for each line.<\/p>\n<p>If you want the book, <a href=\"http:\/\/www.contrapositivediary.com\/wp-content\/uploads\/2025\/10\/FreePascalFromSquareOne-10-21-2025.pdf\" target=\"_blank\" rel=\"noopener\">it\u2019s right here<\/a>. You\u2019re welcome to share it around, post it on your site, or give it to anyone who might be find it useful. If you\u2019re interested in FreePascal and Lazarus, <a href=\"https:\/\/www.lazarus-ide.org\/\" target=\"_blank\" rel=\"noopener\">here\u2019s where to go<\/a> to download them. They\u2019re as close as you\u2019ll get to Delphi in the free software universe, and it\u2019s about the only programming environment that I use these days, unless I duck back into x64 assembly. Give it a try. It\u2019s bogglingly good.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[I released a new rev of the book as of 10-21-2025, and the link in this post now points to the new rev.] Once I got The Everything Machine published on KDP this past March, I went back to a project I\u2019ve tinkered with for almost 15 years: FreePascal from Square One, a 354-page PDF [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[268,90,32,16],"class_list":["post-5399","post","type-post","status-publish","format-standard","hentry","category-daybook","tag-foss","tag-pascal","tag-programming","tag-publishing"],"_links":{"self":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/5399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5399"}],"version-history":[{"count":6,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/5399\/revisions"}],"predecessor-version":[{"id":5504,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/5399\/revisions\/5504"}],"wp:attachment":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}