The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for the ‘Delphi’ Category

I’m looking for an algorithm that converts a list of integers (for instance of…

Posted by jpluimers on 2016/09/28

Got a very quick response Range combo – Paste.ie – Irish For Pastebin on:

I’m looking for an algorithm that converts a list of integers (for instance of pages to be printed) from this form:1,2,3,4,6,7,8,13,14into1-4,6-8,13-14… – Jeroen Wiert Pluimers – Google+

I’ll write some unit tests soon and make it into a unit for testing.

For now it looks exactly what I need. In addition, I learned how this algorithm is called Range extraction – Rosetta Code and the opposite Range expansion – Rosetta Code.

Basically these lists are the format where a user can enter the range of pages to be printed.

The code by Asbjørn Heid uses a Functional record definition allowing for function binding just like in C++ Boost.Bind [WayBack].

Based on that, I made this changeset: https://bitbucket.org/jeroenp/besharp.net/commits/7205b070a4e6457675a083b78d26659da506fc08

–jeroen

via: I’m looking for an algorithm that converts a list of integers (for instance of…

Posted in Delphi, Development, Software Development | 4 Comments »

The Oracle at Delphi: Set in my ways

Posted by jpluimers on 2016/09/28

A few pieces of Delphi compiler history:

Allen Bauer:

Most notably, the Object Pascal/Delphi compiler is written in mostly C with a smattering of C++, the editor kernel (sans display rendering) and debugger engine (process control/symbol table management) were written in C++. All of which I’ve worked on throughout my 24+ years on that team.

The 16bit compiler was written in pure assembler. The current compiler is written in C. It was derived from an Amiga 68000 Turbo Pascal compatible compiler. It’s never been written in Object Pascal.

That being said, there was an effort several years ago to completely rework/re-architect the compiler. That was done in OP. It just barely got to the “hello world” stage before it was set aside.

Source: The Oracle at Delphi: Set in my ways [WayBack]

–jeroen

Posted in Delphi, Development, History, Software Development | 1 Comment »

Analyzing website performance with the Windows Performance Toolkit | Microsoft Edge Dev Blog

Posted by jpluimers on 2016/09/27

On my research list:

Slow pages lose users: research from Bing and Google indicates that delays as small as half a second can impact business metrics. To build fast sites, developers need powerful tools to analyze the …

Source: Analyzing website performance with the Windows Performance Toolkit | Microsoft Edge Dev Blog

via:

If you’re developing on Windows.. a must read article on analyzing webperf with Windows Performance Toolkit. – Ilya Grigorik – Google+

–jeroen

Posted in .NET, Delphi, Development, Software Development | Leave a Comment »

Nick Hodges Joins Embarcadero as Product Management Lead

Posted by jpluimers on 2016/09/23

And the other bomb-shell: Nick Hodges Joins Embarcadero as Product Management Lead

Interesting times in the Delphi community…

And I really wonder if this affects Delphi Developer Days 2016, Nick Hodges & Cary Jensen.

–jeroen

Posted in Delphi, Development, Software Development | 4 Comments »

David I becomes an Embarcadero MVP, starts new job at Evans Data Corporation

Posted by jpluimers on 2016/09/22

Just in case you missed it David I becomes an Embarcadero MVP, starts new job at Evans Data Corporation [WayBack]

via +Stefan Glienke and Evans Data Corporation Welcomes Developer Relations Industry Guru David Intersimone (“David I”) to Their Team – News9.com [WayBack]

Which means there are very few seasoned people left at the Delphi team.

–jeroen

Posted in Delphi, Development, Software Development | 4 Comments »

com – Delphi [weak] reference attribute produces “Invalid class typecast” when implementation is in more than one library – Stack Overflow

Posted by jpluimers on 2016/09/21

Source: com – Delphi [weak] reference attribute produces “Invalid class typecast” when implementation is in more than one library – Stack Overflow

via: Interesting question and excellent answers about [weak] references (not to be) used with COM interfaces. – Ondrej Kelle – Google+

 

Posted in Delphi, Delphi 10.1 Berlin (BigBen), Development, Software Development | Leave a Comment »

Delphi Code Monkey: Delphi Features I Avoid Using And Believe Need to be Gradually Eliminated from Codebases

Posted by jpluimers on 2016/09/21

Hear, hear! Delphi Code Monkey: Delphi Features I Avoid Using And Believe Need to be Gradually Eliminated from Codebases

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 2007, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »

New Book: MVVM in Delphi by John Kouraklis should be available at the beginning of november.

Posted by jpluimers on 2016/09/13

John Kouraklis last week announced a new book: MVVM in Delphi.

It will be available early november and is already listed at the APress site: MVVM in Delphi – Architecting and Building Model View ViewModel Applications [WayBack] where you can pre-order.

It’s good to see that the last years more Delphi books have been published and I hope this MVVM book falls in the more advanced category.

Since I’ve given a few Delphi MVVM talks (latest at https://github.com/jpluimers/Conferences/tree/master/2013/20131121-BE-Delphi) I’m genuinely interested. So I will get this book and – time permitting – write a review.

Nick Hodges did the technical review, and since Nick’s book are great I have high hopes (:

From the APress site:

Full Description

Dive into the world of MVVM, learn how to build modern Windows applications, and prepare for cross-platform development. This book introduces you to the right mindset and demonstrates suitable methodologies that allow for quick understanding of the MVVM paradigm. MVVM in Delphi shows you how to use a quick and efficient MVVM framework that allows for scalability, is of manageable complexity, and provides strong efficiency.

One of the biggest challenges developers face is how to convert legacy and monolithic Delphi applications to the MVVM architecture. This book takes you on a step-by-step journey and teaches you how to adapt an application to fit into the MVVM design.

What you’ll learn

  • Gain the fundamentals of MVVM
  • Visualize MVVM as a design philosophy
  • Create easy-to-use frameworks for building your own MVVM applications
  • Develop a methodology for converting legacy applications to the MVVM pattern
  • Architect cross-platform and multi-lingual applications using the MVVM pattern

Who this book is for

Delphi developers with a good knowledge of Delphi or programming experience in a different language. In addition, this book is attractive to Delphi developers who want to modernize existing applications based on the MVVM design.

and

Table of Contents

1. MVVM as Design Pattern
2. Setting Up the POSApp
3. MVVM as Design Philosophy
4. Two-way Communication
5. MVVM and Delphi
6. Planning the Application
7. Developing the Application
8. How to Convert your App to MVVM
A. Appendix: Other MVVM Delphi frameworks

–jeroen

via: New Book: MVVM in Delphi… [WayBack]

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »

Delphi version info table: C# Builder, Delphi 8 through 10.3 Rio and Appbuilder

Posted by jpluimers on 2016/09/06

I’ve published the Delphi version info table as a Gist: https://gist.github.com/jpluimers/b5891600b73642788b492393710c6070.

Note I need help with these:

The updated script that forms the base of this table is here: https://bitbucket.org/jeroenp/wiert.me/src/tip/Native/Delphi/Scripts/List-Delphi-Installed-Packages.ps1

You can pass any of these args to get information

  • Individual columns:
    • CompanyNames, Versions, ProductNames, ProductVersions, BetaNames. ReleaseDates, Architectures, CharacterSets, Defines, CompilerVersions, RTLVersions, DllSuffixes, ProjectVersions, Frameworks, ProductVersions, ProductFullNames, BaseKeyPaths, HKCU-BaseKeyPaths, HKLM-BaseKeyPaths
  • Base of the below table:
    • ProductSummaries
  • Installed info (installation status obtained through the registry):
    • InstalledProductVersions, InstalledProductFullNames, InstalledProductSummaries, InstalledPackages

An elaborate wrapper around the Define column is jedi.inc which is used in many projects (both open source and closed source) to distinguish between various Delphi versions, libraries and platforms at compile time (URL: github.com/project-jedi/jedi/blob/master/jedi.inc)

Read the rest of this entry »

Posted in .NET, C#, C# Builder, Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 5 Comments »

Delphi Bootcamp live streams (will edit this over time).

Posted by jpluimers on 2016/09/05

Delphi Boot Camp with 100% off Delphi

Day 1: https://www.youtube.com/watch?v=-YUMUHh7Wpw Introduction to Delphi: The IDE and Your First App (FireMonkey app) – edited https://www.youtube.com/watch?v=2rwaQN_O3bU

Day 2: Getting to Know the Delphi Language – edited https://www.youtube.com/watch?v=CqlHeBPKu-0 

Day 3: https://www.youtube.com/watch?v=JyiuOz_zMXA Building Effective User Interfaces in FireMonkey – edited https://www.youtube.com/watch?v=gnsppAa5MxA

Day 4: https://www.youtube.com/watch?v=JyiuOz_zMXA Game Development with Delphi – edited

Day 5:

Day 4:

Day 3: edited

Day 3:

Day 2: edited

 

Day 1: edited

Day 1:

 

 

 

 

Posted in Delphi, Delphi 10.1 Berlin (BigBen), Development, Software Development | Leave a Comment »