Office中国论坛/Access中国论坛

标题: (已解决)写一个读写ini文件的类模块时发现的灵异事件! [打印本页]

作者: 红尘如烟    时间: 2009-1-19 18:54
标题: (已解决)写一个读写ini文件的类模块时发现的灵异事件!
写了一个读写ini文件的类模块,本来在指定ini文件名时,打算设一个默认值为和当前mdb同名的ini文件名,结果无意中发现不用指定ini文件名照样也能存取数据,但是根本找不到这个ini文件在什么地方

而且把mdb文件移到任何位置都能照样存取数据,甚至在任意位置新建一个mdb文件,把类模块中的代码复制过来,在使用时只要指定的Section和Key的名称相同,依然能够读取在原来的mdb文件中写入的数据,从这里可以看出用的应该还是同一个文件,但就是找不到在什么地方
[:30]

发上来和大家讨论一下,看看能不能找出其中的原因,如果真的只能通过程序来读取其中的数据的话,将会是一个很有用的方法,比如存个密码什么的,别人不看你的代码根本就找不到^_^

更详细的情况请看附件中的源代码
[attach]34626[/attach]

[ 本帖最后由 红尘如烟 于 2009-1-20 16:30 编辑 ]
作者: andymark    时间: 2009-1-19 21:09
看一下API帮助就很清楚啦~~
Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
说明
为初始化文件中指定的条目获取一个整数值
返回值
Long,找到的条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其中合法的一部分。如,对于“xyz=55zz”这个条目,函数返回55。这个函数也能理解采用标准C语言格式的十六进制数字:用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb的&H55AB
参数表
参数 类型及说明
lpApplicationName String,指定在其中查找条目的小节。注意这个字串是不区分大小写的
lpKeyName String,欲获取的设置项或条目。这个支持不区分大小写
nDefault Long,指定条目未找到时返回的默认值
lpFileName String,初始化文件的名字。如果没有指定完整的路径名,windows就会在Windows目录中搜索文件

不指定参数,数据自动保存在WINDOWS目录下的WIN.INI文件中
作者: 红尘如烟    时间: 2009-1-20 16:29
多谢andymark指教,晕死了,我看的那个说明里说的是指定文件名而不指定路径,就会再当前的文件夹里创建此设置文件,我还当成是和mdb同一个文件夹里呢,原来是在windows文件夹里[:27]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3