⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.txt

📁 一个把VB原代码转换为VC原代码的软件代码。
💻 TXT
📖 第 1 页 / 共 2 页
字号:
		- Scroll now follows output flow (ugly but still better than before).

		- Corrected internal APIs engine.

		- Updated vblib.h with internal constants.

		- Added compilation constants: Win16 and Win32 in Miniwin.h.

		- vbOK reported <Unknown entity> (was vbOk).

		- TRUE constant changed to -1 (was 1).

		- Kill instruction now accepts wildcards (like in VB).

		- Added missing builtin constants.

		- Fixed a bug in decimal numbers representation.

		- Left()/right() slightly speeded up.

		- Parser doesn't stop line checking after having encountered
		  an unknown entity (making faults locations easier).

		- Builtin constants are no longer mapped to system's ones.

		- Better handling of labels in Pass 1.

		- Better recognition of hexadecimal and decimal# numbers.

		- Now allow comments after if statements.

	[SRC]	- Cleaned up ModLoParser.bas.

		- Cleaned up ModhiParser.bar too
		  (But still it need a nearly complete rewrite).

		- Added 2 procedures to add insternal required constants/user types
		  the converter is using.

		- GetFunctionParameter core function renamed to Parse.

		- Created function SearchUserType() which retrieve the real
		  type of a referenced user type variable.

		- Gathered more code generation in ModOutput.bas.

		- VAR_VARIANT renamed to VAR_ANY for clarity purposes.

		- Added some more comments.

		- GetExpressionHunt()/GetExpressionDeclare()
		  won't be fooled so easily by strings containing searched keyword.

		- Removed PerformVariableConversion() and renamed ConvertEntity()
		  (Also removed some useless code).

		- Added AddBuiltinEnum() to build enumerations of constants.

		- Added ConvertLongType() to handle VB->C numbers conversions.

----------------------------------------------------------------------------------
v0.4.7 (06/07/2002):

	[NEW]	- Added handling for STATIC predicat
		  (does nothing more than pass it btw).

		- Added a primitive GUI (still better than the console).
		  Notice that it uses a .ini file (in application directory)
		  to store the preferences.

		- Use of static for local variables is now optional.

		- 'NO CONVERSION' modules header can be turned on/off.
		
		- Double symbols checking is now optional too.

	[FIX]	- Fixed a problem in vbasmlib (couldn't assemble it).

		- Fixed a bug in instr() function: search for chr(0) will
		  try nothing but report string's length-start position.

----------------------------------------------------------------------------------
v0.3.44 (25/06/2002):

	[NOTE]	  There's still a huge amount of work left 
	          but i've added/fixed/improved a lot of things since the last version.

		  Changed versioning system:
		  
		  	First number is major version
		  	(0 until converter is complete).

			Second number is major release revision.

			Third number is amount of changes in release.

	[NEW]	- Added handling for enumerations (stored in constants file)
		  It handles automatic format (without assignations) 
		  and user defined one (with assignations).

		  Decimal numbers are not handled (vb rounds them anyway).
		
		  Enumeration values are modified (. becomes _) to avoid
		  duplicate symbols so beware.

		  Example:
		  
		  	Public Enum myenum1
    				enum1 = 4
    				enum2
			End Enum

			Public Enum myenum2
    				enum2
			End Enum

		  Will be generated as:

		  	enum myenum1 {
				myenum1_enum1=4,
				myenum1_enum2,
			};

			enum myenum2 {
				myenum2_enum2,
			};

		  (More readable anyway).
		  
	  	  "myenum1.enum1" and "enum1" accessing formats are allowed.

		- Str$() is now handled (forgot this one last time).

		- Added Beep instruction.

		- Should be able to handle multi-dimensionals arrays
		  (No UBound()/LBound() available).

		- Added a first version of dynamic arrays handling
		  (arrays with variables dimension).

		  It can handle:
		  		Read/write
		  		Redim
		  		Redim Preserve
				Erase
		  		UBound()
		  		LBound()  (Always returns 0)

		  It cannot handle multiple dimensions for this type of arrays
		  and cannot handle user defined types also dynamic arrays can't
		  be locals.

		  Actually Redims are really slow
		  (arrays are not allocated as a single block as they should be).

		- Generated project now contains a debug configuration (Could be useful).

		- Now recognizes double numbers as simple type.

		- Added power operator (^) (done with operator overload)
		  Notice that you can encounter operators precedence problems with it:
		  
		  	1 ^ 2 + 3
		  	
		  VC will generate an error that can be resolved by using this form:
		  
		  	(1 ^ 2) + 3

		- Added Array(0 To x) declarations format now recognized.

		- Strings are now handled with pointers (should be much faster).

		- Improved code generation.

		- Disabled warning 4805 (variable against constants compares).

		- Added an example to test some arrays manipulations.

		- A WorkSpace file is now generated.

		- Doesn't check for duplicate symbols anymore, code is still present
		  (might becomes an option in the forthcoming graphical interface).

		- Speeded up pass 2 conversion by exploding 
		  constants/variables/functions arrays into 27 (A->Z+others) sub-arrays
		  (Should reduce conversion time by ~2).

		- Added support for mid() as instruction (eg. mid(MyString,1,1)="A")
		  (Also recognized as mid$()).

		- Changed project linking parameters (DON'T MODIFY THIS) to allow
		  modifications of literal strings, Linker will produces 2 warnings 
		  messages to be ignored, notice also that produced executables
		  will be slightly shorter due to PE sections gathering.	  

		- Now reports some important warnings while converting.

		- Added NOT operator (i forgot this one).

		- CASE IS format recognized.

		- Added ON xxx GOTO xxx handling
		  (ON ERROR GOTO and ON ERROR RESUME are simply ignored).

		- Related texts of warnings/errors are now displayed.

		- Dlls references are now gathered into project file generation.

		- .RES file is now included in destination project.

		- Added handling for optional arguments
		  (Only accepts simple arguments).

	[FIX]	- Constants strings are now handled with correct type
		  (CONST_STRING was pointing to VAR_INTEGER).

		- Now frees last garbage string in WinMain footer.

		- Sourcecode cleaned up a bit:
		  More Windows/VC dependant code generation located in ModOutput.bas,
		  added comments, re-organised some lousy parts and removed obsolete code.

		- Improved arrays handling: it should be able to recognizes
		  expressions as indexes and size specifiers.
		  
		- Variables declared outside procedures with Dim were also written
		  in current module.

		- Corrected a bug in expressions parsing, 
		  some closing brackets were missed.

		- Now tries to avoid more types conversions and let VC do the work for us.

		- Mangled arguments in functions when using an array as parameter.

		- Temporary variables initializations should be better
		  (memset() function is only used when needed).

		- Corrected a confusion between variables/functions and API arguments.

		- Cleaned up brackets recognition system.

		- Fixed a problem with labels.

		- End of line comments are removed.

		- Fixed a problem with operators replacements inside compares.

		- Variables handling inside expressions rewritten (faster and cleaner).

		- User types handling rewritten
		  (should be able to recognize xxx.xxx.xxx... formats with or without
		  arrays indexes references) notice that there's still conversions
		  problems with this.

		- Removed address references for user types variables passed as arguments.

		- Improved files handling:
		  should be able to open modules from project located in other directories
		  and it close all opened files correctly.

		- Better handling for functions with user types as return values.

		- Corrected VarPtr() conversion.

----------------------------------------------------------------------------------
v0.02 (18/06/2002):

	[NEW]	- Added code generation and handling for:
	
			App.Path
			App.hInstance
			App.ThreadID

		  Main() now contains initvbtypes() 
		  and required API declarations:
		  
			GetModuleFileName()
		  	GetModuleHandle()
			GetCurrentThreadId()
		  
		  all are located in main cpp file.

		  Also added an API prototypes check 
		  to avoid duplicate declarations.

		- Added some functions in MiniWin.h file
		  (You'll need to re-install this file).

		- Added handling for Environ()
		
		  API functions added:

		  	GetEnvironmentVariable()

		- Added some constants:
		
			vbDatabaseCompare	vbHide
			vbMaximizedFocus	vbMinimizedFocus
			vbMinimizedNoFocus	vbNormalFocus
			vbNormalNoFocus		vbCalGreg
			vbCalHijri		VbGet
			VbLet			VbMethod
			VbSet			vbGeneralDate
			vbLongDate		vbLongTime
			vbShortDate		vbShortTime
			vbFriday		vbMonday
			vbSaturday		vbSunday
			vbThursday		vbTuesday
			vbUseSystemDayOfWeek	vbWednesday
			vbAlias			vbArchive
			vbDirectory		vbHidden
			vbNormal		vbReadOnly
			vbSystem		vbVolume
			vbFirstFourDays		vbFirstFullWeek
			vbFirstJan1		vbUseSystem
			vbIMEAlphaDbl		vbIMEAlphaSng
			vbIMEDisable		vbIMEHiragana
			vbIMEKatakanaDbl	vbIMEKatakanaSng
			vbIMEModeAlpha		vbIMEModeAlphaFull
			vbIMEModeDisable	vbIMEModeHangul
			vbIMEModeHangulFull	vbIMEModeHiragana
			vbIMEModeKatakana	vbIMEModeKatakanaHalf
			vbIMEModeNoControl	vbIMEModeOff
			vbIMEModeOn		vbIMENoOp
			vbIMEOff		vbIMEOn
	  		vbFromUnicode		vbHiragana
			vbKatakana		vbLowerCase
			vbNarrow		vbProperCase
			vbUnicode		vbUpperCase
			vbWide			vbFalse
			vbTrue			vbUseDefault
			vbArray			vbBoolean
			vbByte			vbCurrency
			vbDataObject		vbDate
			vbDecimal		vbDouble
			vbEmpty			vbError
			vbInteger		vbLong
			vbNull			vbObject
			vbSingle		vbString
			vbUserDefinedType	vbVariant

		- Added recognition for functions:
		
			Chr$()
			LCase$()
			UCase$()
			Left$()
			Right$()
			Mid$()
			Space$()
			String$()
			Trim$()
			Replace$()
			Hex$()
			Environ$()
			Command$()

		- Added functions LTrim()/RTrim() 
		  (LTrim$()/RTrim$() recognized too).

		- Added function StrReverse()
		  (StrReverse$() recognized too).

		- Added function QBColor()
		  (predefined colors are located in MiniWin.h).

	[FIX]	- Removed dots from temporary variables
	          (caused obvious compiler errors).

		- Improved local variables initializations:
		  byte/integer/long/boolean/double
		  won't be initialised with memset() anymore.

		- Converted "Command" variable into a function.

		- Fixed hex() function: number returned in uppercase.

		- Fixed str() function (wasn't recognized).

----------------------------------------------------------------------------------
v0.01 (xx/xx/xxxx):

		(Unreleased version ?).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -