Table of Contents
Trainer
David I.
Evangelist & Educator
Embarcadero Technologies
Agenda
- Purchasing the $0 starter edition, install using the Feature Installer
- Introduction to the IDE
- Creating your first FireMonkey application
- The difference between VCL and FireMonkey
- Working with the object inspector
- Building and Debugging your FMX applications
- Scope of Delphi Starter Edition – feature matrix compared to Pro, Enterprise editions.
- Using RTL features like IOUtils.
- Show Options choices
- Show GetIt Package Manager
Additional Information and Links
- Delphi Berlin Docwiki – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Main_Page
- Helpful Resources for New Users – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Helpful_Resources_for_New_Users#Code_Examples_and_Application_Samples
- Code and Application Samples – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Helpful_Resources_for_New_Users#Code_Examples_and_Application_Samples
- Tour of the IDE – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Tour_of_the_IDE
- Delphi Language Reference – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Delphi_Language_Reference
- Delphi Berlin Samples of Source Forge – https://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Berlin/Object%20Pascal/
- Developing Multi-Device Applications – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Developing_Multi-Device_Applications
- FireMonkey – http://docwiki.embarcadero.com/RADStudio/Berlin/en/FireMonkey
- Commonly Encountered Differences between FMX and VCL – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Commonly_Encountered_Differences_Between_the_VCL_and_FireMonkey
- RTL Path functions across multiple platforms (Ststem.IOUtils) – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Standard_RTL_Path_Functions_across_the_Supported_Target_Platforms
- Migrating VCL Applications to FireMonkey – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Migrating_VCL_Applications_to_FireMonkey
- Danny Wind’s CodeRage 9 session “Parallel Programming Library with Delphi” – http://dannywind.nl/delphi/coderage9/
- Jim McKeeth’s blog post “Install Delphi and C++Builder Starter Edition Side-by-Side” – http://community.embarcadero.com/blogs/entry/install-delphi-and-c-builder-starter-side-by-side
Q&A Logs
1st Session
Q: But the Delphi Starter Edition does not have Firemonkey. right?
A: Delphi Starter Edition has VCL and FMX for Win32. We are focusing this Delphi Boot Camp on Delphi – Object Pascal Language, FMX and what you can build using the Starter Edition. Macro Cantu is going to do a webinar later in September about using Delphi, C++Builder, and RAD Studio with the Windows 10 Anniversary edition. That will be a good webinar to ask more open Delphi questions. This week is for beginners.
Q: What about the BiDi support for FMX on Windows and mobile platforms?
A: Still being explored. The Team is focused first on FireMonkey native control support across all platforms for all controls. BiDi can follow after that work which will allow us to tie into what each platform does for UI operations.
Q: we will have CodeRage this year?
A: Yes – planned for November 15-17, 2016
Q: I already have Delphi XE7. Do I still need the Starter edition?
A: You can use XE7 for most of what I will show today – but you should upgrade to 10.1 Berlin for the latest features.
Q: so this free version only works for win 7 32 bit ?
A: yes – free starter edition gives you Delphi Win32 compiler plus VCL, FMX, and RTL.
Q: If you installed the C++ Builder Starter how do you install the Delphi Starter correctly? I had a mess when I did it.
A: Jim has a blog post – http://community.embarcadero.com/blogs/entry/install-delphi-and-c-builder-starter-side-by-side
Q: I install on Win8 64bit.
A: The IDE works on Win32 and Win64
Q: David good morning…so how I can work with databases with start version?
A: Local database support is in the Professional version. Remote database support is in the Enterprise edition. The 30-day trial has the full product including database support, multi-tier, cloud, etc.
Q: I have Belin installed. My tool palette is just Grey – not colored like David’s. What do I need to turn on the colors ?
A: Tools | Options | Environment – tool palette – http://docwiki.embarcadero.com/RADStudio/Berlin/en/Tool_Palette_(Options)
Q: Is it possible to install components in the starter edition? Because some years ago the personal Delphi hasn’t this feature.
A: Yes you can
Q: Is it possible to install on mac?
A: We all use VMWare to have Windows with the IDE in it. To run on Mac you use PAServer to debug and deploy directly from the IDE
Q: does this version support command line compiling?
A: Feature matrix says yes – https://www.embarcadero.com/docs/rad-studio-berlin-feature-matrix.pdf
Q: Having trouble finding academic pricing on your website.
A: Please contact your local sales rep or partner https://www.embarcadero.com/products/delphi/how-to-buy Also please see this exciting news http://www.businesswire.com/news/home/20160825005680/en/Embarcadero-Academic-Program-Offers-Free-Software-Development
Q: I have Delphi XE7 installed which I bought two years ago (which I haven’t used so far due to personal problems). Can I now install the 10.1 version with no conflict between the two?
A: Yes, both can install on the same machine.
Q: I just downloaded DX started edition, but I didn’t receive any licence. When I run the program it seems the same RX that I downloaded last month, when I received a licence. Am I wrong in something ?
A: You should get a license via email. If you have C++Builder Starter already installed, follow these instructions to install both side by side: http://community.embarcadero.com/blogs/entry/install-delphi-and-c-builder-starter-side-by-side
Q: why is there no semicolon on the end of a line of code?
A: Fascinating language semantics! In Delphi, the semicolon is a statement separator. In C it is a statement terminator. So in Delphi no ; is needed before an ‘end’. See http://stackoverflow.com/questions/7574603/why-do-single-statement-blocks-require-not-using-semi-colons. Pascal syntax allows you to add a semicolon or not depending what the next “token” is. Since the next is the END keyword, that closes the previous statement. I’d need a semicolon if I wrote another line of code following the assignment statement.
Q: Can you purchase items without upgrading, etc Tdataset?
A: We don’t have a mechanism today to purchase component parts. We hope to add this type of capability to the Getit Package Manager sometime in the future. For now, you purchase the edition that has the capabilities you need. Check the feature matrix. You can also purchase 3rd party components from our many technology partners. There are loads (tens of thousands) of components – free and commercial out there.
Q: For the video, is there an option of scaling the video to the Media Control component?
A: Yes – there are properties for dealing with the size of the video – you can choose to fit it to the media control or stretch it.
Q: When can we expect FireMonkey on Linux?
A: Public roadmap (august 2016) and Marco recent blog post has additional info and a sneak peak of command line Linux app – http://community.embarcadero.com/blogs/entry/linux-just-turned-25-and-delphi-is-coming-to-celebrate
Q: What is the main difference between Rad Studio and Delphi 10.1?
A: RAD Studio includes Delphi and C++Builder
Q: is the parallel library available for ios and android?
A: Parallel Programming Library is supported on Win32, Win64, macOS, iOS and Android. Will also be available on Linux when we support that target platform.
Q: Are there any tool which could create a .rc file from the .res resource file? (As a tool to be sure 3rd party don’t modify the .res file with unwanted code using syntax for building *.res on compilation time?
A: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Step_3_-_Add_Style-Resources_as_RCDATA_(Delphi)
Q: How “easy” will it be to convert my 32-bit program build with the starter edition to a 64-bit version after upgrading later?
A: Very easy. Open the project. Right-click Platforms in the Project Manager, Add Platform, Win64. Recompile. Done 🙂
Q: FireMonkey. Need TRichEdit full HTML
A: TMS Software has RichEdit component for FMX
Q: Do you have plans to support NOSQL graph databases (ex. OrientDB) in FireDAC?
A: FireDAC supports MongoDB currently
Q: Where in the Samples folder can we find the Parallel vs Serial task project?
A: It is a custom sample – I will upload my demos to Code Central and put a link in the blog for day 1.
Q: Castalia tool is inside delphi starter edition?
A: yes – totally integrated into the IDE now
Q: what must be the minimum memory for a virtual machine for testing new RAD Delphi studio?
A: 2GB recommended
Q: is FireMonkey stable or will it change a lot in future versions.
A: FireMonkey is evolving and new features and capabilities coming in constantly. So there will be some change, but it should be easy to migrate your code from version to version.
Q: what are differences between Berlin and Seattle versions of Delphi?
A: check out the what’s new in Berlin – this will have the new/improved things in Berlin over Seattle. you can also download the Feature Matrix for Berlin from the product page where we show what’s new and what’s improved. http://docwiki.embarcadero.com/RADStudio/Berlin/en/What%27s_New
Q: What notable performance issue are known comparing old TThread usage with TTask parallel programming?
A: Under the covers, Parallel Programming Library (PPL) is using the operating system multi-threading systems (APIs). the speed is comparable to what you can do low level. It’s just easier/simpler and more powerful to use Parallel.For, Parallel Tasks and Parallel Futures.
Q: by default does Berlin not support dotNet?
A: We support all Windows APIs, Win32 / COM / WinRT…
Q: Thank you very much all of you!!!
A: See you all soon! 🙂 and thanks for making it the biggest Delphi even of the year so far.
2nd Session
Q: Starting a career as a Delphi developer is good??
A: Yes – you can create a lot of apps that look great – very quickly with one source code for Windows, macOS, iOS and Android. Not easily possible with other native machine code optimizing compilers.
Q: Can you share some links from where I can learn more after this boot camp??
A: the blog post for Day 1 has additional links. also – there are books available – go to community.embarcadero.com and look at the Resources menu – there is a books link on the last entry of the resources pull down menu.
Q: can I build an application to support 64bit and how?
A: Professional Edition and higher supports 64-bit Windows and other platforms. Starter edition is Win32 only – but you have all of the RTL and VCL/FMX frameworks to get you started and then you can upgrade and just recompile with the other compilers you get when you upgrade.
Q: Is it smart to learn Delphi nowadays? What are trends: Win apps or Mobile?
A: Multi-Device is the key – one source code project, compile native code apps for Windows, macOS, IOS, and Android.
Q: Can I develop for apple platforms only? I mean macOS + iOS
A: With Pro edition and above you can target macOS and iOS. The IDE and compilers still only work on Windows. I use Parallels to run Windows as a guest on my MacBook pro. But I can build native apps for Win32, Win64, macOS, IOS and Android from the Windows IDE
Q: can you still use the programming code from Firemonkey/Delphi in Python or in Java, Or do I have to learn a whole new programming language?
A: We support C++ and Delphi (Object Pascal) programming languages in our IDE.
Q: How long is the learning curve according to other languages, let’s say c# or java?
A: Delphi (object Pascal) is easy and fast to learn. Pascal started as a teaching language in computer science colleges. it is bring taught to high school students now in South Africa for example.
Q: What’s the speed comparison between a Delphi app running on MacOS vs. a native XCode app?
A: We create optimized native code on all platforms and chips that we support. We use the same LLVM optimizing backend that Xcode uses – so optimized machine code should be the same for like programming language constructs and use cases.
Q: Does the IDE have emulators when working with FireMonkey?
A: we use the GPU for FMX bitmap processing and 3D. no emulators – all native code. we use DirectX on Windows and native APIs for iOS and you can use slow Android emulators if you want. You can use the iOSSimulator from Apple for Delphi which is an intel native code execution profile.