Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to display the Program Build Version Number
Message
From
03/11/2000 10:51:18
Charlie Schreiner
Myers and Stauffer Consulting
Topeka, Kansas, United States
 
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00437403
Message ID:
00437644
Views:
15
Hi Jim,
The version info is in the first record of the PJX file in the DevInfo field. You can use a ProjectHook class and in the BeforeBuild get the version. I have an AppInfo class that I populate with this info. Then I can write it back to the DevInfo field if desired. I also write it to a text file and store it in VSS. The Project class can use either the text file of the PJX file itself to get the info.
* Scattering to properties.
	.Author             = STRTRAN(SUBSTR(.DevInfo,1, 45), CHR(0), SPACE(1))
	.Company            = STRTRAN(SUBSTR(.DevInfo, 47, 45), CHR(0), SPACE(1))
	.Address            = STRTRAN(SUBSTR(.DevInfo, 93, 45), CHR(0), SPACE(1))
	.City               = STRTRAN(SUBSTR(.DevInfo, 139, 20), CHR(0), SPACE(1))
	.State              = STRTRAN(SUBSTR(.DevInfo, 160, 5), CHR(0), SPACE(1))
	.Zip                = STRTRAN(SUBSTR(.DevInfo, 166, 10), CHR(0), SPACE(1))
	.Country            = STRTRAN(SUBSTR(.DevInfo, 177, 45), CHR(0), SPACE(1))
   .VersionComments    = STRTRAN(SUBSTR(.DevInfo, 223, 254), CHR(0), SPACE(1))
   .VersionCompany     = STRTRAN(SUBSTR(.DevInfo, 478, 254), CHR(0), SPACE(1))
   .VersionDescription = STRTRAN(SUBSTR(.DevInfo, 733, 254), CHR(0), SPACE(1))
   .VersionCopyright   = STRTRAN(SUBSTR(.DevInfo, 988, 254), CHR(0), SPACE(1))
   .VersionTrademarks  = STRTRAN(SUBSTR(.DevInfo, 1243, 254), CHR(0), SPACE(1))
   .VersionProduct     = STRTRAN(SUBSTR(.DevInfo, 1498, 254), CHR(0), SPACE(1))
   .VersionNumber      = ALLTRIM(STRTRAN(SUBSTR(.DevInfo, 1753, 4), CHR(0), SPACE(1))) + "." ;
   	+ ALLTRIM(STRTRAN(SUBSTR(.DevInfo, 1758, 4), CHR(0), SPACE(1))) ;
   	+ "." + ALLTRIM(STRTRAN(SUBSTR(.DevInfo, 1763, 4), CHR(0), SPACE(1)))
   .VersionLanguage    = STRTRAN(SUBSTR(.DevInfo, 1768, 19), CHR(0), SPACE(1))

* I use the Comments portion for my own purposes.
	.About   = STRTRAN(SUBSTR(.Comments,1, 1024), CHR(0), SPACE(1))
	.Email   = STRTRAN(SUBSTR(.Comments,1026,254), CHR(0), SPACE(1))

* Gathering into a string to put into the DevInfo field or a text file.
LOCAL VersionNumber1, VersionNumber2, VersionNumber3 
WITH This
	VersionNumber1 = SUBSTR(.VersionNumber, 1, AT(".",.VersionNumber)-1)
	VersionNumber2 = SUBSTR(.VersionNumber, AT(".",.VersionNumber) + 1, AT(".",.VersionNumber,2)-AT(".",.VersionNumber)-1)
	VersionNumber3 = SUBSTR(.VersionNumber, AT(".",.VersionNumber,2) + 1)
	
	.OutPutFileString = PADR(ALLTRIM(.Author),45, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.Company),45, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.Address), 45, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.City), 20, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.State), 5, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.Zip), 10, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.Country), 45, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.VersionComments), 254, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.VersionCompany), 254, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.VersionDescription), 254, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.VersionCopyright), 254, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.VersionTrademarks), 254, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.VersionProduct), 254, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(m.VersionNumber1), 4, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(m.VersionNumber2), 4, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(m.VersionNumber3), 4, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.VersionLanguage), 19, CHR(0)) + CHR(0) ;
		+ REPLICATE(CHR(0), 9) ;
		+ PADR(ALLTRIM(.About), 1024, CHR(0)) + CHR(0) ;
		+ PADR(ALLTRIM(.Email), 254, CHR(0)) + CHR(0)
ENDWITH
>How can you read and display on your form the current project build version number that you can autoincrement each time you compile your project? This info would be great to view on the form as I'm building a project.
>
>Thanks!
>Colombo.
Charlie
Previous
Reply
Map
View

Click here to load this message in the networking platform