Accelerate Your Delphi Development – European Delphi Tour 2017 – 19 mei 2017

Op 19 mei 2017 hebben we een evenement dat net iets anders is dan anders. Het nieuwste van Delphi 10.2 Tokyo is namelijk niet alleen de focus van deze dag. Op verzoek van deelnemers aan eerdere evenementen laten we die dag ook zien op welke manier je je bestaande Delphi applicaties kunt moderniseren met de recente features van Delphi.

Natuurlijk zie je ook de nieuwste features van Delphi 10.2 Tokyo; zoals back-end software op Intel Linux, MariaDB toegang, en demo’s van enkele van de fraaie nieuwe VCL en FMX componenten. Paweł Głowacki laat al dat fraais natuurlijk graag zien. Maar er is meer dan dat alleen.

Is je applicatie nu nog Client/Server of maak je gebruik van eigen Datasnap? In zijn sessie laat Bob Swart zien hoe je gebruik kunt maken van RAD Server voor een snellere Time-To-Market en een eenvoudige manier om in te stappen in multi-tier services, zonder dat je zelf servers hoeft te gaan hosten.

Is je applicatie nu nog straight VCL? In mijn sessie laat ik zien hoe je in korte tijd met beperkte inspanning de User Experience significant kunt verbeteren. In deze sessie zet ik een VCL applicatie om naar een moderne User Interface met tactile feedback, een dashboard en technieken als background threading en Async SQL. Gebruikers verwachten een applicatie die eenvoudig toegankelijk en overzichtelijk is, maar ook één die onmiddelijk reageert en die samenwerkt i.p.v. vertraagt. Oh ja, uiteraard mooi gestyled, dat ook.

Meer info en inschrijven:
Accelerate Your Delphi Development – European Delphi Tour 2017 – 19 mei 2017

Delphi Berlin For Free

Did you know you can use Delphi for free with the free Delphi Berlin Starter edition? If you want you can get started right know:
https://www.embarcadero.com/products/delphi/starter/promotional-download

If you are a hobbyist, a student or just starting your own development, the Starter Edition is just fine. You can develop serious Windows desktop software with this version, as it includes a lot of the features you need, such as support for HTTP(S) requests including JSON and BSON that would allow you to consume WebServices. It even includes FMX, so you could start building visually stunning stuff with DirectX accelerated GUI graphics. Looking at the complete feature set will give you an idea of what’s possible out of the box, and although not mentioned here the ClientDataset in-memory table is actually part of Delphi Starter:
https://www.embarcadero.com/docs/rad-studio-berlin-feature-matrix.pdf

Daniel Wolf did some research on what you can do with the Starter Edition; his conclusion was that you could write software for an airport with Delphi Starter. Read his nicely detailed article here.

And don’t forget, this edition allows you to use and install third-party components as well. And there are a lot of Delphi Components out there.

Delphi 10 Seattle training begin 2016

Nieuwsgierig geworden naar Delphi 10 Seattle en je wilt ermee beginnen? Dan is de Delphi 10 Seattle VCL Essentials training op 27, 28 en 29 januari misschien iets voor jou. In 3 dagen leer je als ontwikkelaar Delphi kennen en gebruiken.

Ben je al ervaren in Delphi met de VCL, maar wil je verder met multi-platform (OSX, iOS, Android) dan is de combinatie FireMonkey Power en Android App training op 17 en 18 februari misschien iets voor jou. Leer in 2 dagen het FireMonkey framework en Android app development kennen.

Op 3 maart in Edegem (België) top je dan je kennis af met het Delphi praktikum voor ervaren Delphi ontwikkelaars. Mobile app do’s en don’ts, een stukje parallel coding en de benodigde REST based servers als backend. Een complete set aan kennis voor Delphi developers.

En heb je nog Delphi projecten die je over wilt zetten naar Delphi 10 Seattle, dan is de Unicode en BDE Migratie training wellicht interessant. Hierin code snippets voor effectieve Unicode omzetting en introductie van tools voor de BDE Migratie. Deze training is gepland op 11 maart.

Details en inschrijving via: http://www.barnsten.com/nl/events/details?events_id=188

December Delphi maand

Volgende maand is het alweer december, dus sluit het jaar goed af met één of meer Delphi 10 Seattle workshops.

Op 1 december (Zwolle) en 3 december (Eindhoven) laten we samen met de ontwikkelaars die ze gemaakt hebben twee verschillende in Delphi gemaakte Apps zien. De ene is voor de iPad mini en zal worden gebruikt in het calamiteitenhospitaal voor snelle registratie van patientstatus, de andere is zowel Android als iOS en is voor de binnenvaart. Bij beide apps laten we de technische highlights zien met demos van hoe je dit zelf kunt maken, in Delphi 10 Seattle.

Op 15 december (Hoofddorp) geven Paweł Głowacki en ik een hands-on workshop in de nieuwe features van Delphi 10 Seattle, gecombineerd met oefeningen en code die je direct kunt gaan gebruiken in je bestaande VCL applicaties of voor je nieuwe mobiele apps. Dus pak je laptop en doe mee.

Meer details vindt je hier:
http://www.barnsten.com/nl/delphikennis

Bijna vergeten; we sluiten het jaar nostalgisch af op 29 december (Etten-Leur) met een migratie training voor het omzetten van bestaande Delphi software naar Delphi 10 Seattle, met ASCII -> Unicode, BDE -> FireDAC, en VCL Styling voor de look die de klant graag wil.

Delphi 10 Seattle Trainingen in November

Nieuwsgierig geworden naar Delphi 10 Seattle en je wilt ermee beginnen? Ga dan naar de Delphi 10 Seattle VCL Essentials training op 4, 5 en 6 november. Details en inschrijving via: http://www.barnsten.com/nl/events/details?events_id=169

Ben je al ervaren in Delphi, maar wil je verder met FireMonkey en Android App ontwikkeling, dan is de FIreMonkey/Android Power training iets voor jou, op 19 en 20 november. Details en inschrijving via: http://www.barnsten.com/nl/events/details?events_id=168

 

Delphi XE8 Launch 19 en 21 mei

Het leuke van Internet of Things is dat IoT leuk is. Het maakt ineens dingen mogelijk die je niet voor mogelijk had gehouden.

Je loopt een wachtruimte in en je telefoon ziet dit en meldt je automatisch aan. De app die zichzelf heeft geactiveert laat je ook zien wie je gaat spreken en wanneer. Zodra je aan de beurt bent geeft hij je een seintje.

Bij een veiling zie je van elk item op je smartphone wat de geschiedenis is door hem dichtbij het te veilen item te houden. Zodra je de veilinghal inloopt verandert de app en kun je bieden op de door jou uitgekozen items.

Wil je zien hoe je wat Delphi XE8 voor mogelijkheden biedt voor IoT, kom dan naar de XE8 launch event, georganiseerd door Barnsten op 19 mei in Utrecht of 21 mei nabij Antwerpen.

Meer info vindt je hier:
http://www.barnsten.com/nl/events/details?events_id=147

Build an auctioning software suite… in one day

On March 12th in Brussels and on March 5th in Hoofddorp Barnsten is hosting a free event in which you will see how to use the power of Delphi to create a fully functional auctioning software suite in just one day.

During this day Pawel Glowacki and I will make all software live, combining the power of VCL with that of FireMonkey. For the backoffice, AWS S3 Cloud storage, REST, FireDac JSON Reflection, Interbase and EC2. We will also make the frontend, an Android app for Auction Masters to add items for bidding (REST + Cloud) and an Android app that attendees can use to actually bid on the items (REST + EC2). Bluetooth LE is used as well, to do over-the-air authorization. There is even some parallel programming involved, don’t worry we’ll keep it light. The day will be concluded with a live auction, allowing you to do virtual bids using the Android app just created.

For Brussel, more info here:
http://www.barnsten.com/default/events/details?events_id=136
For Hoofddorp, more info here:
http://www.barnsten.com/nl/events/details?events_id=135

JPG and PNG inside a database (VCL)

In VCL applications we can easily add images to a database using the TDBImage component. But TDBImage only supports Bitmaps (BMP), and these uncompressed images take a lot of space and network bandwidth to store them. Fortunately it is quite easy to store compressed JPG and PNG images inside a database using TWICImage.

The TWICImage component has been available since Delphi 2010, and it uses Windows DirectX to determine and handle multiple image formats. It is actually an encapsulation of the Windows Imaging Component (WIC). We can use TWICImage to determine the type of an image and have it create a correct image format header. We can then save this header + image into a blob field.


procedure SavePictureFileToField(PictureFile: TFileName; Field: TBlobField);
var
  lWICImage: TWICImage;

begin
  lWICImage := TWICImage.Create;
  lWICImage.LoadFromFile(PictureFile);
  Field.Assign(lWICImage);
  lWICImage.Free;
end;

When we later read this image from the blob field, we use TWICImage to interpret the header and then assign it into a TImage.Picture for display.


procedure LoadPictureFromField(Field: TBlobField; Picture: TPicture);
var
  lWICImage: TWICImage;

begin
  if (Field.BlobSize > 0) then
  begin {Assume image}
    lWICImage := TWICImage.Create;
    lWICImage.Assign(Field);
    Picture.Assign(lWICImage);
    lWICImage.Free;
  end
  else {Empty}
  begin
    Picture.Assign(nil);
  end;
end;

And that’s all.

This code will work for any Delphi version starting from Delphi 2010.

Please note that if you are creating a multi-device / FireMonkey application you should not use TWICImage, the FireMonkey TImage and TImageControl both already handle all types of images just fine themselves and going through TWICImage would not be of benefit, in fact it would lock you into Windows.

Completed source code as a simple VCL SQLLite XE7 database application can be downloaded here: DBImage_JPG_PNG