Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to display the Program Build Version Number
Message
De
03/11/2000 10:51:18
Charlie Schreiner
Myers and Stauffer Consulting
Topeka, Kansas, États-Unis
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Divers
Thread ID:
00437403
Message ID:
00437644
Vues:
16
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
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform