Les 3: Let's code !
In les 2 plaatsten we wat voorlopige code in de Event Handler van de knop EuroButton. Maar wat moet deze Event Handler nu echt gaan doen?
Tussenwaarden van de berekeningen en teksten plaatsen we in de variabelen Euro, Fr, S1 en S2. Variabelen moet je eerst declareren: opgeven dat het variabelen zijn, en hun namen opgeven gevolgd door hun type. Dat doe je VOOR het woord begin in de routine.
|
|
In een Delphi programma kan je op verschillende manieren commentaar toevoegen:
// Deze notatie gebruik je voor 1 lijn commentaar // Of zo: S1 := Edit1.Text // de tekst van Edit1 even bewaren in S1 { Dit is ook commentaar } { Commentaar tussen 'accolades' kan zich uitstrekken over meerdere regels. Het commentaar-blok stopt dus op het einde van deze regel. } (* De combinatie van ronde haakjes en sterretjes (asterix) mag ook gebruikt worden in plaats van accolades. Dit kan interessant zijn indien je blokken commentaar wil 'nesten', wat niet gaat indien je slechts één soort commentaar- scheidingstekens zou gebruiken. Persoonlijk gebruik ik deze notatie niet voor commentaar, maar om stukken code tijdelijk uit te schakelen tijdens het testen, zoals in het volgende voorbeeld: *) (* { Deze code geeft een fout. Eventjes uitschakelen om te kijken of het dan beter gaat... } Label1.Text := Edit1.Text; *)
Merk op dat in de Editor commentaar anders weergegeven wordt: standaard in het blauw en Italic. Op deze pagina's toon ik het niet in Italic, dat is wat te veel van het goede.
Ook bepaalde andere elementen kan je op een "speciale" manier laten weergeven: gereserveerde woorden (reserved words) in bold, tekst (strings in Delphi-taal) in het blauw, getallen in het rood, enzovoorts... Dat stel je in via het menu Tools, commando Environment Options, steekkaart Color.
Ik voegde wat commentaar toe aan de unit euroform.pas, zodat ik later (hopelijk) nog zal begrijpen wat ik vandaag eigenlijk bedoelde. Bekijk de volgende code eens en voeg daarna naar eigen smaak ook wat commentaar toe aan jouw versie van de unit:
unit euroform; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; type TForm1 = class(TForm) InputEdit: TEdit; MuntLabel: TLabel; Label2: TLabel; EuroLabel: TLabel; BEFLabel: TLabel; Label5: TLabel; Label6: TLabel; EuroButton: TButton; BEFButton: TButton; procedure EuroButtonClick(Sender: TObject); procedure BEFButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} { Event handler voor EuroButton: conversie van Euro naar BEF. Toont de naam van de start-munteenheid, converteert de tekst van de Edit-box naar Belgische frank, toont de resultaten } procedure TForm1.EuroButtonClick(Sender: TObject); var Euro, Fr: real; S1, S2: string; begin // Toon de naam van de start-munteenheid MuntLabel.Caption := 'Euro'; // Converteer tekst van de EDIT naar een numerieke waarde Euro := StrToFloat(InputEdit.Text); // Converteer Euro naar BEF Fr := Euro * 40.3399; { Converteer de floating point getallen naar string-formaat. '0.00' is de "Format String" en betekent: 'geef het resultaat met 2 cijfers na de komma' } S1 := FormatFloat('0.00', Euro); S2 := FormatFloat('0.00', Fr); // Plaats de strings in de CAPTION van de LABELs EuroLabel.Caption := S1; BEFLabel.Caption := S2; end; { Event handler voor BEFButton: conversie van BEF naar Euro. Toont de naam van de start-munteenheid, converteert de tekst van de Edit-box naar Euro, toont de resultaten } procedure TForm1.BEFButtonClick(Sender: TObject); var Euro, Fr: real; S1, S2: string; begin // Toon de naam van de start-munteenheid MuntLabel.Caption := 'BEF'; // Converteer de tekst van de EDIT naar numerieke waarde Fr := StrToFloat(InputEdit.Text); // Converteer BEF naar Euro Euro := Fr / 40.3399; { Converteer de floating point getallen naar string-formaat. '0.00' is de "Format String" en betekent: "geef het resultaat met 2 cijfers na de komma" } S1 := FormatFloat('0.00', Euro); S2 := FormatFloat('0.00', Fr); // Plaats de strings in de CAPTION van de LABELs EuroLabel.Caption := S1; BEFLabel.Caption := S2; end; end.
Tot volgende keer bij les 4!
© Copyright 1999 - 2007
DelphiLand