#pragma rtGlobals=1 // Use modern global access method. // Make Menue Menu "OceanOptics" "&Load_HighSpeedAcq" , LoadOO() end //This macro let's you choose file name and loads and displays the first spectrum with the correct x-axis . Macro LoadOO() string/G myfilename // this string and the next variable are globals that can be used from any procedure variable/G framenumber=2 myfilename=DoOpenFileDialog() loadwave /A=junk /J/L={0,1,0,0,1} myfilename duplicate /O junk0,xaxis killwaves junk0 loadwave /A=junk /J/L={0,1,0,1,1} myfilename duplicate /O junk0,tempwave killwaves junk0 display /W=(100,100,600,400) tempwave vs xaxis showinfo TextBox/C/N=text0/F=0/A=MC myfilename controlbar 80 Button ScrollFor, pos={70,0} ,size={50,20}, frame=1, proc=open1, title=">" controlbar 80 Button ScrollBac, pos={364,0} ,size={50,20}, frame=1, proc=open2, title="<" end macro // This function invokes open file dialogue but does not open file instead it simply returns the chosen file name. Function/S DoOpenFileDialog() Variable refNum String message = "Select a file" String outputPath Open/D/R/M=message refNum outputPath = S_fileName return outputPath // Will be empty if user canceled End macro open1(ctrlname) string ctrlname //string afilename //variable framenumber loadwave /A=junk /J/L={0,1,0,framenumber,1} myfilename duplicate /O junk0,tempwave killwaves junk0 framenumber+=1 integratespec(pcsr(A),pcsr(B)) end Macro open2(ctrlname) string ctrlname //string afilename //variable framenumber loadwave /A=junk /J/L={0,1,0,framenumber,1} myfilename duplicate /O junk0,tempwave killwaves junk0 framenumber-=1 end macro integratespec(start, stop) variable start variable stop variable summ variable z=start do summ+=tempwave[z]-tempwave[start] z+=1 while (z