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: February 12, 2015 The evolution of systems engineering with the SysML modeling language has resulted in improved requirements specification, better architectural definition, and better hand-off to downstream engineering. Agile methods have proven successful in the software domain, but how can these methods be applied to systems engineering? Check out this webcast and join Bruce Powel Douglass, author of Real-Time Agility, as he discusses how agile methods have had a tremendous …

  • The mobile market is white hot. Building a well-crafted product development plan that addresses market research, strategy, design, and development will provide the greatest chance for success. Each phase of an app's lifecycle is critical to the its overall success and feeds into the next step of the process of product development for the app. This white paper examines the five key phases of mobile app creation, one by one, to understand how they work together to help create a successful mobile app.

Most Popular Programming Stories

More for Developers

RSS Feeds

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