🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #4823

Re: probleempje met OnKeyDown() in vc++ 6.0

#4823
From: Roel Schroeven
Date: Mon, 14 Jul 2003 19:07
46 lines
2704 bytes
Haplo wrote:
> In article <vNwQa.10678$Yf3.823463036@hestia.telenet-ops.be>, 
> slavearc@pandora.be says...
> 
><knip>
> 
>>      if(lsChar = 'X')	<- Hier is het probleem
>>      {
> Om zulke fouten te vermijden draai je best zulke vergelijkingen om :
> Voorbeeld : if ('X' == lsChar)
> Als je nu 1 = teken zet ipv 2 krijg je een compileerfout, wat 
> gemakkelijker te verbeteren is als een logische fout.

Dat is iets wat dikwijls aangeraden wordt, maar ik doe dat liever niet.
Voor een stuk omdat ik dat minder leesbaar vind, hoewel dat grotendeels
een kwestie van gewoonte is.
Maar vooral omdat ik het gevoel heb dat dat aanzet tot slordiger
gebruik: je denkt er minder over na, "de compiler zal het toch wel
zien". Veel vergelijkingen zijn echter vergelijkingen tussen twee
variabelen, en dan zal bovenstaand trucje niet helpen. De compiler ziet
niet dat er iets mis is.
Ik denk er liever aan elke keer ik een if-statement schrijf: ah ja,
oppassen, geen = maar ==. Ik zal niet zeggen dat ik de fout nog nooit
gemaakt heb, maar het is toch wel hoogst uitzonderlijk -- pakweg een
keer of twee � drie op vijf jaar tijd.

In dit specifieke geval zou ik trouwens een switch-statement gebruiken
i.p.v. if-else if:

switch (nChar)
{
case 'A':
  /* ... */
  break;
case 'B':
  /* ... */
  break;
/* ... */
default:
  /* ... */
  break;
}

-- 
"Codito ergo sum"
Roel Schroeven
Technical Details
Message-ID: <xbDQa.8316$F92.1212@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!proxad.net!213.253.16.105.MISMATCH!mephistopheles.news.clara.net!news.clara.net!btnet-peer!btnet!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <vNwQa.10678$Yf3.823463036@hestia.telenet-ops.be> <MPG.197d126aa6eb9dc998968c@news.telenet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,2d3c3f0d196b914b
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-07-14 12:08:04 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!proxad.net!213.253.16.105.MISMATCH!mephistopheles.news.clara.net!news.clara.net!btnet-peer!btnet!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
Newsgroups: be.comp.programming
From: Roel Schroeven <j4nff5m02@sneakemail.com>
Subject: Re: probleempje met OnKeyDown() in vc++ 6.0
References: <vNwQa.10678$Yf3.823463036@hestia.telenet-ops.be> <MPG.197d126aa6eb9dc998968c@news.telenet.be>
Organization: http://www.catb.org/~esr/faqs/smart-questions.html
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: slrn/0.9.7.4 (Linux)
Lines: 46
Message-ID: <xbDQa.8316$F92.1212@afrodite.telenet-ops.be>
Date: Mon, 14 Jul 2003 19:07:09 GMT
NNTP-Posting-Host: 81.164.36.61
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1058209629 81.164.36.61 (Mon, 14 Jul 2003 21:07:09 MET DST)
NNTP-Posting-Date: Mon, 14 Jul 2003 21:07:09 MET DST