home *** CD-ROM | disk | FTP | other *** search
- ********************************
- * EXAMPL03.PRG *
- * Written By Gregory A. Martin *
- ********************************
-
- * This program examines how a network affects Clipper's view of a file.
- * NOTE: This program (unlike example 1-7) is runnable.
-
- PRIVATE Choice
-
- DO Startup
-
- IF .not. G_USE("Exampl03", "", "Example", .f., .f.)
- RETURN
- ENDIF
-
- DO PaintScreen
- DO WHILE .t.
- DO UpdateScreen
- Choice = GetChoice()
- DO CASE
- CASE Choice = 1
- * DO Nothing
- CASE Choice = 2
- DO EditRec
- CASE Choice = 3
- DO GotoRecord
- CASE Choice = 4
- DO SkipRecord
- CASE Choice = 5
- G_RLOCK(forever)
- CASE Choice = 6
- UNLOCK
- CASE Choice = 7
- SKIP 0
- CASE Choice = 8
- COMMIT
- CASE Choice = 9
- APPENDBLANK(.f.)
- CASE Choice = 10
- EXIT
- ENDCASE
- ENDDO
-
- USE
- RETURN
-
-
- PROCEDURE PaintScreen
- SET COLOR TO &SCR_color
- CLEAR SCREEN
- SET COLOR TO &SAY_color
- @ 06, 08 TO 17, 28 DOUBLE
- @ 08, 38 TO 14, 67
- @ 09, 41 SAY "Record Number:"
- @ 11, 49 SAY "EOF():"
- @ 13, 40 SAY "Field Contents:"
- RETURN
-
-
- PROCEDURE UpdateScreen
- SET COLOR TO &GET_color
- @ 09, 56 SAY RECNO() PICTURE "99"
- @ 11, 56 SAY IIF(EOF(), "TRUE ", "FALSE")
- @ 13, 56 SAY Example->String
- RETURN
-
-
- FUNCTION GetChoice
- PRIVATE Key
- SET COLOR TO &SAY_color, &GET_color
- @ 07, 10 PROMPT "1. Repaint Screen"
- @ 08, 10 PROMPT "2. Edit Record "
- @ 09, 10 PROMPT "3. GOTO Record __"
- @ 10, 10 PROMPT "4. SKIP __ "
- @ 11, 10 PROMPT "5. RLOCK() "
- @ 12, 10 PROMPT "6. UNLOCK "
- @ 13, 10 PROMPT "7. SKIP 0 "
- @ 14, 10 PROMPT "8. COMMIT "
- @ 15, 10 PROMPT "9. APPEND BLANK "
- @ 16, 10 PROMPT "Q. Quit "
- Key = 1
- MENU TO Key
- IF Key = 0
- Key = 10
- ENDIF
- RETURN(Key)
-
-
- PROCEDURE EditRec
- PRIVATE String
- String = Example->String
- SET COLOR TO &SCR_color, &GET_color,,, &SEL_color
- @ 23, 22 SAY "Enter New String Contents" GET m->String
- READ
- IF LASTKEY() <> Esc
- REPLACE Example->String WITH m->String
- ENDIF
- @ 23, 22
- RETURN
-
-
- PROCEDURE GotoRecord
- PRIVATE RecNo
- RecNo = RECNO()
- SET COLOR TO &SCR_color, &GET_color,,, &SEL_color
- @ 23, 25 SAY "Enter Record Number To GOTO" GET m->RecNo PICTURE "99"
- READ
- IF LASTKEY() <> Esc
- GOTO RecNo
- ENDIF
- @ 23, 25
- RETURN
-
-
- PROCEDURE SkipRecord
- PRIVATE SkipNo
- SkipNo = 0
- SET COLOR TO &SCR_color, &GET_color,,, &SEL_color
- @ 23, 29 SAY "Enter Value To SKIP" GET m->SkipNo PICTURE "99"
- READ
- IF LASTKEY() <> Esc
- SKIP SkipNo
- ENDIF
- @ 23, 29
- RETURN