diff --git a/FOXUSER_9.FPT b/FOXUSER_9.FPT index cfb60a7..209be2f 100644 Binary files a/FOXUSER_9.FPT and b/FOXUSER_9.FPT differ diff --git a/FOXUSER_9.dbf b/FOXUSER_9.dbf index 4376aa2..3903eec 100644 Binary files a/FOXUSER_9.dbf and b/FOXUSER_9.dbf differ diff --git a/Source/BuildGoFish.PRG b/Source/BuildGoFish.PRG index 682be36..2551d6f 100644 --- a/Source/BuildGoFish.PRG +++ b/Source/BuildGoFish.PRG @@ -17,7 +17,7 @@ Cd (lcSourceLoc) *== Most of these local variables will make their way into BuildGoFish.h lcVersion = '5.1' -lcBuild = '009' && <---- Set your desired version level of the tool here +lcBuild = '010' && <---- Set your desired version level of the tool here && This will be used on the GoFish form and will live on the && the _GoFish object that gets attached to _Screen at run time. diff --git a/Source/BuildGoFish.h b/Source/BuildGoFish.h index 9e0a3a3..27d7baa 100644 --- a/Source/BuildGoFish.h +++ b/Source/BuildGoFish.h @@ -1,10 +1,10 @@ #DEFINE GOFISH_APP_NAME 'GoFish5' #DEFINE GOFISH_APP_FILE 'GoFish5.app' - #DEFINE GOFISH_VERSION '5.1.009' - #DEFINE GOFISH_BUILDDATE '31. Januar 2023, ' - #DEFINE GOFISH_DBUILDDATE Date(2023,1, 31) + #DEFINE GOFISH_VERSION '5.1.010' + #DEFINE GOFISH_BUILDDATE '22. Februar 2023, ' + #DEFINE GOFISH_DBUILDDATE Date(2023,2, 22) #DEFINE GOFISH_DOWNLOAD_URL 'https://raw.githubusercontent.com/VFPX/GoFish/master/Source/Source.zip' - #DEFINE GOFISH_VERSION_STRING_FOR_VERSION_FILE 'GoFish5 - 5.1.009 - 31. Januar 2023, - 20230131' + #DEFINE GOFISH_VERSION_STRING_FOR_VERSION_FILE 'GoFish5 - 5.1.010 - 22. Februar 2023, - 20230222' #DEFINE THOR_TOOL_NAME 'Thor_Tool_GoFish5' #DEFINE VERSON_FILE_URL 'https://github.com/VFPX/GoFish/_GoFishVersionFile.txt' #DEFINE VERSION_LOCAL_FILE 'GoFishVersionFile.txt' diff --git a/Source/Forms/gf_collection_explorer.SCT b/Source/Forms/gf_collection_explorer.SCT index cbddc3c..936e2a2 100644 Binary files a/Source/Forms/gf_collection_explorer.SCT and b/Source/Forms/gf_collection_explorer.SCT differ diff --git a/Source/Forms/gf_collection_explorer.scx b/Source/Forms/gf_collection_explorer.scx index 8ec507b..98a0b19 100644 Binary files a/Source/Forms/gf_collection_explorer.scx and b/Source/Forms/gf_collection_explorer.scx differ diff --git a/Source/Forms/gofish_about.SCT b/Source/Forms/gofish_about.SCT index 594d41c..9dc8fb1 100644 Binary files a/Source/Forms/gofish_about.SCT and b/Source/Forms/gofish_about.SCT differ diff --git a/Source/Forms/gofish_about.sc2 b/Source/Forms/gofish_about.sc2 index e6527be..42c3084 100644 --- a/Source/Forms/gofish_about.sc2 +++ b/Source/Forms/gofish_about.sc2 @@ -216,7 +216,7 @@ DEFINE CLASS gf_help AS gf_baseform OF "..\lib\gofishui.vcx" ENDPROC PROCEDURE Label1.Click - Shell('http://groups.google.com/group/foxprogofish') + GF_Shell('http://groups.google.com/group/foxprogofish') ENDPROC @@ -237,7 +237,7 @@ DEFINE CLASS gf_help AS gf_baseform OF "..\lib\gofishui.vcx" ENDPROC PROCEDURE lblGoFishOnVFPx.Click - Shell('https://github.com/VFPX/GoFish') + GF_Shell('https://github.com/VFPX/GoFish') ENDPROC diff --git a/Source/Forms/gofish_about.scx b/Source/Forms/gofish_about.scx index 1aa29a6..5d85642 100644 Binary files a/Source/Forms/gofish_about.scx and b/Source/Forms/gofish_about.scx differ diff --git a/Source/Forms/gofish_advaccedreplacehelp.SCT b/Source/Forms/gofish_advaccedreplacehelp.SCT index afa4880..a7781bf 100644 Binary files a/Source/Forms/gofish_advaccedreplacehelp.SCT and b/Source/Forms/gofish_advaccedreplacehelp.SCT differ diff --git a/Source/Forms/gofish_advaccedreplacehelp.sc2 b/Source/Forms/gofish_advaccedreplacehelp.sc2 index 1451ed8..c9622c2 100644 --- a/Source/Forms/gofish_advaccedreplacehelp.sc2 +++ b/Source/Forms/gofish_advaccedreplacehelp.sc2 @@ -143,7 +143,7 @@ DEFINE CLASS gf_baseform1 AS gf_baseform OF "..\lib\gofishui.vcx" PROCEDURE lblGoFishOnVFPx.Click messagebox('No help available at this time.', 0, 'GoFish') - *** TODO: Shell('URL for replace help') + *** TODO: GF_Shell('URL for replace help') ENDPROC diff --git a/Source/Forms/gofish_advaccedreplacehelp.scx b/Source/Forms/gofish_advaccedreplacehelp.scx index 4a6e522..cbab5c1 100644 Binary files a/Source/Forms/gofish_advaccedreplacehelp.scx and b/Source/Forms/gofish_advaccedreplacehelp.scx differ diff --git a/Source/Forms/gofish_advanced.scx b/Source/Forms/gofish_advanced.scx index 2d13583..6191f9d 100644 Binary files a/Source/Forms/gofish_advanced.scx and b/Source/Forms/gofish_advanced.scx differ diff --git a/Source/Forms/gofish_extendsearch.scx b/Source/Forms/gofish_extendsearch.scx index e075ba9..b5ddb62 100644 Binary files a/Source/Forms/gofish_extendsearch.scx and b/Source/Forms/gofish_extendsearch.scx differ diff --git a/Source/Forms/gofish_filter.scx b/Source/Forms/gofish_filter.scx index b792da4..913854b 100644 Binary files a/Source/Forms/gofish_filter.scx and b/Source/Forms/gofish_filter.scx differ diff --git a/Source/Forms/gofish_filterpf.SCT b/Source/Forms/gofish_filterpf.SCT index f59e2b5..ef6a704 100644 Binary files a/Source/Forms/gofish_filterpf.SCT and b/Source/Forms/gofish_filterpf.SCT differ diff --git a/Source/Forms/gofish_filterpf.scx b/Source/Forms/gofish_filterpf.scx index 8a1650d..d3f351d 100644 Binary files a/Source/Forms/gofish_filterpf.scx and b/Source/Forms/gofish_filterpf.scx differ diff --git a/Source/Forms/gofish_options.SCT b/Source/Forms/gofish_options.SCT index 695992b..74de1ba 100644 Binary files a/Source/Forms/gofish_options.SCT and b/Source/Forms/gofish_options.SCT differ diff --git a/Source/Forms/gofish_options.sc2 b/Source/Forms/gofish_options.sc2 index 7deac21..bcd83b0 100644 --- a/Source/Forms/gofish_options.sc2 +++ b/Source/Forms/gofish_options.sc2 @@ -2384,9 +2384,9 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" Case !Empty(m.tcFolder) *just store folder given lcFolder = m.tcFolder - llFound = Create_LocalPath(@lcFolder, .F., .F., .T.) + llFound = GF_Create_LocalPath(@lcFolder, .F., .F., .T.) - Put_LocalPath(m.lcFolder) + GF_Put_LocalPath(m.lcFolder) Case Thisform.oForm.nFirstLoad#2 *nothing to do @@ -2398,7 +2398,7 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" *nothing to do, activate llSet = .T. - Case Get_LocalPath(@tcFolder) And Directory(m.tcFolder) + Case GF_Get_LocalPath(@tcFolder) And Directory(m.tcFolder) *found resource, activate Thisform.cCR_StoreLocal_Option = m.tcFolder Thisform.cCR_StoreLocal_Set = m.tcFolder @@ -2407,13 +2407,13 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" *pick a folder, or use default path tcFolder = Iif(Thisform.oForm.lCR_Local_Default,'',Justpath(Set("Resource",1))) - llFound = Create_LocalPath(@tcFolder, .F., Thisform.oForm.lCR_Local_Default, Thisform.oForm.lCR_Local_Default) + llFound = GF_Create_LocalPath(@tcFolder, .F., Thisform.oForm.lCR_Local_Default, Thisform.oForm.lCR_Local_Default) If Directory(m.tcFolder) Then *folder found, activate Thisform.cCR_StoreLocal_Option = m.tcFolder Thisform.cCR_StoreLocal_Set = m.tcFolder - Put_LocalPath(m.tcFolder) + GF_Put_LocalPath(m.tcFolder) llSet = .T. Else &&Directory(m.tcFolder) Thisform.oForm.lCR_Local = .F. @@ -2466,12 +2466,12 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" ENDPROC PROCEDURE pfSettings.Page1.Label3.Click - Shell('https://github.com/VFPX/Thor') + GF_Shell('https://github.com/VFPX/Thor') ENDPROC PROCEDURE pfSettings.Page1.Label5.Click - Shell('https://github.com/VFPX/GoFish') + GF_Shell('https://github.com/VFPX/GoFish') ENDPROC @@ -2543,7 +2543,7 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" lcPath = '"' + Thisform.cCR_StoreLocal + '"' */SF 20221018 -> local storage - OpenExplorerWindow(lcPath) + GF_OpenExplorerWindow(lcPath) ENDPROC PROCEDURE pfSettings.pageAdvanced.cmdSetFolder.Click @@ -2611,13 +2611,13 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" lcPath = '"' + Addbs(Thisform.cCR_StoreLocal + 'GoFishBackups') + '"' */SF 20221018 -> local storage - OpenExplorerWindow(lcPath) + GF_OpenExplorerWindow(lcPath) ENDPROC PROCEDURE pfSettings.pageBackups.Label2.Click messagebox('No help available at this time.', 0, 'GoFish') - *** TODO: Shell('URL for backup help') + *** TODO: GF_Shell('URL for backup help') ENDPROC @@ -2853,7 +2853,7 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" lcPath = '"' + Thisform.cCR_StoreLocal + lcFolder + '"' */SF 20221018 -> local storage - OpenExplorerWindow(lcPath) + GF_OpenExplorerWindow(lcPath) ENDPROC PROCEDURE pfSettings.pagePreferences.Spinner4.Click @@ -2919,12 +2919,12 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" lcPath = JustPath(Thisform.oSearchEngine.cReplaceDetailTable) - OpenExplorerWindow(lcPath) + GF_OpenExplorerWindow(lcPath) ENDPROC PROCEDURE pfSettings.pageReplace.Label2.Click messagebox('No help available at this time.', 0, 'GoFish') - *** TODO: Shell('URL for replace help') + *** TODO: GF_Shell('URL for replace help') ENDPROC @@ -3021,7 +3021,7 @@ DEFINE CLASS gf_options AS gf_baseform OF "..\lib\gofishui.vcx" ENDPROC PROCEDURE pfSettings.pageThor.Label2.Click - Shell('https://github.com/VFPX/Thor') + GF_Shell('https://github.com/VFPX/Thor') ENDPROC diff --git a/Source/Forms/gofish_options.scx b/Source/Forms/gofish_options.scx index a472546..ba141f5 100644 Binary files a/Source/Forms/gofish_options.scx and b/Source/Forms/gofish_options.scx differ diff --git a/Source/Forms/gofish_results.scx b/Source/Forms/gofish_results.scx index a8b8b34..596be08 100644 Binary files a/Source/Forms/gofish_results.scx and b/Source/Forms/gofish_results.scx differ diff --git a/Source/Forms/gofish_results_desktop.scx b/Source/Forms/gofish_results_desktop.scx index a3d258f..6122801 100644 Binary files a/Source/Forms/gofish_results_desktop.scx and b/Source/Forms/gofish_results_desktop.scx differ diff --git a/Source/Forms/gofish_searchhistory.SCT b/Source/Forms/gofish_searchhistory.SCT index 9a02c58..8913590 100644 Binary files a/Source/Forms/gofish_searchhistory.SCT and b/Source/Forms/gofish_searchhistory.SCT differ diff --git a/Source/Forms/gofish_searchhistory.sc2 b/Source/Forms/gofish_searchhistory.sc2 index 2dc5d32..64b350c 100644 --- a/Source/Forms/gofish_searchhistory.sc2 +++ b/Source/Forms/gofish_searchhistory.sc2 @@ -252,7 +252,7 @@ DEFINE CLASS form1 AS gf_baseform OF "..\lib\gofishui.vcx" Return Endif - If RemoveFolder(m.lcPath) + If GF_RemoveFolder(m.lcPath) Delete In gf_SearchHistory Else Messagebox('Unable to delete folder "' + m.lcPath + '"', 16, 'Unable to delete folder') @@ -282,7 +282,7 @@ DEFINE CLASS form1 AS gf_baseform OF "..\lib\gofishui.vcx" lcPath = Alltrim(gf_SearchHistory.SearchHistoryFolder) - OpenExplorerWindow(lcPath) + GF_OpenExplorerWindow(lcPath) ENDPROC PROCEDURE Command1.Refresh diff --git a/Source/Forms/gofish_searchhistory.scx b/Source/Forms/gofish_searchhistory.scx index 1dd43a0..ec9313c 100644 Binary files a/Source/Forms/gofish_searchhistory.scx and b/Source/Forms/gofish_searchhistory.scx differ diff --git a/Source/GoFish5.APP b/Source/GoFish5.APP index 9a51157..c6e2202 100644 Binary files a/Source/GoFish5.APP and b/Source/GoFish5.APP differ diff --git a/Source/GoFish5.PJT b/Source/GoFish5.PJT index a775e3b..e548570 100644 Binary files a/Source/GoFish5.PJT and b/Source/GoFish5.PJT differ diff --git a/Source/GoFish5.pjx b/Source/GoFish5.pjx index abddbf8..e273343 100644 Binary files a/Source/GoFish5.pjx and b/Source/GoFish5.pjx differ diff --git a/Source/GoFishVersionFile.txt b/Source/GoFishVersionFile.txt index ce0581d..04e1d28 100644 --- a/Source/GoFishVersionFile.txt +++ b/Source/GoFishVersionFile.txt @@ -1 +1 @@ -GoFish5 - 5.1.006 - 11. November 2022, - 20221111 \ No newline at end of file +GoFish5 - 5.1.009 - 31. Januar 2023, - 20230131 \ No newline at end of file diff --git a/Source/Lib/VFP/FFC/_base.vcx b/Source/Lib/VFP/FFC/_base.vcx index 5912159..21ec6e8 100644 Binary files a/Source/Lib/VFP/FFC/_base.vcx and b/Source/Lib/VFP/FFC/_base.vcx differ diff --git a/Source/Lib/VFP/FFC/_environ.vcx b/Source/Lib/VFP/FFC/_environ.vcx index 21246e6..f4033ca 100644 Binary files a/Source/Lib/VFP/FFC/_environ.vcx and b/Source/Lib/VFP/FFC/_environ.vcx differ diff --git a/Source/Lib/VFP/FFC/_frxcursor.vct b/Source/Lib/VFP/FFC/_frxcursor.vct index e27874f..036d096 100644 Binary files a/Source/Lib/VFP/FFC/_frxcursor.vct and b/Source/Lib/VFP/FFC/_frxcursor.vct differ diff --git a/Source/Lib/VFP/FFC/_frxcursor.vcx b/Source/Lib/VFP/FFC/_frxcursor.vcx index 309c8ec..5341576 100644 Binary files a/Source/Lib/VFP/FFC/_frxcursor.vcx and b/Source/Lib/VFP/FFC/_frxcursor.vcx differ diff --git a/Source/Lib/VFP/My/my.VCT b/Source/Lib/VFP/My/my.VCT index a324fab..4c39067 100644 Binary files a/Source/Lib/VFP/My/my.VCT and b/Source/Lib/VFP/My/my.VCT differ diff --git a/Source/Lib/VFP/My/my.vcx b/Source/Lib/VFP/My/my.vcx index 2593a4d..d917ffc 100644 Binary files a/Source/Lib/VFP/My/my.vcx and b/Source/Lib/VFP/My/my.vcx differ diff --git a/Source/Lib/gofishui.VCT b/Source/Lib/gofishui.VCT index 096171d..c980fd8 100644 Binary files a/Source/Lib/gofishui.VCT and b/Source/Lib/gofishui.VCT differ diff --git a/Source/Lib/gofishui.vc2 b/Source/Lib/gofishui.vc2 index eefac5d..d80b679 100644 --- a/Source/Lib/gofishui.vc2 +++ b/Source/Lib/gofishui.vc2 @@ -216,7 +216,7 @@ DEFINE CLASS gf_baseform AS form lnScreenRight = _Screen.Width If This.Desktop Or This.Dockable=1 Then - loMonitor = GetMonitorStatistics() + loMonitor = GF_GetMonitorStatistics() lnTop = _Screen.Top lnLeft = _Screen.Left @@ -3588,7 +3588,7 @@ DEFINE CLASS gf_resultsform AS form *p: creplaceline *p: creplaceudffilename *p: cresultsmessage - *p: csavedsearchresultsfolder && This property value is used by the RemoveFolder() function in the GoFishProc.prg file. If changed here, you'll need to update code in that fucntion also. + *p: csavedsearchresultsfolder && This property value is used by the GF_RemoveFolder() function in the GoFishProc.prg file. If changed here, you'll need to update code in that fucntion also. *p: csearchoptionsxmlfile *p: csearchresultsalias *p: csearchresultsmessage @@ -3685,7 +3685,7 @@ DEFINE CLASS gf_resultsform AS form creplaceline = creplaceudffilename = cresultsmessage = - csavedsearchresultsfolder = GF_Saved_Search_Results && This property value is used by the RemoveFolder() function in the GoFishProc.prg file. If changed here, you'll need to update code in that fucntion also. + csavedsearchresultsfolder = GF_Saved_Search_Results && This property value is used by the GF_RemoveFolder() function in the GoFishProc.prg file. If changed here, you'll need to update code in that fucntion also. csearchoptionsxmlfile = GF_Search_Settings.xml csearchresultsalias = csrSummarySearchResults csearchresultsmessage = @@ -3768,7 +3768,7 @@ DEFINE CLASS gf_resultsform AS form osearchoptions = .NULL. otree = .NULL. owebcontrol = .NULL. - Picture = ..\ + Picture = ..\..\data\default\ ShowTips = .T. TabStop = .T. Top = 0 @@ -4059,7 +4059,7 @@ DEFINE CLASS gf_resultsform AS form Height = 24, ; Left = 118, ; Name = "comboViewPosition", ; - Picture = ..\, ; + Picture = ..\..\data\default\, ; Style = 2, ; TabIndex = 24, ; TabStop = .F., ; @@ -4217,7 +4217,7 @@ DEFINE CLASS gf_resultsform AS form Left = 47, ; Name = "comboSearchExpressionHistory", ; nexpressionstostore = 50, ; - Picture = ..\, ; + Picture = ..\..\data\default\, ; TabIndex = 19, ; TabStop = .F., ; Top = 3, ; @@ -4231,7 +4231,7 @@ DEFINE CLASS gf_resultsform AS form Height = 26, ; Left = 446, ; Name = "comboSearchExpressionHistoryDropDownArrow", ; - Picture = ..\, ; + Picture = ..\..\data\default\, ; TabIndex = 24, ; TabStop = .F., ; Top = 14, ; @@ -4246,7 +4246,7 @@ DEFINE CLASS gf_resultsform AS form Left = 70, ; Name = "comboSearchScopeHistory", ; nexpressionstostore = 40, ; - Picture = ..\, ; + Picture = ..\..\data\default\, ; SelectOnEntry = .T., ; TabIndex = 10, ; Top = 31, ; @@ -4310,7 +4310,7 @@ DEFINE CLASS gf_resultsform AS form Name = "oTreeView", ; Top = 0, ; Width = 186 - *< END OBJECT: BaseClass="olecontrol" OLEObject="c:\windows\syswow64\mscomctl.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7///8EAAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGB39aEs7tgBAwAAAEACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABcAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAACABAAAAAAAABAAAAAIAAAD+////BQAAAP7///8GAAAABwAAAAgAAAD+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+2kEHHiYXREbFqAMDwKDYoIUM0EggAAAA5EwAABTUAALE8wWoBAAYAIgAAABkAAAARAgAACgAAAAEAAAAB782rXAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACQAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MzY4MjY1RS04NUZFLTExZDEtOEJFMy0wMDAwRjg3NTREQTEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACADgAAAEhpZGVTZWxlY3Rpb24ABQAAAEwAAAAADAAAAEluZGVudGF0aW9uABEAAABODQAAAAcAAAAAAAAAAAAFAGDRxgUGAAAAAAAAAAUAAIC45xkAAQAAAFwAH97svQEABQAA6BkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANEAKAAAATGluZVN0eWxlAAkAAABJCgAAAAEAAAANAAAATW91c2VQb2ludGVyAAkAAABJCgAAAAAAAAAOAAAAUGF0aFNlcGFyYXRvcgAKAAAASAAAAAABAAAAXAYAAABTdHlsZQAJAAAASQoAAAAGAAAADAAAAE9MRURyYWdNb2RlAAkAAABJCgAAAAAAAAAMAAAAT0xFRHJvcE1vZGUACQAAAEkKAAAAAAAAAA4AAABGdWxsUm93U2VsZWN0AAUAAABMAQAAAAoAAABTaW5nbGVTZWwABQAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /> + *< END OBJECT: BaseClass="olecontrol" OLEObject="c:\windows\syswow64\mscomctl.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7///8EAAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA0am2CRtkBAwAAAEACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABcAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAACABAAAAAAAABAAAAAIAAAD+////BQAAAP7///8GAAAABwAAAAgAAAD+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+2kEHHiYXREbFqAMDwKDYoIUM0EggAAAA5EwAABTUAALE8wWoBAAYAIgAAABkAAAARAgAACgAAAAEAAAAB782rXAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACQAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5MzY4MjY1RS04NUZFLTExZDEtOEJFMy0wMDAwRjg3NTREQTEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACADgAAAEhpZGVTZWxlY3Rpb24ABQAAAEwAAAAADAAAAEluZGVudGF0aW9uABEAAABODQAAAAcAAAAAAAAAAAAFAOBErgAGAAAAAAAAAAUAAIC45xkAAQAAAFwAH97svQEABQAA6BkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANEAKAAAATGluZVN0eWxlAAkAAABJCgAAAAEAAAANAAAATW91c2VQb2ludGVyAAkAAABJCgAAAAAAAAAOAAAAUGF0aFNlcGFyYXRvcgAKAAAASAAAAAABAAAAXAYAAABTdHlsZQAJAAAASQoAAAAGAAAADAAAAE9MRURyYWdNb2RlAAkAAABJCgAAAAAAAAAMAAAAT0xFRHJvcE1vZGUACQAAAEkKAAAAAAAAAA4AAABGdWxsUm93U2VsZWN0AAUAAABMAQAAAAoAAABTaW5nbGVTZWwABQAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /> ADD OBJECT 'containerRight' AS container WITH ; Anchor = 15, ; @@ -5027,7 +5027,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Process", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.colProcess.imageCheck' AS image WITH ; @@ -5060,7 +5060,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column1.Text1' AS textbox WITH ; @@ -5076,7 +5076,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column10.Text1' AS textbox WITH ; @@ -5094,7 +5094,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column11.Text1' AS textbox WITH ; @@ -5112,7 +5112,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column12.Text1' AS textbox WITH ; @@ -5130,7 +5130,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column13.Text1' AS textbox WITH ; @@ -5146,7 +5146,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column14.Text1' AS textbox WITH ; @@ -5162,7 +5162,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column15.Text1' AS textbox WITH ; @@ -5178,7 +5178,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column16.Text1' AS textbox WITH ; @@ -5200,7 +5200,7 @@ DEFINE CLASS gf_resultsform AS form FontSize = 8, ; ForeColor = 255,255,255, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column17.Text1' AS textbox WITH ; @@ -5224,7 +5224,7 @@ DEFINE CLASS gf_resultsform AS form FontSize = 8, ; ForeColor = 255,255,255, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column18.Text1' AS textbox WITH ; @@ -5245,7 +5245,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column19.Text1' AS textbox WITH ; @@ -5261,7 +5261,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column2.Text1' AS textbox WITH ; @@ -5277,7 +5277,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column20.Text1' AS textbox WITH ; @@ -5292,7 +5292,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column21.Text1' AS textbox WITH ; @@ -5307,7 +5307,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column22.Text1' AS textbox WITH ; @@ -5322,7 +5322,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column23.Text1' AS textbox WITH ; @@ -5337,7 +5337,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column25.Text1' AS textbox WITH ; @@ -5356,7 +5356,7 @@ DEFINE CLASS gf_resultsform AS form FontSize = 8, ; ForeColor = 255,255,255, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column3.Text1' AS textbox WITH ; @@ -5380,7 +5380,7 @@ DEFINE CLASS gf_resultsform AS form FontSize = 8, ; ForeColor = 255,255,255, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column4.Text1' AS textbox WITH ; @@ -5400,7 +5400,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column5.Text1' AS textbox WITH ; @@ -5416,7 +5416,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column6.Text1' AS textbox WITH ; @@ -5434,7 +5434,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column7.Text1' AS textbox WITH ; @@ -5452,7 +5452,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column8.Text1' AS textbox WITH ; @@ -5470,7 +5470,7 @@ DEFINE CLASS gf_resultsform AS form Caption = "Header1", ; FontSize = 8, ; Name = "Header1", ; - Picture = ..\ + Picture = ..\..\data\default\ *< END OBJECT: BaseClass="header" /> ADD OBJECT 'containerRight.Container1.GridFiles.Column9.Text1' AS textbox WITH ; @@ -5602,7 +5602,7 @@ DEFINE CLASS gf_resultsform AS form FontSize = 8, ; Left = 108, ; Name = "comboViewPosition", ; - Picture = ..\, ; + Picture = ..\..\data\default\, ; Style = 2, ; TabIndex = 24, ; TabStop = .F., ; @@ -6976,7 +6976,7 @@ DEFINE CLASS gf_resultsform AS form lcChoice = '' lnBar = 0 - CreateContextMenu('FilterByFile') + GF_CreateContextMenu('FilterByFile') lcChoice1 = 'Filter by this File' lnBar = m.lnBar + 1 @@ -7029,7 +7029,7 @@ DEFINE CLASS gf_resultsform AS form Local lcChoice, lnBar lcChoice = '' lnBar = 0 - CreateContextMenu('GridHeaderMenu') + GF_CreateContextMenu('GridHeaderMenu') lnBar = m.lnBar + 1 Define Bar (m.lnBar) Of GridHeaderMenu Prompt 'Sort by this column' @@ -7298,7 +7298,7 @@ DEFINE CLASS gf_resultsform AS form *Search local settings, procedure because Go1Fish.prg needs this as well. This.lCR_Allow = loSettings.lCR_Allow - Get_LocalSettings(@loSettings,@lcFile) + GF_Get_LocalSettings(@loSettings,@lcFile) This.lCR_Allowed = loSettings.lCR_Allowed If loSettings.lCR_Allowed Then @@ -7425,14 +7425,14 @@ DEFINE CLASS gf_resultsform AS form m.loSettings.Load(m.lcSettingsFile) - This.lCR_Local = PropNvl(m.loSettings, "lCR_Local" ,This.lCR_Local ,.T.) - This.lCR_Local_Default = PropNvl(m.loSettings, "lCR_Local_Default",This.lCR_Local_Default,.T.) + This.lCR_Local = GF_PropNvl(m.loSettings, "lCR_Local" ,This.lCR_Local ,.T.) + This.lCR_Local_Default = GF_PropNvl(m.loSettings, "lCR_Local_Default",This.lCR_Local_Default,.T.) If m.loSettings.Exists('lCR_Allow') And m.loSettings.lCR_Allow Then *Search local settings, procedure because Go1Fish.prg needs this as well. This.lCR_Allow = loSettings.lCR_Allow - Get_LocalSettings(@loSettings,@lcSettingsFile) + GF_Get_LocalSettings(@loSettings,@lcSettingsFile) This.lCR_Allowed = loSettings.lCR_Allowed If loSettings.lCR_Allowed Then @@ -7463,7 +7463,7 @@ DEFINE CLASS gf_resultsform AS form loMyDefault = m.loMy loSettingsDefault = m.loSettings - This.lRestorePreviousSearchResultsOnStartup = PropNvl(m.loSettingsDefault, 'lRestorePreviousSearchResultsOnStartup ', This.lRestorePreviousSearchResultsOnStartup, .T.) + This.lRestorePreviousSearchResultsOnStartup = GF_PropNvl(m.loSettingsDefault, 'lRestorePreviousSearchResultsOnStartup ', This.lRestorePreviousSearchResultsOnStartup, .T.) */ SF 20221017 If Not m.tlForceLoadFromHome7 And Thisform.lRestorePreviousSearchResultsOnStartup @@ -7515,7 +7515,7 @@ DEFINE CLASS gf_resultsform AS form lnScreenRight = _Screen.Width If This.Desktop Or This.Dockable=1 Then - loMonitor = GetMonitorStatistics() + loMonitor = GF_GetMonitorStatistics() lnTop = _Screen.Top lnLeft = _Screen.Left @@ -7559,11 +7559,11 @@ DEFINE CLASS gf_resultsform AS form Endif With Thisform - .nBrowserZoom = PropNvl(m.loSettingsDefault, 'nBrowserZoom', 1, .T.) - .nSearchBoxFontSize = PropNvl(m.loSettings, 'nSearchBoxFontSize', Thisform.editSearch.FontSize, .T.) - .nGridFontSize = PropNvl(m.loSettingsDefault, 'nGridFontSize', Thisform.oGrid.FontSize, .T.) - .nTreeViewFontSize = PropNvl(m.loSettingsDefault, 'nTreeViewFontSize', Thisform.oGrid.FontSize, .T.) - .nReplaceMode = PropNvl(m.loSettings, 'nReplaceMode', 1) + .nBrowserZoom = GF_PropNvl(m.loSettingsDefault, 'nBrowserZoom', 1, .T.) + .nSearchBoxFontSize = GF_PropNvl(m.loSettings, 'nSearchBoxFontSize', Thisform.editSearch.FontSize, .T.) + .nGridFontSize = GF_PropNvl(m.loSettingsDefault, 'nGridFontSize', Thisform.oGrid.FontSize, .T.) + .nTreeViewFontSize = GF_PropNvl(m.loSettingsDefault, 'nTreeViewFontSize', Thisform.oGrid.FontSize, .T.) + .nReplaceMode = GF_PropNvl(m.loSettings, 'nReplaceMode', 1) .Containerright.Container2.containerWebControl.nZoom = .nBrowserZoom Endwith @@ -7572,65 +7572,65 @@ DEFINE CLASS gf_resultsform AS form *-- Load other Form properties from My Settings ------------------------------------ With Thisform - *.lIncludeSubDirectoriesCurrent = PropNvl(loSettings, 'lIncludeSubDirectoriesCurrent', .t.) - *.lIncludeSubDirectoriesBrowsed = PropNvl(loSettings, 'lIncludeSubDirectoriesBrowsed', .t.) - .lApplyFilter = PropNvl(m.loSettings, 'lApplyFilter', .F., .T.) &&controlsource - .lClearApplyFilter = PropNvl(m.loSettingsDefault, 'lClearApplyFilter', .T., .T.) - .cFilter = PropNvl(m.loSettings, 'cFilter', '', .T.) + *.lIncludeSubDirectoriesCurrent = GF_PropNvl(loSettings, 'lIncludeSubDirectoriesCurrent', .t.) + *.lIncludeSubDirectoriesBrowsed = GF_PropNvl(loSettings, 'lIncludeSubDirectoriesBrowsed', .t.) + .lApplyFilter = GF_PropNvl(m.loSettings, 'lApplyFilter', .F., .T.) &&controlsource + .lClearApplyFilter = GF_PropNvl(m.loSettingsDefault, 'lClearApplyFilter', .T., .T.) + .cFilter = GF_PropNvl(m.loSettings, 'cFilter', '', .T.) - *.cSortFields = PropNvl(loSettings, 'cSortFields', '') && This one has been deprecated. See cSortField. + *.cSortFields = GF_PropNvl(loSettings, 'cSortFields', '') && This one has been deprecated. See cSortField. If Pemstatus(m.loSettings, 'cSortFields', 5) .cSortField = Getwordnum(m.loSettings.cSortFields, 1, ',') Else - .cSortField = PropNvl(m.loSettings, 'cSortField') + .cSortField = GF_PropNvl(m.loSettings, 'cSortField') Endif - .cSortOrder = PropNvl(m.loSettings, 'cSortOrder', '') - .cSortFieldSecondary = PropNvl(m.loSettings, 'cSortFieldSecondary', '') - .cSortOrderSecondary = PropNvl(m.loSettings, 'cSortOrderSecondary', '') - .cSortFieldTertiary = PropNvl(m.loSettings, 'cSortFieldTertiary', '') - .cSortOrderTertiary = PropNvl(m.loSettings, 'cSortOrderSecondary', '') + .cSortOrder = GF_PropNvl(m.loSettings, 'cSortOrder', '') + .cSortFieldSecondary = GF_PropNvl(m.loSettings, 'cSortFieldSecondary', '') + .cSortOrderSecondary = GF_PropNvl(m.loSettings, 'cSortOrderSecondary', '') + .cSortFieldTertiary = GF_PropNvl(m.loSettings, 'cSortFieldTertiary', '') + .cSortOrderTertiary = GF_PropNvl(m.loSettings, 'cSortOrderSecondary', '') - .nReplaceRisk = Evl(PropNvl(m.loSettingsDefault, 'nReplaceRisk', 1), 1) - .cReplaceUDFFilename = PropNvl(m.loSettings, 'cReplaceUdfFilename', '') + .nReplaceRisk = Evl(GF_PropNvl(m.loSettingsDefault, 'nReplaceRisk', 1), 1) + .cReplaceUDFFilename = GF_PropNvl(m.loSettings, 'cReplaceUdfFilename', '') - .nDropDownDisplayCount = PropNvl(m.loSettingsDefault, 'nDropDownDisplayCount', 20, .T.) - .nDropDownMaxMRU = PropNvl(m.loSettingsDefault, 'nDropDownMaxMRU', 7, .T.) + .nDropDownDisplayCount = GF_PropNvl(m.loSettingsDefault, 'nDropDownDisplayCount', 20, .T.) + .nDropDownMaxMRU = GF_PropNvl(m.loSettingsDefault, 'nDropDownMaxMRU', 7, .T.) - .lWarnWholeWord = PropNvl(m.loSettingsDefault, 'lWarnWholeWord', .F., .T.) - .lSaveSearchResults = PropNvl(m.loSettingsDefault, 'lSaveSearchResults', .T., .T.) - .lCodeOnly = PropNvl(m.loSettings, 'lCodeOnly', .F., .T.) + .lWarnWholeWord = GF_PropNvl(m.loSettingsDefault, 'lWarnWholeWord', .F., .T.) + .lSaveSearchResults = GF_PropNvl(m.loSettingsDefault, 'lSaveSearchResults', .T., .T.) + .lCodeOnly = GF_PropNvl(m.loSettings, 'lCodeOnly', .F., .T.) - .nPreviousSessionTreeviewindex = PropNvl(m.loSettings, 'nSelectedTreeviewNode', 1, .T.) - .lOnlyFirstMatchInStatement = PropNvl(m.loSettings, 'lOnlyFirstMatchInStatement', .F., .T.) + .nPreviousSessionTreeviewindex = GF_PropNvl(m.loSettings, 'nSelectedTreeviewNode', 1, .T.) + .lOnlyFirstMatchInStatement = GF_PropNvl(m.loSettings, 'lOnlyFirstMatchInStatement', .F., .T.) - .nCodeWindowPosition = PropNvl(m.loSettings, 'CodeWindowPosition', 1, .T.) + .nCodeWindowPosition = GF_PropNvl(m.loSettings, 'CodeWindowPosition', 1, .T.) - .nJanitorSearchHistoryDays = PropNvl(m.loSettingsDefault, 'nJanitorSearchHistoryDays ', 10000, .T.) - .nJanitorReplaceHistoryDays = PropNvl(m.loSettingsDefault, 'nJanitorReplaceHistoryDays', 10000, .T.) - .lRunJanitorDaily = PropNvl(m.loSettingsDefault, 'lRunJanitorDaily', .F., .T.) - .nTabsToSpaces = PropNvl(m.loSettingsDefault, 'nTabsToSpaces', 0, .T.) + .nJanitorSearchHistoryDays = GF_PropNvl(m.loSettingsDefault, 'nJanitorSearchHistoryDays ', 10000, .T.) + .nJanitorReplaceHistoryDays = GF_PropNvl(m.loSettingsDefault, 'nJanitorReplaceHistoryDays', 10000, .T.) + .lRunJanitorDaily = GF_PropNvl(m.loSettingsDefault, 'lRunJanitorDaily', .F., .T.) + .nTabsToSpaces = GF_PropNvl(m.loSettingsDefault, 'nTabsToSpaces', 0, .T.) * Dates are stored as datetime! - .dLastJanitorRunDate = Ttod(PropNvl(m.loSettingsDefault, 'dLastJanitorRunDate', Dtot(Date() - 1), .T.)) + .dLastJanitorRunDate = Ttod(GF_PropNvl(m.loSettingsDefault, 'dLastJanitorRunDate', Dtot(Date() - 1), .T.)) *SF 20221017 *new settings * loSettingsDefault is the same as loSettings, if no previous search is loaded - .nContainerFrameColour = PropNvl(m.loSettingsDefault, "nContainerFrameColour" ,.nContainerFrameColour ,.T.) - .nFileSCXDynamicForeColour = PropNvl(m.loSettingsDefault, "nFileSCXDynamicForeColour" ,.nFileSCXDynamicForeColour ,.T.) - .nFileVCXDynamicForeColour = PropNvl(m.loSettingsDefault, "nFileVCXDynamicForeColour" ,.nFileVCXDynamicForeColour ,.T.) - .nFilePRGDynamicForeColour = PropNvl(m.loSettingsDefault, "nFilePRGDynamicForeColour" ,.nFilePRGDynamicForeColour ,.T.) - .nFileDefaultDynamicForeColour = PropNvl(m.loSettingsDefault, "nFileDefaultDynamicForeColour" ,.nFileDefaultDynamicForeColour ,.T.) - .nReplacedDynamicBackColour = PropNvl(m.loSettingsDefault, "nReplacedDynamicBackColour" ,.nReplacedDynamicBackColour ,.T.) - .nRiskExceededDynamicBackColour = PropNvl(m.loSettingsDefault, "nRiskExceededDynamicBackColour",.nRiskExceededDynamicBackColour,.T.) - .nRisk2DynamicBackColour = PropNvl(m.loSettingsDefault, "nRisk2DynamicBackColour" ,.nRisk2DynamicBackColour ,.T.) - .nRisk3DynamicBackColour = PropNvl(m.loSettingsDefault, "nRisk3DynamicBackColour" ,.nRisk3DynamicBackColour ,.T.) - .nTreeSearchColour = PropNvl(m.loSettingsDefault, "nTreeSearchColour" ,.nTreeSearchColour ,.T.) - .nTreeUpdateColour = PropNvl(m.loSettingsDefault, "nTreeUpdateColour" ,.nTreeUpdateColour ,.T.) - .nCSS_tr_even_Colour = PropNvl(m.loSettingsDefault, "nCSS_tr_even_Colour" ,.nCSS_tr_even_Colour ,.T.) - .nCSS_tr_odd_Colour = PropNvl(m.loSettingsDefault, "nCSS_tr_odd_Colour" ,.nCSS_tr_odd_Colour ,.T.) - .lMoveNewCodeToTopLeft = PropNvl(m.loSettingsDefault, "lMoveNewCodeToTopLeft" ,.lMoveNewCodeToTopLeft ,.T.) + .nContainerFrameColour = GF_PropNvl(m.loSettingsDefault, "nContainerFrameColour" ,.nContainerFrameColour ,.T.) + .nFileSCXDynamicForeColour = GF_PropNvl(m.loSettingsDefault, "nFileSCXDynamicForeColour" ,.nFileSCXDynamicForeColour ,.T.) + .nFileVCXDynamicForeColour = GF_PropNvl(m.loSettingsDefault, "nFileVCXDynamicForeColour" ,.nFileVCXDynamicForeColour ,.T.) + .nFilePRGDynamicForeColour = GF_PropNvl(m.loSettingsDefault, "nFilePRGDynamicForeColour" ,.nFilePRGDynamicForeColour ,.T.) + .nFileDefaultDynamicForeColour = GF_PropNvl(m.loSettingsDefault, "nFileDefaultDynamicForeColour" ,.nFileDefaultDynamicForeColour ,.T.) + .nReplacedDynamicBackColour = GF_PropNvl(m.loSettingsDefault, "nReplacedDynamicBackColour" ,.nReplacedDynamicBackColour ,.T.) + .nRiskExceededDynamicBackColour = GF_PropNvl(m.loSettingsDefault, "nRiskExceededDynamicBackColour",.nRiskExceededDynamicBackColour,.T.) + .nRisk2DynamicBackColour = GF_PropNvl(m.loSettingsDefault, "nRisk2DynamicBackColour" ,.nRisk2DynamicBackColour ,.T.) + .nRisk3DynamicBackColour = GF_PropNvl(m.loSettingsDefault, "nRisk3DynamicBackColour" ,.nRisk3DynamicBackColour ,.T.) + .nTreeSearchColour = GF_PropNvl(m.loSettingsDefault, "nTreeSearchColour" ,.nTreeSearchColour ,.T.) + .nTreeUpdateColour = GF_PropNvl(m.loSettingsDefault, "nTreeUpdateColour" ,.nTreeUpdateColour ,.T.) + .nCSS_tr_even_Colour = GF_PropNvl(m.loSettingsDefault, "nCSS_tr_even_Colour" ,.nCSS_tr_even_Colour ,.T.) + .nCSS_tr_odd_Colour = GF_PropNvl(m.loSettingsDefault, "nCSS_tr_odd_Colour" ,.nCSS_tr_odd_Colour ,.T.) + .lMoveNewCodeToTopLeft = GF_PropNvl(m.loSettingsDefault, "lMoveNewCodeToTopLeft" ,.lMoveNewCodeToTopLeft ,.T.) */SF 20221017 Endwith @@ -7655,10 +7655,10 @@ DEFINE CLASS gf_resultsform AS form lnX = 1 For Each m.loControl In Thisform.oGrid.Columns - loControl.Width = PropNvl(m.loSettings, m.loControl.Name + '_width', 100, .T.) - loControl.ColumnOrder = PropNvl(m.loSettings, m.loControl.Name + '_order', m.lnX, .T.) - loControl.Visible = PropNvl(m.loSettings, m.loControl.Name + '_visible', .T., .T.) - *loControl.Header1.FontBold = PropNvl(loSettings, loControl.name + '_BoldHeader', .f., .t.) + loControl.Width = GF_PropNvl(m.loSettings, m.loControl.Name + '_width', 100, .T.) + loControl.ColumnOrder = GF_PropNvl(m.loSettings, m.loControl.Name + '_order', m.lnX, .T.) + loControl.Visible = GF_PropNvl(m.loSettings, m.loControl.Name + '_visible', .T., .T.) + *loControl.Header1.FontBold = GF_PropNvl(loSettings, loControl.name + '_BoldHeader', .f., .t.) lnX = m.lnX + 1 Endfor @@ -8505,7 +8505,7 @@ DEFINE CLASS gf_resultsform AS form If Left(m.lcFile, 1) # '.' Locate For Id = Val(m.lcFile) If Not Found() - RemoveFolder(ccBACKUPFOLDER + m.lcFile) + GF_RemoveFolder(ccBACKUPFOLDER + m.lcFile) Endif Endif Endfor @@ -8534,7 +8534,7 @@ DEFINE CLASS gf_resultsform AS form For lnI = 1 To m.lnFolderCount lcFile = m.laDirs[m.lnI, 1] If Left(m.lcFile, 1) # '.' And m.laDirs[m.lnI, 3] < m.ldCutOff - RemoveFolder(Addbs(m.lcRoot) + m.lcFile) + GF_RemoveFolder(Addbs(m.lcRoot) + m.lcFile) Endif Endfor ENDPROC @@ -9026,7 +9026,7 @@ DEFINE CLASS gf_resultsform AS form Strtofile(m.lcErrorText, m.lcTempFile) Modify File (m.lcTempFile) Nowait - If IsThorThere() + If GF_IsThorThere() loEditorWin = Execscript(_Screen.cThorDispatcher, 'Class= editorwin from pemeditor') m.loEditorWin.ResizeWindow(1200, 600) m.loEditorWin.SetTitle(m.lcTempFile) @@ -9094,7 +9094,7 @@ DEFINE CLASS gf_resultsform AS form PROCEDURE showgofishhelppage messagebox('No help available at this time.', 0, 'GoFish') - *** TODO: Shell('URL for replace help') + *** TODO: GF_Shell('URL for replace help') ENDPROC @@ -9801,7 +9801,7 @@ DEFINE CLASS gf_resultsform AS form Local lcChoice, lnBar lcChoice = '' lnBar = 0 - CreateContextMenu('AdvancedContextMenu') + GF_CreateContextMenu('AdvancedContextMenu') lnBar = m.lnBar + 1 Define Bar (m.lnBar) Of AdvancedContextMenu Prompt '\ Vartype(tuDefaultValue)) and Pcount() >= 3 - Return tuDefaultValue - Else - Return Evaluate('toObject.' + Alltrim(tcProperty)) - Endif - Else - If tlAddPropertyIfNotPresent - AddProperty(toObject, tcProperty, tuDefaultValue) - EndIf - Return tuDefaultValue - EndIf - -EndFunc - - -* -------------------------------------------------------------------------------- -*-- This method is used by the Delete button on the Search History Form. -*-- Revised 2021-03-19: -*-- As as safety measure, it will only delete a folder path which contains "gf_saved_search_results". -* -------------------------------------------------------------------------------- -Procedure RemoveFolder(lcFolderName) - Local laFiles[1], lcFileName, lcFileNameWithPath, llFailure, lnFileCount, lnI, loException - - Declare Integer SetFileAttributes In kernel32 String, Integer - lcFolderName = Trim(m.lcFolderName) - - If Empty(lcFolderName) Or !("gf_saved_search_results" $ Lower(lcFolderName)) - Return .f. - Endif - - Try - lnFileCount = Adir(laFiles, m.lcFolderName + '\*', 'DH') - For lnI = 1 To m.lnFileCount - lcFileName = m.laFiles[m.lnI, 1] - If Left(m.lcFileName, 1) # '.' - lcFileNameWithPath = m.lcFolderName + '\' + m.lcFileName - SetFileAttributes(m.lcFileNameWithPath, 0) - If 'D' $ m.laFiles[m.lnI, 5] && directory? - RemoveFolder(m.lcFileNameWithPath) - Else - Delete File(m.lcFileNameWithPath) - Endif - Endif - Endfor - Rmdir(m.lcFolderName) - - Catch To m.loException - llFailure = .T. - Endtry - - Return m.llFailure = .F. - -Endproc - - - - -* -------------------------------------------------------------------------------- -* -------------------------------------------------------------------------------- -*** JRN 10/14/2015 : Added to process context menus -Procedure CreateContextMenu(lcMenuName) - Local loPosition - - loPosition = CalculateShortcutMenuPosition() - - *** JRN 2010-11-10 : Following is an attempt to solve the problem - * when there is another form already open; apparently, if the - * focus is on the screen, the positioning of the popup still works OK - _Screen.Show() - - Define Popup (m.lcMenuName) ; - shortcut ; - Relative ; - From m.loPosition.Row, m.loPosition.Column - -Endproc - - -Procedure CalculateShortcutMenuPosition - - Local lcPOINT, lnSMCol, lnSMRow, loResult, loWas - - Declare Long GetCursorPos In WIN32API String @lpPoint - Declare Long ScreenToClient In WIN32API Long HWnd, String @lpPoint - - lcPOINT = Replicate (Chr(0), 8) - && Get mouse location in Windows desktop coordinates (pixels) - = GetCursorPos (@m.lcPOINT) - && Convert to VFP Desktop (_Screen) coordinates - = ScreenToClient (_Screen.HWnd, @m.lcPOINT) - && Covert the coordinates to foxels - - lnSMCol = Pix2Fox (Long2Num (Left (m.lcPOINT, 4)), .F., _Screen.FontName, _Screen.FontSize) - lnSMRow = Pix2Fox (Long2Num (Right (m.lcPOINT, 4)), .T., _Screen.FontName, _Screen.FontSize) - - loResult = Createobject ('Empty') - AddProperty (m.loResult, 'Column', m.lnSMCol ) - AddProperty (m.loResult, 'Row', m.lnSMRow ) - Return m.loResult - -Endproc - - -Procedure Pix2Fox - - Lparameter tnPixels, tlVertical, tcFontName, tnFontSize - && tnPixels - pixels to convert - && tlVertical - .F./.T. convert horizontal/vertical coordinates - && tcFontName, tnFontSize - use specified font/size - && or current form (active output window) font/size, if not specified - Local lnFoxels - - If Pcount() > 2 - lnFoxels = m.tnPixels / Fontmetric(Iif(m.tlVertical, 1, 6), m.tcFontName, m.tnFontSize) - Else - lnFoxels = m.tnPixels / Fontmetric(Iif(m.tlVertical, 1, 6)) - Endif - - Return m.lnFoxels -Endproc - - -Function Long2Num(tcLong) - Local lnNum - lnNum = 0 - = RtlS2PL(@m.lnNum, m.tcLong, 4) - Return m.lnNum -Endfunc - - -Function RtlS2PL(tnDest, tcSrc, tnLen) - - Declare RtlMoveMemory In WIN32API As RtlS2PL Long @Dest, String Source, Long Length - Return RtlS2PL(@m.tnDest, @m.tcSrc, m.tnLen) - -Endfunc - - -Define Class CreateExports As Session - - - Procedure Init(lnDataSession) - Set DataSession To (Evl(m.lnDataSession, 1)) - Endproc - - - Procedure ExportToCursor(lcSourceFile, lcCursorName) - Local lcDestFile - Use (m.lcSourceFile) In 0 - lcDestFile = This.GetCursorName(m.lcCursorName) - Select * From (Juststem(m.lcSourceFile)) Into Cursor (Juststem(m.lcDestFile)) Readwrite - Use In (Juststem(m.lcSourceFile)) - Erase (Forceext(m.lcSourceFile, '*')) - Return lcDestFile - Endproc - - - Procedure GetCursorName(lcCursorName) - Local lcDestFile, lnSuffix - lnSuffix = 0 - Do While .T. - lcDestFile = m.lcCursorName + Iif(m.lnSuffix = 0, '', Transform(m.lnSuffix)) - If Used(m.lcDestFile) - lnSuffix = m.lnSuffix + 1 - Else - Return m.lcDestFile - Endif - Enddo - Endproc - - - Procedure ExportToExcel(lcAlias, lcDestFile) - - Local loExcel As 'Excel.Application' - Local lcClipText, lnI, lnRecords - - loExcel = Createobject('Excel.Application') - - With m.loExcel - .Application.Visible = .F. - .Application.DisplayAlerts = .F. && for now, no alerts - .WorkBooks.Add() - - * keep only the first worksheet - For lnI = 2 To .WorkSheets.Count - .WorkSheets(2).Delete() - Next m.lnI - - lcClipText = _Cliptext - lnRecords = _vfp.DataToClip(m.lcAlias, Reccount(m.lcAlias), 3) - .Range('A1').Select() - .ActiveSheet.Paste() - _Cliptext = m.lcClipText - - .Range('A1').Select() - .Application.Visible = .T. - - .Application.DisplayAlerts = .T. - .ActiveWorkBook.SaveAs(m.lcDestFile) - - Endwith - - This.ForceForegroundWindow(m.loExcel.HWnd) - - - Procedure ForceForegroundWindow - Lparameters lnHWND - - LOCAL nForeThread, nAppThread - - DECLARE Long BringWindowToTop In Win32API Long - - DECLARE Long ShowWindow In Win32API Long, Long - - DECLARE INTEGER GetCurrentThreadId; - IN kernel32 - - DECLARE INTEGER GetWindowThreadProcessId IN user32; - INTEGER hWnd,; - INTEGER @ lpdwProcId - - DECLARE INTEGER GetCurrentThreadId; - IN kernel32 - - DECLARE INTEGER AttachThreadInput IN user32 ; - INTEGER idAttach, ; - INTEGER idAttachTo, ; - INTEGER fAttach - - DECLARE INTEGER GetForegroundWindow IN user32 - - nForeThread = GetWindowThreadProcessId(GetForegroundWindow(), 0) - nAppThread = GetCurrentThreadId() - - IF nForeThread != nAppThread - AttachThreadInput(nForeThread, nAppThread, .T.) - BringWindowToTop(lnHWND) - ShowWindow(lnHWND,3) - AttachThreadInput(nForeThread, nAppThread, .F.) - ELSE - BringWindowToTop(lnHWND) - ShowWindow(lnHWND,3) - ENDIF - - - EndProc - - -Enddefine - -* Change log: -* 2021-03-19 See RemoveFolder() function. +* 2021-03-19 See GF_RemoveFolder() function. *======================================================================= @@ -532,7 +49,7 @@ Define Class GF_SearchResult As Custom *--------------------------------------------------------------------------------------- Procedure Init - This.oProcedure = Createobject('GF_Procedure') + This.oProcedure = Createobject('GF_Procedure') Endproc Enddefine @@ -645,28 +162,140 @@ Define Class GF_SearchResultsFilter As Custom *--------------------------------------------------------------------------------------- Procedure LoadFromFile(tcFile) - Local loMy As 'My' Of 'My.vcx' - Local laProperties[1], lcProperty + Local loMy As 'My' Of 'My.vcx' + Local laProperties[1], lcProperty + + If !File(tcFile) + Return + Endif + + loMy = Newobject('My', 'My.vcx') + Amembers(laProperties, This, 0, 'U') + loMy.Settings.Load(tcFile) + + With loMy.Settings - If !File(tcFile) - Return + For x = 1 To Alen(laProperties) + lcProperty = laProperties[x] + Try + Store Evaluate('.' + lcProperty) To ('This.' + lcProperty) + Catch + Endtry + Endfor + + Endwith + + Endproc + + +Enddefine + +Define Class CreateExports As Session + + + Procedure Init(lnDataSession) + Set DataSession To (Evl(m.lnDataSession, 1)) + Endproc + + + Procedure ExportToCursor(lcSourceFile, lcCursorName) + Local lcDestFile + Use (m.lcSourceFile) In 0 + lcDestFile = This.GetCursorName(m.lcCursorName) + Select * From (Juststem(m.lcSourceFile)) Into Cursor (Juststem(m.lcDestFile)) Readwrite + Use In (Juststem(m.lcSourceFile)) + Erase (Forceext(m.lcSourceFile, '*')) + Return lcDestFile + Endproc + + + Procedure GetCursorName(lcCursorName) + Local lcDestFile, lnSuffix + lnSuffix = 0 + Do While .T. + lcDestFile = m.lcCursorName + Iif(m.lnSuffix = 0, '', Transform(m.lnSuffix)) + If Used(m.lcDestFile) + lnSuffix = m.lnSuffix + 1 + Else + Return m.lcDestFile Endif + Enddo + Endproc + + + Procedure ExportToExcel(lcAlias, lcDestFile) + + Local loExcel As 'Excel.Application' + Local lcClipText, lnI, lnRecords + + loExcel = Createobject('Excel.Application') + + With m.loExcel + .Application.Visible = .F. + .Application.DisplayAlerts = .F. && for now, no alerts + .WorkBooks.Add() + +* keep only the first worksheet + For lnI = 2 To .WorkSheets.Count + .WorkSheets(2).Delete() + Next m.lnI + + lcClipText = _Cliptext + lnRecords = _vfp.DataToClip(m.lcAlias, Reccount(m.lcAlias), 3) + .Range('A1').Select() + .ActiveSheet.Paste() + _Cliptext = m.lcClipText + + .Range('A1').Select() + .Application.Visible = .T. + + .Application.DisplayAlerts = .T. + .ActiveWorkBook.SaveAs(m.lcDestFile) + + Endwith + + This.ForceForegroundWindow(m.loExcel.HWnd) + + + Procedure ForceForegroundWindow + Lparameters lnHWND + + Local nForeThread, nAppThread + + Declare Long BringWindowToTop In Win32API Long + + Declare Long ShowWindow In Win32API Long, Long + + Declare Integer GetCurrentThreadId; + IN kernel32 - loMy = Newobject('My', 'My.vcx') - Amembers(laProperties, This, 0, 'U') - loMy.Settings.Load(tcFile) + Declare Integer GetWindowThreadProcessId In user32; + INTEGER HWnd,; + INTEGER @ lpdwProcId - With loMy.Settings + Declare Integer GetCurrentThreadId; + IN kernel32 - For x = 1 To Alen(laProperties) - lcProperty = laProperties[x] - Try - Store Evaluate('.' + lcProperty) To ('This.' + lcProperty) - Catch - Endtry - Endfor + Declare Integer AttachThreadInput In user32 ; + INTEGER idAttach, ; + INTEGER idAttachTo, ; + INTEGER fAttach + + Declare Integer GetForegroundWindow In user32 + + nForeThread = GetWindowThreadProcessId(GetForegroundWindow(), 0) + nAppThread = GetCurrentThreadId() + + If nForeThread != nAppThread + AttachThreadInput(nForeThread, nAppThread, .T.) + BringWindowToTop(lnHWND) + ShowWindow(lnHWND,3) + AttachThreadInput(nForeThread, nAppThread, .F.) + Else + BringWindowToTop(lnHWND) + ShowWindow(lnHWND,3) + Endif - Endwith Endproc @@ -675,56 +304,56 @@ Enddefine * -------------------------------------------------------------------------------- -Procedure OpenExplorerWindow(lcPath) - - Do Case - Case IsThorThere() - Execscript(_Screen.cThorDispatcher, 'Thor_Proc_OpenExplorer', m.lcPath) - Case File(lcPath) - lcPath = '/select, ' + Fullpath(m.lcPath) - Run /N "explorer" &lcPath - Otherwise - Run /N "explorer" &lcPath - Endcase +Procedure GF_OpenExplorerWindow(lcPath) + +Do Case +Case GF_IsThorThere() + Execscript(_Screen.cThorDispatcher, 'Thor_Proc_OpenExplorer', m.lcPath) +Case File(lcPath) + lcPath = '/select, ' + Fullpath(m.lcPath) + Run /N "explorer" &lcPath +Otherwise + Run /N "explorer" &lcPath +Endcase Endproc * -------------------------------------------------------------------------------- -Procedure Shell +Procedure GF_Shell - Lparameters lcFileURL +Lparameters lcFileURL - Local oShell As 'wscript.shell' - oShell = Createobject ('wscript.shell') - m.oShell.Run (m.lcFileURL) +Local oShell As 'wscript.shell' +oShell = Createobject ('wscript.shell') +m.oShell.Run (m.lcFileURL) Endproc * -------------------------------------------------------------------------------- -Procedure IsThorThere +Procedure GF_IsThorThere - Return Type('_Screen.cThorDispatcher') = 'C' +Return Type('_Screen.cThorDispatcher') = 'C' Endproc *======================================================================================= -Function PropNvl (toObject, tcProperty, tuDefaultValue, tlAddPropertyIfNotPresent) +Function GF_PropNvl (toObject, tcProperty, tuDefaultValue, tlAddPropertyIfNotPresent) - If Pemstatus(toObject, Alltrim(tcProperty), 5) - If (Type('toObject.' + Alltrim(tcProperty)) <> Vartype(tuDefaultValue)) And Pcount() >= 3 - Return tuDefaultValue - Else - Return Evaluate('toObject.' + Alltrim(tcProperty)) - Endif - Else - If tlAddPropertyIfNotPresent - AddProperty(toObject, tcProperty, tuDefaultValue) - Endif +If Pemstatus(toObject, Alltrim(tcProperty), 5) + If (Type('toObject.' + Alltrim(tcProperty)) <> Vartype(tuDefaultValue)) And Pcount() >= 3 Return tuDefaultValue + Else + Return Evaluate('toObject.' + Alltrim(tcProperty)) + Endif +Else + If tlAddPropertyIfNotPresent + AddProperty(toObject, tcProperty, tuDefaultValue) Endif + Return tuDefaultValue +Endif Endfunc @@ -734,37 +363,37 @@ Endfunc *-- Revised 2021-03-19: *-- As as safety measure, it will only delete a folder path which contains "gf_saved_search_results". * -------------------------------------------------------------------------------- -Procedure RemoveFolder(lcFolderName) - Local laFiles[1], lcFileName, lcFileNameWithPath, llFailure, lnFileCount, lnI, loException +Procedure GF_RemoveFolder(lcFolderName) +Local laFiles[1], lcFileName, lcFileNameWithPath, llFailure, lnFileCount, lnI, loException - Declare Integer SetFileAttributes In kernel32 String, Integer - lcFolderName = Trim(m.lcFolderName) +Declare Integer SetFileAttributes In kernel32 String, Integer +lcFolderName = Trim(m.lcFolderName) - If Empty(lcFolderName) Or !("gf_saved_search_results" $ Lower(lcFolderName)) - Return .F. - Endif +If Empty(lcFolderName) Or !("gf_saved_search_results" $ Lower(lcFolderName)) + Return .F. +Endif - Try - lnFileCount = Adir(laFiles, m.lcFolderName + '\*', 'DH') - For lnI = 1 To m.lnFileCount - lcFileName = m.laFiles[m.lnI, 1] - If Left(m.lcFileName, 1) # '.' - lcFileNameWithPath = m.lcFolderName + '\' + m.lcFileName - SetFileAttributes(m.lcFileNameWithPath, 0) - If 'D' $ m.laFiles[m.lnI, 5] && directory? - RemoveFolder(m.lcFileNameWithPath) - Else - Delete File(m.lcFileNameWithPath) - Endif +Try + lnFileCount = Adir(laFiles, m.lcFolderName + '\*', 'DH') + For lnI = 1 To m.lnFileCount + lcFileName = m.laFiles[m.lnI, 1] + If Left(m.lcFileName, 1) # '.' + lcFileNameWithPath = m.lcFolderName + '\' + m.lcFileName + SetFileAttributes(m.lcFileNameWithPath, 0) + If 'D' $ m.laFiles[m.lnI, 5] && directory? + GF_RemoveFolder(m.lcFileNameWithPath) + Else + Delete File(m.lcFileNameWithPath) Endif - Endfor - Rmdir(m.lcFolderName) + Endif + Endfor + Rmdir(m.lcFolderName) - Catch To m.loException - llFailure = .T. - Endtry + Catch To m.loException + llFailure = .T. +Endtry - Return m.llFailure = .F. +Return m.llFailure = .F. Endproc @@ -774,601 +403,489 @@ Endproc * -------------------------------------------------------------------------------- * -------------------------------------------------------------------------------- *** JRN 10/14/2015 : Added to process context menus -Procedure CreateContextMenu(lcMenuName) - Local loPosition +Procedure GF_CreateContextMenu(lcMenuName) +Local loPosition - loPosition = CalculateShortcutMenuPosition() +loPosition = GF_CalculateShortcutMenuPosition() *** JRN 2010-11-10 : Following is an attempt to solve the problem * when there is another form already open; apparently, if the * focus is on the screen, the positioning of the popup still works OK - _Screen.Show() +_Screen.Show() - Define Popup (m.lcMenuName) ; - shortcut ; - Relative ; - From m.loPosition.Row, m.loPosition.Column +Define Popup (m.lcMenuName) ; + shortcut ; + Relative ; + From m.loPosition.Row, m.loPosition.Column Endproc -Procedure CalculateShortcutMenuPosition +Procedure GF_CalculateShortcutMenuPosition - Local lcPOINT, lnSMCol, lnSMRow, loResult, loWas +Local lcPOINT, lnSMCol, lnSMRow, loResult, loWas - Declare Long GetCursorPos In WIN32API String @lpPoint - Declare Long ScreenToClient In WIN32API Long HWnd, String @lpPoint +Declare Long GetCursorPos In WIN32API String @lpPoint +Declare Long ScreenToClient In WIN32API Long HWnd, String @lpPoint - lcPOINT = Replicate (Chr(0), 8) +lcPOINT = Replicate (Chr(0), 8) && Get mouse location in Windows desktop coordinates (pixels) - = GetCursorPos (@m.lcPOINT) += GetCursorPos (@m.lcPOINT) && Convert to VFP Desktop (_Screen) coordinates - = ScreenToClient (_Screen.HWnd, @m.lcPOINT) += ScreenToClient (_Screen.HWnd, @m.lcPOINT) && Covert the coordinates to foxels - lnSMCol = Pix2Fox (Long2Num (Left (m.lcPOINT, 4)), .F., _Screen.FontName, _Screen.FontSize) - lnSMRow = Pix2Fox (Long2Num (Right (m.lcPOINT, 4)), .T., _Screen.FontName, _Screen.FontSize) +lnSMCol = GF_Pix2Fox (GF_Long2Num (Left (m.lcPOINT, 4)), .F., _Screen.FontName, _Screen.FontSize) +lnSMRow = GF_Pix2Fox (GF_Long2Num (Right (m.lcPOINT, 4)), .T., _Screen.FontName, _Screen.FontSize) - loResult = Createobject ('Empty') - AddProperty (m.loResult, 'Column', m.lnSMCol ) - AddProperty (m.loResult, 'Row', m.lnSMRow ) - Return m.loResult +loResult = Createobject ('Empty') +AddProperty (m.loResult, 'Column', m.lnSMCol ) +AddProperty (m.loResult, 'Row', m.lnSMRow ) +Return m.loResult Endproc -Procedure Pix2Fox +Procedure GF_Pix2Fox - Lparameter tnPixels, tlVertical, tcFontName, tnFontSize +Lparameter tnPixels, tlVertical, tcFontName, tnFontSize && tnPixels - pixels to convert && tlVertical - .F./.T. convert horizontal/vertical coordinates && tcFontName, tnFontSize - use specified font/size && or current form (active output window) font/size, if not specified - Local lnFoxels +Local lnFoxels - If Pcount() > 2 - lnFoxels = m.tnPixels / Fontmetric(Iif(m.tlVertical, 1, 6), m.tcFontName, m.tnFontSize) - Else - lnFoxels = m.tnPixels / Fontmetric(Iif(m.tlVertical, 1, 6)) - Endif +If Pcount() > 2 + lnFoxels = m.tnPixels / Fontmetric(Iif(m.tlVertical, 1, 6), m.tcFontName, m.tnFontSize) +Else + lnFoxels = m.tnPixels / Fontmetric(Iif(m.tlVertical, 1, 6)) +Endif - Return m.lnFoxels +Return m.lnFoxels Endproc -Function Long2Num(tcLong) - Local lnNum - lnNum = 0 - = RtlS2PL(@m.lnNum, m.tcLong, 4) - Return m.lnNum +Function GF_Long2Num(tcLong) +Local lnNum +lnNum = 0 += GF_RtlS2PL(@m.lnNum, m.tcLong, 4) +Return m.lnNum Endfunc -Function RtlS2PL(tnDest, tcSrc, tnLen) +Function GF_RtlS2PL(tnDest, tcSrc, tnLen) - Declare RtlMoveMemory In WIN32API As RtlS2PL Long @Dest, String Source, Long Length - Return RtlS2PL(@m.tnDest, @m.tcSrc, m.tnLen) +Declare RtlMoveMemory In WIN32API As GF_RtlS2PL Long @Dest, String Source, Long Length +Return GF_RtlS2PL(@m.tnDest, @m.tcSrc, m.tnLen) Endfunc -Define Class CreateExports As Session - - - Procedure Init(lnDataSession) - Set DataSession To (Evl(m.lnDataSession, 1)) - Endproc - +Procedure GF_Get_LocalSettings && Determine storage place global / local +Lparameters; + toSettings,; + tcSettingsFile - Procedure ExportToCursor(lcSourceFile, lcCursorName) - Local lcDestFile - Use (m.lcSourceFile) In 0 - lcDestFile = This.GetCursorName(m.lcCursorName) - Select * From (Juststem(m.lcSourceFile)) Into Cursor (Juststem(m.lcDestFile)) Readwrite - Use In (Juststem(m.lcSourceFile)) - Erase (Forceext(m.lcSourceFile, '*')) - Return lcDestFile - Endproc - - - Procedure GetCursorName(lcCursorName) - Local lcDestFile, lnSuffix - lnSuffix = 0 - Do While .T. - lcDestFile = m.lcCursorName + Iif(m.lnSuffix = 0, '', Transform(m.lnSuffix)) - If Used(m.lcDestFile) - lnSuffix = m.lnSuffix + 1 - Else - Return m.lcDestFile - Endif - Enddo - Endproc - - - Procedure ExportToExcel(lcAlias, lcDestFile) - - Local loExcel As 'Excel.Application' - Local lcClipText, lnI, lnRecords - - loExcel = Createobject('Excel.Application') - - With m.loExcel - .Application.Visible = .F. - .Application.DisplayAlerts = .F. && for now, no alerts - .WorkBooks.Add() - -* keep only the first worksheet - For lnI = 2 To .WorkSheets.Count - .WorkSheets(2).Delete() - Next m.lnI - - lcClipText = _Cliptext - lnRecords = _vfp.DataToClip(m.lcAlias, Reccount(m.lcAlias), 3) - .Range('A1').Select() - .ActiveSheet.Paste() - _Cliptext = m.lcClipText - - .Range('A1').Select() - .Application.Visible = .T. - - .Application.DisplayAlerts = .T. - .ActiveWorkBook.SaveAs(m.lcDestFile) - - Endwith - - This.ForceForegroundWindow(m.loExcel.HWnd) - - - Procedure ForceForegroundWindow - Lparameters lnHWND - - Local nForeThread, nAppThread - - Declare Long BringWindowToTop In Win32API Long - - Declare Long ShowWindow In Win32API Long, Long - - Declare Integer GetCurrentThreadId; - IN kernel32 - - Declare Integer GetWindowThreadProcessId In user32; - INTEGER HWnd,; - INTEGER @ lpdwProcId - - Declare Integer GetCurrentThreadId; - IN kernel32 - - Declare Integer AttachThreadInput In user32 ; - INTEGER idAttach, ; - INTEGER idAttachTo, ; - INTEGER fAttach - - Declare Integer GetForegroundWindow In user32 - - nForeThread = GetWindowThreadProcessId(GetForegroundWindow(), 0) - nAppThread = GetCurrentThreadId() - - If nForeThread != nAppThread - AttachThreadInput(nForeThread, nAppThread, .T.) - BringWindowToTop(lnHWND) - ShowWindow(lnHWND,3) - AttachThreadInput(nForeThread, nAppThread, .F.) - Else - BringWindowToTop(lnHWND) - ShowWindow(lnHWND,3) - Endif - - - Endproc - - -Enddefine - -Procedure Get_LocalSettings && Determine storage place global / local - Lparameters; - toSettings,; - tcSettingsFile - - Local; - lcFolder As String,; - lcSourceFile As String,; - llFound As Boolean +Local; + lcFolder As String,; + lcSourceFile As String,; + llFound As Boolean *only if resource file is oon and used - If m.toSettings.Exists('lCR_AllowEd') And m.toSettings.lCR_Allow Then - toSettings.lCR_AllowEd = Set("Resource")=="ON" And File(Set("Resource",1)) +If m.toSettings.Exists('lCR_AllowEd') And m.toSettings.lCR_Allow Then + toSettings.lCR_AllowEd = Set("Resource")=="ON" And File(Set("Resource",1)) - Else &&m.toSettings.Exists('lCR_AllowEd') And m.toSettings.lCR_Allow - toSettings.Add('lCR_AllowEd',Set("Resource")=="ON" And File(Set("Resource",1))) +Else &&m.toSettings.Exists('lCR_AllowEd') And m.toSettings.lCR_Allow + toSettings.Add('lCR_AllowEd',Set("Resource")=="ON" And File(Set("Resource",1))) - Endif &&m.toSettings.Exists('lCR_AllowEd') And m.toSettings.lCR_Allow +Endif &&m.toSettings.Exists('lCR_AllowEd') And m.toSettings.lCR_Allow - If m.toSettings.lCR_AllowEd And m.toSettings.lCR_Local Then +If m.toSettings.lCR_AllowEd And m.toSettings.lCR_Local Then *get location for GoFish from ResourceFile - llFound = Get_LocalPath(@lcFolder) - llFound = Create_LocalPath(@lcFolder,m.llFound,toSettings.lCR_Local_Default,toSettings.lCR_Local_Default) + llFound = GF_Get_LocalPath(@lcFolder) + llFound = GF_Create_LocalPath(@lcFolder,m.llFound,toSettings.lCR_Local_Default,toSettings.lCR_Local_Default) - If Empty(m.lcFolder) Then + If Empty(m.lcFolder) Then *No folder selected, we keep normal GoFish mode of operation - toSettings.lCR_AllowEd = .F. + toSettings.lCR_AllowEd = .F. - Endif &&EMPTY(m.lcFolder) + Endif &&EMPTY(m.lcFolder) - If !Isnull(m.llFound) Then + If !Isnull(m.llFound) Then * if changed - Put_LocalPath(m.lcFolder) - Endif &&!Isnull(m.llFound) + GF_Put_LocalPath(m.lcFolder) + Endif &&!Isnull(m.llFound) - Endif &&m.toSettings.lCR_AllowEd AND m.toSettings.lCR_Local +Endif &&m.toSettings.lCR_AllowEd AND m.toSettings.lCR_Local *still allowed to use local - If m.toSettings.lCR_AllowEd And m.toSettings.lCR_Local Then +If m.toSettings.lCR_AllowEd And m.toSettings.lCR_Local Then *see if we can locate local settings file - tcSettingsFile = Addbs(m.lcFolder)+Justfname(m.tcSettingsFile) - llFound = File(m.tcSettingsFile) + tcSettingsFile = Addbs(m.lcFolder)+Justfname(m.tcSettingsFile) + llFound = File(m.tcSettingsFile) - If m.llFound Then + If m.llFound Then *Get settings - toSettings.Load(m.tcSettingsFile) + toSettings.Load(m.tcSettingsFile) - Endif &&m.llFound - Endif &&m.toSettings.lCR_AllowEd AND m.toSettings.lCR_Local -Endproc &&Get_LocalSettings + Endif &&m.llFound +Endif &&m.toSettings.lCR_AllowEd AND m.toSettings.lCR_Local +Endproc &&GF_Get_LocalSettings -Procedure Get_LocalPath &&Get the local storage path from resource file - Lparameters; - tcFolder +Procedure GF_Get_LocalPath &&Get the local storage path from resource file +Lparameters; + tcFolder - Local; - lcSourceFile As String,; - lnSelected As Integer,; - llFound As Boolean +Local; + lcSourceFile As String,; + lnSelected As Integer,; + llFound As Boolean - lnSelected = Select() +lnSelected = Select() - lcSourceFile = Set ("Resource", 1) - Use (lcSourceFile) Again Shared Alias ResourceAlias In Select('ResourceAlias') - Select ResourceAlias - Locate For Type='GoFish ' And Id="DirLoc " - llFound = Found() +lcSourceFile = Set ("Resource", 1) +Use (lcSourceFile) Again Shared Alias ResourceAlias In Select('ResourceAlias') +Select ResourceAlias +Locate For Type='GoFish ' And Id="DirLoc " +llFound = Found() - If m.llFound Then - tcFolder = Data - Endif &&m.llFound +If m.llFound Then + tcFolder = Data +Endif &&m.llFound - Use In Select('ResourceAlias') - Select (m.lnSelected) +Use In Select('ResourceAlias') +Select (m.lnSelected) - Return m.llFound +Return m.llFound -Endproc &&Get_LocalPath +Endproc &&GF_Get_LocalPath -Procedure Put_LocalPath &&Put the local storage path to resource file - Lparameters; - tcFolder +Procedure GF_Put_LocalPath &&Put the local storage path to resource file +Lparameters; + tcFolder - Local; - lcSourceFile As String,; - lnSelected As Integer,; - llFound As Boolean +Local; + lcSourceFile As String,; + lnSelected As Integer,; + llFound As Boolean - lnSelected = Select() +lnSelected = Select() - lcSourceFile = Set ("Resource", 1) - Use (lcSourceFile) Again Shared Alias ResourceAlias In Select('ResourceAlias') - Select ResourceAlias - Locate For Type='GoFish ' And Id="DirLoc " - llFound = Found() +lcSourceFile = Set ("Resource", 1) +Use (lcSourceFile) Again Shared Alias ResourceAlias In Select('ResourceAlias') +Select ResourceAlias +Locate For Type='GoFish ' And Id="DirLoc " +llFound = Found() - If m.llFound Then +If m.llFound Then *found, needs update - Replace; - CkVal With Val (Sys(2007, m.tcFolder)),; - Data With m.tcFolder,; - Updated With Date() + Replace; + CkVal With Val (Sys(2007, m.tcFolder)),; + Data With m.tcFolder,; + Updated With Date() - Else &&m.llFound +Else &&m.llFound *not found, needs insert - Insert Into ResourceAlias ; - (Type, Id, CkVal, Data, Updated) ; - Values ; - ('GoFish', "DirLoc", Val (Sys(2007, m.tcFolder)), m.tcFolder, Date()) + Insert Into ResourceAlias ; + (Type, Id, CkVal, Data, Updated) ; + Values ; + ('GoFish', "DirLoc", Val (Sys(2007, m.tcFolder)), m.tcFolder, Date()) - Endif &&m.llFound +Endif &&m.llFound - Use In Select('ResourceAlias') - Select (m.lnSelected) +Use In Select('ResourceAlias') +Select (m.lnSelected) -Endproc &&Put_LocalPath +Endproc &&GF_Put_LocalPath -Procedure Create_LocalPath &&Create the local storage path, with user interface if bot given - Lparameters; - tcFolder,; - tlFound,; - tlDefault,; - tlCreate +Procedure GF_Create_LocalPath &&Create the local storage path, with user interface if bot given +Lparameters; + tcFolder,; + tlFound,; + tlDefault,; + tlCreate - Local; - lcOldDir As String,; - llFill As Boolean,; - lnFile As Number,; - lnFiles As Number +Local; + lcOldDir As String,; + llFill As Boolean,; + lnFile As Number,; + lnFiles As Number - Local Array; - laDir(1) +Local Array; + laDir(1) - lcOldDir = Fullpath("", "") +lcOldDir = Fullpath("", "") - If Empty(m.tcFolder) Then - tcFolder = Justpath(Set("Resource",1)) - If m.tlDefault Then - tcFolder = m.tcFolder+"\GoFish_" +If Empty(m.tcFolder) Then + tcFolder = Justpath(Set("Resource",1)) + If m.tlDefault Then + tcFolder = m.tcFolder+"\GoFish_" - Endif &&m.tlDefault - Endif &&Empty(m.tcFolder) + Endif &&m.tlDefault +Endif &&Empty(m.tcFolder) - Do Case - Case Directory(m.tcFolder) +Do Case +Case Directory(m.tcFolder) *folder found, do we need to set resource? - tlFound = Iif(m.tlFound,.Null.,.F.) - llFill = Empty(Adir(laDir, Addbs(m.tcFolder) + "GF_*.xml", "", 1)) + tlFound = Iif(m.tlFound,.Null.,.F.) + llFill = Empty(Adir(laDir, Addbs(m.tcFolder) + "GF_*.xml", "", 1)) - Case m.tlCreate +Case m.tlCreate *just create - Mkdir (m.tcFolder) - tlFound = .F. - llFill = .T. + Mkdir (m.tcFolder) + tlFound = .F. + llFill = .T. - Otherwise +Otherwise *Folder not found - tcFolder = Getdir(m.tcFolder,'Local GoFish config folder not found. Please pick one.','',64+1+32+2+8) - If Empty(m.tcFolder) Or !Directory(m.tcFolder) THEN + tcFolder = Getdir(m.tcFolder,'Local GoFish config folder not found. Please pick one.','',64+1+32+2+8) + If Empty(m.tcFolder) Or !Directory(m.tcFolder) Then *No folder selected, we keep normal GoFish mode of operation - tlFound = NIL - Else &&Empty(m.tcFolder) Or !Directory(m.tcFolder) - llFill = Empty(Adir(laDir, Addbs(m.tcFolder) + "GF_*.xml", "", 1)) - Endif &&Empty(m.tcFolder) Or !Directory(m.tcFolder) + tlFound = NIL + Else &&Empty(m.tcFolder) Or !Directory(m.tcFolder) + llFill = Empty(Adir(laDir, Addbs(m.tcFolder) + "GF_*.xml", "", 1)) + Endif &&Empty(m.tcFolder) Or !Directory(m.tcFolder) - Endcase +Endcase - If !Empty(m.tcFolder) Then +If !Empty(m.tcFolder) Then *create .gitignore, if neeeded - If !File(Addbs(m.tcFolder)+'.gitignore') Then - Strtofile('*.*'+0h0D0A,Addbs(m.tcFolder)+'.gitignore') - Endif &&!FILE(ADDBS(m.tcFolder)+'.gitignore') - - If m.llFill Then - lnFiles = Adir(laDir, Addbs(Home(7)) + "GF_*.xml", "", 1) - For lnFile = 1 To m.lnFiles - Copy File (Addbs(Home(7)) + laDir(m.lnFile,1)) To (Addbs(m.tcFolder) + laDir(m.lnFile,1)) - Endfor &&lnFile - Endif &&m.llFill - Endif &&!EMPTY(m.tcFolder) - - Cd (m.lcOldDir) - - Return m.tlFound - -Endproc &&Create_LocalPath - -Procedure Change_TableStruct &&Update structur of storage tables from version pre 6.*.* - Lparameters; - toResultForm,; - tcRoot,; - tcSavedSearchResults - - Local; - lcDatabase As String,; - lcDBF As String,; - lcDbc As String,; - lcDir As String,; - lcOldDir As String,; - lnSelect As Integer,; - lnReturn As Integer,; - lnResult As Integer,; - lnResults As Integer - - lcDBF = m.toResultForm.cUISettingsFile - - If !File(m.lcDBF) Then - Return 0 - Endif &&!File(m.lcDBF) - - lcDbc = m.tcRoot + m.toResultForm.cSaveDBC - If File(m.lcDbc) Then - Return 0 - Endif &&File(m.lcDbc) - - lcDBF = Forceext(m.lcDBF, "DBF") - lnReturn = 1 - - lcOldDir = Fullpath("","") - lnSelect = Select() - lcDatabase = Set("Database") - - Cd (m.tcRoot) - Select 0 - Assert .F. + If !File(Addbs(m.tcFolder)+'.gitignore') Then + Strtofile('*.*'+0h0D0A,Addbs(m.tcFolder)+'.gitignore') + Endif &&!FILE(ADDBS(m.tcFolder)+'.gitignore') + + If m.llFill Then + lnFiles = Adir(laDir, Addbs(Home(7)) + "GF_*.xml", "", 1) + For lnFile = 1 To m.lnFiles + Copy File (Addbs(Home(7)) + laDir(m.lnFile,1)) To (Addbs(m.tcFolder) + laDir(m.lnFile,1)) + Endfor &&lnFile + Endif &&m.llFill +Endif &&!EMPTY(m.tcFolder) + +Cd (m.lcOldDir) + +Return m.tlFound + +Endproc &&GF_Create_LocalPath + +Procedure GF_Change_TableStruct &&Update structur of storage tables from version pre 6.*.* +Lparameters; + toResultForm,; + tcRoot,; + tcSavedSearchResults + +Local; + lcDatabase As String,; + lcDBF As String,; + lcDbc As String,; + lcDir As String,; + lcOldDir As String,; + lnSelect As Integer,; + lnReturn As Integer,; + lnResult As Integer,; + lnResults As Integer + +lcDBF = m.toResultForm.cUISettingsFile + +If !File(m.lcDBF) Then + Return 0 +Endif &&!File(m.lcDBF) + +lcDbc = m.tcRoot + m.toResultForm.cSaveDBC +If File(m.lcDbc) Then + Return 0 +Endif &&File(m.lcDbc) + +lcDBF = Forceext(m.lcDBF, "DBF") +lnReturn = 1 + +lcOldDir = Fullpath("","") +lnSelect = Select() +lcDatabase = Set("Database") + +Cd (m.tcRoot) +Select 0 +Assert .F. *- Create the DBC - Try - lcDir = Addbs(m.tcRoot) + m.tcSavedSearchResults - If !Directory(m.lcDir) Then - Mkdir (m.lcDir) - Endif &&!Directory(m.lcDir) - lcDir = Addbs(m.lcDir) +Try + lcDir = Addbs(m.tcRoot) + m.tcSavedSearchResults + If !Directory(m.lcDir) Then + Mkdir (m.lcDir) + Endif &&!Directory(m.lcDir) + lcDir = Addbs(m.lcDir) - If !File(Addbs(m.lcDir) + 'README.md') Then - Strtofile(Get_Readme_Text(2),Addbs(m.lcDir) + 'README.md') - Endif &&!FILE(ADDBS(m.lcDir) + 'README.md') + If !File(Addbs(m.lcDir) + 'README.md') Then + Strtofile(GF_Get_Readme_Text(2),Addbs(m.lcDir) + 'README.md') + Endif &&!FILE(ADDBS(m.lcDir) + 'README.md') - Create Database (m.lcDbc) + Create Database (m.lcDbc) *- Add existing tables to DBC - Add Table GF_Search_Expression_History.Dbf - Use GF_Search_Expression_History Exclusive - Pack - Index On Item Tag _Item - Use - - Add Table GF_Search_Scope_History.Dbf - Use GF_Search_Scope_History Exclusive - Pack - Index On Item Tag _Item - Use + Add Table GF_Search_Expression_History.Dbf + Use GF_Search_Expression_History Exclusive + Pack + Index On Item Tag _Item + Use + + Add Table GF_Search_Scope_History.Dbf + Use GF_Search_Scope_History Exclusive + Pack + Index On Item Tag _Item + Use *- Add search history table to DBC - = m.toResultForm.oSearchEngine.ClearResultsCursor() + = m.toResultForm.oSearchEngine.ClearResultsCursor() *-- Create the table to save the search results - Select (m.toResultForm.oSearchEngine.cSearchResultsAlias) - Copy To (m.lcDBF) Database (m.lcDbc) - Use (m.lcDBF) In Select(Juststem(m.lcDBF)) + Select (m.toResultForm.oSearchEngine.cSearchResultsAlias) + Copy To (m.lcDBF) Database (m.lcDbc) + Use (m.lcDBF) In Select(Juststem(m.lcDBF)) *-- Create search history mother table - lnResults = m.toResultForm.BuildSearchHistoryCursor(.T., .T.) + lnResults = m.toResultForm.BuildSearchHistoryCursor(.T., .T.) - Assert .F. - If m.lnResults > 0 Then - Messagebox("Updating search history structure." + 0h0D0A + "Please be patient.", 0, "GoFish", 5000) - ?"Total history jobs",m.lnResults - ?"" + Assert .F. + If m.lnResults > 0 Then + Messagebox("Updating search history structure." + 0h0D0A + "Please be patient.", 0, "GoFish", 5000) + ?"Total history jobs",m.lnResults + ?"" - Select GF_SearchHistory - lnResult = 0 + Select GF_SearchHistory + lnResult = 0 - Scan + Scan *** - lnResult = m.lnResult+1 - ??''+0h0d+' '+0h0d+"Processing ",Justfname(Justpath(SearchHistoryFolder))," No.",m.lnResult - lcUni = cUni - lcDate = Datetime - - lcFilePath = Trim(SearchHistoryFolder) - llReturn = m.toResultForm.LoadSavedResults(m.lcFilePath, .T.) - - lcAlias2 = Alias() - lnReccount = Reccount(m.lcAlias2) - If m.lnReccount>0 Then - ??", item count:",m.lnReccount - ?"/" - lcMakro = "" - If Empty(Field("cUni")) Then - lcMakro = m.lcMakro + "gf_SearchHistory.cUni AS cUni," +; - "SPACE(23) AS cUni_File," - Endif &&Empty(Field("cUni")) - If Empty(Field("Datetime")) Then - lcMakro = m.lcMakro + "gf_SearchHistory.Datetime AS Datetime," - Endif &&Empty(Field("Datetime")) - If Empty(Field("Search")) Then - lcMakro = m.lcMakro + "gf_SearchHistory.Search_Expression AS Search," - Endif &&Empty(Field("Search")) - If Empty(Field("Scope")) Then - lcMakro = m.lcMakro + "gf_SearchHistory.Scope AS Scope," - Endif &&Empty(Field("Scope")) - If !Empty(m.lcMakro) Then - Select; - &lcMakro; - Cur1.*; - From (m.lcAlias2) As Cur1; - Into Cursor (m.lcAlias2) NoFilter Readwrite - - Endif &&!Empty(m.lcMakro) - - If Datetime#m.lcDate Then - Replace All; - cUni With m.lcUni,; - cUni_File With m.lcUni + "_" + Sys(2007, Trim(Padl(Id, 11)), 0 ,1) + "_",; - Datetime With m.lcDate - Go Top - - Endif &&Datetime#m.lcDate + lnResult = m.lnResult+1 + ??''+0h0d+' '+0h0d+"Processing ",Justfname(Justpath(SearchHistoryFolder))," No.",m.lnResult + lcUni = cUni + lcDate = Datetime + + lcFilePath = Trim(SearchHistoryFolder) + llReturn = m.toResultForm.LoadSavedResults(m.lcFilePath, .T.) + + lcAlias2 = Alias() + lnReccount = Reccount(m.lcAlias2) + If m.lnReccount>0 Then + ??", item count:",m.lnReccount + ?"/" + lcMakro = "" + If Empty(Field("cUni")) Then + lcMakro = m.lcMakro + "gf_SearchHistory.cUni AS cUni," +; + "SPACE(23) AS cUni_File," + Endif &&Empty(Field("cUni")) + If Empty(Field("Datetime")) Then + lcMakro = m.lcMakro + "gf_SearchHistory.Datetime AS Datetime," + Endif &&Empty(Field("Datetime")) + If Empty(Field("Search")) Then + lcMakro = m.lcMakro + "gf_SearchHistory.Search_Expression AS Search," + Endif &&Empty(Field("Search")) + If Empty(Field("Scope")) Then + lcMakro = m.lcMakro + "gf_SearchHistory.Scope AS Scope," + Endif &&Empty(Field("Scope")) + If !Empty(m.lcMakro) Then + Select; + &lcMakro; + Cur1.*; + From (m.lcAlias2) As Cur1; + Into Cursor (m.lcAlias2) NoFilter Readwrite + + Endif &&!Empty(m.lcMakro) + + If Datetime#m.lcDate Then + Replace All; + cUni With m.lcUni,; + cUni_File With m.lcUni + "_" + Sys(2007, Trim(Padl(Id, 11)), 0 ,1) + "_",; + Datetime With m.lcDate + Go Top + + Endif &&Datetime#m.lcDate * m.toResultForm.ApplyFilter() * ??''+0h0d+' '+0h0d+"/" - llReturn = m.toResultForm.FillSearchResultsCursor(.T.) && Pulls records from the search engine's results cursor. - If !m.llReturn Then - ??''+0h0d+' '+0h0d+"failed" - ?'' - Select GF_SearchHistory - Delete - Loop - Endif &&!m.llReturn - ??''+0h0d+' '+0h0d+"-" - - lnCount = 0 - Scan - Strtofile(Code , m.lcDir + Trim(cUni_File)+"Code.txt") - Strtofile(ProcCode, m.lcDir + Trim(cUni_File)+"ProcCode.txt") - Replace; - ProcCode With "",; - Code With "" - Do Case - Case m.lnCount%100=0 - ??''+0h0d+' '+0h0d+"\" - Case m.lnCount%100=25 - ??''+0h0d+' '+0h0d+"|" - Case m.lnCount%100=50 - ??''+0h0d+' '+0h0d+"/" - Case m.lnCount%100=75 - ??''+0h0d+' '+0h0d+"-" - Endcase - lnCount = m.lnCount+1 - Endscan &&All - - Select Juststem(m.lcDBF) - Append From Dbf(m.lcAlias2) - Else &&m.lnReccount>0 - ??", nothing to do" - ?"" - - Endif &&m.lnReccount>0 - Use In Select(m.lcAlias2) - - Delete File (m.lcFilePath + "\*.*") - Rmdir (m.lcFilePath) - - Endscan &&All - - toResultForm.ProgressBar.Stop() - - Endif &&m.lnResults > 0 - - Catch To loException + llReturn = m.toResultForm.FillSearchResultsCursor(.T.) && Pulls records from the search engine's results cursor. + If !m.llReturn Then + ??''+0h0d+' '+0h0d+"failed" + ?'' + Select GF_SearchHistory + Delete + Loop + Endif &&!m.llReturn + ??''+0h0d+' '+0h0d+"-" + + lnCount = 0 + Scan + Strtofile(Code , m.lcDir + Trim(cUni_File)+"Code.txt") + Strtofile(ProcCode, m.lcDir + Trim(cUni_File)+"ProcCode.txt") + Replace; + ProcCode With "",; + Code With "" + Do Case + Case m.lnCount%100=0 + ??''+0h0d+' '+0h0d+"\" + Case m.lnCount%100=25 + ??''+0h0d+' '+0h0d+"|" + Case m.lnCount%100=50 + ??''+0h0d+' '+0h0d+"/" + Case m.lnCount%100=75 + ??''+0h0d+' '+0h0d+"-" + Endcase + lnCount = m.lnCount+1 + Endscan &&All + + Select Juststem(m.lcDBF) + Append From Dbf(m.lcAlias2) + Else &&m.lnReccount>0 + ??", nothing to do" + ?"" + + Endif &&m.lnReccount>0 + Use In Select(m.lcAlias2) + + Delete File (m.lcFilePath + "\*.*") + Rmdir (m.lcFilePath) + + Endscan &&All + + toResultForm.ProgressBar.Stop() + + Endif &&m.lnResults > 0 + + Catch To loException * Set Step On - lnReturn = 2 + lnReturn = 2 - Endtry +Endtry *-- Create the table to save the search results main info - lcDBF = Addbs(m.tcRoot) + "GF_Search_History" - Select GF_SearchHistory - Copy To (m.lcDBF) Database (m.lcDbc) +lcDBF = Addbs(m.tcRoot) + "GF_Search_History" +Select GF_SearchHistory +Copy To (m.lcDBF) Database (m.lcDbc) - Alter Table GF_Search_History Drop Column SearchHistoryFolder +Alter Table GF_Search_History Drop Column SearchHistoryFolder - Use In Select("GF_Search_History") - Use In Select(m.toResultForm.oSearchEngine.cSearchResultsAlias) - Use In GF_SearchHistory +Use In Select("GF_Search_History") +Use In Select(m.toResultForm.oSearchEngine.cSearchResultsAlias) +Use In GF_SearchHistory - Close Database - Set Database To (m.lcDatabase) - Select(m.lnSelect) +Close Database +Set Database To (m.lcDatabase) +Select(m.lnSelect) - Cd (m.lcOldDir) +Cd (m.lcOldDir) - Return m.lnReturn -Endproc &&Change_TableStruct +Return m.lnReturn +Endproc &&GF_Change_TableStruct -Procedure Get_Readme_Text &&Text for README.md Files - Lparameters; - tnFile +Procedure GF_Get_Readme_Text &&Text for README.md Files +Lparameters; + tnFile - Local; - lcText As String +Local; + lcText As String - Do Case - Case m.tnFile=1 - TEXT To m.lcText Noshow +Do Case +Case m.tnFile=1 + TEXT To m.lcText Noshow ## GoFish settings folder This folder contains the settings and history table for GoFish! code search tool. @@ -1381,10 +898,10 @@ This folder contains the settings and history table for GoFish! code search tool GoFish is available in VFP9 SP2 or VFPA from Thor or from https://github.com/VFPX/GoFish - ENDTEXT &&lcText + ENDTEXT &&lcText - Case m.tnFile=2 - TEXT To m.lcText Noshow +Case m.tnFile=2 + TEXT To m.lcText Noshow ## GoFish history files folder This folder contains the history files for GoFish! code search tool. The files are not in a memo, so that the size might grow above 2GiB and faster access for the history is possible. @@ -1399,18 +916,18 @@ If the folder grows to large **Do not delete files** GoFish is available in VFP9 SP2 or VFPA from Thor or from https://github.com/VFPX/GoFish - ENDTEXT &&lcText - Otherwise - lcText = '' - Endcase + ENDTEXT &&lcText +Otherwise + lcText = '' +Endcase - Return m.lcText +Return m.lcText -Endproc &&Get_Readme_Text +Endproc &&GF_Get_Readme_Text -Procedure GetMonitorStatistics +Procedure GF_GetMonitorStatistics ************************************************************************ -* GetMonitorStatistics +* GF_GetMonitorStatistics **************************************** *** Function: Returns information about the desktop screen *** Can be used to check for desktop width and size @@ -1425,38 +942,38 @@ Procedure GetMonitorStatistics *** ************************************************************************ - #Define SM_CXFULLSCREEN 16 - #Define SM_CYFULLSCREEN 17 +#Define SM_CXFULLSCREEN 16 +#Define SM_CYFULLSCREEN 17 - #Define SM_XVIRTUALSCREEN 76 - #Define SM_YVIRTUALSCREEN 77 - #Define SM_CXVIRTUALSCREEN 78 - #Define SM_CYVIRTUALSCREEN 79 - #Define SM_CMONITORS 80 +#Define SM_XVIRTUALSCREEN 76 +#Define SM_YVIRTUALSCREEN 77 +#Define SM_CXVIRTUALSCREEN 78 +#Define SM_CYVIRTUALSCREEN 79 +#Define SM_CMONITORS 80 - #Define SM_XVIRTUALSCREEN 76 - #Define SM_YVIRTUALSCREEN 77 - #Define SM_CXVIRTUALSCREEN 78 - #Define SM_CYVIRTUALSCREEN 79 +#Define SM_XVIRTUALSCREEN 76 +#Define SM_YVIRTUALSCREEN 77 +#Define SM_CXVIRTUALSCREEN 78 +#Define SM_CYVIRTUALSCREEN 79 - Declare Integer GetSystemMetrics In user32 Integer nIndex +Declare Integer GetSystemMetrics In user32 Integer nIndex - loMonitor = Createobject("EMPTY") +loMonitor = Createobject("EMPTY") * AddProperty(loMonitor, "gnMonitors", GetSystemMetrics(SM_CMONITORS)) - AddProperty(loMonitor, "gnVirtualLeft", GetSystemMetrics(SM_XVIRTUALSCREEN)) - AddProperty(loMonitor, "gnVirtualTop", GetSystemMetrics(SM_YVIRTUALSCREEN)) +AddProperty(loMonitor, "gnVirtualLeft", GetSystemMetrics(SM_XVIRTUALSCREEN)) +AddProperty(loMonitor, "gnVirtualTop", GetSystemMetrics(SM_YVIRTUALSCREEN)) - AddProperty(loMonitor, "gnVirtualWidth", GetSystemMetrics(SM_CXVIRTUALSCREEN)) - AddProperty(loMonitor, "gnVirtualHeight", GetSystemMetrics(SM_CYVIRTUALSCREEN)) +AddProperty(loMonitor, "gnVirtualWidth", GetSystemMetrics(SM_CXVIRTUALSCREEN)) +AddProperty(loMonitor, "gnVirtualHeight", GetSystemMetrics(SM_CYVIRTUALSCREEN)) - AddProperty(loMonitor, "gnVirtualRight", m.loMonitor.gnVirtualWidth - Abs(m.loMonitor.gnVirtualLeft) - 10) - AddProperty(loMonitor, "gnVirtualBottom", m.loMonitor.gnVirtualHeight - Abs(m.loMonitor.gnVirtualTop) - 5) +AddProperty(loMonitor, "gnVirtualRight", m.loMonitor.gnVirtualWidth - Abs(m.loMonitor.gnVirtualLeft) - 10) +AddProperty(loMonitor, "gnVirtualBottom", m.loMonitor.gnVirtualHeight - Abs(m.loMonitor.gnVirtualTop) - 5) *ADDPROPERTY(loMonitor, "gnScreenHeight", GetSystemMetrics(SM_CYFULLSCREEN)) *ADDPROPERTY(loMonitor, "gnScreenWidth", GetSystemMetrics(SM_CXFULLSCREEN)) - Return m.loMonitor +Return m.loMonitor -Endproc &&GetMonitorStatistics +Endproc &&GF_GetMonitorStatistics diff --git a/Source/Source.zip b/Source/Source.zip index 3eac642..ebcc486 100644 Binary files a/Source/Source.zip and b/Source/Source.zip differ diff --git a/Source/changelog_ver_5.txt b/Source/changelog_ver_5.txt index 97b7f32..7375181 100644 --- a/Source/changelog_ver_5.txt +++ b/Source/changelog_ver_5.txt @@ -1,5 +1,8 @@ GoFish Change Log +**Ver 5.1.010 ** Released 2023-02-22 +* Fixed: Renamed a buch of procedures to pseudo-unique names, try to fix issue #45 + **Ver 5.1.009 ** Released 2023-01-31 * Fixed: Fixed problem with wrong object addressed in backup issue #41 diff --git a/Source/gofish.prg b/Source/gofish.prg index a33290f..8adf96d 100644 --- a/Source/gofish.prg +++ b/Source/gofish.prg @@ -62,7 +62,7 @@ Endif * SF 20221017 * special local settings If m.loSettings.Exists('lCR_Allow') And m.loSettings.lCR_Allow Then - Get_LocalSettings(@loSettings,m.lcSettingsFile) + GF_Get_LocalSettings(@loSettings,m.lcSettingsFile) Endif &&m.loSettings.EXISTS('lCR_Allow') And m.loSettings.lCR_Allow */ SF 20221017 diff --git a/_GoFishVersionFile.txt b/_GoFishVersionFile.txt index 8882f67..d0d1699 100644 --- a/_GoFishVersionFile.txt +++ b/_GoFishVersionFile.txt @@ -3,6 +3,9 @@ Lparameters toUpdateInfo Text to lcNote NoShow GoFish Change Log +**Ver 5.1.010 ** Released 2023-02-22 +* Fixed: Renamed a buch of procedures to pseudo-unique names, try to fix issue #45 + **Ver 5.1.009 ** Released 2023-01-31 * Fixed: Fixed problem with wrong object addressed in backup issue #41 @@ -98,7 +101,7 @@ GoFish Change Log EndText -AddProperty(toUpdateInfo, 'AvailableVersion', 'GoFish5 - 5.1.009 - 31. Januar 2023, - 20230131') +AddProperty(toUpdateInfo, 'AvailableVersion', 'GoFish5 - 5.1.010 - 22. Februar 2023, - 20230222') AddProperty(toUpdateInfo, 'SourceFileUrl', 'https://raw.githubusercontent.com/VFPX/GoFish/master/Source/Source.zip') AddProperty(toUpdateInfo, 'LinkPrompt', 'GoFish Home Page') AddProperty(toUpdateInfo, 'Link', 'https://github.com/VFPX/GoFish') diff --git a/_command.prg b/_command.prg index f473526..6513688 100644 --- a/_command.prg +++ b/_command.prg @@ -1 +1 @@ -MODIFY PROJECT e:\se\gofish_vfpx\source\gofish5.pjx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app DEBUG CLEAR ALL RESUME CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app SELECT 0 USE "D:\Users\Lutz\AppData\Roaming\Microsoft\Visual FoxPro Advanced\GF_Saved_Search_Results\20221024082851\GF_Saved_Search_Results.DBF" AGAIN SHARED BROWSE LAST CD CD . CD .. CD CD e:\se\gofish_vfpx CD CD e:\se\gofish_vfpx\data\default CD MODIFY PROJECT e:\se\gofish_vfpx\source\gofish5.pjx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLOSE ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DEBUG CLEAR ALL CLOSE ALL CLEAR ALL CLEAR ALL CLOSE ALL CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLEAR ALL CLOSE ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLEAR ALL CLOSE ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME PUBLIC pof pof = m.locolumn RESUME CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME CLEAR ALL MODIFY CLASS gf_grid OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME Cls DO e:\se\gofish_vfpx\source\gofish5.app RESUME bublic pof public pof pof=m.locontrol RESUME CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app public pof pof=m.locontrol RESUME release pof RESUME MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL CLEAR SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL CLEAR DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_grid OF e:\se\gofish_vfpx\source\lib\gofishui.vcx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 ?VERSION() ?VERSION(1) ?VERSION(2) ?VERSION(3) ?VERSION(4) _cliptext = VERSION(4) MODIFY CLASS gf_combosearchexpressionhistory OF e:\se\gofish_vfpx\source\lib\gofishui.vcx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app ?FULLPATH() ?FULLPATH('','') DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advaccedreplacehelp.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_about.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gf_collection_explorer.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advanced.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_about.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advaccedreplacehelp.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advanced.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advaccedreplacehelp.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advanced.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_extendsearch.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_extendsearch.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_filterform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx CLEAR ALL MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY COMMAND e:\se\gofish_vfpx\source\gofish.prg AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app DEBUG DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app SET ASSERTS ON DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL CLOSE DATABASES all MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLOSE DATABASES all DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\buildgofish.h AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\samples\gofishsearchsample.prg AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLOSE ALL DEBUG SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 EXIT DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx ?FULLPATH("","") MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx DO e:\se\gofish_vfpx\source\gofish5.app DEBUG RESUME MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg \ No newline at end of file +MODIFY PROJECT e:\se\gofish_vfpx\source\gofish5.pjx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app DEBUG CLEAR ALL RESUME CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app SELECT 0 USE "D:\Users\Lutz\AppData\Roaming\Microsoft\Visual FoxPro Advanced\GF_Saved_Search_Results\20221024082851\GF_Saved_Search_Results.DBF" AGAIN SHARED BROWSE LAST CD CD . CD .. CD CD e:\se\gofish_vfpx CD CD e:\se\gofish_vfpx\data\default CD MODIFY PROJECT e:\se\gofish_vfpx\source\gofish5.pjx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLOSE ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DEBUG CLEAR ALL CLOSE ALL CLEAR ALL CLEAR ALL CLOSE ALL CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLEAR ALL CLOSE ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLEAR ALL CLOSE ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME PUBLIC pof pof = m.locolumn RESUME CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME CLEAR ALL MODIFY CLASS gf_grid OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME Cls DO e:\se\gofish_vfpx\source\gofish5.app RESUME bublic pof public pof pof=m.locontrol RESUME CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app public pof pof=m.locontrol RESUME release pof RESUME MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL CLEAR SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL CLEAR DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_grid OF e:\se\gofish_vfpx\source\lib\gofishui.vcx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 ?VERSION() ?VERSION(1) ?VERSION(2) ?VERSION(3) ?VERSION(4) _cliptext = VERSION(4) MODIFY CLASS gf_combosearchexpressionhistory OF e:\se\gofish_vfpx\source\lib\gofishui.vcx SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app ?FULLPATH() ?FULLPATH('','') DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advaccedreplacehelp.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_about.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gf_collection_explorer.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advanced.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_about.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advaccedreplacehelp.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advanced.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advaccedreplacehelp.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_advanced.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_extendsearch.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_extendsearch.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_filterform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx CLEAR ALL MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_searchhistory.scx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_options.scx MODIFY COMMAND e:\se\gofish_vfpx\source\gofish.prg AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app DEBUG DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app SET ASSERTS ON DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL CLOSE DATABASES all MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY COMMAND e:\se\gofish_vfpx\source\prg\gofishproc.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLOSE DATABASES all DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app RESUME MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\buildgofish.h AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\samples\gofishsearchsample.prg AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL CLOSE ALL DEBUG SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 EXIT DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_baseform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx ?FULLPATH("","") MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx DO e:\se\gofish_vfpx\source\gofish5.app DEBUG RESUME MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filterpf.scx MODIFY FORM e:\se\gofish_vfpx\source\forms\gofish_filter.scx CLEAR ALL SET DEFAULT TO e:\se\gofish_vfpx\source\ DO e:\se\gofish_vfpx\source\gofish5.app MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg MODIFY COMMAND e:\se\gofish_vfpx\source\lib\gofishsearchengine.prg AS 1252 MODIFY FILE e:\se\gofish_vfpx\source\changelog_ver_5.txt AS 1252 MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 CLEAR ALL DO e:\se\gofish_vfpx\source\buildgofish.prg CLEAR ALL DO Browse_Ext DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx DO e:\se\gofish_vfpx\source\gofish5.app CLEAR ALL DO e:\se\gofish_vfpx\source\gofish5.app MODIFY CLASS gf_resultsform OF e:\se\gofish_vfpx\source\lib\gofishui.vcx MODIFY COMMAND e:\se\gofish_vfpx\source\buildgofish.prg AS 1252 ?_vfp.proje.count ?_vfp.proje