'---------------------------------------------------- ' F r e q R e p o r t S c r i p t ' 'This is script can quickly show which channels are 'present in a file and what their sampling rate is. ' '12/18/06 '---------------------------------------------------- var gFileInnNum%, gFileInnNam$, gFileInnDir$, aChanNum$, aChanFreq, aChanKind, aChanType$, aChanTitle$, aChanBinSize, pLogX1 := 0, 'Log window pLogY1 := 0, pLogX2 := 30, pLogY2 := 100, pDataX1 := 30, 'scrolling data window pDataY1 := 0, pDataX2 := 100, pDataY2 := 100, i%, ok%, aStr$; gFileInnDir$ := View(App(3)).FileName$(2); 'default, assume data is in the script directory ok% := 1; while ok% = 1 do FilePathSet(gFileInnDir$); gFileInnNum% := FileOpen("",0,1,"Select a file for a Freq Report"); gFileInnNam$ := FileName$(); Window(pDataX1, pDataY1, pDataX2, pDataY2); 'Display it at the bottom of the screen chanshow(-1); if gFileInnNum% < 0 then halt 'user clicked the CANCEL button else View(LogHandle()); 'Make log view the current view EditSelectAll(); 'Select all text in log view EditClear(); 'Delete it Window(pLogX1, pLogY1, pLogX2, pLogY2); 'Display it at the bottom of the screen frontview(loghandle()); aStr$ := "Freq Report on:\n\n " + view(gFileInnNum%).FileName$(3) + view(gFileInnNum%).FileName$(5) + "\n\n"; aStr$ := aStr$ + print$("%5s","Chan") + print$("%10s","Freq") + print$("%14s","Interval") + print$("%12s","Name") + print$("%9s","Type") +"\n"; aStr$ := aStr$ + "---------------------------------------------------" + "\n"; for i% := 1 to 32 do view(gFileInnNum%); aChanKind := chanKind(i%); aChanNum$ := str$(i%); if i% < 10 then achanNum$ := "0" + aChanNum$; endif if aChanKind > 0 then aChanKind := chanKind(i%); aChanTitle$ := chantitle$(i%); aChanBinSize := Binsize(i%); aChanFreq := 1/aChanBinSize; docase case aChanKind = 1 then aChanType$ := print$("%10s","Waveform"); case aChanKind = 2 then aChanType$ := print$("%10s","Event(-)"); case aChanKind = 3 then aChanType$ := print$("%10s","Event(+)"); case aChanKind = 4 then aChanType$ := print$("%10s","Level"); case aChanKind = 5 then aChanType$ := print$("%10s","Marker"); case aChanKind = 6 then aChanType$ := print$("%10s","WaveMark"); case aChanKind = 7 then aChanType$ := print$("%10s","RealMark"); case aChanKind = 8 then aChanType$ := print$("%10s","TextMark"); case aChanKind = 9 then aChanType$ := print$("%10s","RealWave"); endcase; aStr$ := aStr$ + "ch " + aChanNum$ + ": " + print$("%10.2f",aChanFreq) + " " + print$("%10.8f",aChanBinSize) + " " + print$("%10s",aChanTitle$) + aChanType$ + "\n"; else aStr$ := aStr$ + "ch " + aChanNum$ + ": " + "\n"; endif next printlog(aStr$); endif DlgCreate("What do you want to do?"); DlgText("Inspect more files?",1,1); DlgButton(0,"No"); DlgButton(1,"Yes"); ok% := DlgShow(); fileclose(gFileInnNum%,-1); wend fileclose(loghandle(),-1);