Random acts of kindness, part 3: Judgment Day
Sunday, August 29, 2004 03:03 AM
Following up from part 2 of this series, here are some more of my responses to search phrases that led people to this site. I don't want to scare anybody, but there's actually some technical information in here.
"Why choose Delphi .net?"
If you're already working in Delphi on Windows, this is a no-brainer. Delphi 8 for .NET lets you use your existing skills, doesn't require you to learn a new language, maintains source code compatibility between Win32 and .NET, and even lets you rebuild your existing VCL applications in .NET. Plus, the Delphi language is a full citizen of the .NET platform.
Even if you're not a Delphi programmer yet, you should consider it. Delphi for .NET is not only a .NET development language: it includes technologies such as ECO and integration with StarTeam and CaliberRM for a full ALM cycle. These are things you should want to know more about, and you can. The 2004 Borland Conference is just around the corner - come see what's new.
"Choose between Win32 and .net"
Well, as I've said here, you don't have to. There's plenty of time.
"Multilingual or Multilingual"
It's a tough choice, but I vote for "Multilingual."
No, thanks. Now, if you said "Falafel machines that also massage your feet"... That's a whole different thing, that is.
"What is crsss.exe"
First, it's a typo. It's actually "csrss.exe", and its a process you'll find running on all Windows NT-based systems, including Windows 2000, Windows XP, and Windows 2003.
CSRSS.EXE is the "Client Server Runtime Subsystem" executable, which is the user-mode part of the Win32 subsystem. It handles things like startup, shutdown, and console services. The rest of the user-mode Win32 subsystem is contained in the system DLLs implementing the Win32 API.
"Paperless Delphi example"
Well, go to the Demos directory under your Delphi installation directory, pick any program, compile it, and run it. No paper involved whatsoever. Really.
"Small programmers tasks"
I guess they can reach under the desk and fix the wiring. If they're really small, they can just hide behind the monitor when the boss comes looking for volunteers to work on the weekend. Besides, there are no small programmers, only small bugs.
"Calling Win32 functions Borland"
That one's pretty hard, since Microsoft did not include any function called "Borland" in the Win32 API, nor did they provide a way to rename their API functions (now wouldn't that be amusing?). However, it's pretty easy to write a Win32 DLL that does export such a function:
function Borland: Integer; stdcall;
Result := 1;
"Borderline personality and shoplifting"
Hey, I'm not judging your hobbies.
"Displaying overlapping appointments in a calendar with source code"
It's tricky. The fact it's tricky is one of the reasons I can sell my Planners component suite, instead of giving it away. If writing a good calendar control was easy, everybody would do it.
Basically, we use a pretty simple algorithm for determining how to display overlapping items. We do this in two passes: first, we find groups of overlapping appointments. Within each groups, we assign "slots" to the items, and keep track of the maximum number of slots we had to create. The second pass then assigns a fixed slot to each item, based on the room available.
If you really want to see how it's done, you'll have to buy the package. In addition to the educational value, you'll also have a working scheduling component, so now you don't have to write one.