Software development tools and techniques explored--mostly Delphi
Simple PHP Web App in HTML5 Builder
Category
The first application I'll create will be similar to sample ones I had tried in RadPHP. They were simple PHP tutorials and they worked--somewhat. I had some issues, but don't remember whether it was getting all the right libraries in the right place or whether it worked from some locations or browsers or what. In any case, I'm hoping HTML5 Builder will make the process a little smoother.
Installing HTML5 Builder
Category
It's been a year since my last blog entry and while I've been busy writing Windows applications with Delphi, I've kept an eye on web technologies. I've done some PHP in the past and had purchased RadPHP XE but didn't upgrade to the XE2 version because there were practically no new features and the documentation, which was pitiful, was not improved one bit--in fact it was still labeled XE!
Web Service Timeouts
Category
While working on a project accessing a slow web service, I found myself needing to extend the timeout of the HTTPRIO component. The web service, when executed straight from a browser, would happily take as long as it needed to before successfully completing. But my Delphi application was timing out.
Mega Update - Part 2
Category
In the last entry, I gave an overview of the large software update I delivered to a client, an update that should've been done incrementally over a period of several months. From database schema changes, to swapping out a reporting engine, to switching from ANSI to Unicode, I really bit off more than I could chew at once. But it's now working well and I'm once again sleeping at night!
This portion of the story deals with the database changes that were made, both the structure and the character set.
Mega Update - Part 1
Category
I recently gave a client a major update to their custom application. Actually, "major" doesn't even do it justice. It was more like "mega major" and I don't think I'll take the approach I did ever again. But I wanted to move their code to the latest compilers and to support the latest operating systems. I also needed to change some low-level database constructs. Why all this? Because I'm a best-practices sort of guy.
Widths and Themes
Category
In the old DOS days, things were simple. You had 25 rows and 80 columns of text. Period. Well, if you knew the right tricks, you could double the rows or columns, but still it was pretty limited. This made programming fairly easy--you knew how much space you had to deal with. With a GUI, or Graphical User Interface, things can get stretched out, you can have larger fonts, and you can have themes on or off. So knowing how much space you have to display stuff isn't quite as cut and dried. But I'm going to look at just one aspect that can be surprising: themes.
DateTimePicker Vista Theme!
Category
Adding theme support to your application can give your program a whole new look (if you use standard Windows controls) without changing anything else. This works because the controls will actually use a different set of DLLs behind the scene. In Delphi 2007, this is accomplished with a simple checkbox in the project options. (Visit the Delphi Wikia page and search for "Adding Theme Support" for more information.) The DateTimePicker is one of these and I just discovered its new capabilities when themed on Vista or Windows 7.
Delphi Hints vs. Warnings
Category
Starting with Delphi Prism
Category
I've recently acquired the latest Pascal language compiler from RemObjects, Oxygene. Embarcadero, now the owners of Delphi, decided not to continue development of Delphi for .NET, but instead license this compiler plug-in for Visual Studio from RemObjects. So if you get RAD Studio 2009 from Embarcedero, which includes Delphi 2009 for Win32, you also get a special single-language version of Microsoft Visual Studio with the Pascal compiler from RemObjects.
Delphi History
Category
CommaText is dead!
Category
CommaText property has a newer, better sibling: DelimitedText.Dim Main Form for Modal Emphasis
Category
To emphasize the importance of a modal form and the information it presents, you could gray out the main form of the application when the modal form is activated. Here's how to add a dim-out effect to your main form when modal forms are waiting for the user input.
Turbo Pascal
Category
Microsoft likes to take credit for "innovations" in software. But usually, they just steal or purchase other companies' ideas. For example, Borland pioneered Integrated Development Environments back when most people had 5-1/4" floppy disks and CPU Mhz was rated in "K" units. Turbo Pascal was a terrific way to quickly create applications, and allowed the programmer to edit, compile, and run their programs without creating a bunch of batch files and launching them just before going out for lunch. Alas, Borland has lost most of its pioneering geniuses to the Redmond, Washington monolith.
PicViewer
Category
PicViewer is a Windows 32-bit program that lets you scan through a bunch of graphic files (.JPG, .BMP, .ICO, etc.). It has a full screen mode in which the background is black and the cursor is hidden. In this mode, the spacebar or arrow keys step through each of the graphic files in the directory thus making it easy to give a slide show. A movie mode has been added to provide automated naviation. The pictures can be scaled to fit the window or shown in full-size mode with scrollbars if needed. Command-line parameters can start in a given directory, initiate movie mode, etc.