#REM DFAPP.PKG - CHARACTER MODE DATAFLEX UTILITIES // Use DfApp // Character Mode DataFlex application stuff use App.utl // Character Mode classes set verbose_state of error_info_object to true // Always display line number! Use OpenStat.nui // cTablesOpenStatus class (formely cFileAllFiles) Use Strings.nui // String manipulation for VDF and 3.2 Use Dates.utl // Date manipulation for VDF and 3.2 Use MsgBox.utl // obs procedure Use Output.utl // Basic sequential output service Use Set.utl // cArray, cSet and cStack classes on_key key_ctrl+key_d send Request_Popup_Calendar /DfApp.background_client_title ________________________________________________________________________________ /DfApp.background_client °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° /* object DfApp_background_client_title is a title DfApp.background_client_title set center_state item 0 to true end_object object DfApp_background_client is a client DfApp.background_client set location to 2 0 set skip_state to true end_object procedure DfApp.Title_Bar string str# set value of (DfApp_background_client_title(self)) item 0 to str# send add_focus to DfApp_background_client desktop send add_focus to DfApp_background_client_title desktop set focus_mode of (DfApp_background_client(self)) to pointer_only end_procedure // =========================================================================== // SYSINFO PROCEDURE // =========================================================================== Use Fdx1.utl // FDX aware display global attributes (FDX_DisplayGlobalAttributes procedure) procedure DfApp.SysInfo send FDX_ModalDisplayGlobalAttributes 0 end_procedure /DfApp.oAbout.hdr ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ /DfApp.oAbout.frm ³ ³ ³______________________________________________³ ³______________________________________________³ ³______________________________________________³ ³______________________________________________³ ³______________________________________________³ ³______________________________________________³ ³ ³ /DfApp.oAbout.btn ³ _____________ _____________ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ /* object DfApp.oAbout is a app.ModalClient DfApp.oAbout.hdr set location to 6 15 absolute set popup_state to true set scope_state to true object oFrm is a Form DfApp.oAbout.frm set location to 1 0 relative set focus_mode to pointer_only item_list repeat_item 6 times "" send none end_item_list set center_state item 0 to true set center_state item 1 to true set center_state item 2 to true set center_state item 3 to true set center_state item 4 to true set center_state item 5 to true end_object object oBtn is a app.Button DfApp.oAbout.btn set location to 9 0 relative item_list on_item "System Info" send DfApp.SysInfo on_item t.btn.close send cancel end_item_list end_object procedure popup local integer rval# ui_accept self to rval# end_procedure end_object // DfApp.oAbout procedure DfApp.About_Fill string AppName# string Version# string Author# string Company# local integer obj# move (oFrm(DfApp.oAbout(self))) to obj# set value of obj# item 0 to AppName# set value of obj# item 1 to Version# set value of obj# item 2 to "by" set value of obj# item 3 to Author# set value of obj# item 4 to Company# set value of obj# item 5 to ("Module compiled on "+string(Module_Compile_Date())+", "+Module_Compile_Time()) end_procedure procedure DfApp.About send popup to (DfApp.oAbout(self)) end_procedure // =========================================================================== // CALL EXTERNAL UTILITIES (DFQUERY, DFBROWSE, DFMAINT...) // =========================================================================== object oExtUtil_FileAllFiles is a cTablesOpenStatus end_object procedure run_dac_utility string name# integer chain# integer close_all# if close_all# begin send RegisterCurrentOpenFiles to (oExtUtil_FileAllFiles(self)) send CloseAllFiles to (oExtUtil_FileAllFiles(self)) end if chain# chain wait name# else runprogram wait name# send refresh_screen if close_all# send RestoreOpened to (oExtUtil_FileAllFiles(self)) end_procedure procedure run_dfquery send run_dac_utility "DFQUERY" 0 0 end_procedure procedure run_dfbrowse send run_dac_utility "DFBROWSE" 1 0 end_procedure procedure run_dfmaint send run_dac_utility "DFMAINT" 0 1 end_procedure procedure run_dffile send run_dac_utility "DFFILE" 0 1 end_procedure procedure run_dfindex_all runprogram wait "cls" send run_dac_utility "DFSORT -a" 0 1 end_procedure procedure run_dfconfig send run_dac_utility "DFCONFIG" 1 0 end_procedure