Les 1: Vliegende start

Zoals de mensen van Borland het zo mooi zeggen: Delphi is een object-georienteerde, visuele programmeeromgeving voor "Rapid Application Development" (RAD).

Delphi koppelt de gebruikersvriendelijkheid van Visual Basic met de controle en snelheid van C++: zonder veel "echt" programmeerwerk kan je heel efficiente en razendsnelle applicaties in elkaar boksen voor Windows.


Goede afspraken maken goede vrienden. Laat me eerst wat vertellen over mijn manier van werken (of hebbelijkheden, of onhebbelijkheden als je wil...)

Deze lessen zijn geschikt voor de versies Delphi 4 tot en met de laatste versie Delphi 2010 (ook de gratis versies, zoals Turbo Delphi Explorer, Delphi 7 Personal,...)
English-Dutch-Vlaams...? Ik vind het belangrijk dat je de meeste termen in het Engels kent. Soms zie je vertalingen als formulier, kenmerk, tekenreeks voor de Delphi termen form, property, string. Zoek dat maar eens op in je online help.
Curiosia als flodderschijf (diskette), Gestructureerde Bevragings Taal (SQL) en broncode tekstverwerker (editor) kieper ik in de Recycle Bin.
VCL, IDE, OOP...? Afkortingen maken een tekst totaal onleesbaar als je ze niet kent. Daarom zullen we in een van de volgende lessen het programmaatje Acron maken, dat een aantal acroniemen verklaart.
Voor de ongeduldigen die niet kunnen wachten: de uitvoerbare versie (exe-file) van Acron kan je nu al vinden in bij de downloads als ACRONX.ZIP. Vergeet de file ACRODAT1.ZIP niet: die bevat het lijstje met acroniemen. Dit lijstje zal in de volgende weken trouwens uitgroeien tot een flinke lijst, die bij elke nieuwe versie een hoger nummer zal krijgen (de volgende wordt dus ACRODAT2.ZIP, enz...)
By the way (BTW), D2010 is "Delphi 2010", D7P is "Delphi 7 Personal", D7 is "Delphi 7", enz...

Vliegende start? Eerst lopen, dan wandelen: dat kan met Delphi! En daar wordt nog veel te weinig de nadruk op gelegd in de meeste Delphi tutorials of lessen. Dus geen "Hello, World" gedoe zoals de traditie het wil, maar direct al een echte applicatie om de watervrees te overwinnen. Let's go!

 

Voorbereidingen

  1. Maak om te beginnen een nieuwe afdeling \DelphiLa op je harddisk (naar keuze op C:, D:, E:...).
  2. Daarna download je de eerste lessenreeks, les0105.zip, naar \DelphiLa en je decomprimeert het zip-bestand in deze afdeling.
  3. Download ook euroccnl.zip (het eerste volledig afgewerkte project) naar \DelphiLa.
    Momentje, nog niet decomprimeren: elk project krijgt zijn eigen directory, en je bewaart best alle originele zip-bestanden in \DelphiLa.
  4. Vervolgens maak je onder \DelphiLa de directory EuroCCNL.
  5. Copieer nu euroccnl.zip naar \DelphiLa\EuroCCNL en "unzip" daarna het bestand in deze directory. Check of je de bestanden euroccnl.dpr, euroform.dfm en euroform.pas hebt.

    NB: indien je interesse mocht hebben voor de Engelstalige versie, dan download je euroccen.zip en je unzipt het bestand naar directory \DelphiLa\EuroCCEN.
  6. Start tenslotte de introductieles door in Windows Explorer te dubbelklikken op index.html (in \DelphiLa). In je webbrowser kan je nu de eerste les off-line volgen.

Euro Currency Convertor: compilatie

Als eerste project maken we een Euro Currency Convertor. De nederlandstalige kant-en-klare versie noemde ik EuroCCNL. Je compileert en test EuroCCNL als volgt:
  1. Start Delphi. Open het menu File, klik op Open Project..., navigeer naar \DelphiLa\EuroCCNL en open het bestand euroccnl.dpr

    Opmerking: je zou overigens hetzelfde bereiken door in Windows Explorer (of in My Computer) te dubbelklikken op euroccnl.dpr: Delphi start dan en opent het project "euroccnl".
  2. Open het Run-menu van Delphi en klik op Run.

    RUN menu
  3. Het project wordt gecompileerd en gelinkt tot euroccnl.exe. Onmiddellijk daarna start het programma. Dit gaat zo snel, dat je waarschijnlijk niet eens merkte dat je broncode werd gecompileerd tot een uitvoerbaar programma!

    EuroCCNL
  4. Typ een nieuwe geldige waarde in de EDIT-box, bijvoorbeeld: 25. Klik op de knop "is gelijk aan". In het rechterkader zie je de tegenwaarde in diverse Europese valuta.
  5. Klik op een van de radioknoppen voor de start-valuta, bijvoorbeeld BEF/LUF. Merk op dat het overeenkomstige LABEL voor Belgische en Luxemburgse frank onzichtbaar wordt. Ik vond het namelijk nogal idioot als je zou zien dat 25 BEF = 25 BEF... Daarenboven geeft deze truc een duidelijke visuele feedback over de gekozen munteenheid van waaruit je startte.

    EuroCCNL
  6. Klik op de radioknop 4 voor het aantal decimalen. Alle geconverteerde waarden worden nu weergegeven met 4 cijfers na de komma. Dit kan interessant zijn bij de conversie van kleine sommen van bijvoorbeeld Lire (ITL = Italian Lire). Voor de weergave met twee decimalen klik je daarna op de radioknop voor 2 decimalen.
  7. Typ een ongeldige waarde in de EDIT-box (bijvoorbeeld 20,5,7 of ABC) en probeer een conversie. Delphi geeft onmiddellijk een foutboodschap en onderbreekt de uitvoering van het programma: bij de conversie van de tekst "20,5,7" of "ABC" naar een getal, trad er namelijk een fout op. Dit is je eerste kennismaking met de behulpzame Debugger, die zowel je design errors als de runtime errors signaleert!

    Error message from Delphi
  8. Klik op de knop OK om de error-dialoogbox te sluiten. Druk daarna op toets F9 (dit is hetzelfde als het commando Run). Het programma gaat verder en je ziet een tweede foutboodschap. Deze "warning" hebben we zelf geprogrammeerd. Alleen deze boodschap zal bij een foute input getoond worden indien je het programma laat lopen via de Explorer of via "My Computer". Klik nu op OK om ook dit dialoogvenster te sluiten.

    Warning
  9. Typ eens getallen met decimalen in de EDIT-box. Als decimaalteken mag je zowel . (punt) als , (komma) typen: dus zowel 10.5 en 10,5 worden aanvaard. Dit bereikte ik door in het programma te kijken naar de "Regional Settings" van Windows en indien nodig de getypte KOMMA te vervangen door een PUNT. Of omgekeerd, natuurlijk. Een gouden tip indien je programmeert voor zowel Angelsaksers als niet-Angelsaksers. Amerikanen vergeten nogal eens dat er nog andere landen bestaan buiten de US of A ;-)
  10. Typ een waarde in de EDIT-box en druk op ENTER: het is net alsof op je op de knop "is gelijk aan" geklikt hebt. Deze gimmick programmeer je als volgt: wanneer de EDIT-box de focus heeft (indien de cursor dus in dit object staat) en wanneer dan op ENTER gedrukt wordt, simuleer je een klik op de "is gelijk aan" knop.
  11. Stop het programma. Dat kan je via zijn menu en de opdracht Sluiten, via zijn syteemmenu, of via zijn Close-button rechtsboven in het venster.
  12. Stop vervolgens Delphi. Indien je de vraag "Save changes to...?" krijgt, antwoord je ontkennend. Want misschien heb je, bewust of onbewust, al iets gewijzigd in de broncode van het project. En die wijzigingen willen we voorlopig niet opslaan.


Euro Currency Convertor als standalone programma

  1. Kijk via de Explorer eens in de directory waar ons eerste project zit. Er zijn verschillende bestanden bijgekomen:
     
    • euroccnl.exe is het uitvoerbare bestand, de executable;
    • euroform.dcu (dcu= Delphi compiled unit) is het bestand dat gecompileerd werd uit de bronbestanden euroform.pas (pas= Pascal) en euroform.dfm (dfm= Delphi Form);
    • euroccnl.dsk (dsk= Desktop) is het bestand dat onthoudt hoe je Delphi-desktop er uit zag toen je Delphi stopte. Wanneer je de volgende keer hetzelfde project opent in Delphi, zal de schikking en grootte van de vensters precies zo zijn als de laatste keer. Handig!
    • andere bestanden: indien je wat stoeide met het voorbeeld-project. In de volgende lessen hebben we het uitvoerig over alle Delphi-bestanden.
  2. Dubbelklik op euroccnl.exe: het programma start.
  3. Probeer weer eens een ongeldig bedrag te converteren. Je zal zien dat nu alleen de geprogrammeerde foutboodschap verschijnt.
  4. Stop het programma.
  5. Indien je wil zien hoe EuroCC reageert bij een andere instelling van de "decimal separator", open je in Windows' Control Panel de Regional Settings en je wijzigt het "Decimal symbol": plaats er een PUNT indien er een KOMMA stond, of vice versa. Sluit daarna het venster van Regional Settings.
  6. Start EuroCCNL nogmaals vanuit Windows Explorer en merk op dat de resultaten nu anders weergegeven worden, namelijk met decimale PUNTEN in plaats van KOMMA's (of omgekeerd, natuurlijk). Typ een waarde met een decimaal gedeelte: ook in de EDIT-box krijg je nu dit decimaal teken, zowel bij het typen van PUNT als KOMMA.
  7. Stop de Euroconvertor. Vergeet daarna niet je Regional Settings terug te zetten zoals ze stonden.

TOP :: HOME   

© Copyright 1999-2016
DelphiLand