首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • RichTextBox乱码问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • figo8848
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-18 17:39:09 楼主
    本人有以*.rtf文件,导入RichTextBox后数据如下:
    *******
    1
    2
    3
    4
    ......  相隔51个
    小张
    小李
    ......
    P11111
    P22222
    ......

    我想把RichTextBox所有的数据导入到access里面去
    形成
    1 小张 P11111
    2 小李 P22222
    请问有什么好的解决办法吗?


    本人从网上找了如下代码:
    Option Explicit
    Private Declare Function SendMessageBynum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
    Private Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String)
    Const EM_LINEINDEX = &HBB '判断指定行第一个字符的编号
    Const EM_LINELENGTH = &HC1 '判断一行长度
    Const EM_GETLINE = &HC4 '从编辑控件取回…行的内容
    '*****************************************************************
    Function GetLineText(CTextBox As Object, LineIndex As Long) As String
    Dim lc&, linechar&
    linechar = SendMessageBynum(CTextBox.hwnd, EM_LINEINDEX, LineIndex, 0)
    lc = SendMessageBynum(CTextBox.hwnd, EM_LINELENGTH, linechar, 0) + 1
    GetLineText = String(lc + 2, 0)
    Mid$(GetLineText, 1, 1) = Chr(lc And &HFF)
    'Mid$(GetLineText, 2, 1) = Chr(lc &H100)
    lc = SendMessageByString(CTextBox.hwnd, EM_GETLINE, LineIndex, GetLineText)
    GetLineText = Left(GetLineText, lc)
    End Function

    '****************************************
    Private Sub Command1_Click()
    Text1.Text = GetLineText(RichTextBox1, Int(Text2.Text))        '提取RichTextBox第text2.text行的数据
    Text3.Text = GetLineText(RichTextBox1, Int(Text2.Text) + 51)    '提取第二个字段的数据
    End Sub


    按钮按了后,数字、字母都能显示,但中文就是乱码了
    请大侠帮忙!!!!!!!!!!!谢谢了
    99  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yin138
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-18 21:26:521楼 得分:0
    RTF控件不是有一个取得RTF代码的属性吗?我不太记得了,我自己写了一个RTF Writer可以支持图片、中文、表格,对于中文,需要字体支持,以及编码格式有点不同。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • figo8848
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 11:44:482楼 得分:0
    rtf控件?
    大侠能不能说详细点儿
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • figo8848
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:35:553楼 得分:0
    有人能帮忙吗??谢谢了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • uself
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 19:14:224楼 得分:0
    Mid$(GetLineText, 1, 1) = ChrW(lc And &HFF)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • figo8848
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:53:305楼 得分:0
    楼上的,是不是把
    Mid$(GetLineText, 1, 1) = Chr(lc And &HFF)
    改成
    Mid$(GetLineText, 1, 1) = ChrW(lc And &HFF)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • figo8848
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:53:536楼 得分:0
    不行哦~ 还是乱码

    有哪位能帮忙么
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • uself
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 10:01:437楼 得分:0
    是字符集的问题.存在ANSI UTF-8 UNICODE之间的转换出了问题.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • figo8848
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 17:43:308楼 得分:0
    怎么来弄呢?????
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Modest
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      2

      3

    发表于:2008-08-25 08:55:339楼 得分:0
    转老鸟的一段代码:
    VB code
    Function StrConvFromUTF8(aBytes() As Byte) As String Dim cStream As ADODB.Stream Set cStream = New ADODB.Stream cStream.Open cStream.Type = adTypeBinary cStream.Write aBytes cStream.Position = 0 cStream.Type = adTypeText cStream.Charset = "utf-8" StrConvFromUTF8 = cStream.ReadText cStream.Close End Function
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • figo8848
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 21:31:1310楼 得分:0
    回复楼上的,这个函数用过了  还是乱码
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved