The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,482 other followers

Archive for the ‘Turbo Pascal’ Category

The Charlie Calvert “Here’s to Good Friends and New Adventures” article

Posted by jpluimers on 2021/10/14

Since this contains a list of contains from back then (20+ years ago!), I save it for future reference: [WayBack] Here’s to Good Friends and New Adventures

I would like to make a very short list of the other people at Borland who I have had the privilage of working with very closely. These people are Jason Sprenger, Xavier Pacheco, Steve Teixeira, John Kaster, Lar Mader and Rich Jones. Each of these people I worked with every day over a period of years, and they never showed me anything but the very best and most admirable human traits. I hope I am so lucky as to work with such fine people again in my life.

As for all the others, there is no way even to begin to thank them. A few of these people are Karen Giles, Lino Tadros, Steve Trefethen, Christine Ellis, Paolo Ciccone, Yolanda Davis, Blake Stone, Bruneau Babet, Dave Marancik, Anders Ohlsson, Dave Powell, Claudio Briceno, Joe Manzone, Terri Bartos, Dave Wilhelm, Andrea Ginsberg, Jason Vokes, Ludo Neveu, Martin Pamdeth, Martin Raim, Ernesto Franchini, Edwin Desouza, Zack Urlocker, Rosemary Abell, Robert Warren, Scott Bussinger, Richard Morris, Paul Beach, Jeremy McGee, Nimish Vora, Michael Swindell, Lorie Hull, Kendyll Upstrom, Kari Gallant, Allen Bauer, Josh Dahlby, Jose Rubens, John Thomas, John Williams, J.D. Hildebrand, Hizo Jozsef, Goran Kallmark, Ben Riga, George Cross, Gary Benner, Fred Felman, Erik Jakowitz, Danny Thorpe, Craig Farrell, Claudia Currie, Bill Weber, Lance Devon, Robert West, Amber Hein, Richard Kubat, Jeff Peters, Ellie Peters, Krystyna Niedzwiedzka, Kathy Berkland, Kelly Welty, Tom Lam, Nester Miranda (and Carlos!), Dana Kaufman, Pawal Ksiezyk, Jim Wright, Lori and Ellen from travel, Sergey Orlik and many others who I just don’t happen to recall right now, or who I liked very much but only met a few times.

I’m also indebted to Ray Kanopka, Mark Miller, Dick Malley, Dan Horn, Taco Oosterkamp, Bob Swart, Ann Lynnworth, Marco Cantu, Jeroen Pluimers, and many more who worked in the Borland community and brought me great joy. It’s amazing to consider how many talented and remarkable people have been drawn to this company.


Posted in Borland C++, C++, C++ Builder, Delphi, Development, Pascal, Software Development, Turbo Pascal | Leave a Comment »

BEHIND THE CODE: The one who created languages – YouTube

Posted by jpluimers on 2021/10/13

Anders Hejlsberg: software legend.


Posted in .NET, C#, Development, Pascal, Software Development, Turbo Pascal, TypeScript | Leave a Comment »

Much Turbo Pascal history (via What is a Delphi DCU file? – Stack Overflow)

Posted by jpluimers on 2021/05/19

Editing [WayBack] What is a Delphi DCU file? – Stack Overflow for more historic correctness and adding links prompted me to archive some older material and search for some more, basically because while historically very relevant, link rot makes a lot of that stuff harder and harder to find.

The legendary full page colour advert published in the 12th 1983 issue of Byte Magazine on page 456 is at the bottom of this post (Many BYTE magaine issues have been archived at

The smaller version below is from WayBack: Sip from the Firehose : November 2008 marks the 25th anniversary of Turbo Pascal v1.0! (this article is not available on the Embarcadero or Idera site any more).

I also included more adverts in reverse chronological order at the end:

The last two via [WayBack] Software for the Ampro Little Board.


Read the rest of this entry »

Posted in Conference Topics, Conferences, CP/M, Delphi, Development, Event, History, MS-DOS, Pascal, Power User, Software Development, Turbo Pascal, UCSD Pascal, Z80 | Leave a Comment »


Posted by jpluimers on 2020/11/26


Blast from the past, which reminds me of the days that Peter Sawatzki used this interface to write a DLL that allowed Turbo Debugger for Windows (TDW) run on a secondary monochrome screen using a special TDVIDEO.DLL.

That way you could debug Windows applications without distorting the screens, highly speeding up the debugging process.

Lot’s of stuff from that era got never archived, so I wish I could have found it in my archive, but I seem to have lost it.

Found via:


Posted in Debugging, Development, Software Development, Turbo Pascal | Leave a Comment »

Delphi and conditional compilation

Posted by jpluimers on 2020/10/15

There are various ways for Delphi code to verify what features are available.

Historically, testing for the existence of VER### defines with $IFDEF or $IFNDEF is the oldest means, and as of Delphi 6, you can also test for the existence and values of identifiers is $IF defined, $IF not defined and, especially for CompilerVersion and RTLVersion .

My versioned PowerShell script List-Delphi-Installed-Packages.ps1 tries to keep an up to date list of versions and features starting with BDS 1 (which was C# Builder) and BDS 2 (which was Delphi 8 with VER160). One day I will make it Pascal based in stead of BDS based.

The JEDI Code Library has kept a versioned JEDI.INC up to date since Delphi 1.0.

Binding those to specific features can be a tough thing when you depend on version numbers, but less hard when you rely on feature names.

Every couple of years, people start proposing units to replace include files, usually with an argument like this:

If you forget to include it into your source code, all your IFDEFS will fail and in the worst case your workaround won’t be active (the best case is that the compiler runs into an error so you will notice the missing include).

The problem is that for such a unit to work:

  1. you have to always use it (debunking the above argument)
  2. you will need to have the very latest version, even if you use old compilers (so you can use code written for any Delphi version)
    • See the quoted below “Do you expect that the old versions will get an update to know the new constants RTLVersion_Atlantis = 99.0; too?” below
  3. you need a central place where that version is available (like JEDI.INC)
  4. it will only work with booleans
    • See the quote below “Which is also backwards compatible because the compiler (at least in XE and up, haven’t checked any older versions) just evaluates a non existing value as False.”
  5. it requires $IF, which is a pain in the ass
    • See the quote below “Using $IF is a major pita because of $IFEND or $ENDIF depending on compiler version and $LEGACYIFEND setting.”

The only good thing is what Rudy Velthuis commented:

checking for a $DEFINE like DELPHI_RIO_UP can go wrong. If you have a typo, it will simply not be recognized as defined and compile the wrong code. Checking for {$IF CompilerVersion >= some_constant} will fail to compile if some_constant is not defined

A few people tried:


You might think that JEDI.INC was only introduced in 2003, but it is in fact much older as the JEDI Code Library had its own version control system (initially called FreeVCS) before first switching to SVN and later to GIT.

So these are only part of the history:

VER### got introduced as VER40 in Turbo Pascal 4

The product naming mess now completely has disconnected people from binding it to their Delphi version.

It helps knowing that VER### is the compiler version starting with Turbo Pascal 1, and remembering that Delphi 1 had VER80, and the three digits only started with Delphi 3 which introduced VER100.

Turbo Pascal 1 through 3 did not have any VER## defined, despite some sites

The first ever VER## conditional define was VER40 was introduced in Turbo Pascal 4, as you can see in Full text of “borland :: turbo pascal :: Turbo Pascal Version 4.0 Owners Manual 1987” (or PDF via borland :: turbo pascal :: Turbo Pascal Version 4.0 Owners Manual 1987 : Free Download, Borrow, and Streaming : Internet Archive)


JEDI History:


Read the rest of this entry »

Posted in Delphi, Development, Software Development, Turbo Pascal | Leave a Comment »

%d bloggers like this: