home *** CD-ROM | disk | FTP | other *** search
- ********************
-
- PROCEDURE Inhelp
-
- PARAMETERS phelp, lhelp, vhelp
-
- IF PCOUNT() = 1
- ELSE
- IF TYPE(vhelp) = "A" && Is the variable of ARRAY type?
- vhelp = vhelp + TRANSFORM(ROW(),"99") + ;
- TRANSFORM(COL(), "99")
- ENDIF
- ENDIF
-
- scrcursor = IF( TYPE("scrcursor") = "U", .T., scrcursor)
- scrhname = IF( TYPE("scrhname") != "C", "INHELP", scrhname)
- scrprog = IF( TYPE("scrprog") = "U", "C:", scrprog)
-
- in_help = ""
- drawscr = ""
- in_help = SPACE(4000)
- drawscr = SPACE(4000)
- _hrow = ROW()
- _hcol = COL()
- help_color = SETCOLOR()
- return_to = SELECT()
- _tempscr = ""
- _tempscr = SAVESCREEN(0,0,24,79)
- scrframe = CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
- CHR(188) + CHR(205) + CHR(200) + CHR(186) + ;
- CHR(32)
-
- Setkeyoff()
-
- SETCOLOR(IF( ISCOLOR(), "7/1,0/7,N,N,0/7", ;
- "7/0,0/7,N,N,0/7" ))
- SET SCOREBOARD OFF
- SET FUNCTION 10 TO CHR(23)
-
- IF !FILE(scrprog + "\" + scrhname + ".DBF") && No Help File
- IF Makehelp(1) && Create One with message # 1
- Dohelp() && Do it NOW!
- SELECT (return_to)
- ELSE && Don't create and abort
- RELEASE in_help, drawscr, _tempscr
- SET CURSOR (scrcursor)
- SETCOLOR(help_color)
- Setkeyon()
- RETURN
- ENDIF
- ENDIF
- SELECT 0
- USE (scrprog + "\" + scrhname) INDEX (scrprog + "\" + scrhname) ALIAS Help
- IF PCOUNT() <> 1
- IF TYPE("help_level") = "N"
- search = SUBSTR(phelp,1,10) + SUBSTR(vhelp,1,10) + TRANSFORM(help_level, "9999")
- ELSE
- search = SUBSTR(phelp,1,10) + SUBSTR(vhelp,1,10) + TRANSFORM(lhelp, "9999")
- ENDIF
- ELSE
- search = phelp
- ENDIF
- SEEK search
- IF FOUND()
- Foundhelp()
- ELSE
- IF !Makehelp(2)
- RELEASE in_help, drawscr, _tempscr
- SET CURSOR (scrcursor)
- SETCOLOR (help_color)
- RETURN
- ENDIF
- APPEND BLANK
- IF TYPE("help_level") = "N"
- REPLACE Help->lookit WITH SUBSTR(phelp,1,10) + SUBSTR(vhelp,1,10) + TRANSFORM(help_level,"9999")
- ELSE
- REPLACE Help->lookit WITH SUBSTR(phelp,1,10) + SUBSTR(vhelp,1,10) + TRANSFORM(lhelp,"9999")
- ENDIF
-
- @ 00,10,03,70 BOX scrframe
- @ 01,15 SAY "Would you like to DUMP the background screen to disk"
- @ 02,29 SAY "for your future use? "
- IF Prompt()
- REPLACE Help->prgscr WITH "HLP" + TRIM(TRANSFORM(RECNO(), "@B99999")) + ".SCR"
- SAVE ALL LIKE _tempscr TO ("HLP" + TRIM(TRANSFORM(RECNO(), "@B99999")) + ".SCR")
- ENDIF
- Drawitnow()
- Typeitnow()
- ENDIF
- RESTSCREEN(0,0,24,79, _tempscr)
- USE
- SELECT (return_to)
- @ _hrow, _hcol SAY ""
- RELEASE in_help, drawscr, _tempscr
- SET CURSOR (scrcursor)
- SETCOLOR(help_color)
- Setkeyon()
-
- ******************
-
- FUNCTION Makehelp
-
- PARAMETERS _whichmess
-
- @ 00,10,03,70 BOX scrframe
-
- IF _whichmess = 1
- @ 01,12 SAY "There is no HELP file available. " + ;
- "Would you like a help "
- @ 02,27 SAY "file to be generated? "
- ELSEIF _whichmess = 2
- @ 01,15 SAY "There is no HELP for this section. " + ;
- "Would you like to"
- @ 02,24 SAY "create a HELP screen now? "
- ENDIF
- IF !Prompt()
- RESTSCREEN(0,0,24,79, _tempscr)
- SELECT (return_to)
- SETCOLOR(help_color)
- @ _hrow, _hcol SAY ""
- KEYBOARD ""
- Setkeyon()
- RETURN(.F.)
- ENDIF
- RETURN(.T.)
-
- ********************
-
- PROCEDURE Drawitnow
-
- _dcolor = SETCOLOR()
-
- @ 00,10,03,70 BOX scrframe
- instring = Putframe(2,5)
-
- REPLACE Help->top WITH VAL(Parsing(@instring)), Help->left WITH VAL(Parsing(@instring))
- REPLACE Help->bottom WITH VAL(Parsing(@instring)), Help->right WITH VAL(Parsing(@instring))
-
- SETCOLOR(_dcolor)
-
- ********************
-
- PROCEDURE Typeitnow
-
- @ 00,05,02,75 BOX scrframe
-
- Center_it( 1, "Enter HELP text. ESC to Abandon or F10 to Save")
-
- Windowpush(Help->top, Help->left, Help->bottom, Help->right)
-
- DO WHILE .T.
- IF DELETED()
- @ Help->top, Help->left+2 SAY "< Deleted >"
- ENDIF
- REPLACE Help->helpscr WITH MEMOEDIT(Help->helpscr, ;
- Help->top+1, Help->left+1, Help->bottom-1, ;
- Help->right-1,.T.)
- MEMOEDIT(Help->helpscr, Help->top+1, Help->left+1,;
- Help->bottom-1,Help->right-1,.F.,.F.)
- @ Help->bottom, Help->left+1 SAY " Correct? "
- IF !Prompt()
- LOOP
- ENDIF
- EXIT
- ENDDO
- Helpcolor()
- Windowpop()
-
- *******************
-
- PROCEDURE Helpcolor
-
- _helpstr = "Do you want to change the color?? "
- MEMOEDIT(_helpstr, Help->top + 1, Help->left + 1, Help->bottom-1,Help->right-1,.F.,.F.)
-
- * Replace the bottom frame of the window!
-
- @ Help->bottom, Help->left+1 SAY REPLICATE(The_char(Help->top, Help->left+1), ;
- Help->right - Help->left - 1)
- @ Help->bottom-1, Help->left + 1 SAY ""
-
- IF Prompt()
- _holdcolor = Set_color(Attribute(Help->top, ;
- Help->left))
- _startcolr = Attribute(Help->top, Help->left)
- _retcolor = _startcolr
- SET CURSOR OFF
- @ 00,00,02,79 BOX scrframe
- @ 01,03 SAY " + to increment / - to decrement / " + ;
- "ESC to Quit / TAB for Original Color"
- DO WHILE .T.
- _dokey = INKEY(0)
- IF CHR(_dokey) = "+"
- _startcolr = IF(_startcolr = 127, 1, ;
- _startcolr + 1)
-
- ELSEIF CHR(_dokey) = "-"
- _startcolr = IF(_startcolr = 1, 127, ;
- _startcolr - 1)
-
- ELSEIF _dokey = 9
- _startcolr = _retcolor
-
- ELSEIF _dokey = 27
- EXIT
- ELSE
- LOOP
- ENDIF
- RESTSCREEN(Help->top, Help->left-1, Help->bottom, ;
- Help->right+1, Dulling(SAVESCREEN(Help->top, ;
- Help->left-1, Help->bottom, Help->right+1), ;
- _startcolr) )
- ENDDO
- ENDIF
- REPLACE Help->helpcolor WITH Set_color(Attribute(Help->top, Help->left))
-
- *******************
-
- PROCEDURE Foundhelp
-
- _fcolor = SETCOLOR()
-
- IF !EMPTY(Help->helpcolor)
- SETCOLOR(Help->helpcolor)
- ENDIF
-
- Windowpush(Help->top, Help->left, Help->bottom, Help->right)
-
- IF DELETED()
- @ Help->top, Help->left+2 SAY "< Deleted >"
- ENDIF
- SET CURSOR ON
- @ Help->bottom, Help->left+1 SAY "< ESC to Quit >"
- MEMOEDIT(Help->helpscr, Help->top + 1, Help->left+1, Help->bottom-1, ;
- Help->right-1,.F., "SCRONLY2()")
- Windowpop()
-
- SETCOLOR(_fcolor)
-
- ********************
-
- FUNCTION Scronly2
-
- PARAMETERS p1, p2, p3
-
- wh = LASTKEY()
- IF wh = 27
- KEYBOARD CHR(27)
- RETURN(0)
- ELSEIF wh = 5 .OR. wh = 24 .OR. wh = 4 .OR. wh = 19
- RETURN(0)
- ELSE
- RETURN(32)
- ENDIF
-
- ********************
-
- PROCEDURE Dohelp
-
- _backto = SELECT()
- SELECT 0
- CREATE Temp
- USE Temp
-
- Ap_it("LOOKIT", "C", 24 ) && The search string
- Ap_it("TOP", "N", 2 ) && Row coordinate
- Ap_it("LEFT", "N", 2 ) && Col coordinate
- Ap_it("BOTTOM", "N", 2 ) && Row coordinate
- Ap_it("RIGHT", "N", 2 ) && Col coordinate
- Ap_it("TOPIC", "C", 20 ) && Topic this falls in
- Ap_it("COUNTER", "N", 10, 2 ) && Generic counter for text
- Ap_it("HELPSCR", "M", 10 ) && Help Text
- Ap_it("HELPCOLOR","C", 15 ) && THe color of the help screen
- Ap_it("PRGSCR", "C", 12 ) && Text file with screen
- Ap_it("MORE_TEXT", "M", 10) && Additional Text : for help text memos, it is the 'PRE_TEXT' field
- Ap_it("POST_TEXT", "M", 10) && Additional text : for help text memos, it is the 'POST_TEXT' field
-
- USE
- CREATE (scrprog + "\" + scrhname) FROM Temp
- ERASE Temp.dbf
- USE (scrprog + "\" + scrhname)
- INDEX ON lookit TO (scrprog + "\" + scrhname)
- USE
- SELECT (_backto)
-
- ********************
-
- PROCEDURE Temphelp
-
- old_color = SETCOLOR()
- SET COLOR TO W+*
- @ temp_top, temp_left, temp_bot, temp_right BOX SUBSTR(scrframe,1,8)
- SETCOLOR(old_color)
-