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 1,839 other subscribers

Archive for the ‘Delphi’ Category

Finding most recent forks of gists and github repositories

Posted by jpluimers on 2025/04/24

A while ago I found out that gist.github.com/lynatan/673e574faa8343fa01d7a91e75065c54 which I mentioned before in Delphi analog to C# ?? null-coalescing operator and Light Table like debugger evaluation and I wanted to

  1. find it back
  2. find the most recent forks of it

The reason was that I was working on the [WaybackSave/Archive] bit Time Professionals on X: “Live now: “Hidden Gems of Delphi Language: Operator Overloading and Class/Record helpers” @jpluimers” session which I presented at [Wayback/Archive] ITDevCon 2024 | Home where I also could enjoy the company of the other [Wayback/Archive] ITDevCon 2024 | Speakers and the famous [Wayback/Archive] IT DevCon 2024 speaker dinner (which attendees can also join for a slight surcharge).

The presentation is at [Wayback/Archive] ITDevCon2024/delphi_language_hidden_gems/delphi_language_hidden_gems.md at main · jpluimers/ITDevCon2024 · GitHub and pictures of the event at [Wayback/Archive] ITDevCon2024 – Google Photos.

Back to the problem at hand

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, DVCS - Distributed Version Control, Event, gist, GitHub, ITDevCon, Software Development, Source Code Management | Leave a Comment »

Delphi “array of const” to “varargs” – Stack Overflow

Posted by jpluimers on 2025/04/16

Just in case I ever think “oh, I might try want to go the Variadic function arguments way in Delphi” again, I must remember “maybe not a good idea” and re-read these posts:

Note that this example, despite the description indicates it is, it is actually not varargs by array of const (which requires using TVarRec as under the hood it is an open array of TVarRec): [Wayback/Archive] How to create functions that can accept variable number of parameters such as Format().

Then some Free Pascal links, which is different from, but also similar to Delphi:

Queries:

--jeroen

Posted in .NET, C, C#, Delphi, Development, FreePascal, Pascal, Software Development | Leave a Comment »

Run Windows 3.1 in True-Colour Full HD: GitHub – PluMGMK/vbesvga.drv: Modern Generic SVGA driver for Windows 3.1

Posted by jpluimers on 2025/04/09

This is soooo cool: [Wayback/Archive] GitHub – PluMGMK/vbesvga.drv: Modern Generic SVGA driver for Windows 3.1

Modern Generic SVGA driver for Windows 3.1
This is a rewrite of the Windows 3.1 SVGA driver, designed to support ALL available 8-bit, 16-bit, 24-bit or 32-bit graphic modes on any system providing the VESA BIOS Extensions (hence the VBE in the name). It is based on the Video 7 SVGA driver included in the Win16 Driver Development Kit, with most of the hardware-specific code gutted out, and with support added for multi-byte pixels.

Related:

It reminds me of other endevours to keep retro-software easy to use: Read the rest of this entry »

Posted in Assembly Language, Delphi, Delphi 1, Development, Power User, Software Development, Windows, Windows 3.11, x86 | Leave a Comment »

From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Posted by jpluimers on 2025/04/09

Nice historic perspective: [Wayback/Archive] From Turbo Pascal to Delphi to C# to TypeScript, an interview with PL legend Anders Hejlsberg – YouTube

Via [Wayback/Archive] Zack Urlocker on Twitter: “Great interview with @ahejlsberg on the evolution of programming languages, the rise of TypeScript and more. Anders is one of the best programmers I ever worked with. …”

--jeroen

Posted in .NET, Borland Pascal, C#, Delphi, Development, History, JavaScript/ECMAScript, MS-DOS, Pascal, Scripting, Software Development, Turbo Pascal, TypeScript, Windows Development | Leave a Comment »

Online Delphi manuals

Posted by jpluimers on 2025/04/03

When you look at the History of Delphi (software) – Wikipedia, the real innovation – including Borland Kylix – was during the Early Borland Years fading later with three temporary surges, the first being the Delphi .NET support introduced in Delphi 7 and Delphi 8 happening too late during the Later Borland Years, then during the Embarcadero Years support for Unicode and Generics both in Delphi 2009 and followed by a the struggle of their cross platform compilers and (externally bought) FireMonkey vector-based GUI support independent from the Windows API in the XE series of Delphi versions. The Idera Years did not bring any real innovation: just minor updates presented as major ones.

This went hand-in hand with their then flagship relational database InterBase dwindling down after first open sourcing InterBase version 6 in 2000, then closed sourcing it again (sparking the Firebird database development ) with latest versions were years apart: 2020, 2017 and XE7.

This more or less stalled innovation means that older Delphi manuals and books stay relevant despite their physical copies having been long out of print, and made their way as PDF files on the internet.

So, for my link archive:

Read the rest of this entry »

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

Laurensvanrun/Delphi-Promises: Delphi implementation of promises for asynchronous programming.

Posted by jpluimers on 2025/03/19

On my research list after making this short note April 2024: [Wayback/Archive] GitHub – Laurensvanrun/Delphi-Promises: Delphi implementation of promises for asynchronous programming.

My first impression is that this might be on the same level of usefulness and influention as these two:

Notes:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, EKON, Event, ITDevCon, Software Development | Tagged: , | Leave a Comment »

Writing a tool that restarts the Google Chat desktop app Window (and hopefully the Google Duo desktop app Window too) and some EnumWindows/EnumChildWindows tricks

Posted by jpluimers on 2025/03/19

Earlier this months I wrote Writing a tool that restarts the Google Chat desktop app Window (and hopefully the Google Duo desktop app Window too) promising I would rewrite the Delphi code into C# and integrate it into PowerShell.

This is the beginning on porting the basics of the Delphi code (which had a flaw!) to C# and contains EnumWindows/EnumChildWindows and error handling tricks and tips.

Read the rest of this entry »

Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Event, PowerShell, Scripting, Software Development, __Unfinished | Tagged: , , | Leave a Comment »

For my link archive: Counting the leading zeroes and ones in a binary number with C#

Posted by jpluimers on 2025/03/13

From a while back, but still interesting:

  1. [Wayback/Archive] Counting the leading zeroes in a binary number with C#
  2. [Wayback/Archive] c# – Getting the number of leading 1 bits – Stack Overflow (thanks [Wayback/Archive] Barry Kelly and [Wayback/Archive] SoapBox)

Especially the first link explains the algorithm very well and is similar to links referred to from the Stack Overflow question as it is based on counting ones (and leading ones are basically leading zeros but bit-inverted).

It also explains a cool thing for leading zeros: modern CPU have instructions which .NET Core.

Read the rest of this entry »

Posted in .NET, AArch64/arm64, Algorithms, ARM, Assembly Language, C, C#, C++, Delphi, Development, Software Development, x64, x86 | Tagged: , , | Leave a Comment »

Delphi and SonarQube: great open source additions in the last few years.

Posted by jpluimers on 2025/03/12

In the past, I mentioned that the open source SonarQube by SonarSource was on my “research list” in a few blog posts* as I am a fan of static code analysis **, and now it is time to amend them with the current state for using it in Delphi.

SonarSource products

  • SonarQube Server (formerly SonarQube) is an open core product for static code analysis, with additional features offered in commercial editions.
  • SonarQube Cloud (formerly SonarCloud) offers free analysis of open source projects.
  • SonarQube for IDE (formerly SonarLint) is a free IDE extension for static analysis.

For more history on them, see [Wayback/Archive] About – Sonar and SonarSource | Sonar.

Delphi integration

There are two open source integrations: for ConarQube Server, and Linting, both maintained by the same company ([Wayback/Archive] IntegraDev · GitHub):

Read the rest of this entry »

Posted in Delphi, Development, Software Development, SonarQube, Static Code Analysis, Unit Testing, vscode Visual Studio Code | Leave a Comment »

Writing a tool that restarts the Google Chat desktop app Window (and hopefully the Google Duo desktop app Window too)

Posted by jpluimers on 2025/03/04

In the past, the Google Hangouts desktop app on Windows would integrate with the system “tray” (actually the notification area) and show you missed chats and calls.

The [Wayback/Archive] Google Chat desktop app does not. It shows missed messages only as a number on the taskbar icon. Even worse: when you close the Window, the taskbar application icon does not show that number any more.

The odd thing is that the Google Duo desktop app does stay active and shows a notification popup on incoming calls. The Google Chat desktop app does not.

So I wanted to restart the Google Chat desktop app automatically when the Window was closed. But there is a catch:

Read the rest of this entry »

Posted in .NET, C#, CommandLine, Delphi, Development, PowerShell, PowerShell, Scripting, Software Development | Tagged: | Leave a Comment »