Ignore:
Timestamp:
Jun 19, 2008 3:10:46 PM (14 years ago)
Author:
srkline
Message:

Last minute tweaks before summer school

File:
1 edited

Legend:

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

    r328 r388  
    771771 
    772772End 
     773 
     774 
     775// testing, very dangerous batch changing of the file header labels 
     776// 
     777// testStr is the string at the front of a label, that will be moved to the "back" 
     778// if doIt is 1, it will write to the headers, any other value will only print to history 
     779Function MPatchLabel(testStr,doIt) 
     780        String testStr 
     781        Variable doIt 
     782 
     783//      SVAR list = root:myGlobals:Patch:gPatchList 
     784        String list = GetValidPatchPopupList() 
     785 
     786        Variable numitems,ii 
     787        numitems = ItemsInList(list,";") 
     788         
     789        if(numitems == 0) 
     790                Abort "no items in list for multiple patch" 
     791        Endif 
     792         
     793        String partialName="", tempName = "" 
     794        Variable ok,nvars = 20 
     795         
     796        //loop through all of the files in the list, applying changes as dictated by w and wt waves 
     797        string str1,str2,str3 
     798        Variable match,loc,len,spc,jj,len1 
     799        len=strlen(testStr) 
     800        ii=0 
     801        do 
     802                //get current item in the list 
     803                partialName = StringFromList(ii, list, ";") 
     804                    
     805                //get a valid file based on this partialName and catPathName 
     806                tempName = FindValidFilename(partialName) 
     807         
     808                //prepend path to tempName for read routine  
     809                PathInfo catPathName 
     810                tempName = S_path + tempName 
     811         
     812                //make sure the file is really a RAW data file 
     813                ok = CheckIfRawData(tempName) 
     814                if (!ok) 
     815                   Print "this file is not recognized as a RAW SANS data file = ",tempName 
     816                else 
     817                   //go write the changes to the file 
     818                   str1 = getSampleLabel(tempName) 
     819                        match = strsearch(str1, testStr, 0) 
     820                        if(match != -1) 
     821                                str2 = ReplaceString(testStr, str1, "", 0, 1) 
     822                                 
     823                                jj=strlen(str2) 
     824                                do 
     825                                        jj -= 1 
     826                                        spc = cmpstr(str2[jj], " ", 0) 
     827                                        if (spc != 0) 
     828                                                break           //no more spaces found, get out 
     829                                        endif 
     830                                While(1)        // jj is the location of the last non-space 
     831                                 
     832                                str2[jj+2,jj+1+len] = testStr 
     833                         
     834                        // may need to remove leading spaces??? 
     835                                str2 = PadString(str2, 60, 0x20 ) 
     836                                 
     837                                if(doIt == 1) 
     838                                        WriteSamLabelToHeader(tempName,str2) 
     839                                        print str2," ** Written to file **" 
     840                                else 
     841                                        //print str2,strlen(str2) 
     842                                        print str2," ** Testing, not written to file **" 
     843                                endif 
     844                        else 
     845                                 
     846                                jj=strlen(str1) 
     847                                do 
     848                                        jj -= 1 
     849                                        spc = cmpstr(str1[jj], " ", 0) 
     850                                        if (spc != 0) 
     851                                                break           //no more spaces found, get out 
     852                                        endif 
     853                                While(1) 
     854         
     855                                //print str1, jj, str1[jj]       
     856                        endif 
     857                Endif 
     858                 
     859                ii+=1 
     860        while(ii<numitems) 
     861 
     862 
     863end 
Note: See TracChangeset for help on using the changeset viewer.