您的位置:程序门 -> vb -> 基础类



如何在ini文件中某一小节添加iteam


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何在ini文件中某一小节添加iteam
发表于:2007-04-29 09:32:04 楼主
如下
[modulename]
num=2
module_0=a
在[modulename]这个小节中加入下面一行,但不是文件末尾,最好用writeprivateprofilesection这个函数实现

module_1=b
发表于:2007-04-29 09:57:231楼 得分:0
writeprivateprofilestring  

vb声明  
declare   function   writeprivateprofilestring&   lib   "kernel32 "   alias   "writeprivateprofilestringa "   (byval   lpapplicationname   as   string,   byval   lpkeyname   as   any,   byval   lpstring   as   string,   byval   lpfilename   as   string)  
说明  
在初始化文件指定小节内设置一个字串  
返回值  
long,非零表示成功,零表示失败。会设置getlasterror  
参数表  
参数   类型及说明  
lpapplicationname   string,要在其中写入新字串的小节名称。这个字串不区分大小写  
lpkeyname   any,要设置的项名或条目名。这个字串不区分大小写。用vbnullstring可删除这个小节的所有设置项  
lpstring   string,指定为这个项写入的字串值。用vbnullstring表示删除这个项现有的字串  
lpfilename   string,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它  

其他  
在vb的api文本查看器里复制的声明如下:
declare   function   writeprivateprofilestring   lib   "kernel32 "   alias   "writeprivateprofilestringa "   (byval   lpapplicationname   as   string,   byval   lpkeyname   as   any,   byval   lpstring   as   any,   byval   lpfilename   as   string)   as   long  

发表于:2007-04-29 10:12:022楼 得分:0
我试过了,这样做小节下只有1个iteam,想在在加一个iteam怎么实现
发表于:2007-04-29 11:22:293楼 得分:0
搞定了,是我搞错了,谢谢了
发表于:2007-04-29 13:46:244楼 得分:0
public   declare   function   writeprivateprofilestring   lib   "kernel32 "   _
                                alias   "writeprivateprofilestringa "   _
                                (byval   lpapplicationname   as   string,   _
                                byval   lpkeyname   as   string,   _
                                byval   lpstring   as   string,   _
                                byval   lpfilename   as   string)   _
                                as   long
call   writeprivateprofilestring( "modulename ",   "module_1 ",   "b ",   file_name)
发表于:2007-04-30 11:23:565楼 得分:0
option   explicit
'lpbuffer       :       buffer   for   system   directory
'usize             :       size   of   directory   buffer
private   declare   function   getsystemdirectory   lib   "kernel32 "   alias   "getsystemdirectorya "   _
                                                (byval   lpbuffer   as   string,   byval   nsize   as   long)   as   long

'lpappname                     :       section   name
'lpkeyname                     :       key   name
'lpdefault                     :       default   string
'lpreturnedstring       :       destination   buffer
'nsize                             :       size   of   destination   buffer
'lpfilename                   :       initialization   file   name
private   declare   function   getprivateprofilestring   lib   "kernel32 "   alias   "getprivateprofilestringa "   _
                                                                (byval   lpapplicationname   as   string,   _
                                                                  byval   lpkeyname   as   any,   _
                                                                  byval   lpdefault   as   string,   _
                                                                  byval   lpreturnedstring   as   string,   _
                                                                  byval   nsize   as   long,   _
                                                                  byval   lpfilename   as   string)   as   long

'lpappname     :       section   name
'lpkeyname     :       key   name
'lpstring       :       string   to   add
'lpfilename   :       initialization   file
private   declare   function   writeprivateprofilestring   lib   "kernel32 "   alias   "writeprivateprofilestringa "   _
                                                                (byval   lpapplicationname   as   string,   _
                                                                  byval   lpkeyname   as   any,   _
                                                                  byval   lpstring   as   any,   _
                                                                  byval   lpfilename   as   string)   as   long
'////////////////////////////////////////////////////////////////////////////////
'//   函数功能:从ini配置文件中读取指定段名、关键字名的值
'//   调用语法:   getinikeyvalue(sectionname   as   string,keyname   as   string,filename   as   string)
'//   参数说明:
'//                   sectionname   :段名
'//                   keyname           :关键字名
'//                   filename         :ini文件名包括路径
'//   返   回   值:
'//                   string             :返回关键字值
'//   处理说明:
'//                   调用api函数getprivateprofilestring
'//////////////////////////////////////////////////////////////////////////////
public   function   getinikeyvalue(byval   sectionname   as   string,   _
                                                              byval   keyname   as   string,   _
                                                              byval   filename   as   string)   as   string
        dim   keyvalue$
        dim   strtmp   as   string
       
        keyvalue$   =   string$(512,   "   ")
        getprivateprofilestring   sectionname,   keyname,   " ",   keyvalue$,   512,   filename
        strtmp   =   trim(keyvalue$)
        getinikeyvalue   =   left(strtmp,   len(strtmp)   -   1)
end   function

'////////////////////////////////////////////////////////////////////////////////
'//   函数功能:从ini配置文件中写入指定段名、关键字名及值
'//   调用语法:   setinikeyvalue(sectionname   as   string,keyname   as   string,keyvalue   as   string   ,filename   as   string)
'//   参数说明:
'//                   sectionname   :段名
'//                   keyname           :关键字名
'//                   keyvalue         :关键字值
'//                   filename         :ini文件名包括路径
'//   返   回   值:
'//   处理说明:
'//                   调用api函数writeprivateprofilestring
'//////////////////////////////////////////////////////////////////////////////
public   sub   setinikeyvalue(byval   sectionname   as   string,   _
                                                      byval   keyname   as   string,   _
                                                      byval   keyvalue   as   string,   _
                                                      byval   filename   as   string)
        dim   lng   as   long
       
        lng   =   writeprivateprofilestring(sectionname,   keyname,   keyvalue,   filename)


快速检索

最新资讯
热门点击