Welkom op het forum van startpagina!

Dit forum staat op alleen-lezen. Je kan hier informatie zoeken en oude berichten terugvinden, maar geen nieuwe berichten plaatsen.

Naar overzicht van alle forums

if...then

  • DaKonium

    Ik heb net een simpel progje in elkaar gedraaid, om een beetje in de code te komen. Was :if“en ”then" aan het uitproberen, met deze code:

    ***

    procedure TForm1.InputEditChange(Sender: TObject);

    begin

    if InputEdit.Text := ‘meer’ then

    Label1.Caption := ‘Klaas van Dam’;

    end;

    ***

    Label1 is een label, en InputEdit een Edit-textveld, verder zijn er geen dingen in Form1.

    De opzet is dat als er in InputEdit “meer” wordt getypt, dat de caption van Label1 dan verandert in van “Klaas” in “Klaas van Dam”.

    Als ik het geheel wil runnen krijg ik de foutmelding " Unit1.pas(29): Type of expression must be BOOLEAN"

    De regel *voor* “end;” wordt rood, met de cursor direct na “then”, dus daar zal de fout wel zitten.

    Iemand een oplossing?

  • Jeroen

    Als je dit letterlijk hebt ingetypt moet je volgens mij alleen de := tussen …Text en ‘meer’ veranderen in =. Kortom de dubbele punt weghalen.

    Jeroen

    DaKonium schreef:

    >

    > Ik heb net een simpel progje in elkaar gedraaid, om een beetje

    > in de code te komen. Was :if“en ”then" aan het uitproberen, met

    > deze code:

    >

    > ***

    > procedure TForm1.InputEditChange(Sender: TObject);

    > begin

    > if InputEdit.Text := ‘meer’ then

    > Label1.Caption := ‘Klaas van Dam’;

    > end;

    > ***

    >

    > Label1 is een label, en InputEdit een Edit-textveld, verder

    > zijn er geen dingen in Form1.

    > De opzet is dat als er in InputEdit “meer” wordt getypt, dat de

    > caption van Label1 dan verandert in van “Klaas” in "Klaas van

    > Dam".

    >

    > Als ik het geheel wil runnen krijg ik de foutmelding "

    > Unit1.pas(29): Type of expression must be BOOLEAN"

    > De regel *voor* “end;” wordt rood, met de cursor direct na

    > “then”, dus daar zal de fout wel zitten.

    > Iemand een oplossing?

  • Remmelt

    De fout in deze code is dat als := gebruikt je iest wil wijzigen maar als je iets wil vergelijken moet je het als volgt doen

    procedure TForm1.InputEditChange(Sender: TObject);

    begin

    if InputEdit.Text = ‘meer’ then

    Label1.Caption := ‘Klaas van Dam’;

    end;

    Dus zonder de : (dubbellen punt).

    Veel succes.

  • DaKonium

    Klopt allemaal, het is nu gelukt…dacht niet dat het zo simpel was :-)