Because there is no 
  such thing as a string array. When it's true (the correct or "true" bar is 
  selected) all occurrences are true and when it's false everything is 
  false.
  
  -----Original 
  Message-----
From: 
  amibroker@xxxxxxxxxxxxxxx 
  [mailto:amibroker@xxxxxxxxxxxxxxx] 
  On Behalf Of 
  cstrader232
Sent: 
  Tuesday, May 23, 2006 14:37
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] puzzled by 
  procedure
   
  
  
  
  
  
  as far as I can tell, FA() should 
  and does return TRUE on and only on the bar where foo==33;  That 
  operates as I expect.
 
  
  
  It's FB() that I don't get, 
  because it does not return TRUE only on the bar where foo == 33, but, 
  when the 33 bar is selected, it returns TRUE for every bar in the 
  array.
 
  
  
  As I think about it it must be 
  that FA() is numeric while FB() is array-based.  But how can I get FB() 
  to return an array in which only foo(barcount-10) is 
  true?
 
  
  
  
  
  
  
  
    
    ----- Original Message ----- 
    
 
    
    
    
    Sent: 
    Tuesday, May 23, 2006 4:22 PM
 
    
    Subject: Re: 
    [amibroker] puzzled by procedure
 
    
    
    foo ==33 is not a correct 
    structure.
 
    
    
    == is used as an equality test. 
    Not an assignment of value.
 
    
      
      ----- Original 
      Message ----- 
 
      
      
      
      Sent: 
      Tuesday, May 23, 2006 1:16 PM
 
      
      Subject: 
      [amibroker] puzzled by procedure
 
      
      
      Could someone 
      explain to me why these two function don't work the same way?  
      
 
      
      
      
      
      foo[BarCount-10] = 33;
      procedure FA() {return foo 
      ==33;}
      procedure FB() {return StrFind(NumToStr(foo), "3");}