Posts

Showing posts from 2022

All Articles Now on DelphiDabbler.com - at last

Image
At long last I've finally converted all the article PDFs exported from the old website to HTML5 and uploaded them to delphidabbler.com/articles . Also, all the demo projects related to the articles have now been uploaded to the delphidabbler/article-demos project on GitHub. And finally, the temporary delphidabbler/articles GitHub repo, that was used to store the PDF versions of the articles, was removed. That was a long haul!

System Information Unit v5.12.0 released

Image
In what is starting to look like a series of monthly releases, my System Information Unit has been updated to v5.12.0. This release enables detection of various Windows 11 Dev & Beta releases made during May 2022. I've also done some refactoring to make the operating system identification code a little easier to read - just a little mind you! What is more, the System Information Unit now has (another) new home on GitHub. The code has been split out of the monolithic delphidabbler/ddablib project and now has its own repository on GitHub - see ddablib/sysinfo . This change makes it possible to use the the GitHub release system to provide access to releases. You can download this release from GitHub . Just scroll down to the Assets section to either grab the source code or download a zip file containing the official release files. You can still get this, and earlier, releases from SourceForge if you prefer.

CodeSnip 4.20.0 executables now available on GitHub

I've finally managed to upload the CodeSnip v4.20.0 binaries to GitHub. Get them here .

CodeSnip v4.20.0 released

Image
I've just released CodeSnip v4.20.0. You can get it from  GitHub . For the low down see the  announcement  on the CodeSnip blog.

Demo code made available for more articles

About a week ago I released demo code for some more articles. Now, when I say "released" I really meant that I dug out some old demo code from an obscure repo and imported it into the delphidabbler/article-demos GitHub repo! Here are the relevant articles: Articles #2 (" How to store files inside an executable program ") & #3 (" How to read data embedded in your program's resources ") shared demo. Article #5: " How to write filters that extend the functionality of the TStream classes ". Article #22: " How to call Delphi code from scripts running in a TWebBrowser ". Article #23: " How to get operating system version information ". Article #24: " How to receive data dragged from other applications ". Article #25: " How to handle drag and drop in a TWebBrowser control ". There are links to the demos on each of the above article pages. At the time of writing each of the above pages link to a PDF versio

System Information Unit v5.11.0 BUGFIX released

Image
My  system information unit  has been updated to v5.11.0 The most important change is that the release fixes a compilation bug that affects versions of Delphi that don't support constant dynamic array declarations (which I think was introduced in Delphi XE7). Anyhow, I just tried and failed to compile v5.10.0 with Windows XE. And yes, I still use XE quite a lot. I also updated the operating system detection class  TPJOSInfo : to detect Windows 11 Dev & Beta Channel releases that have come out since the last System Information Unit release. There's also a minor refactoring. You can get the new version from my  website  or direct from  SourceForge  (direct download link).

New demo code for articles #9 & #27

Image
I've just added demo code to my delphidabbler/article-demos repo for these two articles: How to programatically detect installed versions of Delphi How to get notified when the content of the clipboard changes The first one is new and provides code that does just what the title says. The second one has been dragged out of a old Assembla SVN repo and converted to Git. It provides a simple editor where text can be cut, copied and pasted. The clipboard change notifications are used to update the state of the Paste button depending on whether or not the clipboard contains text. Yes, I know there are other ways to do that, but it demonstrates the article simply!

System Information Unit 5.10.0 Released

Image
My  system information unit  has been updated with the following changes to the operating system detection class  TPJOSInfo : Added detection of recent Windows 11 Dev Channel releases. Added detection of Windows 10 Fast Ring and Dev Channel releases along with 21H1 beta and 21H2 preview releases. Removed potentially erroneous detection of build 22395 as a Windows 10 22H2 preview build. Refactored code used to detect Dev Channel builds. You can get the new version from my  website  or direct from  SourceForge  (direct download link).

Delphi 11 Alexandria update 1 released

Image
I've just installed RAD Studio / Delphi 11.1 Alexandria. I know I'm a bit late - I mean it's been out for a whole week now, but reasons! RAD Studio 11. 1 Alexandria ? You thought Alexandria was 11.0? Well it was, but unlike the 10.x changes, where 10.0 Seattle and 10.1 Berlin (for example) were different products, 11.1 is a bone-fide update to 11.0 rather than a whole new release. So it's still called Alexandria. And it can't be installed alongside 11.0, but must replace it, so it really is an update. Also the registry key where Embarcadero stores all its settings remains  \SOFTWARE\Embarcadero\BDS\22.0 , that same as RAD Studio11.0. (BTW I've got an article that lists those registry keys and talks about detecting Delphi installations. If you're interested look here .) Rather than trying to explain what's new in this release, what better than to let the crew at Embarcadero to do it for me - here's a recording of the release webinar  on YouTube and he

Focus On: HelpNDoc (part 4)

Image
This is the fourth and final post in a series of blog posts about my experience of using  HelpNDoc  in a real life project to produce documentation for my  Unit2NS  program. In this post we're going to mop up all the subjects that were outstanding after the first three parts: Part one : An introduction to  HelpNDoc Starting a new project Adding content, including: Adding & editing topics Formatting text & using styles Creating hyperlinks Inserting images Using variables Generating help documentation Part two : Customising document output using  HelpNDoc  scripts Conditionally including content depending on the type of document. Part three : Source code generation. Keywords. Inhibiting the Copyright message in help topics. Which leaves the following subject for this post: Custom build tags Customising document output. Various topic properties not covered in parts 1 to 3. Please note that there have been a couple of updates to  HelpNDoc  since I started this series, but I hav

Focus On: HelpNDoc (part 3)

Image
This is the third in a series of blog posts about my experience of using HelpNDoc in a real life project to produce documentation for my Unit2NS program. Please note that there have been a couple of updates to  HelpNDoc  since I started this series, but I have stayed with v7.7.0.519 throughout for consistency. In part one I covered: An introduction to HelpNDoc Starting a new project Adding content, including: Adding & editing topics Formatting text & using styles Creating hyperlinks Inserting images Using variables Generating help documentation And in part two I discussed: Customising document output using HelpNDoc scripts Conditionally including content depending on the type of document After part two, the left-over subjects were: Source code generation Keywords Inhibiting the Copyright message in help topics Using custom build tags Customising document output. Various topic properties not covered to date The first three subjects will be discussed in this post, with the f

Focus On: HelpNDoc (part 2)

Image
This is the second part of a series of blog posts taking a close look at HelpNDoc . Here are links to the other posts in the series: part one part three part four In the first part of this deep dive into using HelpNDoc  we ended up with a complete help document for my Unit2NS  program. There was more to do though, which I listed at the end of that post: Scripting. Conditional content. Source code generation. Keywords. Inhibiting the Copyright message in help topics. Custom variables build tags. Customising document output. Various topic properties not covered previously. In this post we'll be taking a close look at the first two items in the list. The others will be returned to in subsequent posts. Scripting In part 1 I said I wanted to create four different document types from our single HelpNDoc  project: HTML Help file. HTML5 web site. Markdown. PDF. We managed to generate 1, 2 & 4 in part 1 , but we left the Markdown version for later. Recall