home *** CD-ROM | disk | FTP | other *** search
-
- {$D- , N-, R-, O-, S-}
- Uses Dbwin, Tbase, Crt , Dbdate, DbStr, Dbedit;
-
- Var mine : ^DBF ;
-
- {$F+} (* Only a far procedure can be passed in SetHelpProc *)
- Procedure MyEditHelp;
- Var Ch : Char ;
- Begin
- OpenWindow(5,5,75,20, ' Help - Editing Keys ', ' Press Any Key ',
- white + 16*blue , black + 16*Green );
- Writeln(' Standard Edit Keys Special for this program only');
- Writeln;
- Writeln(' Left : Move cursor Left PgUp : Previous Record');
- Writeln(' Right : Move cursor right PgDn : Next Record');
- Writeln(' Up : Move to Previous Field Ctrl-Pgup : Move to First record');
- Writeln(' Down : Move to next Field Ctrl-PgDn : Move to Last record');
- Writeln(' Ctrl-Left:Move to Previous word Ctrl-N : Append Blank record');
- Writeln(' Ctrl-Right: Move to next word F1 : This Help ');
- Writeln(' Home : Move Cursor to Start Ctrl-End : Quit ');
- Writeln(' End : Move cursor to End Alt-X : Quit ');
- Writeln(' ESC : Restore Line Ctrl_Brk : Restore Record');
- Writeln(' INS : Toggles insert/overwrite mode ');
- Writeln;
- Write(' Nasir Haniffa. BITNET ( ACDH083@SAUPM00.BITNET ) ');
- Repeat until keypressed ;
- While Keypressed do ch := Readkey ;
- CloseWindow;
-
- End;
- {$F-}
- Procedure Screen;
- (* Draws editing screen *)
- Begin
- OpenWindow(1,3,67,23,' Editing Demo ' ,' Ctrl-End = Exit ' ,
- white + blue*16, Yellow + 16*blue );
- GotoXy(2,1); Write('Name of Procedure : ');
- GotoXy(2,3); Write('Description ');
- GotoXy(2,7); Write('Syntax ');
- GotoXy(2,10); Write('Remark ');
- GotoXy(2,14); Write('Warning ');
- GotoXy(2,17); Write('See Also ');
- End;
-
- Procedure GetData ;
-
- Begin
- GotoXy( 55, 1 ) ;
- Write( Cstr( mine^.RecNo,3,0) + '/' + Cstr(Mine^.RecCount,3,0) );
- SetEditColor( White , cyan ); (* Set edit color *)
- SetHelpProc( MyEditHelp ); (* You can even assign help for each field *)
- get(20, 0, Mine , 'Name');
- get( 2, 3, Mine , 'Discript1');
- get( 2, 4, Mine , 'Discript2');
- get( 2, 7, Mine , 'Use1');
- get( 2, 8, Mine , 'Use2 ');
- get( 2, 10, Mine , 'Remark1');
- get( 2, 11, Mine , 'Remark2');
- get( 2, 12, Mine , 'Remark3');
- get( 2, 14, Mine , 'Warning1');
- get( 2, 15, Mine , 'Warning2');
- SetHelpProc( NoHelp ) ; (* Just to demonstrate.. *)
- get( 2, 17, Mine , 'SeeAlso'); (* Now This field will NOT trigger Help *)
-
- DbRead; (* Ok... Edit them *)
- End;
-
- Begin
- CheckBreak := False;
- Initwindow('');
- WriteHeader(' Manual Writer ');
- GotoXy(1,24);
- WriteFoot(' Press F1 for Help on Editing Keys ');
- Screen;
- New( mine, Init( ParamStr(1) ) );
-
- Repeat
- GetData;
- With Mine^ do
- Case ReadExitCode of
- {PgUp} 4 : PrevRec;
- {PgDn} 5 : Skip ; { PgDn, F10, ENTER all will skip }
- {Ctrl_N} 7 : Begin ClearMemRec; AddDbRec End;
- {Ctrl_Brk} 8 : GetDbrec(Current);
- 9 : GoTop;
- 10 : GoBottom;
- End;
-
- Until ReadExitCode = 6 ;
-
- Dispose(Mine,done ) ;
- CloseWindow; CloseWindow ;
- TextAttr := lightgray ;
- Clrscr;
- End.
-
-