예제 #1
0
void CVersionInfo::SetFileVersion(WORD dwFileVersionMSHi, WORD dwFileVersionMSLo,
                                  WORD dwFileVersionLSHi, WORD dwFileVersionLSLo,
                                  BOOL bUpdateStringTables /* =TRUE */, LPCTSTR lpszDelim /*= _T(", ") */)
{
  SetFileVersion((dwFileVersionMSHi << 16) | dwFileVersionMSLo,
                 (dwFileVersionLSHi << 16) | dwFileVersionLSLo,
                 bUpdateStringTables, lpszDelim);
}
예제 #2
0
 /// \brief
 ///   Internal function used during loading.
 inline void SetFileVersion(int fullvers)
 {
   SetFileVersion(fullvers/100, fullvers%100);
 }
예제 #3
0
void ContestDefinition::build_def(wxString def_file)
{
	wxString str;
	wxTextFile dfile;

	// Comment lines could have zero or more leading spaces or tabs
	wxRegEx reComment(wxT("^[[:blank:]]*#.*$"), wxRE_ADVANCED);

	// Blank lines
	wxRegEx reBlank(wxT("^[[:blank:]]*$"), wxRE_ADVANCED);

	// Key/Value pairs (what we're looking for)
	// Values are contained in double quotes ("") and may contain
	// letters, digits, '-', '_', or ' ' in any combination or quantity
	wxRegEx reKeyVal(wxT("^[[:blank:]]*([[:alnum:]_-]+)[[:blank:]]*=[[:blank:]]*(\"[[:alnum:][:blank:]_-]+\").*$"),
	                 wxRE_ADVANCED | wxRE_ICASE);

#ifdef DEBUG
	if (!reComment.IsValid())
		std::cerr << "reComment is not a valid regex!\n" << std::endl;
	else if (!reBlank.IsValid())
		std::cerr << "reBlank is not a valid regex!\n" << std::endl;
	else if (!reKeyVal.IsValid())
		std::cerr << "reKeyVal is not a valid regex!\n" << std::endl;
#endif

	// open the definition file
	dfile.Open(def_file);

	for ( str = dfile.GetFirstLine(); !dfile.Eof(); str = dfile.GetNextLine() ) {
		// Test for comment line with leading '#' and ignore
		if (reComment.Matches(str) || reBlank.Matches(str)) {
#if 0
			std::cerr << str.mb_str() << std::endl;
#endif
			continue;
		} else if (reKeyVal.Matches(str)) {
#if 0
			std::cerr << str.mb_str() << std::endl;
#endif
			wxString key = reKeyVal.GetMatch(str, 1);
			wxString val = reKeyVal.GetMatch(str, 2);

#ifdef DEBUG
			std::cerr << "Key: " << key.mb_str() << std::endl;
#endif
			if (key.IsSameAs(wxT("FileVersion"), FALSE)) {
				SetFileVersion(val);
#ifdef DEBUG
				wxString fv_val = GetFileVersion();
				std::cerr << "Val: " << fv_val.mb_str() << std::endl;
#endif
			} else if (key.IsSameAs(wxT("ContestID"), FALSE)) {
				SetContestID(val);
#ifdef DEBUG
				wxString fv_val = GetContestID();
				std::cerr << "Val: " << fv_val.mb_str() << std::endl;
#endif
			} else if (key.IsSameAs(wxT("Exch1"), FALSE)) {
				SetExch1(val);
#ifdef DEBUG
				wxString fv_val = GetExch1();
				std::cerr << "Val: " << fv_val.mb_str() << std::endl;
#endif
			} else if (key.IsSameAs(wxT("Exch2"), FALSE)) {
				SetExch2(val);
#ifdef DEBUG
				wxString fv_val = GetExch2();
				std::cerr << "Val: " << fv_val.mb_str() << std::endl;
#endif
			}
		}
#ifdef DEBUG
		 else
			std::cerr << "Invalid line: " << str.mb_str() << std::endl;
#endif
	}
#if 0
	std::cerr << std::endl << "wxUSE_STD_IOSTREAM=" << (wxUSE_STD_IOSTREAM)
	<< " wxUSE_UNICODE=" << (wxUSE_UNICODE) << std::endl;
#endif

	// close the definition file
	dfile.Close();
}