@RSH I'm working on converting an old Delphi 6 app that uses 2 general-purpose classes/objects I wrote some time ago which should work fine in Lazarus all versions. I'll upload it when it works correctly in Linux. It's currently being held up by a section of code that saves/loads a custom datafile to disk in a 'Windows' way. You might find the OOP code useful to pick apart.
Unfortunately, much of my older code uses a set of self-written custom objects (VCLs) which were very windows-specific, and hard to unpick from the projects. Other code is for Windows DLLS mostly written in 16-bit TPW for Win 3.1- not very useful for Linux!
As tatamata says, Lazarus IDE is
exactly like Delphi (before V.8.0), but there are problems converting existing Delphi projects written for Windows into Linux Lazarus apps, as I am finding out!
There are loads of Delphi code snippets on the web that should plug into Lazarus just fine.
Delphi/Lazarus is a fantastic event-driven OOP language IMO. It's a natural step up from non-OOP and/or interpreted languages. The powerful and simple IDE is also great for the 'lazy programmer' to create a working app in minutes to test a concept or create a mock-up.
It is worth writing thoroughly debugged re-useable objects wherever you can in OOPascal/Lazarus as this unleashes it's true power to create complex but mainly bug-free code quickly. The objects take longer to write than regular code, but can be easily subclassed when necessary to extend them. I think there's a real 'beauty' in an OOP-written app, and they are easier to maintain.
'helloworld' is a one-line testing GUI 'mock-up' app - not very useful for study
I'm really enjoying the challenge though, and Linux/Lazarus has only crashed once so far. I'm very excited at the cross-platform and 32/64-bit capability, and in awe of the Lazarus/FreePascal programming team - what a great job they've done!