Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : SHELPV12.ZIP
Filename : HELP.PRG

 
Output of file : HELP.PRG contained in archive : SHELPV12.ZIP

*==========================================================================
* Help.prg
* Project Name: helpdemo
* Project Description: Demo of Superhelp
* Written By: Darryl Strickland
*
* Help System Generated by Superhelp Codegen v1.2
* Generated May 7, 1990
* Copyright (c) by DJS Applications
*
* Help Methods - Simulated Memoedit
* Superhelp Codegen Reference File Produced (Sdemo.Ref)
* Help System Requires Superhlp.Lib at Link Time
*
* Thank you for using Superhelp Code Generator v1.2 - DJS Applications
*==========================================================================
PARAMETER mproc,mline,mvar
PRIVATE rowhlp,colhlp,hlphandle,toprow,leftcol,botrow,rightcol,header,;
footer,headcol,footcol,wincolor,shadclrf,shadclrb,frame,midbar,;
wintype,shadtype,xplode,iplode,xplodetxt,hlpspacer,old_color,old_scr,;
headcolor,footcolor,framecolor,badfile,hlpsize,burnsize,theader
rowhlp = ROW()
colhlp = COL()
SET KEY 28 TO
old_color = SETCOLOR()
old_scr = savescreen(0,0,24,79)
badfile = .F.
IF FILE("SDEMO.REF")
hlphandle = Fopen("SDEMO.REF")
hlpsize = Fseek(hlphandle,0,2)
Fseek(hlphandle,-7,2)
burnsize = space(7)
Fread(hlphandle,@burnsize,7)
Fseek(hlphandle,0)
IF hlpsize != Val(burnsize)
Badfile = .T.
Endif
Else
Badfile = .T.
Endif
IF Badfile
SETCOLOR("W+/RB")
@09,20,13,60 Box "ÖÄ·º½ÄÓº "
@09,22 SAY "¶ Help Error Ç"
@11,22 SAY "Please restore SDEMO.REF from disk"
@13,25 SAY "¶ Superhelp Codegen v1.2 Ç"
INKEY(10)
SETCOLOR(OLD_COLOR)
SET KEY 28 TO HELP
@rowhlp,colhlp say ""
RESTSCREEN(0,0,24,79,old_scr)
RETURN
ENDIF
DO CASE
CASE mproc == "HELPDEMO" .AND. mvar == "A".AND. colhlp == 44 .AND. rowhlp == 5
PRIVATE helpline[48]
HELPPREP(175,3485,70,48,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "B".AND. colhlp == 44 .AND. rowhlp == 6
PRIVATE helpline[58]
HELPPREP(3660,4069,68,58,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "C".AND. colhlp == 44 .AND. rowhlp == 7
PRIVATE helpline[13]
HELPPREP(7729,658,41,13,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "D".AND. colhlp == 44 .AND. rowhlp == 8
PRIVATE helpline[20]
HELPPREP(8387,885,38,20,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "E".AND. colhlp == 44 .AND. rowhlp == 9
PRIVATE helpline[48]
HELPPREP(9272,3581,72,48,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "F".AND. colhlp == 44 .AND. rowhlp == 10
PRIVATE helpline[5]
HELPPREP(12853,495,74,5,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "G".AND. colhlp == 44 .AND. rowhlp == 11
PRIVATE helpline[5]
HELPPREP(13348,490,73,5,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "H".AND. colhlp == 44 .AND. rowhlp == 12
PRIVATE helpline[77]
HELPPREP(13838,5823,74,77,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "I".AND. colhlp == 44 .AND. rowhlp == 13
PRIVATE helpline[120]
HELPPREP(19661,9005,74,120,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "J".AND. colhlp == 44 .AND. rowhlp == 14
PRIVATE helpline[12]
HELPPREP(28666,989,72,12,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "K".AND. colhlp == 44 .AND. rowhlp == 15
PRIVATE helpline[16]
HELPPREP(29655,1261,71,16,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "L".AND. colhlp == 44 .AND. rowhlp == 16
PRIVATE helpline[4]
HELPPREP(30916,401,69,4,1,.F.)
CASE mproc == "HELPDEMO" .AND. mvar == "M".AND. colhlp == 44 .AND. rowhlp == 17
PRIVATE helpline[14]
HELPPREP(31317,1119,71,14,1,.F.)
OTHERWISE
SETCOLOR("W+/RB")
@09,20,13,60 Box "ÖÄ·º½ÄÓº "
@09,22 SAY "¶ No Help Found Ç"
@11,25 SAY "Superhelp Code Generator v1.2"
@13,26 SAY "¶ Press any key to continue Ç"
INKEY(10)
SETCOLOR(OLD_COLOR)
SET KEY 28 TO HELP
@rowhlp,colhlp say ""
RESTSCREEN(0,0,24,79,old_scr)
RETURN
ENDCASE
DSPHELP()
SETCOLOR(OLD_COLOR)
SET KEY 28 TO Help
FCLOSE(hlphandle)
@rowhlp,colhlp say ""
RESTSCREEN(0,0,24,79,old_scr)
RETURN

FUNCTION DSPHELP
PRIVATE text_cnt, text_max, scrn_size,startrow,pagetxt,outer_loop,noframes
IF ISCOLOR()
SETCOLOR(wincolor)
ELSE
SETCOLOR("N/W")
ENDIF
IF xplode
noframes=xplodebx(toprow,leftcol,botrow,rightcol,frame,iplode)
ELSE
@ toprow,leftcol clear to botrow,rightcol
SETCOLOR(framecolor)
@ toprow,leftcol,botrow,rightcol BOX frame
ENDIF
SETCOLOR(framecolor)
DO CASE
CASE wintype = 1
@toprow,headcol-1 say substr(midbar,2,1)
@toprow,headcol+len(trim(header)) say substr(midbar,1,1)
CASE wintype = 2
@toprow+2,leftcol say replicate(substr(frame,2,1),rightcol-leftcol)
@toprow+2,leftcol say substr(midbar,1,1)
@toprow+2,rightcol say substr(midbar,2,1)
ENDCASE
SETCOLOR(wincolor)
DO CASE
CASE Shadtype = "R"
tshadow(BotRow + 1,leftCol - 1,BotRow + 1,RightCol - 1,SHADclrf,SHADclrb)
tshadow(TopRow + 1,LeftCol - 1,BotRow + 1,LeftCol - 1,SHADclrf,SHADclrb)
CASE Shadtype = "S"
tshadow(BotRow + 1,LeftCol + 1,BotRow + 1,RightCol + 1,SHADclrf,SHADclrb)
tshadow(TopRow + 1,RightCol + 1,BotRow + 1,RightCol + 1,SHADclrf,SHADclrb)
CASE Shadtype = "H"
_Shadow(TopRow + 1, LeftCol - 1, BotRow + 1, RightCol - 1)
OTHERWISE
tshadow(BotRow + 1,LeftCol + 1,BotRow + 1,RightCol + 1,SHADclrf,SHADclrb)
tshadow(TopRow + 1,RightCol + 1,BotRow + 1,RightCol + 1,SHADclrf,SHADclrb)
ENDCASE

IF !empty(header)
SETCOLOR(headcolor)
IF wintype = 1
@ toprow, headcol SAY TRIM(header)
ELSE
Theader = Trim(header)
@ toprow+1, leftcol+1 say space(headcol-leftcol)+Theader+space((rightcol-1-headcol)-LEN(Theader))
ENDIF
SETCOLOR(wincolor)
ENDIF
IF !empty(footer)
SETCOLOR(framecolor)
@botrow, footcol SAY substr(midbar,2,1)
@botrow, footcol+1+LEN(TRIM(footer)) SAY substr(midbar,1,1)
SETCOLOR(footcolor)
@ botrow, footcol+1 SAY TRIM(footer)
SETCOLOR(wincolor)
ENDIF
pagetxt = xplodetxt
SET CURSOR OFF
text_cnt = 1
text_max = len(helpline)
IF wintype = 1
scrn_size = botrow - (toprow+2)
startrow = toprow + 1
ELSE
scrn_size = botrow - (toprow+4)
startrow = toprow + 3
ENDIF
outer_loop = .T.
DO WHILE outer_loop
FOR curr_line = startrow TO startrow+scrn_size
IF text_cnt > text_max
@ curr_line,leftcol+1 SAY space(rightcol-(leftcol+1))
ELSE
IF xplodetxt .and. pagetxt
xplodehlp(helpline[text_cnt],curr_line,(leftcol+((rightcol-leftcol)/2))+hlpspacer)
ELSE
@ curr_line,leftcol+1 SAY helpline[text_cnt]
ENDIF
ENDIF
text_cnt = text_cnt + 1
NEXT
SETCOLOR(framecolor)
IF text_cnt < text_max
@ botrow-1,rightcol SAY CHR(25)
ELSE
@ botrow-1,rightcol SAY substr(frame,8,1)
ENDIF
IF text_cnt - scrn_size > 2
@ toprow+1,rightcol SAY CHR(24)
ELSE
@ toprow+1,rightcol SAY substr(frame,8,1)
ENDIF
SETCOLOR(wincolor)
IF text_cnt > Text_max
Text_cnt = Text_max
ENDIF
DO WHILE .T.
pagetxt = .f.
INKEY(0)
DO CASE
CASE LASTKEY() = 18
text_cnt = MAX((text_cnt-1) - (scrn_size*2), 1)
pagetxt = .t.
EXIT
CASE LASTKEY() = 5 .AND. (text_cnt-scrn_size > 1 )
text_cnt = text_cnt - (scrn_size + 2)
EXIT
CASE LASTKEY() = 24 .AND. (text_cnt-1 < text_max)
text_cnt = text_cnt - (scrn_size)
EXIT
CASE LASTKEY() = 3 .AND. (text_cnt < text_max)
text_cnt = text_cnt
pagetxt = .t.
EXIT
CASE LASTKEY() = 27
outer_loop = .F.
EXIT
ENDCASE
ENDDO
IF text_cnt < 1
text_cnt = 1
ENDIF
IF text_cnt > text_max
text_cnt = text_max - (scrn_size - 1)
ENDIF
ENDDO
SET CURSOR ON
IF xplode .and. iplode
Iplodebx(noframes)
RELEASE x_scrn
ENDIF
RETURN""

  3 Responses to “Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : SHELPV12.ZIP
Filename : HELP.PRG

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/