Ignore:
Timestamp:
Sep 15, 2010 4:48:46 PM (12 years ago)
Author:
srkline
Message:

added a wildcard to the SDD selector for the Patch Panel.

now can use wild card at the END of the distance. the actual distance is round(SDD), so 13* will find 13.17m, and 4* will find the ICE-reported 3.9995m

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/SANS/PatchFiles.ipf

    r573 r741  
    237237         
    238238        // SDD 
     239        Variable pos 
     240        String SDDStr="" 
    239241        if(gRadioVal == 3) 
    240                 val = str2num(match) 
     242                pos = strsearch(match, "*", 0) 
     243                if(pos == -1)           //no wildcard 
     244                        val = str2num(match) 
     245                else 
     246                        val = str2num(match[0,pos-1]) 
     247                endif 
     248                 
    241249//              print val 
    242250                for(ii=0;ii<num;ii+=1) 
     
    244252                        fname = path + item 
    245253                        sdd = getSDD(fname) 
    246                         if(abs(val - sdd) < 0.001       )               //if numerically within 0.001 meter, they're the same 
    247                                 list += item + ";" 
     254                        if(pos == -1) 
     255                                //no wildcard 
     256                                if(abs(val - sdd) < 0.01        )               //if numerically within 0.01 meter, they're the same 
     257                                        list += item + ";" 
     258                                endif 
     259                        else 
     260                                //yes, wildcard, try a string match? 
     261                                // string match doesn't work -- 1* returns 1m and 13m data 
     262                                // round the value (or truncate?) 
     263                                 
     264                                //SDDStr = num2str(sdd) 
     265                                //if(strsearch(SDDStr,match[0,pos-1],0) != -1) 
     266                                //      list += item + ";" 
     267                                //endif 
     268                                 
     269                                if(abs(val - round(sdd)) < 0.01 )               //if numerically within 0.01 meter, they're the same 
     270                                        list += item + ";" 
     271                                endif 
     272         
    248273                        endif 
    249274                endfor 
Note: See TracChangeset for help on using the changeset viewer.