From 79a5105f8e619c093be8a7be4c2ebfb9bc8c0ee2 Mon Sep 17 00:00:00 2001 From: Lutz Date: Wed, 22 Feb 2023 07:11:17 +0100 Subject: [PATCH] Unique procedure names added GF_ to some procedures, see issue #45 --- FOXUSER_9.FPT | Bin 79552 -> 1143808 bytes FOXUSER_9.dbf | Bin 8441 -> 9545 bytes Source/Forms/gf_collection_explorer.SCT | Bin 26013 -> 26013 bytes Source/Forms/gf_collection_explorer.scx | Bin 1796 -> 1796 bytes Source/Forms/gofish_about.SCT | Bin 6748 -> 6760 bytes Source/Forms/gofish_about.sc2 | 4 +- Source/Forms/gofish_about.scx | Bin 2777 -> 2777 bytes Source/Forms/gofish_advaccedreplacehelp.SCT | Bin 4600 -> 4603 bytes Source/Forms/gofish_advaccedreplacehelp.sc2 | 2 +- Source/Forms/gofish_advaccedreplacehelp.scx | Bin 2014 -> 2014 bytes Source/Forms/gofish_advanced.scx | Bin 9535 -> 9535 bytes Source/Forms/gofish_extendsearch.scx | Bin 1578 -> 1578 bytes Source/Forms/gofish_filter.scx | Bin 1469 -> 1469 bytes Source/Forms/gofish_filterpf.SCT | Bin 68324 -> 68324 bytes Source/Forms/gofish_filterpf.scx | Bin 9426 -> 9426 bytes Source/Forms/gofish_options.SCT | Bin 97123 -> 97228 bytes Source/Forms/gofish_options.sc2 | 28 +- Source/Forms/gofish_options.scx | Bin 17165 -> 17165 bytes Source/Forms/gofish_results.scx | Bin 1469 -> 1469 bytes Source/Forms/gofish_results_desktop.scx | Bin 1469 -> 1469 bytes Source/Forms/gofish_searchhistory.SCT | Bin 8789 -> 8801 bytes Source/Forms/gofish_searchhistory.sc2 | 4 +- Source/Forms/gofish_searchhistory.scx | Bin 2995 -> 2995 bytes Source/GoFish5.APP | Bin 3073204 -> 3073204 bytes Source/GoFish5.PJT | Bin 179256 -> 179256 bytes Source/GoFish5.pjx | Bin 15753 -> 15753 bytes Source/GoFishVersionFile.txt | 2 +- Source/Lib/VFP/FFC/_base.vcx | Bin 9316 -> 9316 bytes Source/Lib/VFP/FFC/_environ.vcx | Bin 1795 -> 1795 bytes Source/Lib/VFP/FFC/_frxcursor.vct | Bin 155298 -> 155298 bytes Source/Lib/VFP/FFC/_frxcursor.vcx | Bin 1577 -> 1577 bytes Source/Lib/VFP/My/my.VCT | Bin 180692 -> 180692 bytes Source/Lib/VFP/My/my.vcx | Bin 7136 -> 7136 bytes Source/Lib/gofishui.VCT | Bin 468336 -> 3665606 bytes Source/Lib/gofishui.vc2 | 214 +-- Source/Lib/gofishui.vcx | Bin 28391 -> 162026 bytes Source/Lib/gofishwebtools.vcx | Bin 1686 -> 1686 bytes Source/Lib/sfsplitter.vcx | Bin 3212 -> 3212 bytes Source/Prg/gofishproc.prg | 1633 +++++++------------ Source/gofish.prg | 2 +- _command.prg | 2 +- 41 files changed, 704 insertions(+), 1187 deletions(-) diff --git a/FOXUSER_9.FPT b/FOXUSER_9.FPT index cfb60a79d1720be32abc8befee52f8ab79de0a99..c4d72bbcd980f7d3d9789573616145f0cce91b8c 100644 GIT binary patch literal 1143808 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 delta 1239 zcmdT^Uuaup6#ve>H@$7rE%};mQkzJ}#?Vf&D{HkKlG~Q%&dt%%f3^=QBc$EUO0zE6 zU@sCK^x{L&aJHWQTiwi@ZiTh-IrA{3k-)B0#5wk)6Sh^HKB#5$#l6fgi6{z!uU`0Z z&*7Z!$2q@qzAyDdXYMCWV@&&ozH0aSKd4)SbX|o|l`gkdx7c$u&7Tq{D!+W9_O6Gq zhm0|gm$8pjX~?fy{?iJhYYOZX3(Xf)bb7-$+4=y@RzoGpdn?u~wedOj!gJ*f(G7E-A97^ojIgxzBRnd7_z-F>V7 zpv&0(G6udOyftta?VE1G1yMlinQVz4U5<>fu5DB)+v&MzLWY6poltVL%+n-dFJC zWuJRYDq6tVD!kM^gJxW^Uzx<}<39KOa>fdfp|O@3)USlZ)sJ8Epfe*y_$)+M%ixjh zw*j>tgua^B#OmsEQoz}e2wwvQof~opv$D(U8!7^?17ka+6sFEtlbpPAvV>yc4PQ@V zd3#7WH&Ys#zXU7qv@%vesjU_g`kj>LJ!c;PI=3b3@gSc2Ig`=fg^axpXb#DmBP$|& z?^6}^^%R;dQl5?*I5)6E+q`|hm)ahKI*Qf6`Z>-#BJP1YL#^i%$6S-ZCZPW?5=iwzL?-#3=c?*k2r zQzbLbU(%QNGA2QbasFH7A5Linmb<626EAacp}eDL&*jM3srBRh+~U9OdRFdwK%wwB m?{kB@^k$@sZ$_$2ZDveururlN!Jl@5zpte(P8>_~`riR?&9Gen diff --git a/FOXUSER_9.dbf b/FOXUSER_9.dbf index 4376aa2559fb4bb462f31f69da762a6b78f5f5d9..ef5b8fd007829296eaa497778c6ca7a7927cf79a 100644 GIT binary patch delta 2189 zcma)7U1$_n6y6y(G0|vtsb-87oth$uSnvPLh}3Kw7q_}uiGt{pPz#Yld=Lsz%J_>u z>BA`4pT|NIp;#FZf1+soLGiCIZR0~xACw3}ANmqe!E^8Q&fGQK#(g?_?|07m&Uena z^RjgNizejQ9V2I&*4s|a%H_%~MLxrO>|Bl@LJ>hc>bGkpN{BCRt_RVGpQ*0X8Jm3K!v73 zz=EAd=y+^;yH%vV$MLPacEBQ4_mZ8L*>)8B0q{AV$s^`RbTU6|1$LN_mUxey{j3;UWHmfse;#)W+LR z7hORGeV9v6Njx;`H>-d#WxLY4f$EX=kK68<2j}2mw-G-YZyyf7RJo}i_;kB*H;JoM zTB^Lym%=c?aj+juEleH0T4yFDblzf#Rm+Qq0)bV{y|ktlRGh-NBv zRIw$LV*i-IHtH`9I+s)jT<%le1v8c~Lp+`+erGwm7fTvAfJ}S9)U>0a4+fn_vsFoq zAp982^v<6%9PUu`F%y(r%Vs2{FDrD-a{CpYvA{#WWR0uGn?pOTUCBc|59h(uxwV|} zwz)rA)`jRz$3bUwg@jT8<9ZED4UJDaOKryj_2gCwLTy9HXsom1+)$#q%p>HcAzJLu z4=m?WqNrTE%jV^g53k$S&A7VoC(GVyMgJ`N#Qw^Py4>GkJvzgW)Djce1hyoV1yM~~ z$s+rvr>3Itm=X`Wjqs+7=M|m@0r5vc(WKTaewZfstgoitr4gk&C-AN;Ym`6|()iY7 zSO~-36Ug;$f;7Hf(fcaC%cu}t`COKkiL>eb9)UPfp#UMsXjRV)Y*>}*D;0bbVs zZBj88gzZcnu$a^WUBS<)(F|TCG-Nb-5?&MPR)o}}`8T9W6#Do14b5+XcG#g3D2K1# zC&7UhHP7-@J_M$o=Z1v-$nfEx@8hsi?X@Db%Gm3M37%&7XaA26lee%{Ew4&2^FNk1 z9U`sJg@UY@A&+|_U`|;v??@H$z|8RBJD+2npm{;+&;n-W&;Y-8af;su=9KvJ%M*Mz U^z0(oQ#uTNRTwL@ctOMK;PP z6lp9dm%T3nz~S_Q{!mF|zUNSHDcY7PA@m07>J(WJe=WlxaDa(2fFXe(*HMKh_-*>f?7*s^}GQmY;{&DY&A=S4R9-t!mXB7$Rv1&CZz z{lKSu3EI6w(F5`nsWfi2Q*PAkGw_TIU&P@Z8LsxtkV!1e3ux$A3Jhm0{j4Ou7xH__ za^#l)%<)|RD~3jP01COB%6JgcHe6n3>!*dYUi<|;3D-3nF673@4^idwkUGm4Ci<-? zxBfiRj|&&#GlXtNXrJZB$bRvGOS$hg6nK}n;LwI?va3sX2&#_?LYW)z8g%kDsdgnJ zLK2rRnjV!&?$JhwfwaDyk3PM);cozf0TkO9d=*5f%Rf>a(}o diff --git a/Source/Forms/gf_collection_explorer.SCT b/Source/Forms/gf_collection_explorer.SCT index cbddc3cd446d2b3e36a263137808acfd98ac4726..936e2a24cd60fa6bdc0a98a37c10bdc512a58669 100644 GIT binary patch delta 21 dcmbPxnsM%F#tpYM*y=u}gxQB}eyFj>1^{pf3H|^8 delta 21 dcmbPxnsM%F#tpYM*wU&_*p!EEeyFj>1^{l53Ge^_ diff --git a/Source/Forms/gf_collection_explorer.scx b/Source/Forms/gf_collection_explorer.scx index 8ec507bdca3a9094c49fa5e96803eff9932d4b93..98a0b19dde6113c95511e0a28ac9d1325b4acb6a 100644 GIT binary patch delta 12 TcmZqSYvE%t5NG0F$ifZ)5Uv6( delta 12 TcmZqSYvE%t5NDKM$ifZ)5a|Lu diff --git a/Source/Forms/gofish_about.SCT b/Source/Forms/gofish_about.SCT index 594d41c26bbaf1405c6a2e87059f8e8309d738f9..9dc8fb19b178a60b06169725adb4760b58278f77 100644 GIT binary patch delta 499 zcmca(^1_6Jfk7&Rfq{W>qu?jTi3*&P`ypw!~bs#I?%-;kk@VG@H8L*ZlrDRD^w zpr|1bGXgOS5c>gf1Q4@Lc94>pykC%gvK6<~WW`VP#-Qjlpt&;`UG z8(SvtkO+d?C^lJ1Qijh9C=Rz3s9$We8TV|a$z9^F!5+TCXUw#@Tuhh|%+nB3VceWA z%E36A>S*4(w&A^&3@*bRgo84zJhv2Kpo7j~A#$SC$ delta 524 zcmaE1a>s;&fk7&Ufq{W>qu?jTi3*&P8^l;Qb1=;|298#NQ*+Lj4T?2yron2i*gIpDyb25{&dAWi!Qgd=N)F&%)$W30&E;iXs zN@+5uWH3k@JDX>2VtT64)hXm0SOFU%YcOSu-&lf5N=+rz&SbLPuDc0j9~cGG_PQG%o5+m} z#DDFoVb`>D5II3B&}I)=b>I`-Y>juxcTT;2LcV|xV0YCY)>gt^c`>r<(zPSx8Mp-x zMpt$d1wDAN5Q%$rtp`~EGhor^I3H2T2Q9;{t)9qoldi5Kx4=F)F}i+<=um>1W--Al zm1Uw!@Ccp(`H5VtpN}!O$&Ou#YzNjXT5Xn)t6&ps|FZ;}H|%NFtu|x_NP{7x6IzJI SS;(xg1)I{?8_>4U5cmdHi(dEu delta 556 zcmX|;KS%;m9LJw}djCw*yt7);quo32PE!&}ODd3-z?O1}AdtwdNdiY{dP_uWEzwY| z4MLj`EkW24L0eE#G&F>L?VdjP@P!|r_j^BnucLGnPFLmVCHKV%X3{b()0m+>F6ORG z(73liD}tbPz2yJ=A|)RoaiD|#+2jdXm7wPI;__nAFfwV=PA5(KNN|KxrLGVj POwg*NyU+RlP1ocfiDp|| diff --git a/Source/Forms/gofish_advaccedreplacehelp.SCT b/Source/Forms/gofish_advaccedreplacehelp.SCT index afa4880fb38a207841a126f05ae994a29995b780..a7781bf04faf3aaf6f1f3842fcfc3a2193abfb6c 100644 GIT binary patch delta 172 zcmeyN{9BoWfkE&$0|Nu&M!`>v6BRfopBH4^%)zvdY4aBW7RJf%1lTrjWBtjrS)K1J z)8uegzR3}+yzFc~iAkwBMw9zlr6=ccPnzt-D$NEFo7~4LGkH79l*!s$T9eyYRVE+g z%$nTGX)<{O$9a%e5EkIiNy>50cgrl!@Xrf#3#b5^BejXgo{_O-@v6BRf&Gc#>wnmmzb>g0BAsmVh8!js#$`6dVOssQ=C zn-8-7V45t*cY&SFCow5C$7u3(UhByvyjhdgc(p)^IT#=khLbM|Y66XBU3dBF5 zV$0bW7&dbNmDx@{&B`a%zztE_3#4ZO@d_Z`!#$ai*=n*stI%X?Hf}M09*B|{Ae{-s zUx1jKpMgOhh(RD$fPvxVWCd1($%X6&OqT>f_A*KV076+V4FCWD delta 264 zcmcb|e~+KVK#W^_Bg zh~GoS=CUy`DDq8KWVM}qnw3v1iW{P|2q;~_$-oc?q|>=4GcsFE_GcBEY|X|k76{ep z0;H3;7#RG3cmoSm3BQ4dflIKVfti_+rJ=Efu_aIv1XO@@Jy3%i(EMFMb3vdDNU!7o zS#99!>1kwWVq{=yX=G+;VhMG`VxR^kAiEz(|ALCm1R7+)3)G}Pxscs}selV)F{2a! DO>Qiw diff --git a/Source/Forms/gofish_advanced.scx b/Source/Forms/gofish_advanced.scx index 2d13583360505a060a8842ab96aec71927072fd5..6191f9db0847071f9fafc075d6f44c54cafd749e 100644 GIT binary patch delta 13 Ucmdn*wcm@yK%9wxBa5{v03KKaga7~l delta 13 Ucmdn*wcm@yK#W^_Ba5{v03NRclmGw# diff --git a/Source/Forms/gofish_extendsearch.scx b/Source/Forms/gofish_extendsearch.scx index e075ba9a414dce4ed7eaa820796ccdb61fe9eff6..b5ddb6261fcb6dde93612f8c3a6cb46a528fe1b8 100644 GIT binary patch delta 13 UcmZ3*vxjX`r;3bc8;ERpFVhI)&P0A=*dy< z=xW+Be;C<51fvIi(Dg5~BweHLvC7G8h;(&#mdJNZT3mE`TyA1=Omt#Obb5jV-(1R&s^EP;ofKPGQCVJEvF<9PaNgLB~dnPWjd$NfP=^^BeA`~MGh|u1%dBh7m^?AA8f>BJP{dVkd!L-xIk1Z_shQGiH9b zS?j_F56>+0#vxr^Mh|*{zax4v4D-=fZr`<8ryNU!DH@D8<0(Wa@9ojhkqtBwO-it&p$_>Q4Jx-a2**c-IMD0I2wb!c;S#~5kt98R^TbBb`Ue6p zh6w7oMhw_s>wa+1Pp&)q)CMl#Z{Oc966$koq5~Mzg!a;_z4eZ6riHx&`E1~HbR8z} z+P*9Dxo=J%Vw6g2<+n`S6k_(G9a$<8c;N=Gs@$HL`@WQ&k_Olyg%cVB$ z==hYh~n8|AI{$^d;{xuKo| zltPwb+s``fL99k@DINy{8J0U9RrT-eu(`f604343m81 z=@5X|2J+G90D&SO)oMQY5i8QiCfk5PsRdZAg(uXm^H_`yHgN6ia~%XYfTt>6PYU!x z{Mn0K3_k@95cqYRz`Irv;!Cm%Rq@{VW44F!KHXCT(DPG(pYq{Ku04P)&aZHKv5#C? zy#Yq!`UM&IdRB0MV|<(yj1y)UFf7y5Ul0>}<^(3?Ya^W2{2yD>I)5gG#AIto^erw= zq4-v*7TeAP`9mm@p+5(RN?EO=?<*tGX(9=n_r+RM<& zy-5JLD|J8L5|6Rl0dSj!-M~5~!2|TaWk$7SQ*IjB-N~>C4>$O+EnakXZtc=zb+^-P5YBzT>)5);A9wCA7!;Ox-YTqbDtOaC z&D}A`XMKtNBLq+thJg)MMx0(DUc{q|cB*U;!QEi)sXIzp48()%H0P~BKK$mm^_9;% z1_>d;8fj^}_1>vv+f_Qe(Eq}t#yiUI=0YG~SNt$Y1df6}%LTfb)*q7C-C*dJW8?M;YW{DGWf{R)Japd?ng_D$ zjF?Zy3s@xBl)cvDf)68g4qYHaKg>T!K@)N@ml}#Vs(il_7yndKi6C6yi38Q)4TEf3Rm2i=Z?NLM$FH1757KxMbTf| md%2#T(dEVYCI03>e{-b2In3W26iNv4HwQ=gn?q=S$bSLXaE@I7 delta 3680 zcmb_fc~q3w760zQFyrV9%mA{CB8v(tDj+CoTt+~}B`#IRT|rQZYytvGHEyR`Q;l%d zTaEjY#0D4oDPt5vNNP^fR1fGM8q*wW(;US#QQWdw>3#2;89hDie|_iN_ucotckjE) z@7{0bFF)wNeyTSpP_;-=6pU&PtBbtj4^Gt>kR5{s0}|AO18kt4O!~GZPo0gH5VW-e5>#ysv*%nD%N|U^O))B&e3(kGZf78x zZYJpT3XZs$WJ%>saaifa)P#qMLNMk*iZxek@mR$qM+RuqM(w1ZV6r+L3m+6eKg`5V+)!7tkGJwPK9dBzonGy1x@$`CM zywci)+ltM&_nsYlKKMESV!Rib__#@26!Ogz&qeRDuoz8DdKzhf5KRAhDPMwhKc`t% z^RD*}Au8{nu}$-$?pr7#P(rD?cz`=SLgx!gdo{sttH>Z4zF; z+9(71QuI?PY6^t2CxN)|oRLPZgaXa?8})H&=!R@F4ydkoE9rrkwrAq1?GAPKqe0-Y zLS|Ynh%*)s1MyU2Fc~T!m#X5RxBBXiZa@VS;2tH7fk9x5A6EI2YQlY4yRGw za~GR_>Z=xf7Y>x{%PIcY-lv9nfpo&0bugNwv9p9CQ6l#dr(`=TVe?Git;$f z-@p^7;2AVt=W~fV>xo3&cP(lhA zCA9M^pi-xF$Eb&0sCETQi@MlU1}QHRc;Qr>FMLkzdYFju4YN2r;rPxOtLyv<@CA>J zk#wsct2Ea2RwL`z8q~s_9RVM#H_LR`U({H#+h>nQDQHzAC?JDDHEaSHU&6y6Y^jfu z;+;BrOEhtSR->E>wW0C856#KobjD^v45g;PdlZ)m(X_OP%S)VSy!4e`6iTfI3Q^DA zP!1$m2@!NY0{k`6z2VSXtFKd+vvssF6LyGd9YV*Z!d$69mYZxXm4zHBt~q?t)(2Z# zp3o#R5*vi05MPoPi6B_Mm^Y@Ili}|p_)WHqkM0Qt=5dGL_kkI7~ zPBOcHbK25%v}-AROJkhSTi{W~v-$BB9UWQ1r6B@G2NtuHvXOHdqzCqw zP?E@D5#GCRN%UNceYrDT{Bb{Q)~dbir*RDDc+C&53oq;yf?Z^yxliB^-^S29U$Cg9 zzi`v}eJ-3J28}meM7KiZGziy+U$cEEeN29$xfy%Qud~f;lmxJ4)RAfH8 z5mxE>M*x>rizqAl&X4;NJK2TyFN8AM>knql-8Bn5?utCQ6Q(s-s_Y2St}-M1>|@LL zZ+PoQhdZ%GQ6Dc?QiA;CcoLDoiHKzfT$jyoTlc?!TQQ$~7Pr3$kw=hN&`w_LmSzls_aH_(lExGTzh1a;~Ms3T)>mUzayqO`Xg zmGtaRu=982_9qO839k0bslJW>}-Q(~c zpRxiWWn#L+)K8}<7Jk~8GMWFL$&SURqFv63kN|4K(IGm#U+u)k8uT;php+ZII%;C@ zt(q`gT@!&h{9O9jf3n-+Mph#%HYn4JrNMu8Z*)-7iz*7`7QC<;62YOA$T>+`*#@K7 zR-UmALolG!H{~oV5CTS~7N(m_!gxVHGR5#qGd~5TF<;1JL)a0Gx$B(x^ic^mtQ*x= zugu8G&&%-y)NSp4mJ!w_Dh_D#S{NVQEzh$7UgjT&n_pX_3svyYl2A-r7K0m>b%r~*U|AP1;htsP3@z+j z6VyoOt}lxW8_E}CGFe%-$U-UeSD1n@AV1m~^>^<_Alhdi=$71Jv{LS20>^XO# zx@u;v4|bh75C7zxg(v2o>1b3Oi^}rKv&wS2;2ZP8lG4J2_V#uSYe(EGqcT2s<>Zpw z($Yy?wf6=kJ-4*1q-bTW>Y7&y9fgyLoYNZq%ne)6KcG&r!6AoLr4V+!H5_(yV_`SQMs(v{cOc)gSPyG#yV-{7@h SKSi0qB*H2GEQyf)=lC}ho`y33 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 a47254690bfde18624336305965fe724d74c0333..ba141f56994855c9d49b7bc6121d7f17132f39e5 100644 GIT binary patch literal 17165 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 delta 620 zcmYk4J4nM&6ozkW`mpIU)l{msc5={^-ll2#m{i0f;@HVW)XhO~auLK;1i82fg1G5Y zw2Om-h$s#^S-T4&KEPrJC#ipuYwLlJ|Kyzi9Byt>jZ`B-N){t0LQ`<7>5QsrS)H|n zAzPBoi($LqX11;PSu>MQku!Dy>4Pg0;+%lnBujDhmaQsrjo`KyLX6k+-unt zXc0_3%8CGk{CB#G?miy z8}539K7%jd^P8>-npV|Jp61e-b-%T13%Uo6z?JD@pDs~u^0qxdNC?D0K46}A&MnHv zcr@Y+dJSrzVYP439t>LTQD_mAz(UZNR_*iz6S1@TmavdHk}3k`WH*w-Z3i5{@!E(*BlDs2gzyJ;kawc!p)G qwi_m7qo;k4e}6!YZ@z$5z#({-tf}rkLZp6kYEq>3H5bx?E&27Q8o3cn z)MyeRc0V<0RMf;0D`^@*_`S1pVST>md;I?TjlP_@=e%d;+_`h-o;!EHEGnd50xSKs zZmfn@nbW|}PRm0!1ZEuGrJb0hP4CgF$6>FO&BGl_ z=xDZfmQ=3Q(O72x#n*@vrSv2rS^R+kgab2qsx>`pTE?l_6#gkC>!-=OP>ggXwlw*K5prUxaP7%o+E4?X$M2Qewd1ckQA2WgXcPR8h=_@f-m^vWV|G*G z42Ux8A7+;M{WWA|zRp}1e_E`eq|BL+n)@x?hwxRlG}`9bBB?sHh^O|ZN!-(p+9fSi zm4_kMsrA{9WZR?KX~?Y{ZFSq8NtE2S#aZ97v~BxX)+Y{OYfSHgZN{i={FNxq%axz9 zqk~w?$Gm|(&Et6v)FpWBR6-K$WupU5$;hLgX-VhNn(Cf>VGjdlU*#_xXp)2dcG*i> zJ4%u#nXg7riWs1<$e6}aO}3)Rbp@bzCB&^JC3{idvRAs~z(t8SyZEJAT#Dc#ioQK1 z)8|mK3`otBF0;9ZBTez%2GuvfWnlSoO7eh_z2(r{LqLt&m|NxN9jTk^eUMIp;Oi~h zbsES>Tx&^a=0t64y)2ZClVg-P0ewK RM@>%G~Dy7-U7u_$vPKL!49q2&A!*;sxW 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 U-qO(VJp&WUQ_Ag|!Pl+-4~ipAQ~&?~ delta 11073 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 S>n{qJP;OQ3-U|Ac#s31xjK7Hh diff --git a/Source/GoFish5.PJT b/Source/GoFish5.PJT index a775e3b2a64a7fed3b0c87781da010f018ead442..e501186139f8c85a7a4cabbbcb0b4a24816b17bd 100644 GIT binary patch delta 272 zcmdn-gKNhRt_?Fpn7^^5Zk{b7AS`{3FD1-AjF%y)G&3h9JwGk8I72Vv8hq{E(pf#FZh}SFu z=o{=B65{FS9-PL^z~mbl#xQxpFU3i}bT)7Nb%9-g#mC>#1t`Pe=p5o1<`}ZQmWfe~ pd9uzg<>`xA86y}|+W)XJZvVr|q-_tjV!O606DP!_%PoSLG6Ck_V8H+Y delta 278 zcmdn-gKNhRt_?Fpn9cqLZk{b7AT0gP@Fm z<-{i6Q4eODCk;|F`Id&|<~)t_oNQ+QK>W?lM!S_*z$~WFUOotGa`IgX2&<%KJ_m#) z-Ws9^@8(0~Y1vwm@Lp;MALtKF}EFjgBAOAF*toKV{bJed4 s?Azm*7?qf(FJ@(oU{r1Y!^*h*4=a8T^hD z?gofW1zd0eL$KAK5CRYtCERco5P@%~0&p7)CqLqWb0A7rvKwjVFQN%M81I! zE)Nl4;ztu`K^I^XKvGd4fMy|=AaY1e?m^}92_fkPh4Ta<6y-v~X!29g1;j*1X*G}?Cav;l&$RnA(K>^LNUW#bS z&!7wVDWR#jfG!ZEjN;fU%4izGRFDJ?sGzwZN)_%t!^r}c5|iW9P>g$^hNK(lq0LF^ z>5Pc{B{}(p2C9O|S(<19Z_owuw9r(1Ko=;|MpN+xU7$<{NyP&lG+$NeBFTcH;Sah% zogS)+N%|<>ZbId<7@)|u86au?V1QJWz5h7=AjEHn4_s!gf5_BkparlphU9F0!gueC6euvEbEy~%nT-rSRn~c Zvuc3q+-zW-#t6%wpwa;)_gL5l0stS-q#pnP delta 1604 zcmZ9N%WD%+6vj=QPSTpjX_}^!T9dJj@m1@*GLKkYbR{mN6>%XVr7f+vkRsxuBQ;nN zDk3FEx^NLhL|nM2WZ}kzh`4g0;2%(m3lWhb;z~rX3+LQ#R&##mJLfz1-nq<5v=S+1 zf1>2#>C)Sd#W*;jvS2Es)22GZD`!(P z|C>&v_3UzL+rP&!T+_D5=&g{RZpRf--1wEot~rVw5WT>!o#xVi%rKV`riHZv>` z-LH2;?eFecHSpY;RU?saWFep23E&n2Rbz?;4Gg<_q^-LvhuIvf75=L^NuKM4{Cxz4 zJX19C;6BjzCFz*d8q=v%U_xQ_upn6t^+WzKf~w9Gt2(pF61@0ah!3 zy$clHAb|RAX}*_oc)Y|KJ}pK3gQW2?OA5C)W!8M%fN4+e0r@)wr-nfB9>M8hY1)s& zP;j=wz^e*OaBeS~PYZRrP?fG2ZB$wL-xal|_su8b8&;&x`(*)LIso7+g3AX%v4!Bu zAyE84aBYMsHb!7si-%cOoWm~!OQW))c|>0KO^6j!+UDCPE8jA~{*J}6!aidIxQ9S< zK+!~ycR{hnK(huTJg9+s&;!syVECYTgrE{!Ou80{@8n6q#9GMQo8gV^PUus<&fr?T Xk+f`4**1^PCE`2U8k7DF!Li9dBmbfA 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 5912159ecf0692f6d58c49632c7ee667172aa659..21ec6e869037082540edefe2623d169b99b3eb54 100644 GIT binary patch delta 13 UcmaFj@x+70K%9wxBTIq`03q!I?f?J) delta 13 UcmaFj@x+70K#W^_BTIq`03t*K{r~^~ diff --git a/Source/Lib/VFP/FFC/_environ.vcx b/Source/Lib/VFP/FFC/_environ.vcx index 21246e658e2d1a70712a5820e5390d0a0968b747..f4033caaf6914f80e916cff084006725cad43157 100644 GIT binary patch delta 13 UcmZqXYvyAy5NG1w$nu{J02KKHIRF3v delta 13 UcmZqXYvyAy5aSl#$nu{J02NRJNdN!< diff --git a/Source/Lib/VFP/FFC/_frxcursor.vct b/Source/Lib/VFP/FFC/_frxcursor.vct index e27874fe0b812fc9044597e387566dbeaad57ce2..036d09643475f43d00648ced0466efc4f6c2a83f 100644 GIT binary patch delta 54 zcmZ3qmvhlx&W0_F@0O`7Tb2@LAI8AIzzD=*j0`*s@o7aB$)!cb`9*pebss^p+l7`h HPS_3r1Q-(5 delta 54 zcmZ3qmvhlx&W0_F@0O{gRh_UY4`pCrU<6_@Mg|^+__U&m<}cA@2r H6Se~Y0Pzxs diff --git a/Source/Lib/VFP/FFC/_frxcursor.vcx b/Source/Lib/VFP/FFC/_frxcursor.vcx index 309c8ec076a8369c445ff705719df1c61e831200..53415769f0fffa570c42cacad84e0dd1215d0d13 100644 GIT binary patch delta 13 UcmZ3 zhTO{J{Ji3l#JrMXy^L#XVdgR3n{22e!S-xDNMN(SiVP!e^G>Tuv*DDTjL#`FlH9DN z7r~6vMVlWP?&roSi`Pk;tL!+i1Oy)>)EO8U7=g%ja-o^dW-*6zGB_>S>=L_M2)Ar} eftE6E*_V?iYU7k`zO}#o)_%tAxArsrVgvw>OsXUR delta 553 zcmcc8%zdSqdjpdK+p>KpY|29?H!4^&t=m6&pMp5swgX_1jk=OJB{$zz_|GK0Zw*Kx zFGFr+a(-TMNn&0}v0lcpwJ`G-&rLQ|kzl*F9we~YUqyxyw|S>krP*-GPR8dH8cA-} z(u-im>7vb#4EJ;6l*Q|$%~f_BSOS6%66y>L42(eJI=RqHXS0~YIT@UmY<7v=EreS( fzCcSEx9rQw6SZ;5Hs9LcerrGD_FMazelY?7_jl`8 diff --git a/Source/Lib/VFP/My/my.vcx b/Source/Lib/VFP/My/my.vcx index 2593a4d1fc708d764a3bf82ca8e625e992140216..d917ffc7ddcfddf79126f70648e7ccaec69b883f 100644 GIT binary patch delta 13 UcmaE0{=l5YK%9wxBg-9W03ikhHvj+t delta 13 UcmaE0{=l5YK%7y2Bg-9W03lEWMgRZ+ diff --git a/Source/Lib/gofishui.VCT b/Source/Lib/gofishui.VCT index 096171d47a31cb5bc224234e7dbafe0a8abd834a..c980fd8371caa9ab9b9b43e890736f957986a43b 100644 GIT binary patch delta 104934 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

#s}r2!9$ShVaL z5#@e2O3@Nn;6eQ)=n%c}UjsT!djHQrhg>rRTCx)&%`D)yHu!yW53__rt^L^C-A!`m zHxok)z;ItYXs)gJ^EL42UtwbLKJy@9*k^v)irDmi$Bvs?f%vbGVEV{a1*kO&H8n~# z8`!YLKH3QQm3eD0y=XLrDsKGCX|%IJG|r+?-tNG`7goNlliknHpfJW9m_g$O_Ss@Y zuPj=#$cE$&2JRqleD2T@>1l;|`Dm!~3$xM-sH&q9GSCSqntt;2Xsnz70As9Py3NQG zt7a#PE^BSx93X=3R-ZW1(=gM${K65GyUi!{(6ZGP&yAoJeCCn;B%Y+||A~3NG_)uR zZ_U79Pi`~RgPRSx48FV{BwE6L-dNwUuoGPXLzxK`tsEXr`<8PM- zii(Q(44|Sw88w|E4x<)f z^i`{N)ERNWqN1kJS^`lTH5x%fz)`W^y?y)k9z0WRJJWXNnEB0o_jcdi&Esz0-ri?_ z->7Kk=k&eUqrGGGmU`(zwD%}gdU2>KO_sas#cGFoi*+A5H#|PZJ5JVxu)-L1;9l%u zjQ12(m;RFJZ}Q3s{(U$;_VsyoHuV|&O-4~C#u{gRcB7N+uHO5-Sl|>+>NRhPq+V@K z>NR`z6N%C03XC@Ii5TrMfzfUe z811Y4XA>Wn7;RvhD7V6Be=IQC5dPzW_AN2mfW=}vI7`ri9GJc65uFcBqm8$V?QR(DVS&+(7Z`1jz-Su;MqB%V{D6}tCZRu~szKs~|#C)->lcfblTji`!7;V@N(bN-0``o9-I)3T~jCQiK z(ty$as3k_bcbC|KM~t?wz-Vm(qusYxG*uYwXo1mY6p4zK7;Uq_Xp@RXbqkEPNMN+7 z0;3&sLNt;X?a`C2eY#<^)dHjKDKOeK0;AOgMq7SXe8z~;hE>XgyJ5630;A1qfzb{Y z810G{7;UD&Xb%dE_632_epDlmrZCzDfzf7uC8{JwJMo%qsxaEq0;64XLsWUdXnP8b z_74K1jS?8`H@9W`Rv7L1I#DGt+AB}MXlDREbl$#h80}H#_I8%hvuDoAn3oAGJy{=U zx(#y+oSW1*cDHkjYp6TV-4mq?XhnWNF))4rR*{z^iW}HXl$9q+K}%1Ry#JIZ%AzTX z!`%w~4SF)k;RYy+YfOQDyQDGvA7(0@Wm4z~(=X}RKX zw?fw;B!}zAIo#xPio;z6{g*1m;XZ^8s!<$nEc7khOVSf1;3^nfgye7^L8tv)ak$%{ zXW)jC9PS3_EF*`z9fed}=90tR0R1xqhnoSN-mEy>Jm^XThf8p!=iq9Vo+$gElW;vt zPn1mPCIg2X1nl;A2p5O@XB2!oDGoORy3D}g-h-a%uQ=Q_(6?-g!|i~Z50+^ zeaFDz27$x9&|7i1&Cm;t94?tINaC3-bzoDEa-6)6o9+ftb-n7;BeER+h!{ccM$Yh zgyeAVL(k4p9PVc50hXJFu_4YvYna65)9CsO!*y1f0*4*AXe7dE+nvIn zqI`hYmsYl|2Mu(D^z-^yB&%e<>W(v+8$uGOqqaMFm-75PzI?fzI1}Gc(hG@JF7+k@ zwfgknkgst}eh&T!Zl0Hiw*#TPaX&;EtLXqECpSD{*%=bSd@jD>GLozKR-^Y)&0 z*U`7wM#l3k zK2F-wj=ZUrJWh&I8DajdLFi8j%Vp+FJy+*Myy`>399I8JI*lA>!?I{LJFI9giKWU5GiVr6 zMbaUfe{-^S=UyM=w~gm%>a>dQI+9H?HJ#REdZMs7cACf*8BKmAagBuVZ#yuF{|os8D$fmSskcy) zLq|~RrA4j?w)H_3|DSsyUPiozf>kST(v!Ql^TopQk&72BO`pwX+UYNHGtk}NTuSpD zxtVklDH+&sNGDm{E(zJt?XtMXA7;bZ!^Je59mt@o-BYU`dY|^vw%$w9x_y_g9c~`p z2`_5!$4_|{vKXGz*)u((tL+fB%k%vl`Z}Vm=GP#S(d)?jTswV5Khwx`Y9~irM}Cn% zMF+9#0dO#4i|I%${BE*V*w;_{+udPW_T2=Yxj$ej_9u=!Q%?p@$v$=TkTIx}M}Hlf zzgotlwYWp#&04yX`K+avwSwaQTJ)U(TEc?^+LlLl9o2{D4^sQvX}o^k zXWpd+?5>?&k!?#79>fq<`mZiCF+EXCPZVl3JyA?g6gXA$IZ0b0Ix*glwMS$?tBgpwDnS^np^0+>jLN;=HE;P>C?e3M;+4>1z#fn*)Tm(fH&xu6-U*(;F8*n;FlQQ z1Y7t!(=v=Qx6CdW|PVWim`8UswN=3v$IbiEF{hAxsurP8;CHl)=pn|S*tfaQSje2Jy9G#9YQZ#*`zN> zSxHm*+r-b(KK;#f(-Xz?MEP$nsN|ie>51ZLeW>Y)!r%Xzo+zd#iZOf3G;L9EPxe=v zS4UR8%cl)nae{n?T-K+GNxWDw2?xJGw(&j*Whu3=6?`?x%jvxpR7~C$-aOB5P11(u zjnzsk;2%3KKPzC@Dl#EEJMv1WHkqh%bL1ey_eGbMvq^7RK*T#8hMd z{TTft;}W<6wMt3B4l3p44WpU0#VA~XaH-n&j$#|cqI$iQ8nEOqPdvVLI58Zi7nQP5 zsW2)l52KsacJf{}nSHSEs@jVEYr+SytkWdr*Jgs`>|Exs%3>Cz)Af~M(%D;bEqzTk zdDLRz-vp^sT9je027X{&FVkRLf)I<-7lRaNeQq^K-eBUM zX?B_og%^z4{GpMND*`Ub(D+Yf$AvO&1eKO+Yk&;V(817^4IimM2QL}UEF?d`wKu|k zD%}I8KwKV-q$WM^JlTK7e3PN+g3(UD%}}SNkqnq-bY?Hi0Bs~2KP$!Y?gm$Jkb@Er zfEjwy9V!qfy6ZQoM(pqTM176$2T-kp6zub`UG&QaULJE=V3OR2AsM#AiLX>i6n+FS zKx(TTR+IHSI61oRmQSe(8z6)iTk0n1UK6}k;<;1dLsQKuVuv`8>wAgNDH&6!OdwH1wVoRN;aR zcH*pu#Z&45E)uXr&MCl(!V2V|w-prFZR0k!6tnfJj3 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 '\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 literal 28391 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 XVb4=1RaAk;(F^ml_{#Z}URw5lND~kO diff --git a/Source/Lib/gofishwebtools.vcx b/Source/Lib/gofishwebtools.vcx index b26945a5b275bbadf5919fbc966810fb8e76c82d..ba56d51fb2df54dea3588f88e1a3b6eea0ef811f 100644 GIT binary patch delta 13 UcmbQnJB^pcK%9wxBg-T<02R>!@Bjb+ delta 13 UcmbQnJB^pcK#W^_Bg-T<02U|%00000 diff --git a/Source/Lib/sfsplitter.vcx b/Source/Lib/sfsplitter.vcx index 9f89463890a4141c95b49cc849f40203596f66d6..490eb0d086b27daa84082154eb70d8d21188073a 100644 GIT binary patch delta 13 UcmeB??2%+K5NG1w$kM?B02SK;@Bjb+ delta 13 UcmeB??2%+K5aSl#$kM?B02VR>00000 diff --git a/Source/Prg/gofishproc.prg b/Source/Prg/gofishproc.prg index 8ff84ae..b14145e 100644 --- a/Source/Prg/gofishproc.prg +++ b/Source/Prg/gofishproc.prg @@ -1,488 +1,5 @@ * Change log: -* 2021-03-19 See RemoveFolder() function. -*======================================================================= - - -*--------------------------------------------------------------------------- -Define Class GF_FileResult as Custom - - Process = .f. - FileName = '' - FilePath = '' - _Name = '' - _Class = '' - _Baseclass = '' - _ParentClass = '' - Classloc = '' - FileType = '' - MatchType = '' - MatchLine = '' - TrimmedMatchLine = '' - Recno = 0 - IsText = .f. - Column = '' - TimeStamp = {// :: AM} - ContainingClass = '' - -EndDefine - -*--------------------------------------------------------------------------- -Define Class GF_SearchResult as Custom - - Type = '' - MethodName = '' - *ContainingClass = '' - MatchLine = '' - TrimmedMatchLine = '' - MatchType = '' - ProcStart = 0 - ProcEnd = 0 - ProcCode = '' - Statement = '' - StatementStart = 0 - MatchStart = 0 - MatchLen = 0 - Code = '' && Stores the entire method code that was passed in for searching - UserField = .null. - oProcedure = .null. - oMatch = .null. - - *--------------------------------------------------------------------------------------- - Procedure Init - This.oProcedure = CreateObject('GF_Procedure') - EndProc - -EndDefine - -*--------------------------------------------------------------------------- -Define Class GF_Procedure As Custom - - Type = '' - StartByte = 0 - EndByte = 0 - _Name = '' - _ClassName = '' - _ParentClass = '' - _BaseClass = '' - -Enddefine - -*--------------------------------------------------------------------------- -Define Class GF_SearchResultsFilter as Custom - - FileName = '' - FilePath = '' - ObjectName = '' - ParentName = '' - - MatchType_Baseclass = .f. - MatchType_ClassDef = .f. - MatchType_ContainingClass = .f. - MatchType_ParentClass = .f. - MatchType_Filename = .f. - MatchType_Function= .f. - MatchType_Method = .f. - MatchType_MethodDef = .f. - MatchType_MethodDesc = .f. - MatchType_Class = .f. - MatchType_Name = .f. - MatchType_Parent = .f. - MatchType_Procedure = .f. - MatchType_PropertyDef = .f. - MatchType_PropertyName = .f. - MatchType_PropertyValue = .f. - MatchType_PropertyDesc = .f. - MatchType_Code = .f. - MatchType_Constant = .f. - MatchType_Comment = .f. - - MatchType_FileDate = .f. - MatchType_TimeStamp = .f. - - *-- Reports -------------------- - MatchType_Expr = .f. - MatchType_SupExpr = .f. - MatchType_Name = .f. - MatchType_Tag = .f. - MatchType_Tag2 = .f. - MatchType_Picture = .f. - - FileType_SCX = .f. - FileType_VCX = .f. - FileType_FRX = .f. - FileType_LBX = .f. - FileType_MNX = .f. - FileType_PJX = .f. - FileType_DBC = .f. - FileType_PRG = .f. - FileType_MPR = .f. - FileType_SPR = .f. - FileType_INI = .f. - FileType_H = .f. - FileType_HTML = .f. - FileType_XML = .f. - FileType_TXT = .f. - FileType_ASP = .f. - FileType_JAVA = .f. - FileType_JSP = .f. - - *Type_Procedure = .f. - *Type_Method = .f. - *Type_Class = .f. - *Type_Blank = .f. - - Filename_Filter = '' - FilePath_Filter = '' - BaseClass_Filter = '' - ParentClass_Filter = '' - MethodName_Filter = '' - Name_Filter = '' - Class_Filter = '' - Baseclass_Filter = '' - MatchLine_Filter = '' - Statement_Filter = '' - ProcCode_Filter = '' - ContainingClass_Filter = '' - - - TextFiles = .f. - TableFiles = .t. - - Timestamp_FilterFrom = {//} - Timestamp_FilterTo = {//} - Timestamp_Filter = .f. - - FilterNot = .f. - FilterLike = .f. - FilterExactMatch = .f. - - OnlyFirstMatchInStatement = .F. - OnlyFirstMatchInProcedure = .F. - - *--------------------------------------------------------------------------------------- - Procedure LoadFromFile(tcFile) - - 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 - - For x = 1 to Alen(laProperties) - lcProperty = laProperties[x] - Try - Store Evaluate('.' + lcProperty) to ('This.' + lcProperty) - Catch - EndTry - Endfor - - Endwith - - Endproc - - -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 - -Endproc - - -* -------------------------------------------------------------------------------- -Procedure Shell - - Lparameters lcFileURL - - Local oShell As 'wscript.shell' - oShell = Createobject ('wscript.shell') - m.oShell.Run (m.lcFileURL) - -Endproc - - -* -------------------------------------------------------------------------------- -Procedure IsThorThere - - Return Type('_Screen.cThorDispatcher') = 'C' - -Endproc - - -*======================================================================================= -Function 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 - 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/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/_command.prg b/_command.prg index f473526..cc947fe 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