SET TALK OFF
SET SAFETY OFF
*
*  Read Forum Listing into Foxpro/LAN
*
SELE 1
USE NOVA
ZAP
*
PUBLIC DMONTHS
DMONTHS='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'
*
TOREAD='FORUM.DOS'
*
FHANDLE=FOPEN(TOREAD)
*
IF FHANDLE < 0
  WAIT 'CANNOT OPEN INPUT FILE' WINDOW
  RETURN
ENDIF
*
DO WHILE .NOT. FEOF(FHANDLE)
  READTST=''
  DO WHILE .NOT. ( AT('-',READTST,1)=29 .AND. AT('-',READTST,2)=33 )
    READTST=FGETS(FHANDLE)
  ENDDO
  LFNAME=SUBSTR(READTST,1,17)
  LDATE=DCON(SUBSTR(READTST,27,9))
  IF SUBSTR(READTST,36,1)='(' .AND. SUBSTR(READTST,46,1)=')'
    LSIZE=PADL(TRIM(SUBSTR(READTST,48,6)),6,' ')
  ELSE
    LSIZE=PADL(TRIM(SUBSTR(READTST,37,6)),6,' ')
  ENDIF
  LLIB=SUBSTR(READTST,61,LEN(READTST)-60)
  *
  READTST=FGETS(FHANDLE)
  *
  IF AT('[',READTST)=1
    LPPN=TRIM(READTST)
  ENDIF
  *
  READTST=FGETS(FHANDLE)
  READTST=FGETS(FHANDLE)
  LTITLE=SUBSTR(READTST,15,LEN(READTST)-14)
  *
  READTST=FGETS(FHANDLE)
  LKEYWORDS=SUBSTR(READTST,15,LEN(READTST)-14)
  READTST=FGETS(FHANDLE)
  IF LEN(TRIM(READTST))>0
    LKEYWORDS=LKEYWORDS+' '+SUBSTR(READTST,5,LEN(READTST)-4)
    READTST=FGETS(FHANDLE)
  ENDIF
  READTST=FGETS(FHANDLE)
  *
  TEMPFILE=FCREATE('MEMO.TXT')
  DO WHILE LEN(TRIM(READTST))>0
    BYTES=FPUTS(TEMPFILE,ALLTRIM(READTST))
    READTST=FGETS(FHANDLE)
  ENDDO
  FOK=FCLOSE(TEMPFILE)
  FOK=FFLUSH(TEMPFILE)
  *
  SELE 1
  APPE BLANK
  REPLACE FNAME WITH LFNAME
  REPLACE SIZE WITH LSIZE
  REPLACE DATE WITH LDATE
  REPLACE LIB WITH LLIB
  REPLACE PPN WITH LPPN
  REPLACE TITLE WITH LTITLE
  REPLACE KEYWORDS WITH LKEYWORDS
  *
  APPEND MEMO DESCRIPT FROM MEMO.TXT OVERWRITE
  *
  *
ENDDO
*
CLOSE ALL
RETURN
*
FUNCTION DCON
*
PARAMETER TOCONV
*
DSTR=UPPER(SUBSTR(TOCONV,4,3))
MONUM=(AT(DSTR,DMONTHS)+2)/3
NEWDATE=CTOD(LTRIM(STR(MONUM))+'-'+SUBSTR(TOCONV,1,2)+SUBSTR(TOCONV,7,3))
*
RETURN NEWDATE

