自定义内存编辑器

	注意：
	1、使用这一部分的功能必须安装了微软的SQL Sever服务端，在搜索“MicrosoftSQLServer2005ExpressEditionSP3官方简体中文免费版”，下载安装即可。如果此	软件没有被正确安装，自定义内存编辑器无法使用。
	2、SQLServer2005_SSMSEE是SQL Sever的操作界面，一般人也用不上，可以不装。
	3、确认启动程序的路径内有数据库文件“nhl_7 games editor.mdf”，否则本功能无法使用。


	文件——打开自定义数据：
	1、连接数据库之后，“自定义内存编辑器”选项卡内的列表会列出自定义的游戏修改器列表，每一行对应一个（或者一版本）游戏——具体看“游戏描述”这一列。
	2、你可以对游戏列表进行手动修改——选择相应的单元格，键盘输入就可以了。
	3、“PID”列不受用户控制。
	4、“进程名”列反映的是游戏进程的全名，随便输入点什么东西都行，即使总之不要为空，否则会报错。
	5、“游戏描述”列不能为空，而且内容要尽可能地正确、详尽，因为“进程名”可以在后面的步骤接着修改，“游戏描述”却只能在当前列表修改。
	6、注意看行头，三角符号表示该行被选择。当你正在对某个单元格输入内容的时候，该单元格所在行的行头，三角符号变成一支笔。最后一行的行头总带着“*”符号，而且整行所有单元格都是空的；试着对最后一行某个单元格输入内容，你会发现这一行的行头没有了“*”符号，而在它的下方却多了一行，行头带“*”符号。这意味着可以对“最后一行”输入内容来新增行，也就是你可以自己制作新的修改器。
	7、可以选择除了最后一行以往的任意行（不是单元格处于编辑状态），按“Delete”键删除被选择的行。
	8、双击某一行或者选择某一行后使用右键菜单可以进入相应游戏的内存编辑列表。这里的基本操作和前面的游戏列表是一样的，操作错误会有提示，不过有个更简单新增行的方法——把“最后一行”的“选择”单元格的复选框给勾上。
	9、“选择”列的复选框被勾上后，执行“文件——写入内存”命令，该行的内容会被写入游戏中；没勾上的不写进游戏。
	10、“GID”列，不受用户控制。
	11、“标题”列，某一行要朝游戏里写进的数值代表什么意思，总得有提示才行吧。
	12、“地址”列，16进制整型数值。
	13、“数值”列，和“数值类型相关”。使用“16进制整型”，可以写入游戏1字节到4字节可变长度的整数（在这种数值类型下，“数值”列的数据如非需要，就不要左边带上没有意义的0）；使用“10进制整型”，可以写入游戏4字节固定长度的整数；使用“10进制单精度”，可以写入游戏4字节固定长度的小数；使用“10进制双精度”，可以写入游戏8字节固定长度的小数。
	14、“数值类型”列，只能通过弹出的修改窗口改动，不能手动编辑。
	15、“备注”列，“标题”列要言简意赅，所以没写清楚的东西可以在这里写。
	
	文件——保存自定义数据
	不要忘记随时Ctrl+S，这可以保存你对游戏列表和内存列表做出的修改。

	文件——寻找进程
	由于各种原因，本修改器专用数据库内设置的游戏进程名和实际中的游戏进程名可能不一样（修改器左下角有当前选择游戏的进程名和描述的提示），你可以自己改为合适的。第一种方法便是在游戏列表的“进程名”手动修改，第二种方法是从游戏列表进入到内存列表后，点击主菜单“文件——寻找进程”，使得“寻找进程”右方的下拉框激活，丛中选择合适的进程名即可。

	文件——写入内存
	确认你自定义的具体的游戏的内存修改列表显示出来后，就使用它吧。









转码工具

	分为两个主要功能：文件转码和简单转码。
	1、文件转码，针对文本文件乱码的功能。“转码工具”里的第一个文本框的上方有一条工具栏，首先从两个下拉框中选择好把某文本文件从XX编码转为YY编码——要注意的是，除了选择程序给出的选项以外，你还可以手动输入编码的10进制数值——然后点击“文件转码”的按钮（别以为最左边的只是装饰用的图案）。程序会让你选择准备转码的文本文件（可以多选），接着程序自动备份你所选的文件，再将所选文件转码。
	例子：玩日文游戏的时候，经常能发现一些文本文件，打开来看是一堆乱码。这时候就可以利用文件转码功能了，把程序的文件转码方式设置为“JIS编码转为GBK编码（繁体系统用BIG5编码）”，点“文件转码”的按钮，选择你要转码的文件，比如叫做“readme.txt”，确定后你会发现多了一个“readme.txt.bak”的文件，这是转码前的源文件的备份；而打开“readme.txt”，你看见的将是日文而不是乱码了。
	2、简单转码，把字符串转为16进制的编码或者把16进制编码转为字符串的工具。在.NET平台的支持下，转码其实是一件非常简单的事，我只是根据自己的个人经验做了些有实用性的附加功能。
		A）第一个文本框是输入字符串的，第二个文本框是输入16进制编码，这个看夹在两个文本框中间的工具栏第三、第四按钮的箭头就应该明白。
		B）转字符串或者转编码的范围可选。本工具按一般转码程序的设计思路，第一个文本框输入字符串“123”，转为Unicode编码后，第二个文本框显示“31	00	32	00	33	00”，我称之为“全范围字符串转编码”。
		本工具除了和一般程序那样默认实现“全范围字符串转编码”，还能够“选择范围字符串转编码”。看下面的例子。
		光标选择第一个文本框的字符串“12”，转为Unicode编码后，第二个文本框显示“31	00	32	00”。
		光标选择第一个文本框的字符串“23”，转为Unicode编码后，第二个文本框显示“32	00	33	00”。
		光标选择第一个文本框的字符串“2”，转为Unicode编码后，第二个文本框显示“32	00”。
		“全范围”和“选择范围”的操作区别仅仅是有没有对第一个文本框的字符串做出选择后再使用转码按钮。
		C）倒回来，编码转字符串也是一样默认“全范围”，还可以“选择范围”。
		D）使用“选择范围字符串转编码”的时候小心不要选错范围，因为被错选的回车换行符或者tab制表符等看不见的字符串的编码也会被显示。
		E）本工具对编码排列的规范是“两位16进制数字的符号+tab制表符+两位16进制数字的符号+tab制表符+两位16进制数字的符号+tab制表符+……”，tab制表符是每个16进制数字（2位16进制符号）之间区分的标志。但你完全可以按照自己的喜好，而不是非得严格地按这个格式书写——比如把tab制表符换成任意一个不表示16进制数字的符号，是可以的。
		本工具规范化编码中，一个16进制数字必定由两位16进制数字的符号组成。你也不必严格地遵守这一点，记得左边不要加无意义的0就是了。
		规范化地显示编码，目的在于让你方便查看，而不是束缚你的自由。而且在“全范围的编码转字符串”后，程序会对编码自动规范化。下面举出“全范围的编码转Unicode字符串”前后，非规范编码和等效的规范编码的对比例子。
		01/23 = 01（tab制表符）23
		01*23 = 01（tab制表符）23
		01j23 = 01（tab制表符）23
		01？23 = 01（tab制表符）23
		01！23 = 01（tab制表符）23
		01（n个空格）23 = 01（tab制表符）23
		01——23 = 01（tab制表符）23
		01繁23 = 01（tab制表符）23
		01繁体23 = 01（tab制表符）23
		01E23 = 00（tab制表符）1E（tab制表符）23
		01e23 = 00（tab制表符）1E（tab制表符）23		
		01的点对点的的点对点的的点对点的的点对点的的的的点对点的23 = 01（tab制表符）23
		0123 = 01（tab制表符）23
		123 = 01（tab制表符）23
		00123 = 00（tab制表符）01（tab制表符）23