教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> VB >> 快速读取TextBox第N行的数据 RSS订阅
快速读取TextBox第N行的数据
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
快速读取TextBox第N行的数据


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 起算。)

来源:upschool.cn
作者:
关键字:数据
发表日期:2006-12-20 20:14:19

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:怎样在DELPHI中使用API函数   下一篇:动态装载和使用类型


2009-1-10 9:23:49
本文的相类似文章
  • VB 快速读取TextBox第N行的数据
  • 使用VB在WIN2000下截获IP数据包
  • VB 列出SQL SERVER数据库中所有表及字段信息
  • 打印机故障,并口数据线惹祸
  • 巧妙几招 硬盘数据拯救全攻略
  • 硬盘数据拯救全攻略
  • 数据无价 浅谈硬盘的维护
  • 硬盘数据丢失后的解决方法
  • 写入垃圾数据破坏硬盘的木马病毒
  • 移动硬盘无法读写数据排除一例
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com