There is a parameter to manage this feature:
cNoTimestamps (v? IN ) '1' for clearing Timestamps on text and binaries. Useful for minimizing differences on Diff and Merge operations
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I too am now using this in place of SccTextX and TwoFox. I haven’t made many code changes since I switched over, so I can give much feedback at this point.
One function/feature I found missing from this tool is a wrapper that will handle all files in a Project. Currently, it seems to be a one-file-at-a-time tool. Most users, I believe, will want to run it on an entire Project.
The way I solved this was to modify one the Thor Tool Procs to call this instead of SccTextx.
--
You received this message because you are subscribed to a topic in the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/FoxProThor/Kl-b1E0oRFA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to FoxProThor+...@googlegroups.com.
Hi Matt:
In the readme.txt there is a configuration for included scripts that are for that.
They are used in File Explorer with the "send to" trick, and you can process one file, multiple files or a directory
Thanks, but that is still a manual process, and I would prefer a pure FoxPro code-based solutions that I can run from a Project hook, or launch from the Command Window in FoxPro.
Yes, TwoFox can do an entire project like this:
Do 'H:\work\util\twofox\genxml.app' with (lcProject)
For SccTextX, it is no native, as we made a Thor Proc, and it is called like this:
llGenereateSccFiles = ExecScript(_Screen.cThorDispatcher, 'Thor_Proc_GenerateSccFilesOnProject', lcProject)
>> But our Thor Proc creates SCCTEXTX files, right?
Yes, it calls eventually calls Thor_Proc_SccTextx.Prg on each file.
However, on my machine, I added this code to override SccTextX, and use this code to call FoxBin2Prg instead:
Lparameters tcFile
Local lnReturn
Try
Do "H:\Work\util\Thor\Thor\Tools\Components\FoxBIN2PRG\FoxBin2Prg.prg" with (tcFile)
lnReturn = 1
Catch
lnReturn = - 1
EndTry
Execscript (_Screen.cThorDispatcher, 'Result=', lnReturn)
Return lnReturn
Oh, I see what you mean.
It's something that I can add for next version may be, so may be something like:
Do foxbin2prg with "directory", .T. / .F.
I would want to be able to specify the exact Project filename (.pjx file)
Some users may want to specify a folder path, and a flag to process subfolders also.
Yeah, could be. That behavior needs a special parameter, because pjx (and pjm) are converted too.
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
*-- Convert all binaries from a project to tx2:
*-- In this case, the PJX (table) is opened, scanned and all contained files converted to text
DO foxbin2prg.prg WITH 'C:\DESA\TEST\VARIOS\vcx2xml\bin2xml.pjx', '*'
Here is my feedback:
1. I like the progress bar. Very nice touch!
2. I failed if the project file was already open in the FoxPro IDE. Perhaps you can work around this by some means.
3. It failed when it tried to process FoxUser.dbf, which, for whatever reason is included in my Project File. I assume it will also fail for any other dbf that Used and also included in the Project. Once I removed this file from my Project, your tool ran just fine.
4. It takes a bit of time to run though the whole project. Can you please explain if it generates the txt file for every binary, even if they have matching file dates? Perhaps this could be made quicker if you re-generate text files only if the binary file is newer than the text file, or if the text file does not exist.
Here is the code that our SccText Thor tool uses to determine if the text file needs to be re-generated:
loShellApp = Createobject ('Shell.Application')
lcFile = Alltrim(filename) && Binary file
lcSCCFilename = GetSCCFilename(lcFile) && Name for text file, based on binary file type
*-- Get DateTime of binary file -----------------------------------------
loNameSpace = loShellApp.NameSpace (Justpath (lcFile))
loFile = loNameSpace.ParseName (Justfname (lcFile))
ldBinaryFileDate = loFile.ModifyDate
*-- Get date on SCC file, so we can compare to binary file
If File (lcSCCFilename)
loNameSpace = loShellApp.NameSpace (Justpath (lcSCCFilename))
loFile = loNameSpace.ParseName (Justfname (lcSCCFilename))
ldSCCFileDate = loFile.ModifyDate
Else
ldSCCFileDate = {//::}
Endif
If ldBinaryFileDate > ldSCCFileDate
**-- Generate the text file…
Endif
--
You received this message because you are subscribed to a topic in the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/FoxProThor/Kl-b1E0oRFA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to FoxProThor+...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
*-- Convert all binaries from a project to tx2:
*-- In this case, the PJX (table) is opened, scanned and all contained files converted to text
DO foxbin2prg.prg WITH 'C:\DESA\TEST\VARIOS\vcx2xml\bin2xml.pjx', '*'
Here is my feedback:
1. I like the progress bar. Very nice touch!
2. I failed if the project file was already open in the FoxPro IDE. Perhaps you can work around this by some means.
3. It failed when it tried to process FoxUser.dbf, which, for whatever reason is included in my Project File. I assume it will also fail for any other dbf that Used and also included in the Project. Once I removed this file from my Project, your tool ran just fine.
4. It takes a bit of time to run though the whole project. Can you please explain if it generates the txt file for every binary, even if they have matching file dates? Perhaps this could be made quicker if you re-generate text files only if the binary file is newer than the text file, or if the text file does not exist.
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Fernando --
No, I think AGAIN does resolve the Exclusive case. Give it a try.
No doubt you do need exclusive access when regenerating the binary, but that's the unusual case.The usual case is that I want to run your routine against all the files in my current open project to create text files, and you should be able to provide for this case.
PRG or EXE doesn't matter to me at this mome
Now you can generate tx2 file for open tables that are in SHARED mode.
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I just tried this with the Project file open, and it worked fine.
I also had a DBF table open that is also referenced in the Data tab of Project file, and it also worked fine there too.
So, it appears to be working fine now.
From: FoxPr...@googlegroups.com [mailto:FoxPr...@googlegroups.com] On Behalf Of Fer
Sent: Thursday, May 01, 2014 6:07 AM
To: FoxPr...@googlegroups.com
Subject: Re: {Thor} Re: Has anybody tried VFPX project FoxBin2PRG??
Hi:
--
--
You received this message because you are subscribed to a topic in the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/FoxProThor/Kl-b1E0oRFA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to FoxProThor+...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Can you explain more details about how or what this TimeStamps flag does?
“clearing Timestamps…” – what does this mean?
(BTW - Perhaps your response to this question would best be handled as a new wiki page on your project that you can link to in the future.)
Both fields can be reactivated on foxbin2prg.cfg configuration file, if someone wants them back.The same is aplicable to the UniqueID field, which is cleared too. You can see them in tx2 files on class headers, like this:Hi Matt:Al FoxPro tables used for VCX, SCX, MNX, etc, have a timestamp column. By default FoxBin2Prg clears this field on binaries and tx2 files, because it causes too much differences on Diff and Merge operations.
DEFINE CLASS cnt_controles AS container && Descripción de la clase "cnt_controles"
*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Check2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Check4" UniqueID="" Timestamp="" />
--
--
I’ve noticed that the output from FoxBin2Prg often has extra “*” characters added in certain places in the >DefinedPropArrayMethod> node of the output.
I cannot figure out why this would have been added to my files from one commit to the next, as I did not change anything in the binary files related to these names.
What is going on here?
--
You received this message because you are subscribed to the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this group and stop receiving emails from it, send an email to FoxProThor+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
“no longer necessary”… That’s fine, but what is taking them out? Just me making an edit to the class?
This code base has been editing in VFP for years now, so I’d expect all this to be settled out by now.
I wish something would just one pass through all the files and get this cleaned. It makes the diff on my files very noisy, and I can’t easily see the real code changes that I made from amongst all this noise.
I guess this will eventually clean itself up, but until then it’s too much noise. All of my commits since I started using FoxBin2Prg seem to have lots of this going on.
Ready for it to end.
From: FoxPr...@googlegroups.com [mailto:FoxPr...@googlegroups.com] On Behalf Of Jim Nelson
Sent: Friday, June 06, 2014 11:19 PM
To: foxpr...@googlegroups.com
--
You received this message because you are subscribed to a topic in the Google Groups "Thor, the Tool Manager for FoxPro" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/FoxProThor/Kl-b1E0oRFA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to FoxProThor+...@googlegroups.com.
Notice how certain settings for this grid (on the left is older code) got removed from the right (newer code). Most of them are just default settings that came from the parent grid class anyways, so why were they repeated here in the first place?
This grid is on a page in a pageframe class.
No harm was really done, EXCEPT for that last line (see red arrow), which also got removed for some reason and broke my app. I know I didn’t remove (reset) that setting or any of the other ones.
I did add an additional page to the pageframe class and add new controls to the new page, but somehow, this grid back on one of the other pages got many of its properties wiped out, and I have no idea why. The same exact thing happened to another grid on another one of the pages.
What in the world would have caused this?
I added the property setting back to the grid and all those other properties show right back up.
So this tells me FoxBin2Prg is not removing them for display simplification. They are in the BIN file, so they are in the VC2 as well.
--
I’ve upgraded to ver 1.19.23
But I notice that FoxBin2Prg still complains if the Project file is already open in the IDE.
Here is the command I run from a PRG:
DO "H:\Work\util\Thor\Thor\Tools\Components\FoxBIN2PRG\FoxBin2Prg.prg" WITH (lcProject), '*'
Yes, this fixed the problem.
Thanks!
From: FoxPr...@googlegroups.com [mailto:FoxPr...@googlegroups.com] On Behalf Of Fernando D. Bozzo
Sent: Monday, June 09, 2014 1:53 PM
To: FoxPr...@googlegroups.com
--