Private Sub Writeini()
Dim sp As String
Dim name As String
sp = App.Path & "/ini/" & name & ".ini"
WritePrivateProfileString& "Info", "HPP1", x_b1.Text, sp
WritePrivateProfileString& "Info", "HPP2", x_b2.Text, sp
WritePrivateProfileString& "Info", "MPP1", m_b.Text, sp
End Sub本意是想通过改变 name 变量的值,在ini文件夹下生成不同名称的INI文件。
但是问题出来了,生成的文件确实是不同名称,但没有“.ini”的后缀名,郁闷至极,特来讨教!
望赐教
Dim sp As String
Dim name As String
sp = App.Path & "/ini/" & name & ".ini"
WritePrivateProfileString& "Info", "HPP1", x_b1.Text, sp
WritePrivateProfileString& "Info", "HPP2", x_b2.Text, sp
WritePrivateProfileString& "Info", "MPP1", m_b.Text, sp
End Sub本意是想通过改变 name 变量的值,在ini文件夹下生成不同名称的INI文件。
但是问题出来了,生成的文件确实是不同名称,但没有“.ini”的后缀名,郁闷至极,特来讨教!
望赐教
"kernel32" Alias "WritePrivateProfileStringA" _
(ByVal AppName$, ByVal KeyName$, ByVal _
keydefault$, ByVal FileName$)函数 Private Sub Writeini()
Dim sp As String
Dim name As String
name = 1
sp = App.Path & "\ini\" & name & ".ini"
WritePrivateProfileString& "Info", "HPP1", x_b1.Text, sp
WritePrivateProfileString& "Info", "HPP2", x_b2.Text, sp
WritePrivateProfileString& "Info", "MPP1", m_b.Text, sp
End Sub系统设置 要显示扩展名
系统设置确实去掉了“隐藏已知文件扩展名”前面的勾(如果是这个问题我没发现,我宁愿一头撞死,绝不苟且偷生)生成的文件 只有名称没有扩展名,双击文件,系统提示选择打开方式。不知道这次我是否讲清楚了。
1、
WritePrivateProfileString& "Info", "HPP1", x_b1.Text, sp
中的WritePrivateProfileString&后面的&去掉
2、
VB中Name是关键字,建议更换
3、
文件路径"/"换为"\"
Dim sp As String
Dim cctv As String
cctv = Wenbenbyte
sp = App.Path & "\ini\" & cctv & ".ini"
WritePrivateProfileString& "Info", "HPP1", x_b1.Text, sp
WritePrivateProfileString& "Info", "HPP2", x_b2.Text, sp
WritePrivateProfileString& "Info", "MPP1", m_b.Text, sp
End Sub问题1:实在抱歉,API函数就如此定义的,我想改但是,它不干!!!(出错)
问题2:如果说name 是关键字,那么cctv应该不是了吧(如果cctv也是关键字,我只有狂晕了)
问题3:已经全部换成“\”了。
问题3+1:现实很残酷,所有的改完了,结果依旧!
这句关键
可能包含Chr(0)这种字符,VB会丢掉后续的内容
cctv=left(Wenbenbyte,instr(Wenbenbyte,chr(0))
并且保证cctv中无windows非法文件名字符,另外还应该不包含vbTab,vbCRLF等内容
祝你好运
应该改为:
cctv=left(Wenbenbyte,instr(Wenbenbyte,chr(0)))
少一个)
Dim sp As String
Dim cctv As String * 7
cctv = Trim$(Wenbenbyte)
sp = App.Path & "\ini\" & cctv & ".ini"
WritePrivateProfileString& "Info", "HPP1", x_b1.Text, sp
WritePrivateProfileString& "Info", "HPP2", x_b2.Text, sp
WritePrivateProfileString& "Info", "MPP1", m_b.Text, sp
End Sub
用以上简单的方法验证了一下,问题果然在“cctv=Wenbenbyte ”上。感谢 wolfcapita 提供思路,问题找到了,继续去完善代码去了。再次表示感谢,结贴!