Archive for the ‘Development’ Category
Posted by jpluimers on 2015/12/15
Quite a while ago I learned about the clip.exe tool.
clip.exe is a nifty tool that allows you to copy console text output to the clipboard. Though shipping with Windows Server 2003, it wasn’t part of Windows XP, but as of Windows Vista it shipped on desktop versions of Windows.
Digging a bit deeper, I found out it was already part of the Windows NT 4 Resource Kit.
So I wrote PasteText:
PasteText: the reverse of clip.exe; pastes Clipboard.GetText() or Clipboard.GetFileDropList() to the standard output.
The full source code is below and in my repository.
There are many examples on the internet about Clipboard.GetText, but there is very little about Clipboard.GetFileDropList. Read the rest of this entry »
Posted in .NET, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 3.0, C# 4.0, C# 5.0, Development, Software Development, The Old New Thing, Windows Development | Leave a Comment »
Posted by jpluimers on 2015/12/09
Somehow this isn’t linked logically from the UI, so here are two sets of steps to get there:
From the “Event log”
- Go to the “Event Log” page on your Continua CI server; for my server that is https://continuaci.pluimers.com/administration/events.
- Click on any repository name (in my case DUnitX) and note the GUID at the end of the URL: https://continuaci.pluimers.com/administration/ci/repositories/index/94c6f27d-20a4-4f53-a81c-94f863db248d
- Append index and that GUID to the first URL: https://continuaci.pluimers.com/administration/events/index/94c6f27d-20a4-4f53-a81c-94f863db248d
From the “Source Repositories”
- Go to the “Source Repositories” URL on your Continua CI server; for my server that is https://continuaci.pluimers.com/administration/ci/repositories
- Click on the word “Error” or red cross (sometimes you can click only one of them) in front of any failing repository: https://continuaci.pluimers.com/administration/events/index/94c6f27d-20a4-4f53-a81c-94f863db248d
The second has the drawback that you can only see events for repositories that are currently in error, not any repository that has ever been in error.
So maybe I was doing something stupid and maybe there is a far easier way, but these work (:
–jeroen
Posted in Continua CI, Continuous Integration, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/12/08
Interesting reads despite the level of English:
GUI-testing. Table of contents
–jeroen
via: 18-ть лет с Delphi: GUI-testing. Table of contents
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/12/03
I wish I had seen this years ago, as I’ve always had a hate-hate relationship with many shells on many OS-es.
I’ve included the ToC; read the rest of BashPitfalls: common errors that Bash programmers make – Greg’s Wiki back-to-back. It’s worth it, really.
Bash Pitfalls
This page shows common errors that Bash programmers make. These examples are all flawed in some way.
You will save yourself from many of these pitfalls if you simply always use quotes and never use WordSplitting for any reason! Word splitting is a broken legacy misfeature inherited from the Bourne shell that’s stuck on by default if you don’t quote expansions. The vast majority of pitfalls are in some way related to unquoted expansions, and the ensuing word splitting and globbing that result.
Posted in bash, Development, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2015/12/03
Nested DataSet fields assume identical naming of fields and parameters as Richard Stevens did comment in So I’m in total n00b mode here. I’m trying to set up a master/detail….
Of course the documentation for that is easy to find. Not.
Even this article by Cary Jensen doesn’t reveal the issue: Nesting DataSets in ClientDataSets.
So thanks Richard for clearing that up!
–jeroen
Posted in Delphi, Delphi 10 Seattle, Delphi 2007, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/12/02
Reading a thread with ramblings on failing to understand that packed records overrides the $ALING directive, I found out that there is also an Undocumented Delphi record alignment directive – Chee Wee’s blog: IT solutions for Singapore and companies worldwide.
David Heffernan mentioned some nice permutations in the first thread.Chee Wee Chua “documents” the second. Both provide great reference material.
Note that both directive require a const expressions evaluating to a power of two. If you don’t, you get the same error: E2573 Illegal value for the ALIGN directive (valid for one of 1, 2, 4, 8 or 16) (Delphi) – RAD Studio
–jeroen
via:
Posted in Delphi, Delphi 10 Seattle, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 2 Comments »
Posted by jpluimers on 2015/12/02
A small video reference to the work that Peter Sollich did for the Pascal world is at around 38:20 in this video: https://www.youtube.com/watch?v=btGj-PocjeU#t=2298
It is where Allen Bauer talks about his early years at Borland. He talks about a German guy there without naming him. It is Peter Sollich (he names them a few time in the newsgroups though).
Peter Sollich came from Germany where he had written a Turbo Pascal compatible compiler for the Atari ST (it used a m68k Motorola 68000 CPU which is a 32-bit processor on the internal side with a 16-bit wide data bus (transporting 16-bit words) on the outside using a 24-bit address (so it can address 16 mebibytes of memory) – hence ST for Sixteen/Thirtytwo).
Borland bought the source code which formed the base for the current 32-bit x86 compiler implementations of both Delphi and C++ Builder (they hired him as a contractor to do the port).
Rumour goes that Peter wrote many parts of the x86 code emitter on the flight from Europe to the USA.
Before the ST era there was already a CP/M Modula-2 compiler written by Peter Sollich and Martin Odersky which Borland bought even earlier and was turned into Turbo Modula-2.
For people interested, here are some links with ore details – where possible I saved them in the WayBack machine as sites tend to Ditch historically important information:
–jeroen
Posted in .NET, Borland Pascal, Delphi, Development, Pascal, Software Development, Turbo Pascal | 4 Comments »
Posted by jpluimers on 2015/12/01
On the todo list:
Interesting use of an IDE plugin: Copy a string from a “Watch” entry to the clipboard without quotes. – Thomas Mueller (dummzeuch) – Google+
Source: delphi – Can I change the display format for strings in the watch list? – Stack Overflow:
Every now and then I use the watch window to display strings which contain sql statements.Now I select Copy Value from the context menu and get
'SELECT NAME FROM SAMPLE_TABLE WHERE FIRST_NAME = ''George'''#$D#$A
but want
SELECT NAME FROM SAMPLE_TABLE WHERE FIRST_NAME = 'George'
The answer by MartynA has an OTA plugin that could be integrated with something like GExperts.
–jeroen
via: Interesting use of an IDE plugin: Copy a string from a “Watch” entry to the clipboard…
Posted in Delphi, Delphi 10 Seattle, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 7, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »