Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.sys.apple2    |    Discussion about Apple II micros    |    56,720 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 56,186 of 56,720    |
|    stephenheumann@gmail.com to Tom Thumb    |
|    Re: Why and wmTaskData4 ?    |
|    01 Jun 23 11:05:04    |
   
   From: stephen...@gmail.com   
      
   On Thursday, June 1, 2023 at 11:25:59 AM UTC-5, Tom Thumb wrote:   
   > On Wednesday, May 31, 2023 at 3:17:30 PM UTC-4, Tom Thumb wrote:   
   > > Mike Westerfield's "Toolbox Programming in C" contains a routine:    
   > >    
   > > void HandleControl (void)    
   > > {    
   > > if ((myEvent.wmTaskData4 & 0xFFFF8000) == 0)    
   > > switch (myEvent.wmTaskData4) {    
   > >    
   > > ...    
   > >    
   > > I can find no explanation for doing this. I believe it's just testing if   
   any of the bits 17 - 31 have been set to one?    
   > >    
   > > I'd be grateful if someone would explain why this is being done. I imagine   
   I've missed something there or the IIgs Reference Manuals.   
   > Oh, it's checking to see if wmTaskData4 is less than 32768   
      
   Yes, that's correct. In this case wmTaskData4 holds a control ID value, and   
   all the control IDs that the code wants to check for are less than 32768. The   
   "if" check is OK, but it's not really necessary, since the code could just   
   check for the control IDs    
   of interest via the "switch".   
      
   I suspect the "if" check is there because the code was originally written in   
   Pascal for the Toolbox Programming in Pascal course and then later translated   
   to C. The "case" statement in ORCA/Pascal can only handle values up to 32767,   
   making a check like    
   this necessary, but the "switch" statement in C does not have the same   
   limitation.   
      
   --    
   Stephen Heumann   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca