home *** CD-ROM | disk | FTP | other *** search
- *******************
-
- PROCEDURE Edithelp
-
- PARAMETERS p, l, v
-
- IF PCOUNT() = 1
- ELSE
- IF TYPE(v) = "A" && Is the variable of ARRAY type?
- v = v + TRANSFORM(ROW(),"99") + ;
- TRANSFORM(COL(), "99")
- ENDIF
- ENDIF
-
- scrcursor = IF( TYPE("scrcursor") = "U", .T., scrcursor)
- scrhname = IF( TYPE("scrhname") = "U", "INHELP", scrhname)
- scrprog = IF( TYPE("scrprog") = "U", "C:", scrprog)
-
- SET KEY -10 TO
- SET KEY -20 TO
- SET KEY -30 TO
- SET KEY 28 TO
-
- _hrow = ROW()
- _hcol = COL()
- help_color = SETCOLOR()
- in_help = ""
- drawscr = ""
- in_help = SPACE(4000)
- drawscr = SPACE(4000)
- scrframe = CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
- CHR(188) + CHR(205) + CHR(200) + CHR(186) + ;
- CHR(32)
-
- in_help = SAVESCREEN(0,0,24,79)
-
- SET SCOREBOARD OFF
- IF !FILE( scrprog + "\" + scrhname + ".DBF")
-
- RESTSCREEN(0,0,24,79,in_help)
-
- @ _hrow, _hcol SAY ""
- KEYBOARD ""
- RELEASE in_help, drawscr
- SET CURSOR (scrcursor)
- SETCOLOR(help_color)
- SET KEY -10 TO Topichelp
- SET KEY -20 TO Inhelp
- SET KEY -30 TO Edithelp
- SET KEY 28 TO Help
- RETURN
- ENDIF
- goback = SELECT()
- SELECT 0
- USE (scrprog + "\" + scrhname) EXCLUSIVE ALIAS Help
-
- SET INDEX TO (scrprog + "\" + scrhname)
- IF PCOUNT() <> 1
- IF TYPE("help_level") = "N"
- search = SUBSTR(p,1,10) + SUBSTR(v,1,10) + TRANSFORM(help_level, "9999")
- ELSE
- search = SUBSTR(p,1,10) + SUBSTR(v,1,10) + TRANSFORM(l, "9999")
- ENDIF
- ELSE
- search = p
- ENDIF
- SEEK search
- IF !FOUND()
- SETCOLOR(IF( ISCOLOR(), "W/R, I/I", "N/W, W/N" ))
- @ 00,10,03,70 BOX scrframe
- @ 01,11 SAY " There is no HELP for this section. " +;
- "You must ENTER HELP "
- @ 02,11 SAY " before you can EDIT HELP. " +;
- "Any Key to RETURN..."
- INKEY(0)
- ELSE
- _color1 = STRTRAN(Help->helpcolor, "+", "|")
- _color2 = Parsing(@_color1)
- _color3 = "|"$_color2
- _color2 = STRTRAN(_color2, "|", "")
- SETCOLOR(Help->helpcolor)
- Windowpush(Help->top, Help->left, Help->bottom, ;
- Help->right, _color1, _color2, "", "",_color3)
- IF DELETED()
- @ Help->top, Help->left+2 SAY "< Deleted >"
- ENDIF
- MEMOEDIT(Help->helpscr, Help->top+1, Help->left+1,;
- Help->bottom-1,Help->right-1,.F.,.F.)
- Now_edit()
- Windowpop()
- ENDIF
- USE
- SELECT (goback)
- RESTSCREEN(0,0,24,79,in_help)
- SET CURSOR (scrcursor)
- SETCOLOR(help_color)
- @ _hrow, _hcol SAY ""
- SET KEY -20 TO Inhelp
- SET KEY -30 TO Edithelp
- SET KEY 28 TO Help
- SET KEY -10 TO Topichelp
-
- ********************
-
- FUNCTION Scronly
-
- PARAMETERS p1, p2, p3
-
- wh = LASTKEY()
- IF wh = 27
- RETURN(33)
- ELSEIF wh = 5 .OR. wh = 24 .OR. wh = 4 .OR. wh = 19
- RETURN(0)
- ELSE
- RETURN(32)
- ENDIF
-
- ********************
-
- PROCEDURE Now_edit
-
- SET CURSOR OFF
- DO WHILE .T.
- SETCOLOR(Set_color(Attribute(22,00)))
- @ 22,00 CLEAR
- @ 22,00 SAY REPLICATE(CHR(220), 80)
- @ 23,00 SAY " F3 - Drag ▌ F2 - Top-left ▌ F4 - Bottom-right ▌ F10 - Contents ▌ ESC = Quit"
- @ 24,00 SAY " F5 - Copy ▌ F6 - Delete ▌ F7 - Recall ▌ TAB - Color ▌ "
- wait_here = INKEY(0)
- DO CASE
- CASE wait_here = 9
- Editcolor()
- CASE wait_here = 27
- EXIT
- CASE wait_here = -4
- Copyhelp()
- CASE wait_here = -5
- IF Delthelp()
- EXIT
- ENDIF
- CASE wait_here = -6
- Recalhelp()
- CASE wait_here = -2
- Move_it(1)
- CASE wait_here = -1
- Move_it(2)
- CASE wait_here = -3
- Move_it(3)
- CASE wait_here = -9
- Edit_in()
- ENDCASE
- RESTSCREEN(0,0,24,79,in_help)
- SETCOLOR(Help->helpcolor)
- @ Help->top, Help->left, Help->bottom, Help->right BOX scrframe
- IF DELETED()
- @ Help->top, Help->left+2 SAY "< Deleted >"
- ENDIF
- MEMOEDIT(Help->helpscr, Help->top+1, Help->left+1,;
- Help->bottom-1,Help->right-1,.F., .F. )
-
- ENDDO
- SET CURSOR ON
- @ 22, 00 CLEAR
-
- *******************
-
- PROCEDURE Editcolor
-
- _holdcolor = Set_color(Attribute(Help->top, Help->left))
- _startcolr = Attribute(Help->top, Help->left)
- _retcolor = _startcolr
- SET CURSOR OFF
- @ 23,00 CLEAR
- @ 24,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
- REPLACE Help->helpcolor WITH ;
- Set_color(Attribute(Help->top, Help->left))
-
-
- ********************
-
- PROCEDURE Move_it
-
- PARAMETERS _direction
-
- * _direction = 1 The Whole Thing
- * _direction = 2 The Top Left Corner
- * _direction = 3 The bottom right corner
-
- @ 22,00 CLEAR
- IF _direction = 1
- @ 23,29 SAY "DRAG The Help Frame!"
- ELSEIF _direction = 2
- @ 23,20 SAY "Move Top-Left Corner of the Help Frame!"
- ELSE
- @ 23,20 SAY "Move Bottom-Right Corner of the Help Frame!"
- ENDIF
- t_row = Help->top
- t_col = Help->left
- b_row = Help->bottom
- b_col = Help->right
- cursor = 0
- drawscr = SAVESCREEN(0,0,24,79)
- DO WHILE .T.
- @ t_row,t_col,b_row,b_col BOX REPLICATE(CHR(219), 8)
- @ t_row,t_col SAY ""
- cursor = INKEY(0)
- DO CASE
- CASE cursor = 5
- IF _direction = 1
- IF t_row - 1 > - 1
- t_row = t_row - 1
- b_row = b_row - 1
- ENDIF
- ELSEIF _direction = 2
- IF t_row - 1 > - 1
- t_row = t_row - 1
- ENDIF
- ELSE
- IF b_row - 1 > t_row + 1
- b_row = b_row - 1
- ENDIF
- ENDIF
- CASE cursor = 24
- IF _direction = 1
- IF b_row + 1 < 25
- t_row = t_row + 1
- b_row = b_row + 1
- ENDIF
- ELSEIF _direction = 2
- IF t_row + 1 < b_row - 1
- t_row = t_row + 1
- ENDIF
- ELSE
- IF b_row + 1 < 25
- b_row = b_row + 1
- ENDIF
- ENDIF
- CASE cursor = 4
- IF _direction = 1
- IF b_col + 1 < 79
- b_col = b_col + 1
- t_col = t_col + 1
- ENDIF
- ELSEIF _direction = 2
- IF t_col + 1 < b_col - 1
- t_col = t_col + 1
- ENDIF
- ELSE
- IF b_col + 1 < 79
- b_col = b_col + 1
- ENDIF
- ENDIF
- CASE cursor = 19
- IF _direction = 1
- IF t_col - 1 > 2
- t_col = t_col - 1
- b_col = b_col - 1
- ENDIF
- ELSEIF _direction = 2
- IF t_col - 1 > 2
- t_col = t_col - 1
- ENDIF
- ELSE
- IF b_col - 1 > t_col + 1
- b_col = b_col - 1
- ENDIF
- ENDIF
- CASE cursor = 13 .OR. cursor = 27 .OR. cursor = 32
- EXIT
- ENDCASE
- RESTSCREEN(0,0,24,79, drawscr)
- ENDDO
- REPLACE Help->top WITH t_row, Help->bottom WITH b_row, ;
- Help->left WITH t_col, Help->right WITH b_col
-
- ********************
-
- PROCEDURE Edit_in
-
- PARAMETERS p, l, v
-
- @ 23,00 CLEAR
- SET CURSOR ON
- _thiscolor = SETCOLOR()
- DO WHILE .T.
- SETCOLOR(_thiscolor)
- @ 23,06 SAY "Type in the HELPful message you wish to " +;
- "have displayed every time"
- @ 24,06 SAY "the F1 Key is pressed. ESC to Abandon " +;
- "the Message / F10 to Save"
-
- SETCOLOR(Help->helpcolor)
-
- Windowpush(Help->top, Help->left, Help->bottom,;
- Help->right)
-
- IF DELETED()
- @ Help->top, Help->left+2 SAY "< Deleted >"
- ENDIF
- SET FUNCTION 10 TO CHR(23)
- REPLACE Help->helpscr WITH MEMOEDIT(Help->helpscr,;
- Help->top+1,Help->left+1,Help->bottom-1,;
- Help->right-1,.T.)
- SET FUNCTION 10 TO
-
- SETCOLOR(_thiscolor)
- @ 23,00 CLEAR
- @ 23,06 SAY "Please view your changes/edits. All " +;
- "cursor keys work. Press"
- @ 24,06 SAY " the ESC key when finished " +;
- "your review."
-
- SETCOLOR(Help->helpcolor)
-
- Windowpush(Help->top, Help->left, Help->bottom,;
- Help->right)
-
- @ Help->bottom,Help->left+1 SAY " View Mode "
-
- MEMOEDIT(Help->helpscr,Help->top+1,Help->left+1,;
- Help->bottom-1,Help->right-1,.F., ;
- "SCRONLY()")
- @ Help->bottom,Help->left+1 SAY " Correct Now? "
- nogood = !Prompt()
- Windowpop()
- Windowpop()
- IF nogood
- LOOP
- ENDIF
- EXIT
- ENDDO
- SET CURSOR OFF
- SET FUNCTION 8 TO
-
- *******************
-
- PROCEDURE Copyhelp
-
- @ 23,00 CLEAR
- @ 23,01 SAY "ENTER = View Total Screen ▌ Cursor Keys move position bar ▌ P/p for Pack"
- @ 24,01 SAY "TAB = Copy Screen to Current Screen ▌ DEL = Delete/Recall ▌ ESC = Quit "
- _thiscolor = SETCOLOR()
- DECLARE fieldshow[1]
- fieldshow[1] = "SHOWHELP()"
- Windowpush(5,5,20,75)
- whatrec = RECNO()
- search = Help->lookit
- KEYBOARD CHR(31)
- DBEDIT(6,6,19,74,fieldshow,"PROCESS", .F.,;
- "Current Help Screens")
- SEEK search
- Windowpop()
-
- ***************
-
- FUNCTION Showhelp
-
- IF RECNO() = whatrec
- SETCOLOR(Reverse())
- ELSE
- SETCOLOR(_thiscolor)
- ENDIF
- RETURN( IF(DELETED(), "*", " ") + "#" + ;
- TRANSFORM(RECNO(), "999") + " => [" + ;
- Fill_out(SUBSTR(MEMOTRAN(Help->helpscr, ;
- " ", " "), 1, 30) + "]", 35) + " @ " + ;
- Help->lookit )
-
- **************
-
- FUNCTION Process
-
- PARAMETERS themode
-
- IF LASTKEY() = 27
- RETURN(0)
- ELSEIF LASTKEY() = 13
- Windowpush(7,7,21,73)
- MEMOEDIT(Help->helpscr, 8,8,20,72,.F.)
- Windowpop()
- RETURN(1)
- ELSEIF LASTKEY() = 7
- IF DELETED()
- RECALL
- ELSE
- DELETE
- ENDIF
- RETURN(1)
- ELSEIF CHR(LASTKEY()) $ "Pp"
- @ 23,00 CLEAR
- @ 24,00 SAY "Are you sure? "
- IF Prompt()
- @ 24,00 SAY "First, Renaming the screen files."
- GO TOP
- DO WHILE !EOF()
- IF !EMPTY(Help->prgscr)
- file = STRTRAN(Help->prgscr, "HLP", "Q$$")
- Renfile(Help->prgscr, file)
- @ 24,40 SAY "Renaming " + Help->prgscr + " to &file."
-
- REPLACE Help->prgscr WITH STRTRAN(Help->prgscr, "HLP", "Q$$")
-
- ENDIF
- SKIP
- ENDDO
- @ 24,00
- @ 24,00 SAY "Now, packing the file"
- PACK
- @ 24,00
- @ 24,00 SAY "Final step is to rename the files back..."
- GO TOP
- DO WHILE !EOF()
- IF !EMPTY(Help->prgscr)
- Renfile(Help->prgscr, "HLP"+TRIM(TRANSFORM(RECNO(), "@B99999")) + ".SCR" )
- REPLACE Help->prgscr WITH "HLP"+TRIM(TRANSFORM(RECNO(), "@B99999")) + ".SCR"
- ENDIF
- SKIP
- ENDDO
- Delfile("Q*.SCR")
- ENDIF
- KEYBOARD CHR(27)
- RETURN(0)
-
- ELSEIF LASTKEY() = 9
- thishelp = Help->helpscr
- GOTO whatrec
- @ 23,00 CLEAR
- @ 24,00 SAY "Append this to old screen? " +;
- "('No' means REPLACE!) "
- IF Prompt()
- REPLACE Help->helpscr WITH Help->helpscr + ;
- CHR(13)+CHR(10) + thishelp
- ELSE
- REPLACE Help->helpscr WITH thishelp
- ENDIF
- SKIP 0
- COMMIT
- RETURN(0)
- ELSE
- RETURN(1)
- ENDIF
-
- ********************
-
- FUNCTION Delthelp
-
- IF DELETED()
- @ 23,00 CLEAR
- @ 24,00 SAY "Are you SURE you want this removed? "
- IF PROMPT()
- @ 23,00 CLEAR
- @ 24,00 SAY "One Moment!"
- PACK
- RETURN(.T.)
- ENDIF
- ELSE
- DELETE
- ENDIF
- RETURN(.F.)
-
- ********************
-
- FUNCTION Recalhelp
-
- IF DELETED()
- RECALL
- ENDIF
- RETURN(.T.)
-
- * End of File