Thuis
Contacten

    Hoofdpagina


Programmeren in C++ voor beginners

Dovnload 5.04 Mb.

Programmeren in C++ voor beginners



Pagina10/49
Datum25.10.2017
Grootte5.04 Mb.

Dovnload 5.04 Mb.
1   ...   6   7   8   9   10   11   12   13   ...   49

Properties lezen

Properties kunnen ook gelezen worden om vervolgens ergens anders weer geschreven te worden.


Hier onder een voorbeeld met een Form met twee Buttons, elk met een eigen OnClick Event.
void __fastcall TForm1::Button1Click(TObject *Sender)

{

//Button 1 is geklikt



//Wissel de Captions van Button1 en Button2 om

//Gebruik de Caption van Form1 als 'bruggetje'

Form1->Caption = Button1->Caption;

Button1->Caption = Button2->Caption;

Button2->Caption = Form1->Caption;

}
void __fastcall TForm1::Button2Click(TObject *Sender)

{

//Button 2 is geklikt



//Laat Button2 naar rechts lopen

Button2->Left = Button2->Left + 10;

}
Merk de volgende dingen op:

* C++ heeft een vrije layout. Daarom moet met een puntkomma

aan worden gegeven waar een zin eindigd. Bij Button1Click

heb ik de is-tekens mooi onder elkaar gezet. Dit verhoogt

(in mijn ogen) de leesbaarheid van de code. Leesbaarheid

gaat (meer) een rol spelen bij moeilijkere code.

* Om Button2 naar rechts te laten lopen, wordt eerst de

Property Left gelezen, hier tien bij opgeteld en dit

getal wordt weer naar de Left van dezelfde Button

weggeschreven. Later leren we een verkorte schrijfwijze.

* Een Caption van "10" kan niet toegekend worden aan een

Left Property. Een Caption is een woord en Left is een

getal. Op Dag 2 zien we hoe we deze types naar elkaar

kunnen converteren. Soms gaat zo'n conversie toch

automatisch, bijvoorbeeld als je een Left aan een Caption

wilt toekennen. Dit is dan een keuze van de Borland

programmeurs geweest.
Het plus-teken ('+') wordt een 'wiskundige operator' genoemd. C++ kent er meerdere, hier de belangrijkste:


Wat

Waarvoor

Voorbeeld

Uitkomst

+

Optellen

16 + 10

26

-

Aftrekken

16 - 6

10

/

Delen

16 / 5

3

*

Vermenigvuldigen

16 * 4

64

%

Rest bij deling

16 % 5

1

!

Niet

!true

false

Nu kunnen we Components laten bewegen, maar voor een leuk programma is het nog nodig wat-als-dan-statement, oftewel

if-statements, te kunnen maken.

    1. Het if-statement

De syntax van een if-statement is als volgt:


if ( /* iets */ )

{
}
Of


if ( /* iets */ )

{

//Doe dit als 'iets' waar is



}

else

{

//Doe dit als 'iets' niet waar is



}
De '/* iets */' is een multi-line commentaar (hoewel deze hier toch single-line is) en dit is een commentaar dat begint bij '/*' en eindigd bij de '*/'.
Op de plaats van '/* iets */' moet een conditie komen te

staan.
//Is Button1 te ver naar rechts?



if ( Button1->Left > 100 ) //Hier GEEN puntkomma's!!!

{

//Zet Button1 weer naar links



Button1->Left = 0;

}

else

{

//Laat Button1 naar rechts lopen



Button1->Left = Button1->Left + 10;

}
Merk het volgende op:

* Een conditie staat tussen ronde haken.

* Na een conditie staat geen puntkomma.

* Na de ronde haken komt geen puntkomma.

* Een single-line commentaar kan ook op dezelfde regel van

'echte code' staan.

* Het groter-dan teken in het if-statement ('>') leest als

'groter-dan'. De conditie lees je dan ook als 'als de

Left van Button1 groter is dan 110, dan ...'.

* Tussen de accolades van een if-statement springt de code

naar rechts. Dit is om de leesbaarheid te vergroten.






Er zijn meerdere manieren van inspringen. Gebruik een consistente manier van inspringen, zoals Richel. Sommige programmeerteams verbieden het gebruik van tabs om in te springen.

Er zijn meerdere relaties tussen twee dingen dan een groter-dan relatie:




Relatie

Teken

Gelijk

==

Ongelijk

!=

Groter

>

Kleiner

<

Groter of gelijk

>=

Kleiner of gelijk

<=


if-statements kunnen ook aan elkaar gekoppeld worden:
if ( Edit1->Text == "Richel"

&& Edit2->Text == "Bilderbeek") //Mooie layout

{

//Als beide waar zijn



Form1->Caption = "Welkom Richel!";

ButtonSuperGeheim->Visible = true;

}

else

{

Form1->Caption = "Haha! Jij komt niet verder!";



}

if ( Button1->Left < -100

|| Button1->Left > 1000)

{

//Als een van beide waar is



Form1->Caption = "Oei, Button1 is het scherm uit!";

}
Merk de volgende dingen op:

* 'en' wordt geschreven als '&&', ofwel een dubbele

ampersand.

* 'of' wordt geschreven als '||', ofwel een dubbele pijp.

* C++ layout is vrij, dus beide condities kunnen ook op een

regel. In dit document paste dit niet.

* Tussen de accolades van een if-statement springt de code

naar rechts. Dit is om de leesbaarheid te vergroten.

* Een Button kan 'ButtonSuperGeheim' heten als de Name

Property zo heet.
Ook kan een if-statement weer in een if-statement staan:
if ( Edit2->Text == "Bilderbeek)

{

//Een familielid



if (Edit1->Text == "Richel")

{

//Ikzelf



Form1->Caption = "Welkom Richel!";

ButtonSuperGeheim->Visible = true;

}

else

{

//Een ander familielid



Form1->Caption = "Welkom!";

ButtonFamilieOnly->Visible = true;

}

}

else



{

//Geen familielid

Form1->Caption = "Haha! Jij komt niet verder!";

}
Merk het volgende op:

* Tussen de accolades van een if-statement springt de code

naar rechts. Dit is om de leesbaarheid te vergroten.

* De Property Visible heeft in de Object Inspector alleen

de mogelijke waarden 'true' en 'false'. De Code Editor

gebruikt een bold font voor deze woorden omdat dit

officiele C++ sleutelwoorden zijn. Een waarde als

bijvoorbeeld 'clLime' is geen C++ sleutelwoord.

1   ...   6   7   8   9   10   11   12   13   ...   49

  • Het if-statement

  • Dovnload 5.04 Mb.