• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
用VB快速读取TextBox第N行的数据
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
用VB快速读取TextBox第N行的数据
软件发布 用VB快速读取TextBox第N行的数据
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 编程技术 >> VB & VB.NET教程 >> 用VB快速读取TextBox第N行的数据

用VB快速读取TextBox第N行的数据

添加时间: 2006-2-16 3:42:18  作者: VB教程  阅读次数:361   来源: http://www.d9soft.com

          TextBox 是以 vbCr+vbLf 为分行符号, 如果我们要逐一读取 TextBox 每一行, 无非是寻找 vbCr+vbLf 的所在位置, 然后取出每一行的字串, 不过这个方法不快,而且如果我们要读取第 N 行数据,还是要从第 1、2、…N-1 行逐一读起,实在麻烦。 还好 Windows API 提供有读取 TextBox 第 N 行的功能, 细节如下:
  1、API 的声明:
  Public Const EM_GETLINE = &HC4
  Public Const EM_LINELENGTH = &HC1
  Public Const EM_LINEINDEX = &HBB
  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  Private Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
  2. 程序范例:
  Sub TB_GetLine(ByVal hWnd As Long, ByVal whichLine As Long, Line As String)
  Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Long
  lc = SendMessage(hWnd, EM_LINEINDEX, whichLine, ByVal 0&)
  length = SendMessage(hWnd, EM_LINELENGTH, lc, ByVal 0&)
  If length > 0 Then
  ReDim bArr(length + 1) As Byte,bArr2(length - 1) As Byte
  Call RtlMoveMemory(bArr(0), length, 2) '准备一个存储器,传递消息之前先在存储器的前两个字节填入存储器的长度。
  Call SendMessage(hWnd, EM_GETLINE,whichLine, bArr(0))
  Call RtlMoveMemory(bArr2(0), bArr(0), length)
  Line = StrConv(bArr2, vbUnicode)
  Else
  Line = ""
  End If
  End Sub

  ' 假设要读取 Text1 第 5 行的数据
  Dim S As String
  Call TB_GetLine( Text1.hWnd, 5, S )
  ' 传回值 S 即等于第 5 行的数据
  ( 注:TextBox 的行次是从 0 起算。)
  站长在去掉有关bArr2的定义后,并将Line=Strconv(bArr2,vbUnicode)改为Line=StrConv(bArr,vbUnicode)发现程序照常运行,似乎bArr2在本程序中是多余的。不知哪位大虾能告知本人bArr2在这里的作用。

 

上下文章:

 

上一篇文章: 在VB4.0中对注册表操作的命令 下一篇文章: 在关机或Logff前信息的拦截

相关文章:

  • 王微反击古永锵:数据是参考 赚钱最要紧
  • 谷歌发布Gmail小程序 增加快速查阅等功能
  • AOL关闭三项在线服务 用户数据移至其它网站
  • 如何手动创建oracle数据库
  • 快速玩转邮件“暗送”技巧两则

相关软件:

  • DataExplore数据恢复大师 2.8
  • 词根词缀快速记忆版 V2.0
  • 腾讯QQ IP数据库 1015 纯真版
  • 网络数据包嗅探专家 V2.4
  • 计算机等级考试训练模拟软件(三级数据库技术) V1.01
  • 基于asp.net的数据表显示控件DTable V7.0

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VB.net2008创建发送与接收端程序
  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • VC++之List Box/Check List Box控...
  • 第二章 PowerBuilder 入门之创建新...
  • VC++ List Ctrl控件
  • 第一章 什么是PowerBuilder
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有