home *** CD-ROM | disk | FTP | other *** search
- // *********************************************************************
- // System: DataFlex 3.0 System Utilities *
- // Program: DELQRY.SRC *
- // Author: James Ricci 6/27/90 *
- // Purpose: To delete records and files associated with a saved *
- // query created by DFQuery. *
- // *********************************************************************
-
-
-
- //***** Include UIMS and package routines. *****//
-
- USE UI
-
- USE DATA_SET
- USE MENU
- USE HELP
- USE ENTERR
-
-
-
-
- //***** Set App_Name for Help. *****//
-
- SET APPLICATION_NAME TO "SYSTEM"
-
-
- //***** Open files. *****//
-
- OPEN QUERY
- if lasterr eq 75 abort
-
-
-
-
- //***** Object declaration section. *****//
-
- // Register the action bar for use by all program objects.
- REGISTER_OBJECT Action_Bar
- REGISTER_OBJECT File_Pull_Down
-
- /Dummy_Img
- /*
-
-
- /Verify_Delete_Img
- ╔═ Verify Deletion ══════════════════════════╗
- ║ ║
- ║ __________________________________________ ║
- ║ ║
- ║ ║
- ║ ________ ________ ║
- ║ ║
- ╚════════════════════════════════════════════╝
- /*
-
- SUB_PAGE Verify_Text_Img FROM Verify_Delete_Img 1
- SUB_PAGE Verify_Buttons_Img FROM Verify_Delete_Img 2 3
-
-
- OBJECT Verify_Delete IS A CLIENT Verify_Delete_Img
-
- SET LOCATION TO 6 16 ABSOLUTE
- SET BLOCK_MOUSE_STATE TO TRUE
- SET RING_STATE TO TRUE
-
- ON_KEY KCANCEL SEND MSG_NONE
- ON_KEY KEY_ALT+KEY_F SEND MSG_NONE
- ON_KEY KEY_ALT+KEY_M SEND MSG_NONE
- ON_KEY KEY_ALT+KEY_H SEND MSG_NONE
-
- // Declare buttons.
- OBJECT Verify_Buttons IS A BUTTON Verify_Buttons_Img
- ITEM_LIST
- ON_ITEM '<CANCEL>' SEND MSG_CANCEL
- ON_ITEM '<DELETE>' SEND MSG_OK
- END_ITEM_LIST
- END_OBJECT
-
-
- // Declare text/message.
- OBJECT Verify_Text IS A FORM Verify_Text_Img
- SET FOCUS_MODE TO POINTER_ONLY
- ITEM_LIST
- ON_ITEM "" SEND MSG_NONE
- END_ITEM_LIST
- SET CENTER_STATE ITEM 0 TO TRUE
- // Display the text.
- PROCEDURE Display_Text STRING @Text
- SET VALUE ITEM 0 TO @Text
- END_PROCEDURE
- END_OBJECT
-
- // Call to the object.
- FUNCTION Verify_Del STRING @Text RETURNS INTEGER
- SEND Display_Text TO (Verify_Text(CURRENT_OBJECT)) @Text
- UI_ACCEPT CURRENT_OBJECT TO WINDOWINDEX
- FUNCTION_RETURN (WINDOWINDEX EQ MSG_CANCEL) //0 means delete,1 means cancel.
- END_FUNCTION
-
- END_OBJECT
-
-
- // Define the DATA_SET for the Query.dat file.
- OBJECT Query_Set IS A DATA_SET Dummy_Img MAIN_FILE Query
- SET LOCATION TO 0 0 ABSOLUTE
- END_OBJECT
-
-
- /Delete_Query_Img
- ┌───────────────────────────────────────────────────────────┐
- │ Delete Queries │
- │ │
- │ ┌────────────────────────────────┐ │
- │ │ ______________________________ │ │
- │ │ ______________________________ │ │
- │ │ ______________________________ │ │
- │ │ ______________________________ │ │
- │ │ ______________________________ │ │
- │ └────────────────────────────────┘ │
- │ │
- │ ┌─────────────────────────────────────────────────────┐ │
- │ │ ___________________________________________________ │ │
- │ │ ___________________________________________________ │ │
- │ │ ___________________________________________________ │ │
- │ │ ___________________________________________________ │ │
- │ │ ___________________________________________________ │ │
- │ └─────────────────────────────────────────────────────┘ │
- │ │
- │ _________________ _______________ _________________ │
- └───────────────────────────────────────────────────────────┘
- /*
-
- SUB_PAGE File_List_Img FROM Delete_Query_Img VERTICAL 1 5
- SUB_PAGE Query_List_Img FROM Delete_Query_Img VERTICAL 6 5
- SUB_PAGE File_Buttons_Img FROM Delete_Query_Img HORIZONTAL 11 3
-
-
- // Display Files and Queries associated with the files.
- OBJECT Delete_Query IS A CLIENT Delete_Query_Img RING
-
- SET LOCATION TO 3 9 ABSOLUTE
- SET ATTACH_PARENT_STATE TO TRUE
-
- // Declare accelerator keys.
- ON_KEY KSAVE_RECORD SEND Select_File
- ON_KEY KDELETE_RECORD SEND Delete_Queries
- ON_KEY KCLEAR SEND Select_All
- ON_KEY KCANCEL SEND ACTIVATE TO (Action_Bar(DESKTOP))
- // ON_KEY KCANCEL SEND Request_Exit TO (Action_Bar(DESKTOP))
- ON_KEY KACTION_BAR SEND ACTIVATE TO (Action_Bar(DESKTOP))
-
-
- OBJECT File_List IS A LIST File_List_Img
- SET SELECT_MODE TO SINGLE_SELECT
-
- ON_KEY KSPACE SEND MSG_NONE
-
- // Return the file number of the selected file.
- FUNCTION Selected_File RETURNS INTEGER
- LOCAL INTEGER @Counter @Max
- MOVE (ITEM_COUNT(CURRENT_OBJECT)-1) TO @Max
- FOR @Counter FROM 0 TO @Max
- IF (SELECT_STATE(CURRENT_OBJECT,@Counter)) EQ 1 ;
- FUNCTION_RETURN (AUX_VALUE(CURRENT_OBJECT,@Counter))
- LOOP
- END_FUNCTION
-
- // Select the current item and edit the file.
- PROCEDURE Select_File
- SET SELECT_STATE TO TRUE
- SEND Display_Queries (AUX_VALUE(CURRENT_OBJECT,CURRENT))
- END_PROCEDURE
-
- // Fill the list with all current files in the Filelist.CFG file.
- PROCEDURE Fill_List
- LOCAL STRING @User_Name @DF_File_Name
- MOVE 0 TO FILENUMBER
- FILELIST NEXT TO @User_Name @DF_File_Name
- WHILE [FOUND]
- SEND ADD_ITEM MSG_Select_File @User_Name
- SET AUX_VALUE ITEM (ITEM_COUNT(CURRENT_OBJECT) - 1) TO FILENUMBER
- FILELIST NEXT TO @User_Name @DF_File_Name
- END
- END_PROCEDURE
-
- SEND Fill_List // Need only be done once.
-
- END_OBJECT
-
-
- // Display queries to user and allow them to delete.
- OBJECT Query_List IS A LIST Query_List_Img
- SET SELECT_MODE TO MULTI_SELECT
- SET FOCUS_MODE TO NONFOCUSABLE
-
- // Select all queries if there are any to select.
- PROCEDURE Group_Select INTEGER @State
- LOCAL INTEGER @Item# @Max_Item
- IF (FOCUS_MODE(CURRENT_OBJECT)) EQ FOCUSABLE BEGIN
- MOVE (ITEM_COUNT(CURRENT_OBJECT)-1) TO @Max_Item
- FOR @Item# FROM 0 TO @Max_Item
- SET SELECT_STATE ITEM @Item# TO @State
- LOOP
- END
- END_PROCEDURE
-
- // Delete all selected queries.
- PROCEDURE Delete_Queries
- LOCAL INTEGER @Item# @Max_Item
- IF (FOCUS_MODE(CURRENT_OBJECT)) EQ FOCUSABLE BEGIN
- IF (Verify_Del(Verify_Delete.OBJ,'Are You Sure??')) EQ 1 PROCEDURE_RETURN 0
- MOVE (ITEM_COUNT(CURRENT_OBJECT)-1) TO @Max_Item
- FOR @Item# FROM 0 TO @Max_Item
- IF (SELECT_STATE(CURRENT_OBJECT,@Item#)) BEGIN
- CLEAR Query
- MOVE (AUX_VALUE(CURRENT_OBJECT,@Item#)) TO Query.RECNUM
- FIND EQ Query
- REREAD Query
- ERASEFILE Query.Filename
- DELETE Query
- UNLOCK
- END
- LOOP
- SEND Display_Queries (Selected_File(PARENT(CURRENT_OBJECT)))
- END
- END_PROCEDURE
-
- // Conditionally activate object if there are any queries to delete.
- PROCEDURE Activate_If_Queries
- IF (VALUE(CURRENT_OBJECT,0)) EQ "No Queries For This File." BEGIN
- SET FOCUS_MODE TO NONFOCUSABLE
- SEND ACTIVATE TO (File_List(CURRENT_OBJECT))
- END
- ELSE BEGIN
- SET FOCUS_MODE TO FOCUSABLE
- SEND ACTIVATE
- END
- END_PROCEDURE
-
- // Fill list with queries associated with selected file.
- PROCEDURE Fill_With_Queries STRING @FNAME
- SEND DELETE_DATA
- CLEAR Query
- MOVE @FName TO Query.Data
- FIND GT Query.Data
- [FOUND] INDICATE FOUND AS (TRIM(Query.Data)) EQ (TRIM(@FName))
- IF [FOUND] BEGIN
- REPEAT
- SEND ADD_ITEM MSG_NONE Query.Description
- SET AUX_VALUE ITEM (ITEM_COUNT(CURRENT_OBJECT)-1) TO Query.RECNUM
- FIND GT Query.Data
- [FOUND] INDICATE FOUND AS (TRIM(Query.Data)) EQ (TRIM(@FName))
- UNTIL [NOT FOUND]
- END
- ELSE BEGIN
- SEND ADD_ITEM MSG_NONE "No Queries For This File."
- END
- END_PROCEDURE
-
- // Display the list of queries.
- PROCEDURE Display_Queries INTEGER @File#
- LOCAL STRING @FName @Dummy
- SET DYNAMIC_UPDATE_STATE TO FALSE
- FILELIST @File# TO @Dummy @FName
- SEND Fill_With_Queries @Fname
- SEND Activate_If_Queries
- SET DYNAMIC_UPDATE_STATE TO TRUE
- SEND REFRESH_SCREEN
- END_PROCEDURE
-
- END_OBJECT
-
-
- // Define user buttons for File_List operations.
- OBJECT File_Buttons IS A BUTTON File_Buttons_Img
- SET FOCUS_MODE TO POINTER_ONLY
-
- ITEM_LIST
- ON_ITEM '<F2=Examine File>' SEND Select_File
- ON_ITEM '<F5=Select All>' SEND Select_All
- ON_ITEM '<Shift+F2=Delete>' SEND Delete_Queries
- END_ITEM_LIST
-
- END_OBJECT
-
-
- // Redirect Select_All to Query_List.
- PROCEDURE Select_All
- SEND Group_Select TO (Query_List(CURRENT_OBJECT)) TRUE
- END_PROCEDURE
-
- // Redirect De_Select_All to Query_List.
- PROCEDURE De_Select_All
- SEND Group_Select TO (Query_List(CURRENT_OBJECT)) FALSE
- END_PROCEDURE
-
- // Redirect message to delete all selected queries.
- PROCEDURE Delete_Queries
- SEND Delete_Queries TO (Query_List(CURRENT_OBJECT))
- END_PROCEDURE
-
- // Delete all queries.
- PROCEDURE Delete_All
- SEND Select_All
- SEND Delete_Queries
- END_PROCEDURE
-
- // Redirect request to display queries.
- PROCEDURE Select_File
- SEND Select_File TO (File_List(CURRENT_OBJECT))
- END_PROCEDURE
-
- // Redirect Display_Query message
- PROCEDURE Display_Queries INTEGER @File#
- SEND Display_Queries TO (Query_List(CURRENT_OBJECT)) @File#
- END_PROCEDURE
-
- // Get the selected file.
- FUNCTION Selected_File RETURNS INTEGER
- FUNCTION_RETURN (Selected_File(File_List(CURRENT_OBJECT)))
- END_FUNCTION
-
- END_OBJECT
-
-
-
- /Action_Bar_Img Resident
- ____ ___________ ____
- /File_Pd_Img Resident
- ┌───────────────┐
- │ _____________ │
- ├───────────────┤
- │ _____________ │
- └───────────────┘
- /Maintenance_Pd_Img Resident
- ┌────────────────────────────┐
- │ __________________________ │
- │ __________________________ │
- ├────────────────────────────┤
- │ __________________________ │
- │ __________________________ │
- └────────────────────────────┘
- /*
-
- // Define the action bar for the program.
- CREATE_MENU Action_Bar Action_Bar_Img LOCATION 1 0 ABSOLUTE
-
- ON_KEY KCANCEL SEND EXIT_APPLICATION
-
- ON_ITEM "File" BEGIN_PULL_DOWN File_Pd File_Pd_Img
- ON_ITEM "Open F2" SEND Select_File TO Delete_Query
- ON_ITEM "Exit Alt+F4" SEND EXIT_APPLICATION
-
- PROCEDURE Request_Exit
- SEND ACTIVATE
- SET CURRENT_ITEM TO 1
- END_PROCEDURE
-
- END_PULL_DOWN
-
- ON_ITEM "Maintenance" BEGIN_PULL_DOWN Maintenance_Pd Maintenance_Pd_Img
- ON_ITEM "Select All F5" SEND Select_All TO Delete_Query
- ON_ITEM "De-Select All " SEND De_Select_All TO Delete_Query
- ON_ITEM "Delete Shift+F2" SEND Delete_Queries TO Delete_Query
- ON_ITEM "Delete All" SEND Delete_All TO Delete_Query
- END_PULL_DOWN
-
- #INCLUDE HELP_PD.INC
-
- PROCEDURE Request_Exit
- SEND Request_Exit TO (File_Pd(CURRENT_OBJECT))
- END_PROCEDURE
-
- END_MENU
-
-
- /Title_Img
- ________________________________________________________________________________
- /*
-
- // Define an object which will act as the title to the program.
- OBJECT Delqry_Title IS A MESSAGE Title_Img
- SET LOCATION TO 0 0 ABSOLUTE
- SET CENTER_STATE ITEM 0 TO TRUE
- SET VALUE ITEM 0 TO "DataFlex Kept Query Maintenance Utility"
- END_OBJECT
-
-
- //***** Define pulldown keys. *****//
-
- ON_KEY KEY_ALT+KEY_F SEND ACTIVATE TO (File_Pd(Action_Bar(DESKTOP)))
- ON_KEY KEY_ALT+KEY_M SEND ACTIVATE TO (Maintenance_Pd(Action_Bar(DESKTOP)))
- ON_KEY KEY_ALT+KEY_H SEND ACTIVATE TO (Help_Pull_Down(Action_Bar(DESKTOP)))
-
-
- //***** MAIN PROGRAM SECTION *****//
-
- SEND PAGE_OBJECT TO Delqry_Title TRUE
- SEND ACTIVATE TO Action_Bar
- START_UI Delete_Query
-
- CLEARSCREEN
- ABORT
-