home *** CD-ROM | disk | FTP | other *** search
- *********************
-
- PROCEDURE Topichelp
-
- PARAMETERS var1, var2, var3
-
- scrcursor = IF( TYPE("scrcursor") = "U", .T., scrcursor)
- scrhname = IF( TYPE("scrhname") = "U", "INHELP", scrhname)
- scrprog = IF( TYPE("scrprog") = "U", "C:", scrprog)
-
- Setkeyoff()
-
- IF PCOUNT() = 0
- && This came from the Onhelp system
- && and not from the idenpendant system
- ELSE
- IF !FILE(scrprog + "\" + scrhname + ".DBF") && No help file
- Wpush(0,0,4,79,0)
- @ Wrow(2), Wcol(2) SAY "There is no help file. Any key to continue.."
- INKEY(0)
- Wpop()
- Setkeyon()
- RETURN
- ELSE
- _helpret = SELECT()
- SELECT 0
- _hrow = ROW()
- _hcol = COL()
- _hcolor = SETCOLOR()
- USE (scrprog + "\" + scrhname) INDEX (scrprog + "\" + scrhname) ALIAS Help
- ENDIF
- ENDIF
-
- SEEK "START HERE"
-
- PRIVATE top_point[10], top_filt[10]
- AFILL(top_point, 0)
- AFILL(top_filt, "")
-
- IF !FOUND()
- * Display some warning message
- USE
- SELECT (_helpret)
- SETCOLOR( _hcolor )
- @ _hrow, _hcol SAY ""
- ELSE
-
- SET WRAP ON
- topiclevel = 1
- top_filt[topiclevel] = ""
- top_point[topiclevel] = RECNO()
-
- Showtopic("_" + TRIM(Help->more_text))
-
- * Allow them to pick the topic from the screen
-
- IF PCOUNT() = 3
- USE
- SELECT (_helpret)
- SETCOLOR( _hcolor )
- @ _hrow, _hcol SAY ""
- ENDIF
- ENDIF
- Setkeyon()
- SET CURSOR (scrcursor)
-
- *********************
-
- PROCEDURE Showtopic
-
- PARAMETERS t_filt
-
- IF topiclevel > 10 && There is a limit to everything!
- RETURN
- ELSE
- topiclevel = topiclevel + 1
- ENDIF
-
- withwindow = (!EMPTY(Help->top) .AND. !EMPTY(Help->left))
-
- IF EMPTY(Help->bottom) .AND. EMPTY(Help->right)
- ELSE
- IF withwindow
- Windowpush(Help->top, Help->left, Help->bottom, Help->right)
- ENDIF
- ENDIF
-
- top_filt[topiclevel] = TRIM(t_filt)
-
- SET FILTER TO TRIM(Help->lookit) = top_filt[topiclevel]
-
- SEEK top_filt[topiclevel]
-
- IF !EMPTY(Help->bottom) .AND. !EMPTY(Help->right)
- IF withwindow
- SETCOLOR(IF( !EMPTY(Help->helpcolor), Help->helpcolor, SETCOLOR() ) )
- Windowpush(Help->top, Help->left, Help->bottom, Help->right)
- ENDIF
- ENDIF
-
- SET FILTER TO TRIM(Help->lookit) = top_filt[topiclevel] .AND. ( EMPTY(Help->bottom) .AND. EMPTY(Help->right) )
-
- SEEK top_filt[topiclevel]
-
- top_point[topiclevel] = RECNO()
- DO WHILE .T.
- GO top_point[topiclevel]
-
- which = Topicpmpts(RECNO())
-
- GO top_point[topiclevel]
-
- IF !EMPTY(which)
- which = (which - 1)
- FOR devil = 1 TO which
- SKIP
- NEXT
- IF "|" $ Help->more_text
- oldfilt = DBFILTER()
- SET FILTER TO
- item = Help->more_text
- irec = RECNO()
- SEEK item
- IF FOUND()
- oldcolor = SETCOLOR()
- SETCOLOR(TRIM(Help->helpcolor))
- SET CURSOR ON
- Wpush(Help->top, Help->left, Help->bottom, Help->right)
- MEMOEDIT(Help->helpscr, Help->top+1, Help->left+1, Help->bottom-1, Help->right-1, .F.)
- Wpop()
- SET CURSOR OFF
- SETCOLOR(oldcolor)
- ENDIF
- GO irec
- SET FILTER TO TRIM(Help->lookit) = top_filt[topiclevel] .AND. ( EMPTY(Help->bottom) .AND. EMPTY(Help->right) )
-
- ELSEIF !EMPTY(Help->more_text)
-
- Showtopic("_" + TRIM(Help->more_text))
-
- SET FILTER TO TRIM(Help->lookit) = top_filt[topiclevel] .AND. ( EMPTY(Help->bottom) .AND. EMPTY(Help->right) )
- GO TOP
-
- ENDIF
- ELSE
- EXIT
- ENDIF
- ENDDO
- IF withwindow
- Windowpop()
- ENDIF
- topiclevel = topiclevel - 1
- GO top_point[topiclevel]
-
- ********************
-
- FUNCTION Topicpmpts
-
- PARAMETERS _righthere
-
- _others = Help->counter
- _un = 1
-
- FOR _do = _un TO _others
- _say = TRIM(Help->helpscr)
- Parsing(@_say, "[")
- _say = SUBSTR(_say, 1, LEN(_say)-1)
- @ Help->top, Help->left PROMPT _say
- SKIP
- NEXT
- _temp = 1
- GO _righthere
- MENU TO _temp
- RETURN(_temp)
-
- * End of File