Results 1 to 5 of 5

Thread: Lazarus procedure uitleg gevraagd

  1. #1

    Smile Lazarus procedure uitleg gevraagd

    Delphi Code:
    1. procedure TForm1.FormCreate(Sender: TObject);
    2. var i:integer;
    3. begin
    4.   for i:=1 to 2 do
    5.   begin
    6.     radiogroupproducten.Items.append(
    7.         cinema[i].naam + '=> resterend aantal 53 plaatsen ' + inttostr(cinema[i].plaatsen) );
    8.   end;
    Kan iemand mij deze forlus uitleggen aub, wat wordt er getoond zodra het project opgebouwd is ? Ook de het principe van de formcreate snap ik niet zo goed ?

    Alvast bedankt
    Last edited by GolezTrol; 28-Dec-12 at 17:49.

  2. #2
    Welkom!

    Je code is vrij specifiek en zal denk ik ook niet uit de lucht komen vallen. Waar heb je 'm vandaan?

    In het algemeen denk ik dat radiogroupproducten een TRadioGroup is. Dat is een component dat eruit ziet als een groupbox met radiobuttons erop. De for loop gaat van 1 tot 2 en zal dus altijd twee iteraties hebben. In elke iteratie wordt een radiobutton toegevoegd aan de group. Die radiobutton heeft een tekst/caption die wordt samengesteld uit een naam, een vaste tekst en een aantal plaatsen.

    Het lijkt erop dat dit een keuze is om een bioscoopzaal te kiezen, maar de code lijkt bij lange na niet af. Wat er verder precies gebeurt is wat moeilijk te zeggen.

    FormCreate is (meestal) de event handler voor het OnCreate event van het form waarin de code staat. Als het goed is, kun je in de object inspector de events van het form bekijken. Daar is bij OnCreate waarschijnlijk deze method geselecteerd.

    Zo ja, dan betekent dat, dat op het moment dat dit form gemaakt wordt, de code wordt uitgevoerd.
    1+1=b

  3. #3
    Alvast heel erg bedankt voor uw antwoord !!!
    Ik heb binnen een aantal dagen mijn examen Informatica en hier kan ik al een heel eind verder met.
    Dit stukje code werd gehaald uit het volgende:

    unit Unit1; 1
    2
    {$mode objfpc}{$H+} 3
    4
    interface 5
    6
    uses 7
    Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, 8
    StdCtrls, Menus; 9
    10
    type 11
    12
    { TForm1 } 13
    14
    TForm1 = class(TForm) 15
    Button1: TButton; 16
    MainMenu1: TMainMenu; 17
    MenuItem1: TMenuItem; 18
    RadioGroupProducten: TRadioGroup; 19
    procedure Button1Click(Sender: TObject); 20
    procedure FormCreate(Sender: TObject); 21
    procedure MenuItem1Click(Sender: TObject); 22
    private 23
    { private declarations } 24
    public 25
    { public declarations } 26
    end; 27
    28
    2
    type 29
    tfilm = record 30
    naam: string[50]; 31
    plaatsen: integer; 32
    prijs: real; 33
    end; 34
    tcinema = array[1..2] of tfilm; 35
    36
    var 37
    Form1: TForm1; 38
    cinema:tcinema; 39
    keuze:integer; 40
    aantal:integer; 41
    prijs:real; 42
    43
    implementation 44
    45
    { TForm1 } 46
    47
    procedure TForm1.FormCreate(Sender: TObject); 48
    var i:integer; 49
    begin 50
    for i:=1 to 2 do 51
    begin 52
    radiogroupproducten.Items.append(cinema[i].naam + '=> resterend aantal 53 plaatsen ' + inttostr(cinema[i].plaatsen) ); 54
    end; 55
    end;

    57
    begin 58
    Application.terminate; 59
    end; 60
    61
    procedure TForm1.Button1Click(Sender: TObject); 62
    var i:integer; 63
    begin 64
    keuze:= radiogroupproducten.itemindex +1; 65
    aantal := strtoint(inputbox('Cinema','Geef het aantal personen','')); 66
    67
    if cinema[keuze].plaatsen >= aantal then 68
    begin 69
    showmessage('Gereserveerd'); 70
    radiogroupproducten.items.Clear; 71
    cinema[keuze].plaatsen := cinema[keuze].plaatsen - aantal;
    for i:=1 to 2 do 73
    begin 74
    radiogroupproducten.Items.append(cinema[i].naam + '=> resterend aantal 75 plaatsen ' + inttostr(cinema[i].plaatsen) ); 76
    end; 77
    end; 78
    79
    prijs := aantal * cinema[keuze].prijs; 80
    4
    81
    end; 82
    83
    initialization 84
    {$I unit1.lrs} 85
    cinema[1].naam:= 'Golden Eye'; 86
    cinema[1].plaatsen:= 50; 87
    cinema[1].prijs:= 8.50; 88
    cinema[2].naam:= 'Harry Potter'; 89
    cinema[2].plaatsen:= 50; 90
    cinema[2].prijs:= 7.50; 91
    end.

  4. #4
    Sterkte met je examen! Die regelnummers aan het eind van elke regel zijn wel bijzonder.
    1+1=b

  5. #5
    Bedankt zal het nodig hebben vrees ik.
    Last edited by GolezTrol; 29-Dec-12 at 10:23.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •