//DDB-FileStart //DDB-HeaderStart // File Name : Master.DD // Class Name: Master_DataDictionary // Revision : 34 // Version : 2 Use Windows // Basic Definitions Use DataDict.pkg // DataDictionary Class Definition Use DDvalTbl // Validation Table Class Definitions Open Master Open Sysfile //DDB-HeaderEnd //DDB-ValidationStart Register_Object Master_Type_VT Register_Object Master_Level_VT Object Master_Type_VT is a CodeValidationTable Set Type_Value To "QUIZTYPE" Set Allow_Blank_State To TRUE Set Table_Title To "Question Type" //DDB-ValidationCustomStart Set Static_State to False //DDB-ValidationCustomEnd End_Object // Master_Type_VT Object Master_Level_VT is a CodeValidationTable Set Type_Value To "QUIZLEVEL" Set Allow_Blank_State To TRUE Set Table_Title To "Level of difficulty" //DDB-ValidationCustomStart Set Static_State to False //DDB-ValidationCustomEnd End_Object // Master_Level_VT //DDB-ValidationEnd Class Master_DataDictionary is a DataDictionary // Creating: Procedure Creating Date dToday Forward Send Creating Sysdate dToday If (Master.Created < 1) Move dToday to Master.Created End_Procedure // Creating // Update: Procedure Update String sChar Forward Send Update Move (Right((Trim(Master.Question)), 1)) to sChar If (sChar <> "?") Move (Trim(Master.Question) + "?") to Master.Question Move (Right((Trim(Master.Question2)), 1)) to sChar If (sChar <> "?") Move (Trim(Master.Question2) + "?") to Master.Question2 End_Procedure // Update // Add a default date if the field is blank Procedure TodaysDate Integer iField Date dDate Integer iChanged Get Field_Changed_State iField To iChanged If (iChanged=0 And dDate=0) Begin SysDate dDate Set Field_Default_Value iField To dDate End End_Procedure // TodaysDate // Define_Fields: // This procedure is used to set up all data-dictionary rules. Procedure Define_Fields Forward Send Define_Fields //DDB-Generated-Code-Location //DDB-DefineFieldStart Set Main_File To Master.File_Number Set Foreign_Field_Options DD_KEYFIELD To DD_AUTOFIND DD_NOPUT DD_FINDREQ Set Foreign_Field_Options DD_INDEXFIELD To DD_NOPUT DD_FINDREQ Set Foreign_Field_Options DD_DEFAULT To DD_DISPLAYONLY // External (System) file structure............. Send Add_System_File Sysfile.File_Number DD_LOCK_ON_ALL Define_Auto_Increment Sysfile.Master_Id To Master.Id // Field-based properties....................... // Master.Question Set Field_Label_Long Field Master.Question To "Question" Set Field_Label_Short Field Master.Question To "Question" Set Field_Options Field Master.Question To DD_AUTOFIND Set Status_Help Field Master.Question To "Question" // Master.Answer Set Field_Label_Long Field Master.Answer To "Answer" Set Field_Label_Short Field Master.Answer To "Answer" Set Status_Help Field Master.Answer To "Answer to the question" // Master.Subject Set Field_Class_Name Field Master.Subject To "dbComboForm" Set Field_Label_Long Field Master.Subject To "Subject" Set Field_Label_Short Field Master.Subject To "Subject" Set Field_Value_Table Field Master.Subject To (Master_Type_VT(Self)) Set Status_Help Field Master.Subject To "Subject" // Master.Date_Used Set Field_Class_Name Field Master.Date_Used To "dbSpinForm" Set Field_Label_Long Field Master.Date_Used To "Date Used" Set Field_Label_Short Field Master.Date_Used To "Date Used" Set Field_Mask_Type Field Master.Date_Used To MASK_DATE_WINDOW Set Status_Help Field Master.Date_Used To "Date when this question was last used" // Master.Id Set Field_Label_Long Field Master.Id To "ID" Set Field_Label_Short Field Master.Id To "ID" Set Field_Options Field Master.Id To DD_AUTOFIND Set Status_Help Field Master.Id To "ID (The IDentity is automatically created)" // Master.Created Set Field_Class_Name Field Master.Created To "dbSpinForm" Set Field_Entry_msg Field Master.Created To TodaysDate Set Field_Label_Long Field Master.Created To "Created" Set Field_Label_Short Field Master.Created To "Created" Set Field_Mask_Type Field Master.Created To MASK_DATE_WINDOW Set Status_Help Field Master.Created To "Date when the question was created" // Master.Level Set Field_Class_Name Field Master.Level To "dbComboForm" Set Field_Label_Long Field Master.Level To "Level" Set Field_Label_Short Field Master.Level To "Level" Set Field_Value_Table Field Master.Level To (Master_Level_VT(Self)) Set Status_Help Field Master.Level To "Level of difficulty" // Master.Question2 Set Field_Label_Long Field Master.Question2 To "Question 2" Set Field_Label_Short Field Master.Question2 To "Question 2" // Master.Answer2 Set Field_Label_Long Field Master.Answer2 To "Answer 2" Set Field_Label_Short Field Master.Answer2 To "Answer 2" //DDB-DefineFieldEnd End_Procedure // Define_Fields // Field_Defaults: // This procedure is used to establish default field values. Procedure Field_Defaults Forward Send Field_Defaults //DDB-Generated-Code-Location //DDB-FieldDefaultStart Set Field_Changed_Value Field Master.Subject To "Miscellane" Set Field_Changed_Value Field Master.Level To "3" //DDB-FieldDefaultEnd End_Procedure // Field_Defaults End_Class // Master_DataDictionary //DDB-FileEnd