热情软件屋

 

使用WritePrivateProfileString为什么不能保存多段文字


编号:QA003283
建立日期: 2000年8月27日 最后修改日期:2000年8月27日
所属类别:

少杰:
    操作系统: windows98
    编程工具: vb 6.0
    问题: 我把一个文本框内容保存到WINDOWS的一个记事本中,但在文本框输入时,只要过段,程序并没将过段后的内容保存,如下代码,请求专家修改,不胜感谢 。
    Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long
    Private entry As String
    Private r As Long
    Private iniPath As String
    
    Private Sub Command1_Click()
     entry = Text1.Text
     r = WritePrivateProfileString("用户信息", "姓名", entry, iniPath)
    End Sub
    
    Private Sub Form_Load()
    iniPath$ = "c:\Aa.ini"
    End Sub
    水平: 刚入门

回答:

    WritePrivateProfileString只适合保存单行的少量文本,不适合保存多段文字。如果你一定这样做,需要在调用WritePrivateProfileString前将文字中的回车换行转换一下,如:
     r = WritePrivateProfileString("用户信息", "姓名", Replace(entry, vbCrLf, "#13#10"), iniPath)
    当然在读回来时还需要将"#13#10"转换为回车换行才行。
    正规的方法应该是采用文本文件方式,可以参考“磁盘、文件、目录”分类的有关文章。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio