home *** CD-ROM | disk | FTP | other *** search
- * Filename.......: E_DICTFL.PRG
- *
- * Author.........: Vernon E. Six, Jr.
- *
- * Last Update....: Mon 11/25/91 16:37:13
- *
- * Created using..: VSG - Vern Six's Get System v1.00.53a
- *
- * Notice.........: CopyRight (c) 1991 by Vernon E. Six, Jr.
- * All Rights Reserved World Wide!
-
- #include "INKEY.CH"
- #include "SETCURS.CH"
-
- #include "_DICTFLD.CH"
- #include "_DICTHDR.CH"
-
-
- FUNCTION E_DICTFLD(pl_Update,pc_Mode)
- *══════════════════════════════════════════════════════════*
- * Edit the current record in _DICTFLD.DBF *
- *══════════════════════════════════════════════════════════*
- LOCAL getlist := {}
- LOCAL GetObj
- LOCAL l_EatKeys := .F.
- LOCAL a_Say := {}
- LOCAL a_Get := {}
- LOCAL n_Cntr
- LOCAL c_OldHelp
- LOCAL n_Correct := 1
-
- *══ Make an assumption ═══════════════════════════════════*
-
- pc_Mode = IF(pc_Mode=NIL,"EDIT",UPPER(pc_Mode))
-
- *═════════════════════════════════════════════════════════*
-
- _DICTFLD->( VS_SetOrder("1") )
- _DICTHDR->( VS_SetOrder("1") )
-
- AADD( a_Say, _DICTHDR->DBF_NAME )
- AADD( a_Say, _DICTHDR->DESC )
-
- AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_NMBR , _DEF__DICTFLD_FIELD_NMBR ))
- AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_NAME , _DEF__DICTFLD_FIELD_NAME ))
- AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_TYPE , _DEF__DICTFLD_FIELD_TYPE ))
- AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_LEN , _DEF__DICTFLD_FIELD_LEN ))
- AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_DEC , _DEF__DICTFLD_FIELD_DEC ))
- AADD( a_Get, IF(pl_Update, _DICTFLD->DESC , _DEF__DICTFLD_DESC ))
- AADD( a_Get, IF(pl_Update, _DICTFLD->DEFAULT , _DEF__DICTFLD_DEFAULT ))
- AADD( a_Get, IF(pl_Update, _DICTFLD->PICTURE , _DEF__DICTFLD_PICTURE ))
-
-
- VS_GRABSCR()
-
- VS_PALETTE(4)
-
- VS_Text(2,"",PADC("Working...",40),"")
-
- DispBegin()
-
- VS_EndText()
-
- IF pc_Mode = "DISPLAY"
- VS_WIND(02,02,18,76," Database Field Information "," Press Any Key To Continue ")
- ELSE
- VS_WIND(02,02,18,76," Database Field Information "," Press <F1> For Help ")
- ENDIF
-
-
- @ 05,04,05,74 BOX "┌─┐│┘─└│ "
-
- @ 04,04 SAY "DataBase Name:"
- @ 04,29 SAY "Desc:"
- @ 06,10 SAY "Field Name"
- @ 06,22 SAY "Type"
- @ 06,28 SAY "Length"
- @ 06,36 SAY "Dec"
- @ 06,04 SAY "Nmbr"
- @ 09,04 SAY "Description..."
- @ 12,04 SAY "Default Value..."
- @ 15,04 SAY "Picture Clause..."
-
- SETCOLOR(VS_WindUns())
-
- @ 04,19 SAY a_Say[001] PICTURE _PIC__DICTHDR_DBF_NAME
- @ 04,35 SAY a_Say[002] PICTURE _PIC__DICTHDR_DESC
-
- VS_WndColr()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 07,04, ;
- {|x| IF(x==NIL,a_Get[001], a_Get[001]:=x)},;
- "a_Get[001]", ;
- _PIC__DICTFLD_FIELD_NMBR )
-
- GetObj:cargo := {"_DICTFLD","FIELD_NMBR"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 07,10, ;
- {|x| IF(x==NIL,a_Get[002], a_Get[002]:=x)},;
- "a_Get[002]", ;
- _PIC__DICTFLD_FIELD_NAME )
-
- GetObj:cargo := {"_DICTFLD","FIELD_NAME"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 07,24, ;
- {|x| IF(x==NIL,a_Get[003], a_Get[003]:=x)},;
- "a_Get[003]", ;
- _PIC__DICTFLD_FIELD_TYPE )
-
- GetObj:cargo := {"_DICTFLD","FIELD_TYPE"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 07,30, ;
- {|x| IF(x==NIL,a_Get[004], a_Get[004]:=x)},;
- "a_Get[004]", ;
- _PIC__DICTFLD_FIELD_LEN )
-
- GetObj:cargo := {"_DICTFLD","FIELD_LEN"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 07,36, ;
- {|x| IF(x==NIL,a_Get[005], a_Get[005]:=x)},;
- "a_Get[005]", ;
- _PIC__DICTFLD_FIELD_DEC )
-
- GetObj:cargo := {"_DICTFLD","FIELD_DEC"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 10,06, ;
- {|x| IF(x==NIL,a_Get[006], a_Get[006]:=x)},;
- "a_Get[006]", ;
- _PIC__DICTFLD_DESC )
-
- GetObj:cargo := {"_DICTFLD","DESC"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 13,06, ;
- {|x| IF(x==NIL,a_Get[007], a_Get[007]:=x)},;
- "a_Get[007]", ;
- _PIC__DICTFLD_DEFAULT )
-
- GetObj:cargo := {"_DICTFLD","DEFAULT"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- GetObj := GetNew( 16,06, ;
- {|x| IF(x==NIL,a_Get[008], a_Get[008]:=x)},;
- "a_Get[008]", ;
- _PIC__DICTFLD_PICTURE )
-
- GetObj:cargo := {"_DICTFLD","PICTURE"}
-
- GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
-
- AADD( getlist, GetObj )
-
- GetObj:Display()
-
-
- *══════════════════════════════════════════════════════════*
-
- SETCURSOR(SC_NORMAL)
- DispEnd()
-
- *══════════════════════════════════════════════════════════*
- * Do all the pre-validations *
- *══════════════════════════════════════════════════════════*
- IF pl_Update .OR. pc_Mode="DISPLAY"
- ENDIF
-
-
-
- IF pc_Mode = "DISPLAY"
-
- CLEAR GETS
- SETCURSOR(SC_NONE)
- VS_INKEY(0)
-
- ELSE
-
- DO WHILE .T.
-
- l_EatKeys := .F.
- c_OldHelp = VS_HelpPrg("E_DICTFLD ")
- ReadModal(getlist)
- VS_HelpPrg(c_OldHelp)
- CLEAR TYPEAHEAD
-
- IF LASTKEY() = K_ESC
- EXIT
- ENDIF
-
- n_Correct = VS_Correct()
-
- DO CASE
- CASE n_Correct = 3
- VS_PutScr()
- RETURN(NIL)
- CASE n_Correct = 2
- LOOP
- ENDCASE
-
- EXIT
-
- ENDDO
-
- ENDIF
-
- VS_PutScr()
-
- CLEAR TYPEAHEAD
-
- IF LASTKEY() = K_ESC .OR. pc_Mode = "DISPLAY"
- RETURN(NIL)
- ENDIF
-
-
- BEGIN SEQUENCE
-
- IF .NOT. pl_Update
-
- IF .NOT. _DICTFLD->(VS_AddRec())
- BREAK
- ELSE
- REPLACE _DICTFLD->DBF_NAME WITH _DEF__DICTFLD_DBF_NAME
- REPLACE _DICTFLD->FIELD_NMBR WITH _DEF__DICTFLD_FIELD_NMBR
- REPLACE _DICTFLD->FIELD_NAME WITH _DEF__DICTFLD_FIELD_NAME
- REPLACE _DICTFLD->FIELD_TYPE WITH _DEF__DICTFLD_FIELD_TYPE
- REPLACE _DICTFLD->FIELD_LEN WITH _DEF__DICTFLD_FIELD_LEN
- REPLACE _DICTFLD->FIELD_DEC WITH _DEF__DICTFLD_FIELD_DEC
- REPLACE _DICTFLD->DESC WITH _DEF__DICTFLD_DESC
- REPLACE _DICTFLD->DEFAULT WITH _DEF__DICTFLD_DEFAULT
- REPLACE _DICTFLD->PICTURE WITH _DEF__DICTFLD_PICTURE
- ENDIF
-
- ELSE
-
- IF .NOT. _DICTFLD->(VS_RLOCK())
- BREAK
- ENDIF
-
- ENDIF
-
- REPLACE _DICTFLD->FIELD_NMBR WITH a_Get[001]
- REPLACE _DICTFLD->FIELD_NAME WITH a_Get[002]
- REPLACE _DICTFLD->FIELD_TYPE WITH a_Get[003]
- REPLACE _DICTFLD->FIELD_LEN WITH a_Get[004]
- REPLACE _DICTFLD->FIELD_DEC WITH a_Get[005]
- REPLACE _DICTFLD->DESC WITH a_Get[006]
- REPLACE _DICTFLD->DEFAULT WITH a_Get[007]
- REPLACE _DICTFLD->PICTURE WITH a_Get[008]
-
- *══════════════════════════════════════════════════════════*
- * Call the optional program specified by the programmer *
- *══════════════════════════════════════════════════════════*
- REPLACE _DICTFLD->DBF_NAME WITH _DICTHDR->DBF_NAME
-
-
- _DICTFLD->( dbUnlock() )
-
- END SEQUENCE
-
- RETURN(NIL)
- *══ EOF: E_DICTFLD() ═════════════════════════════════════════════════════════*
-
-
-