PROC EditFieldMain(DeleteBlank) PRIVATE Ch, Num WHILE TRUE IF ISBLANK([Index]) THEN MESSAGE "Fill in Index field, it can not be blank" SLEEP 1000 MOVETO [Index] ENDIF WAIT FIELD UNTIL 26, -44, ;"Zoom", "ZoomNext" -81, -73, -71, -79, ;"PgDn", "PgUp", "Home", "End" -77, -75, -72, -80, ; "Right", "Left", "Up", "Down" 9, -15, 13, ;"Tab", "ReverseTab", "Enter" -59, -60, -83, -82, 6, ; "F1", "F2", "Del", "Ins", "FieldView" 18, 4, -32 ; Ctrl+R, Ctrl+D, Alt+D SWITCH CASE Retval = 6 : ;"FieldView" KEYPRESS 6 PromptField() WAIT FIELD UNTIL 13 ;"Enter" PromptEdit() CASE DeleteBlank AND Retval = -83 : ;"Del" DEL RETURN CASE ISBLANK([Index]) : OTHERWISE : IF FIELD() = "Index" THEN Ch = Retval Num = [Index] UNLOCKRECORD IF RECORDSTATUS("Locked") OR RECORDSTATUS("New") THEN MESSAGE "Record with such a number already exists" SLEEP 1000 ELSE LOCATE Num RETURN Ch ENDIF ELSE RETURN Retval ENDIF ENDSWITCH ENDWHILE ENDPROC