A chapter on Parallel.Pipeline is now available online.
Tuesday, May 22, 2012
Sunday, May 20, 2012
Yes, there will be a book about the Smart Mobile Studio. I don’t know yet how it will be published – as a printed manual that you’ll get together with the software, as an on-demand printed book, as an e-book or combination of those options – but there definitely will be a book about Smart.
For starters, you can download test chapter (not yet completely finished) about using regular expressions in Smart: PDF, Mobi, ePub (rename it to .epub after download). If you like what you see, you can express your interest in the book at the Leanpub site.
On a slightly unrelated topic – I’m thinking about moving all my writing about Smart to another, yet unnamed blog. However, I’m of two minds about this so I would appreciate a feedback. What do you think – should I create a new blog or should I write about Smart here (after all, it uses almost the same language as the Delphi)?
Saturday, May 19, 2012
Last time you’ve seen how to make different layouts for portrait and layout orientations. This time I’ll show you how to dynamically set layout parameters in Resize.
Friday, May 18, 2012
The third layout manager demo shows how to set different layouts for portrait and landscape display orientation.
Thursday, May 17, 2012
I spoke to Slovenian Delphi developers about multithreading today and you probably know that this is a topic I love to speak about. The room was packed (I took this photo five minutes before the beginning, more people arrived after that) but still listeners managed to stay attentive through the four-hour session (including a short break). Lots of interesting questions too – it is good to see many developers actively interested in multithreading.
We’ll probably repeat this session in the autumn as again there was much more interest for the speech than this room can handle.
The second layout manager demo builds on the first one.
There’s an edit box and two small buttons right to it. A large button lies under all three of them. At the bottom of the screen is a status bar and all the rest is taken by a memo control.
Wednesday, May 16, 2012
Smart Mobile Studio was released today. To celebrate this – in my opinion – very important step for the Object Pascal language, I have prepared a series of articles on the Layout Manager – a feature of the Smart RTL that I wrote.
Smart is an excellent tool, but in some areas it clearly shows that there was only so much time allowed for the development. I’m sure Lennart will polish the rough edges in next releases but for now we have to do with what we have.
One of those rough edges is component placement. You can drop components on the designer and set their size but there’s no mechanism for dynamic size adjustments. In other words – there is no Align, no Anchors, no Margins and no layouts (as TFlowPanel and TGridPanel in Delphi). We have to resize components in code, in the overloaded Resize method.
I quickly got sick of writing resizing code and decided to alleviate the problem by writing a layout manager. It does not work in the designer, you have to declare and use it in code, but still it is a big simplification over the default “just call SetBounds from Resize” approach. I donated layout manager to the Smart project and it is included in the 1.0 release as the w3layout unit.
This article starts a short series which will explain layout manager on simple examples. All of those examples are also included with the Smart installations (look in Demos, LayoutManagerDemo).
Thursday, May 10, 2012
The Smart Mobile Studio is nearing its release date (no, can’t tell you when, but it will be soon, really soon) and it’s time to revisit my demos. You test them all from my website (just click on the images) and access the source code. If you don’t (yet) have Smart, you can browse OPP file with my primitive OPP Browser.
Accelerometer-handling demo (iOS only). Move the square by tilting the device.
Game of Life
Conway’s Game of Life. Works on desktop and on tablets. Click in the gray rectangle on the left to open a library of building blocks then drag and drop a block on the game surface.
Gesture-handling demo (iOS only). Handles move, zoom and rotate.
Mandelbrot explorer. Works on device (at least on iPad) and on desktop.
Multi Finger Paint
Paint with multiple fingers (iOS only; single finger may work on Android). Also handles mouse on desktop.
No IDE is mature until it has a TSmiley component. Supports desktop and mobile. Click/touch to change TSmiley’s mood.
Tuesday, May 08, 2012
Sunday, May 06, 2012
This is an announcement for the next “Embarcadero Academy” session. This time I will be talking about my favourite topic – multithreading. As the previous two sessions (Unicode, FireMonkey), this one is intended for the Slovenian Delphi programmers. The rest of my post is directed to potential participants and is therefore written in the Slovenian language.