//AB/ Project Append dialog //AB/ Object prj is a Dialog_Project //AB/ Set ProjectName to "Append dialog" //AB/ Set ProjectFileName to "Append.DG" //AB/ Set Size to 99 231 // Project Object Structure // oAppend_dg is a cRDSModalPanel // Snctable_DD is a DataDictionary // oAppend_cf is a cDbFieldComboform // oOK_bn is a cBitmapButton // oCancel_bn is a cBitmapButton // Register all objects Register_Object oAppend_cf Register_Object oAppend_dg Register_Object oCancel_bn Register_Object oOK_bn Register_Object Snctable_DD //AB-IgnoreStart Use cRDSModalPanel.pkg Use DataDict.pkg Use cDbFieldComboform.pkg Use cBitmapButton.pkg //AB-IgnoreEnd //AB-IgnoreStart Use SNCTABLE.DD //AB-IgnoreEnd Object oAppend_dg is a cRDSModalPanel //AB-StoreTopStart Property String psMoveValueOut "" Property Handle Main_DD 0 Procedure Set Server Handle hoDD Set Main_DD To hoDD End_Procedure // Set Server //AB-StoreTopEnd Set Label to "Append field dialog" Set Location to 2 3 Set Size to 73 217 //AB-DDOStart Object Snctable_DD is a SncTable_DataDictionary End_Object // Snctable_DD Set Main_DD to Snctable_DD Set Server to Snctable_DD //AB-DDOEnd Object oAppend_cf is a cDbFieldComboform Set Label to "Field/Column to Append:" Set Size to 13 109 Set Location to 15 95 Set Status_Help to "List of fields/columns to append" Set Form_Border to 0 Set Label_Row_Offset to 0 Set Label_Col_Offset to 2 Set Label_Justification_Mode to jMode_Right Set Entry_State to FALSE Set Combo_Sort_State to FALSE Set Code_Display_Mode to cb_Code_Display_Description Set pbFrom to TRUE //AB-StoreStart Set pbFrom To True Set Entry_State Item 0 To False Function Next_Object_Id Boolean bState Returns Integer Handle ho Move (Self) To ho Function_Return ho End_Function // Next_Object_Id Procedure OnCloseUp String sType sField sChar Integer iLength iPrec iField iFile iType Forward Send OnCloseUp Move -1 To iType Get Value Item 0 To sField Get FileFieldNumber To iField If iField Begin Get piFile To iFile If Not iFile Procedure_Return Get_Attribute DF_FIELD_TYPE Of iFile iField To iType Get_Attribute DF_FIELD_LENGTH Of iFile iField To iLength Get_Attribute DF_FIELD_PRECISION Of iFile iField To iPrec Get_Attribute DF_FIELD_NAME Of iFile iField To sField Move (Uppercase(Left(sField, 1))) To sChar Move (sChar + Right(Lowercase(sField), (Length(sField) -1))) To sField Get FieldType iType To sType End // If iField Begin End_Procedure // OnCloseUp Function FileFieldNumber Returns Integer String sField Integer iPos iField Get Value Item 0 To sField Move (Pos("-", sField)) To iPos If (iPos > 1) Move (Left(sField, (iPos -2))) To iField Function_Return iField End_Function // FieldNumber On_Key kCancel Send KeyAction To oCancel_bn //AB-StoreEnd End_Object // oAppend_cf Object oOK_bn is a cBitmapButton Set Label to "&OK" Set Size to 14 50 Set Location to 36 102 Set Status_Help to "Append the selected field and close this panel" Set Bitmap to "Ok16.bmp" Set piTransparentColor to clFuchsia //AB-StoreStart Procedure OnClick String sValue Get Value Of oAppend_cf Item 0 To sValue If (sValue Contains "") Move "" To sValue Delegate Set psMoveValueOut To sValue // Panel property. Send Close_Panel End_Procedure // OnClick //AB-StoreEnd End_Object // oOK_bn Object oCancel_bn is a cBitmapButton Set Label to "&Cancel" Set Size to 14 50 Set Location to 36 154 Set Status_Help to "Cancel operation and close panel" Set Bitmap to "Cancel16.bmp" Set piTransparentColor to clFuchsia //AB-StoreStart Procedure OnClick Delegate Set psMoveValueOut To "" // Panel property. Send Close_Panel End_Procedure // OnClick //AB-StoreEnd End_Object // oCancel_bn //AB-StoreStart //Set Extended_Window_Style To WS_EX_TOOLWINDOW False //Set Extended_Window_Style To WS_EX_DLGMODALFRAME True // We can't use ToolTips in modal panels, so destroy it. //Procedure OnStartup // Handle hoHelp // Get Private.phoToolTip Of (oAppend_cf(Self)) To hoHelp // Send DestroyToolTip Of hoHelp //End_Procedure // OnStartup //Send OnStartup On_Key Key_Alt+Key_O Send KeyAction To oOk_bn On_Key Key_Ctrl+Key_S Send KeyAction To oOk_bn On_Key Key_F2 Send KeyAction To oOk_bn On_Key Key_Alt+Key_C Send KeyAction To oCancel_bn On_Key kCancel Send KeyAction To oCancel_bn //AB-StoreEnd End_Object // oAppend_dg //AB-StoreStart Function IsStartoAppend_dg Handle hoDD Integer iFile String sField Returns String Handle ho hoAppend_cf Integer iPos iField iType iLength iPrec String sValue sType Move (oAppend_dg(Self)) To ho Set Main_DD Of ho To hoDD Set Label Of ho To ("Append field/column to" * String(sField)) Move (oAppend_cf(ho)) To hoAppend_cf Send DoUpdateData Of hoAppend_cf iFile 0 (True) Set Value Of hoAppend_cf Item 0 To "-None" Send Popup Of ho Get psMoveValueOut Of ho To sValue If (sValue <> "- " And sValue <> "") Begin Move (Pos("-", sValue)) To iPos Move (Left(sValue, (iPos - 2))) To iField Get_Attribute DF_FIELD_TYPE Of iFile iField To iType Get_Attribute DF_FIELD_LENGTH Of iFile iField To iLength Get_Attribute DF_FIELD_PRECISION Of iFile iField To iPrec Get FieldType iType To sType Move (String(sValue) * sType * "(" + String(iLength) + "," + String(iPrec) + ")") To sValue Function_Return sValue End // If (sValue <> "-None") Begin Else Function_Return "" End_Function // IsStartoAppend_dg //AB-StoreEnd //AB/ End_Object // prj