USE Catalog  

DIM CatId OF ULONG  
DIM filesize OF LONG  
DIM name$ OF 160

dirname$:="work3:FysikDev/MeasureDev/"

OpenCatalog(dirname$,CatId)

WHILE NOT EOC(CatId) DO  
  ReadCatalog(CatId,name$,filesize)
  IF "cpp"=name$(LEN(name$)-2..) THEN
    ScanFile(dirname$+name$)
  ENDIF  
ENDWHILE  
CloseCatalog(CatId)  

PROC ScanFile(name$)
  LOCAL line$ OF 250
  LOCAL text$ OF 80
  LOCAL p OF SHORT, p1 OF SHORT

  OPEN FILE 1,name$,READ
  WHILE NOT EOF(1) DO
    INPUT FILE 1: line$
    IF NOT ("#include" IN line$) THEN
      p:=("""" IN line$)
      WHILE p DO
        p1:=("""" IN line$(p+1..))+p
        text$:=line$(p..p1)
        IF (".font" IN text$) OR ("$VER:" IN text$) OR spaces(text$) THEN
          PRINT text$
        ENDIF
        IF p1=LEN(line$) THEN
          p:=0
        ELSE
          line$:=line$(p1+1..)
          p:=("""" IN line$)
        ENDIF
      ENDWHILE
    ENDIF
  ENDWHILE
  CLOSE FILE 1
ENDPROC ScanFile

FUNC spaces(t$) OF SHORT
  LOCAL i OF SHORT

  i:=2
  WHILE i<=LEN(t$) AND t$(i..i)<>"""" DO 
    IF (t$(i..i)<>" ") THEN
      RETURN FALSE
    ENDIF
    i:+1
  ENDWHILE
  RETURN TRUE
ENDFUNC spaces
