CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

请教:读微软标准配置文件的函数GetPrivateProfileString(Section, Key, DefaultValue, ReturnedString, nSize, FileInfo)怎么使用呀,请

楼主zrb007(老兵)2002-05-20 17:42:41 在 Web 开发 / ASP 提问

我VB编的控件代码如下:  
  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  
  Private   Declare   Function   WritePrivateProfileString   Lib   "Kernel32"   Alias   "WritePrivateProfileStringA"   (ByVal   AppName   As   String,   ByVal   KeyName   As   String,   ByVal   keydefault   As   String,   ByVal   FileName   As   String)   As   Long  
  Public   Function   ReadINI(FileInfo   As   String,   Section   As   String,   Key   As   String,   iniDefault   As   String)   As   String  
  'Îļþ¡¢Ö¡Â¼¨¹¡¢¼¨¹Öµ¡¢Ä¬ÈÏÖµ  
  On   Error   Resume   Next  
   
  Dim   DefaultValue   As   String  
  Dim   ReturnedString   As   String  
  Dim   nSize   As   Long  
  Dim   Retval   As   Long  
   
  DefaultValue   =   Space$(254)  
  DefaultValue   =   iniDefault  
  ReturnedString   =   Space$(254)  
  nSize   =   254  
   
  Retval   =   GetPrivateProfileString(Section,   Key,   DefaultValue,   ReturnedString,   nSize,   FileInfo)  
  ReadINI   =   Trim(ReturnedString)  
  End   Function  
   
  Public   Function   WriteINI(inifile   As   String,   inisection   As   String,   inikey   As   String,   Info   As   String)   As   String  
  'дÈëINIÎļþ  
  'Îļþ¡¢Ö¡Â¼¨¹¡¢¼¨¹Öµ¡¢Ä¬ÈÏÖµ  
  On   Error   Resume   Next  
   
  Dim   Retval   As   Long  
      Retval   =   WritePrivateProfileString(inisection,   inikey,   Info,   inifile)  
      myWriteINI   =   LTrim$(Str$(Retval))  
  End   Function  
   
  配置文件如下:  
  [1]  
  a  
  [2]  
  b  
  [3]  
  c  
  [4]  
  d  
  NotNullCol=tkgpname||origname||destcode||typetxt||region_name  
   
    我在ASP中使用如下,  
  Set   ri   =   server.CreateObject("ReadExcelIni.read")  
       
      returnVal   =   ri.ReadINI("temp","4","NotNullCol","")  
  '     returnVal   =   ri.ReadINI("temp","NotNullCol","4","444")  
   
      response.write("returnVal="+returnVal+"<br>")  
  注:控件已经注册成功  
  怎么就是没有返回值呢  
   
  问题点数:100、回复次数:17Top

1 楼MeXP(秦汉风)回复于 2002-05-20 17:54:58 得分 0

继续关注你的问题,帮你upTop

2 楼MeXP(秦汉风)回复于 2002-05-20 18:13:42 得分 40

将readini中的Retval   =   GetPrivateProfileString(Section,   Key,   DefaultValue,   ReturnedString,   nSize,   FileInfo)先注释掉  
  换成Retval="fdafda"  
  ReadINI   =   Retval  
  强行返回一个固定值,看看returnVal   =   ri.ReadINI("temp","4","NotNullCol","")的结果,如果正常,则是GetPrivateProfileString调用问题  
   
  ReadINI   =   Trim(ReturnedString)这句用来干什么  
   
  Top

3 楼MeXP(秦汉风)回复于 2002-05-21 00:16:39 得分 0

upTop

4 楼saucer(思归)回复于 2002-05-21 02:33:34 得分 40

assume   "temp"   is   the   ini   file   name   in   the   current   directory,   try  
   
  returnVal   =   ri.ReadINI(Server.MapPath("temp"),"4","NotNullCol","")  
  Top

5 楼MeXP(秦汉风)回复于 2002-05-21 10:43:16 得分 0

不知解决了吗?  
  upTop

6 楼tripofdream(梦之旅)回复于 2002-05-21 11:02:49 得分 0

1.你程序中用的ApplicationName参数跟配置文件不符  
  2.你的配置文件不标准,KeyName的形式应该是  
  lpKeyName=xxxTop

7 楼zrb007(老兵)回复于 2002-05-21 11:03:37 得分 0

to   mexp(秦汉风)   :   :(   还是没有搞定。  
    我试了Retval="fdafda"  
  ReadINI   =   Retval  
   
  ReadINI   =   Trim(ReturnedString)这句用来干什么?   我也不知道,是看网上的一个程序的  
   
  怎么还是不能返回值呢?    
      谢谢你的大力支持!  
  Top

8 楼zrb007(老兵)回复于 2002-05-21 11:09:12 得分 0

to   mexp(秦汉风):  
  返回值总是   0   !  
  注:我是这样看返回值的  
    returnVal   =   ri.ReadINI("temp","4","name","444")  
   
      response.write("returnVal="+returnVal+"<br>")  
  Top

9 楼zrb007(老兵)回复于 2002-05-21 11:24:46 得分 0

To     saucer(思归):  
      我试了你的,还是不行,看来不应该是路径的问题Top

10 楼MeXP(秦汉风)回复于 2002-05-21 11:32:06 得分 0

你的函数连字符串都不能带回,自然这句returnVal   =   ri.ReadINI("temp","4","name","444")出错  
  还有为什么返回的是returnstring  
  ReadINI   =   Trim(ReturnedString)Top

11 楼MeXP(秦汉风)回复于 2002-05-21 11:48:25 得分 0

我觉得应该返回Retval   吧  
  Retval   =   GetPrivateProfileString(Section,   Key,   DefaultValue,   ReturnedString,   nSize,   FileInfo)  
  ReadINI   =   Trim(Retval)  
  Top

12 楼tripofdream(梦之旅)回复于 2002-05-21 12:58:15 得分 0

在  
  Retval   =   GetPrivateProfileString(Section,   Key,   DefaultValue,   ReturnedString,   nSize,   FileInfo)  
  中,ReturnedString是一个输出参数,也就是从配置文件中读到的值,而Retval只返回这个函数运行成功与否.Top

13 楼tripofdream(梦之旅)回复于 2002-05-21 13:02:05 得分 0

你也可以返回Retval的值看看,如果返回0,说明取值失败,1说明成功Top

14 楼tripofdream(梦之旅)回复于 2002-05-21 13:29:16 得分 20

我已经测试过,组件没有错误,saucer(思归)是正确的,也就是说GetPrivateProfileString()函数中的FileInfo必须是完整路径(绝对路径)+文件名Top

15 楼MeXP(秦汉风)回复于 2002-05-21 13:37:05 得分 0

学到不少Top

16 楼zrb007(老兵)回复于 2002-05-21 14:04:28 得分 0

我再试试了,看看返回Retval值是多少了  
  谢谢大家热心帮助了Top

17 楼zrb007(老兵)回复于 2002-05-21 14:37:33 得分 0

终于搞定了,主要还是配置文件路径问题,必须是完整路径  
  再次感谢大家Top

相关问题

  • GetPrivateProfileString不能用
  • GetPrivateProfileString/Section/Sectionnames 怎么用?
  • 关于GetPrivateProfileString()的问题
  • 关于GetPrivateProfileString这个函数
  • GetPrivateProfileString函数问题求解
  • Properties类的getProperty(String key, String defaultValue) 中的defaultValue是什么意思?
  • 调用GetPrivateProfileString总是返回0????,烦S了
  • select * from (select * from fileinfo)有什么错?
  • 怎样在VB中调用API(getprivateprofilestring)
  • fileinfo这个软件哪有下载的?

关键词

  • 函数
  • returnedstring
  • readini
  • 配置文件
  • getprivateprofilestring
  • retval
  • nsize
  • defaultvalue
  • fileinfo
  • returnval

得分解答快速导航

  • 帖主:zrb007
  • MeXP
  • saucer
  • tripofdream

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo