In a recent Google+ post Andrea Raimondi was mentioning the JVCL's JvValidators components and asked whether we use/know them or not. Daniela Osterhagen mentioned that she preferred the input validation from my dzlib which led to a short discussion about how I implemented it. I added input validation functionality to dzlib because I didn't like … Continue reading Input validation in dzLib
Author: dummzeuch
Experimental GExperts Version 1.37 2015-04-11 released
The latest version is the first version that supports Delphi XE8. There is nothing really new about the formatter code. But the new release can be installed even if you don't have the official GExperts installer (yet). This is an extract from the readme file: ** Installing without an official installer ** With two Delphi … Continue reading Experimental GExperts Version 1.37 2015-04-11 released
Andy’s Blog and Tools added to DelphiPipe
I had forgotten one important blog: Andy's Blog and Tools. No longer.
Running SyncThing as a Windows service
Yesterday I blogged about SyncThing as an alternative to BitTorrentSync. Today a business partner asked me whether it is possible to run SyncThing as a service. The answer is definitely yes, but it requires an additional tool. As per this StackOverflow answer you can use NSSM - the Non-Sucking Service Manager to create a service … Continue reading Running SyncThing as a Windows service
SyncThing as an alternative to BitTorrentSync (btsync)
A while ago I blogged about using BitTorrentSync as a privacy conscious alternative to the more popular cloud services like Google Drive or DropBox. BitTorrent recently released btsync version 2 which, apart from trying to sell you a so called PRO version, changed the user interface yet again and also changed the way you set … Continue reading SyncThing as an alternative to BitTorrentSync (btsync)
Windows annoyance number 3 gazillion and 4
We all know, that Microsoft software is great and that they are constantly striving to improve the user experience (best example: Windows 8 (Yes, that's sarcasm)). Windows 7, the best Windows of all times, has a great feature which is an improvement of the universally loved desktop cleanup we know from Windows XP. It regularly helps … Continue reading Windows annoyance number 3 gazillion and 4
Delphi Pipe
Since Delphi Feeds doesn't list my blog any more and generally isn't very fast in responding to requests for adding or removing feeds, I have created my own aggregated feed: Delphi Pipe. It's done with Yahoo Pipes and currently contains the following feeds in no particular order (*1): [wp-rss-aggregator limit="100"] Many of these are also … Continue reading Delphi Pipe
When const doesn’t mean const
Consider this code: procedure SplitAt(const _Input: string; _Position: integer; out _Head, _Tail: string); begin _Head := Copy(_Input, 1, _Position-1); _Tail := Copy(_Input, _Position); end; It's meant to split a given string into two parts at the given position. Nothing fancy, really, isn't it? Now, consider this call to the procedure above: var s1: string; s2: … Continue reading When const doesn’t mean const
Accessing the clipboard in a Firemonkey application
It just took me quite a while to find this information so I'll put it here for future reference. A Firemonkey application can not just access the clipboard, it needs to ask the platform whether it actually has one, then get the service interface and use that. uses Fmx.Platform; [...] function TryGetClipboardService(out _clp: IFMXClipboardService): boolean; … Continue reading Accessing the clipboard in a Firemonkey application
Updated dzEditorLineEndsFix
I have just updated dzEditorLineEndsFix to address a small problem: The tool can be too fast so the file is already gone when Delphi tries to access it. It now waits 200 ms after detecting the file creation before moving it. This should solve the issue. It's available for download from the dzEditorLineEndsFix page on … Continue reading Updated dzEditorLineEndsFix