Archive for the ‘Delphi’ Category
Posted by jpluimers on 2026/07/30
Ever since introduction of the IfThen functions introduced in Delphi Delphi 2007 in both the Math and StrUtils units (see WayBack radstudio2007 HUpdate4 EN delphivclwin32.pdf ¹), I have been telling people that these do not perform lazy evaluation of the then and else parts which the if/then/else statement provides.
The newly introduced if/then/else ternary conditional operator in Delphi 13 ² (of which I am not a fan, not even of the generic workaround³) – despite the unlucky number – luckily also provides lazy evaluation of the then and else parts.
Read the rest of this entry »
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »
Posted by jpluimers on 2026/07/21
A long time ago, I wrote about Google Search string for either docwiki, Delphi 2007 or Delphi 2009 docs.
Well, not long after Embarcadero totally messed up their DocWiki installation, ditched all DocWiki history cand causing a multi-day DocWiki outage (see The Delphi documentation site docwiki.embarcadero.com has been down/up oscillating for 4 days is now down for almost a day.), they also killed their (then still working) Docs server (containing all the Delphi 2007 and Delphi 2009 documentation).
That means the search strings in my previous blog post mentioned above do not work any more. The only way to find back that kind of documentation is through old blog posts (those usually are in the various Web Search Engine indexes), or through the Wayback Machine.
What Embarcadero also did not do is cooperate with the people at the Internet Archive to ensure the docs server was completely archived in the Wayback Machine. Since about Delphi 2010, their behaviour has been ticking boxes in the product feature matrices instead of tickling their users with great user experience including understanding what ensuring history is available actually means.
Read the rest of this entry »
Posted in Delphi, Delphi 2007, Delphi 2009, Development, Internet, InternetArchive, Power User, Software Development, WayBack machine | Leave a Comment »
Posted by jpluimers on 2026/06/30
A long time ago (likely around 2009) I remember writing some code to re-encode text files in both Delphi and C#.
Somehow I thought I had published both, but I could only find parts of the C# code back in .NET/C# – converting UTF8 to ASCII (yes, you can loose information with this) using System.Text.Encoding.
So here are some links just in case I ever want to reproduce it in Delphi too (and a reminder to always perform this using TStream derivatives, never use TStrings or derivatives like TStringList for this):
Read the rest of this entry »
Posted in .NET, Ansi, ASCII, C#, Delphi, Development, Encoding, Mojibake, Software Development, UCS-2, UTF-16, UTF-32, UTF-8, UTF16, UTF32, UTF8, Windows-1252 | Leave a Comment »
Posted by jpluimers on 2026/06/16
Ever since Chris Hesik spoke on “RAD Studio 2010 what’s new in the IDE debugger”, wanted to write a blog post about it.
Still haven’t found time to do that in depth, but it’s important to at least jot a few notes, so let’s start with the 20111020 conference session notes.
Read the rest of this entry »
Posted in Conferences, Delphi, Event, Software Development, Development, Conference Topics, Software Heritage | Leave a Comment »
Posted by jpluimers on 2026/05/14
A while ago I bumped into [Wayback/Archive] Unicode weirdness – VCL – Delphi-PRAXiS [en].
This sketched a mojibake problem where PDF to text converted files had odd looking character sequences.
The solution – replacing these sequences with more correctly looking text – worked at first, but then failed because the underlying source code got “corrected” from containing the Mojibake character sequences into the correct Unicode text.
A better solution is to figure out what series of encoding/decoding steps will give the correct text.
This is where – again – [Wayback/Archive] Home – ftfy: fixes text for you comes up: a still indispensable tool.
–jeroen
Posted in Delphi, Development, Encoding, Mojibake, PDF, Software Development | Leave a Comment »
Posted by jpluimers on 2026/05/12
Take this cool example I extended from [Wayback/Archive] Thomas 🅰️🇨🇵 on Twitter: “#Typescript quizz What will be the value of result1 and result2 ?” which lacked alt-badge, so I [Wayback/Archive] responded with the image on the right that has alt-text.
Based on that, I added a bit of logging:
const a = undefined;
const result1 = a ?? 0 + 10;
const b = 100;
const result2 = b ?? 0 + 10;
console.log(result1);
console.log(result2);
Two questions:
- What is the output of both log lines?
Read the rest of this entry »
Posted in .NET, C#, Conference Topics, Conferences, Continuous Integration, Delphi, Development, Event, Java, Java Platform, JavaScript/ECMAScript, Maven, Scripting, Software Development, TypeScript | Leave a Comment »
Posted by jpluimers on 2026/04/15
I wanted to parse some JSON being sent back during an XMLHttpRequest (what a wrongly named call is that!) of which I grabbed the content using the web development tools of my Chromium based browser.
Input
I got this list of amazon top level domain names from research I did for my blog post Download your Kindle books soon, because Amazon will block them after February 25, 2025 . The source is [Wayback/Archive] Amazon operating domains by country. · GitHub [Wayback/Archive] in the file amazon-domains.json:
{
"us": "https://www.amazon.com",
"uk": "https://www.amazon.co.uk",
"ca": "https://www.amazon.ca",
"de": "https://www.amazon.de",
"es": "https://www.amazon.es",
"fr": "https://www.amazon.fr",
"it": "https://www.amazon.it",
"jp": "https://www.amazon.co.jp",
"in": "https://www.amazon.in",
"cn": "https://www.amazon.cn",
"sg": "https://www.amazon.com.sg",
"mx": "https://www.amazon.com.mx",
"ae": "https://www.amazon.ae",
"br": "https://www.amazon.com.br",
"nl": "https://www.amazon.nl",
"au": "https://www.amazon.com.au",
"tr": "https://www.amazon.com.tr",
"sa": "https://www.amazon.sa",
"se": "https://www.amazon.se",
"pl": "https://www.amazon.pl"
}
The list is far from complete, so tomorrow I will post some more sources in Some pages that have lists of Amazon toplevel domains.
The queries and results show you that the original JSONPath (2007) and its RFC 9535 definition (2024, just 2 years ago) do not support getting the key names of the above list the ~ part in the first query below fails, and only the second query works.
This means that finding the right tooling is important.
Example
Read the rest of this entry »
Posted in Conference Topics, Conferences, Delphi, Development, Event, JavaScript/ECMAScript, JSON, JSONPath, PHP, Python, Scripting, Software Development, TypeScript, Web Development | Tagged: 2852 | Leave a Comment »
Posted by jpluimers on 2026/03/19
I missed the below repository as when it got introduced early 2021 I was very much coping with recovering from a truckload of procedures curing my rectum cancer and its metastases.
Anyway, [Wayback/Archive] RADProgrammer Style Guide · radprogrammer/radteam Wiki is yet a new style guide which unlike the others hopefully will be maintained.
Also unlike the others it stresses not to use a specific Delphi feature, in this case inline variables (introduced in 2018) because in 2021 the internal IDE tooling and run-time around it still had not caught up.
I have always generalised this to refrain from using new features until they are broadly supported in the product. The reasoning is that as for more than the last decade, the R&D team has a tendency to introduce features half baked, ticked a marketing feature in the product matrix then goes on with new features deferring work needed to actually make the feature useful towards the indefinite feature, so here is something you can quote me on
In Delphi, refrain from using new language features until the product fully supports it including at least these bits:
- documentation
- code generation / code completion
- run-time behaviour (like memory leaks)
- editor support (navigation, selection, expansion)
- code refactoring
- code formatting
- debugger support
They refer to it from [Wayback/Archive] RADProgrammer Style Guide Other Guidance · radprogrammer/radteam Wiki:
Read the rest of this entry »
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2026/03/18
From a long while back, but I forgot to add it as a blog post.
The answer to [Wayback/Archive] delphi – How to have both VCL and FMX in one application? – Stack Overflow (thanks [Wayback/Archive] Gad D Lord for asking and [Wayback/Archive] Aleksey Timohin for commenting) is actually straightforward so Gad wrote a blog post on it back then [Wayback/Archive] MTG Studio: How to create and application which compiles both for Firemonkey and VCL.
It follows my answer closely, so here it is:
Read the rest of this entry »
Posted in Delphi, Development, Software Development | Leave a Comment »