Remember Borland (What’s in a name)?

January 21st, 2009

Borland the company (and brand), synonymous with Delphi, Pascal, Turbo C and Windows coding, is now ‘The Open ALM Company’. No longer a single reference to any of its great products or past glory. What is ALM, I hear you ask? Me too. I found the meaning right at the bottom of the Borland web site, in the small text. ALM is Application Lifecycle Management. OK, you and I should know this as we’re in the ‘industry’. ALM is where Borland are at these days. I call it consultancy, all very corporate and non-descript. I wish Embarcadero (that just rolls off the tongue, doesn’t it) had bought the Borland name as well as the product code. Borland RAD Studio 2009 or even better Borland Delphi 2009 sure sounds better than Embarcadero Technologies CodeGear RAD Studio 2009

Good ol’ Borland, and good luck Tod Nielsen. Check out what he’s doing with our beloved Borland brand:

http://www.borland.com/

Industry

Delphi (PHP) Hosting

January 11th, 2009

Hosting has often been an issue for me. Reliability and price/performance are obvious factors in choosing the best host.  Additonally, because a lot of our TCP Server work is written using Delphi, we are always on the lookout for a good Windows host.  These have been difficult to find withouth paying lots of dollars. In fact, we write a lot of server code in PHP which allows us to take advantage of cheaper Linux-based hosting. For the past two years we have hosted our Linux servers with a company in the US called WiredTree (www.wiredtree.com). I can recommend them very highly. Their service, support and price is unmatched. Check them out.

Windows hosting has been a little less than reliable. However, I discovered a company recently who look like they might bake the grade: LiquidWeb (https://www.liquidweb.com/). We’ll be trying them out soon for our Windoes server hosting and I’ll report back with details.

Hosting ,

Windows Shutdown with Delphi

January 9th, 2009

Recently I’ve been doing a lot of torrent downloading and wanted to shutdown my torrent computer after a specified period of time, so, I wrote the following short function, connect it to a TTimer and you’ve got an automatic (and well-behaved) means of shutting-down Windows XP, Vista and Windows 7.  The RebootParam is: EWX_POWEROFF or EWX_FORCE.

function MyExitWindows(RebootParam: Longword): Boolean;
var
  TTokenHd: THandle;
  TTokenPvg: TTokenPrivileges;
  cbtpPrevious: DWORD;
  rTTokenPvg: TTokenPrivileges;
  pcbtpPreviousRequired: DWORD;
  tpResult: Boolean;
const
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
  if Win32Platform = VER_PLATFORM_WIN32_NT then
  begin
    tpResult := OpenProcessToken(GetCurrentProcess(),
      TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
      TTokenHd);
    if tpResult then
    begin
      tpResult := LookupPrivilegeValue(nil,
                                       SE_SHUTDOWN_NAME,
                                       TTokenPvg.Privileges[0].Luid);
      TTokenPvg.PrivilegeCount := 1;
      TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      cbtpPrevious := SizeOf(rTTokenPvg);
      pcbtpPreviousRequired := 0;
      if tpResult then
        Windows.AdjustTokenPrivileges(TTokenHd,
                                      False,
                                      TTokenPvg,
                                      cbtpPrevious,
                                      rTTokenPvg,
                                      pcbtpPreviousRequired);
    end;
  end;
  Result := ExitWindowsEx(RebootParam, 0);
end;

Delphi, Software

Marco Cantù – Mr. Delphi Book

January 6th, 2009

If you’ve been doing Delphi development as long as me, then you’ll know about Marco. Way back in the days before the internet (about 10 years ago), they used to have places called libraries and bookshops. These were our only source of information and reference for Delphi programming tips and advice.  Nowadays of course, things have changed alot and most of us rely soley on google and the web. Occasionally, during my never ending search for more Delphi info, I land on Marco’s site. Usually brought to it because google picked-up a code-snippet from his latest book. I’d really like to know who buys them these days. Hat’s off to Marco for all those early years of knowledge!

http://blog.marcocantu.com/

Books ,

No Delphi Programmer should be without this resource

January 2nd, 2009

Time and time again my google delphi search leads me to this excellent resource of information on programming and the fundamentals of Delphi:

http://www.delphibasics.co.uk/index.html

Thanks Neil for a truly useful resource!

Delphi ,

Happy New Year 2009!

January 1st, 2009

Happy new year and best wishes for 2009!

Delphi, php

FFMpeg – searching for a good Delphi example?

December 2nd, 2008

I’ve been in/out of video dabbling in Delphi form a long time. Recently I got into it again with a view to using it on my new www.pixavid.com site. Wow! What a problem finding any kind of decent resources on the web for using FFMpeg. Anyhow, after much search, I found Victor Zinetz has converted headers to pascal – here’s the link:

http://www.iversenit.dk/dev/ffmpeg-headers/

There’s also a new component available from the following link:

http://www.DelphiFFmpeg.com


Note. These guys are asking $300 for just the .dcus!

video

Delphi – Long Life, Good RAD!

November 2nd, 2008

Recently, a client asked me to put together a short document detailing why we are using a ‘dying’ programming language (Delphi) to implement their latest and greatest software solution. I’ve included that document below, just in case you need to convince any prospective clients:

Delphi – Long Life, Great RAD

The Delphi development environment is dead, long live Delphi!”

The most popular global application written in Delphi is Skype. Its money worth is about $4.6 Billion. Skype invest heavily in Delphi development tools.

Delphi is used substantially by commercial software vendors. December 2008 – Fourteen of the top twenty applications listed at download.com are written in Delphi. Many commercial software products, both those in shrink-wrap at retail stores and those for vertical markets, are written in Delphi and will continue to be, because there are very few other good choices for developing high quality (polished) native Win32 GUI software.

Popular applications written in Delphi:

  • Skype

  • Yahoo TV

  • The Online Trader

  • Ad-Aware

  • Tune-Up

  • Webroot Spy Sweeper

  • Macromedia Captivate

http://delphi.wikia.com/wiki/Good_Quality_Applications_Built_With_Delphi

May 2008 - Delphi gets $53 million cash injection – bought by Embarcadero

Embarcadero acquire CodeGear, Borland’s Developer Tools Division for $23 + $30 million, creates the world’s largest, platform-independent software provider of database and application development tools.

http://www.codegear.com/about/news

February 2008Russian Government Order One Million copies of Delphi

The Delphi deal is part of a $100 million government initiative, the National State Project of High-Grade Education, which will add computer programming to public education curricula.

http://www.informationweek.com/news/management/showArticle.jhtml?articleID=206102054&cid=nl_IWK_daily

December 2008Delphi (RAD) Studio 2009 released

Delphi 2009 helps meet the challenges of the rapidly expanding global market, and expand the reach of global applications to more users.

http://www.codegear.com/products/delphi/win32

Embarcadero Technologies Inc. – Owners of Delphi, empower application developers and database professionals with tools to design, build, and run software applications in the environment they choose.

http://www.embarcadero.com/company/fact_sheet.html

Delphi (CodeGear) web site:

http://www.codegear.com/

Project Management

Are you fuddled? Try Unfuddle!

October 2nd, 2008

I’m a lucky guy. Most of my time is spent doing something I enjoy very much… writing software with Delphi of course! As an outsourcing company, we often deal with clients that are thousands of miles away. In the past, we tried a variety of different methods and techniques for keeping the client up-to-date with application development, milestones, etc. It’s always been difficult to get the balance right between a tool that helps the process of communication, but doesn’t overload our resources and take valuable time away from dev. Well, after much search for such a tool, I’d like to recommend  Unfuddle:

www.unfuddle.com

From their web site:

Unfuddle is a secure, hosted project management solution for software development teams.

Go take a look.

Project Management

Cryptography with Delphi and PHP

September 2nd, 2008

We’re doing some pretty exciting stuff at work right now. Actually, we’ve been doing it for the past couple of years but only now starting to see the fruits of it all. What is it? well, I guess Microsoft would call it ‘Live’ (or something like that), and Google would call it, well, I’m not sure, gOS? or online documents, or something… We don’t have a name for it yet (maybe WizLiveOz) but it involves communicating between Delphi and PHP using XML. Most data is stored on the server and the Delphi client makes requests via XML on port 80 (HTTP). The returned XML is/can be stored locally but the great thing is, move the client to another machine and it gets all the data again. However, we need to encrypt all the XML to keep everything secret (of course). So, I googled this great Crypto site:

http://cityinthesky.co.uk/cryptography.html

Here’s a code snippet for the PHP side which decrypts the XML coming in from Delphi:

// *******************************************************************************
// Decrypt xml from client – START

$key = ‘lettherebedelphi’;
$iv = ‘andphpstoo12345′;

if ($XML <> ”) {
$encryptedcbc = ltrim($XML, “XML=”) ;
//    echo ‘<p>Got: ‘.$encryptedcbc . ‘<br>’;
$encryptedcbc2 = base64_decode($encryptedcbc) ;
$decryptedcbc = mcrypt_cbc(MCRYPT_RIJNDAEL_128,$key, $encryptedcbc2, MCRYPT_DECRYPT, $iv);
$output = rtrim($decryptedcbc, “\0″);

//    echo ‘<p>CBC decrypted: ‘.$output;
$XML = $output ;
}else
{
exit ;
}

// Decrypt xml from client – END
// *******************************************************************************

Delphi

PayPal PHP Integration

August 2nd, 2008

Writing Delphi apps is only half the fun. The other half is getting paid for developing those apps! Over the years I’ve used several third-party payment providers, including Regsoft, Digital River and a few others. However, time and progress wait for no programmer: PayPal is the (soon to be) only kid on the payment provider block, so it’s time to get down dirty with a little PHP code, MySQL and the inner workings of PayPal API plus sandbox. The whole paypal developer documentation leaves a lot to be desired, so a quick google search found this little nugget:

http://leepeng.blogspot.com/

Thank’s Lee for a great tutorial

php , ,

Delphi support for ‘weird’ characters!

July 2nd, 2008

When I was a lad (boy), English was the only language in the world and the internet wasn’t even a twinkle in the eye of the guy who thought it all up (TBL?). These days, every darned app. needs to be multi-language capable. Not only but also, it needs to support all those weird foreign chanracters like in Russian or Thai (can your browser display this: ?????? ). Where does that leave us Delphi developers? TNT! No, not the dynamite, or the delivery people, but that excellent set of components that internationalizes your Delphi applications. TNTUnicode was bought by TMS (another TLA) a while back, but you can still get the free set from here:

http://www.yunqa.de/delphi/doku.php/products/tntunicodecontrols/index

components

Coverflow, oh coverflow

June 2nd, 2008

Anything sweeter than that smooth iTunes album coverflow effect?! I’ve searched-out an example or two in the past but mostly google gave me a flash/swf/flex sample which is not in my repotoire. However, recently I tried again and came across this nice Delphi example from Sean at SourceITSoftware.

http://sourceitsoftware.blogspot.com/2008/06/coverflow-update.html

animation

CPU Speed Professional – accurately measure your processor speed

May 2nd, 2008

Well! It took a while but we did it and here is the brand new release of our award-winning CPU speed measuring software.

cpuspeedpro

We also created a new web site, separate from the WizardSoft site. Please take a look here:

http://www.cpuspeedpro.com/

CPU Speed Professional records processor speeds from all over the world. You can check your speed score in the worldwide ranking tables. Click the ranking button on the web site to view latestest CPU scores and performance table.

Software

TMS Components for Delphi

April 2nd, 2008

No Delphi blog would be complete without a mention of TMS Components.  They sell (develop) a wide range of components for Delphi – an absolute must have in your Delphi toolkit:

http://www.tmssoftware.com/site/

components