Autoincreasing build number

Here is a macro that auto-increments the version information  of your VC++ projects with every new build. The behaviour is quite similar to the version autoincrement in VisualBasic or Delphi.

The Macro searches for the FileVersion section of your projects resource script. The last number of this quadrupel is automacilly increased and written back to the file. At last the project is build as by pressing F7.

As this macro includes full functionality of F7 you can map it to F7 to include the version auto-increment in your build routine.

To access this Version info from within your application use the CVersionInfo class by Roberto Rocco presented elsewhere on www.codeguru.com


Sub IncResVersion()
	'DESCRIPTION: Build active project and increase version counter in rc script. Map it to F7 for ease of use. (c)'98 Th. Mahler

	' open the project's resource script:
	Documents.Open (ActiveProject.Name + ".rc"), "Text"
	Windows(ActiveProject.Name + ".rc").Active = True
	' find line with FileVersion Information:
	ActiveDocument.Selection.FindText "VALUE ""FileVersion"",", dsMatchForward + dsMatchFromStart + dsMatchCase  

	' move to eol and then to end of build number:
	ActiveDocument.Selection.EndOfLine
	ActiveDocument.Selection.CharLeft dsMove, 3 

	' mark Build Number and store in strVersion
	ActiveDocument.Selection.WordLeft 1  'dsExtend does not work in my VisualStudio???
	Dim strVersion
	strVersion = ActiveDocument.Selection.Text 

	' Increase Version and write back to file: 
	ActiveDocument.Selection.ReplaceText strVersion , strVersion+1 

	'close RC file
	ActiveDocument.Close() 

	'build active project
	ExecuteCommand "BuildToggleBuild"
	Documents.SaveAll True  

End Sub 


Comments

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • On-demand Event Event Date: May 18, 2015 While the idea of using facial and/or gesture recognition to create a modern, intuitive game seems attractive, some developers may want to leverage Unity 3D as a way to accelerate their development efforts. There are many different ways in which Intel and Unity Technologies have been working together to help speed the development of games with the Intel&reag; RealSense™ SDK (software developer kit). Check out this webcast to join a panel of experts as they …

  • On-Demand eSeminar DevOps and Cloud are all the rage in IT, but the two terms relating process and computing aren't mutually exclusive. Join us to see how your movement into cloud changes the way you develop, deploy, test and manage, and how DevOps can actually be a good thing when coupled with cloud.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date