快速读取 TextBox 第 N 行的资料
TextBox 是以 vbCr+vbLf 为分行符号, 如果我们要逐一读取 TextBox 每一行,
无非是寻找 vbCr+vbLf 的所在位置, 然后取出每一行的字串, 不过这个方法真
的不快,而且如果我们要读取第 N 行资料, 还是要从第 1、2、┅N-1 行逐一读
起, 实在麻烦。
还好 Windows API 提供有读取 TextBox 第 N 行的功能, 细节如下:

1. API 的声明:

Const EM_GETLINE = &HC4
Const EM_LINELENGTH = &HC1
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)

注:如果以上的声明放在「一般模块」底下, 应在 Const 之前加上 Public 保留
字, 并且将 Private 保留字去掉。

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

相关可能感觉兴趣的文章参考:

※VB 获取TextBox文本框中的行数函数

※VB快速读取 TextBox 第 N 行的资料

※限制文本框(TextBox)只能输入数字(VB6代码)

※VB 提取TextBox 文本框中指定一行字符串

※VB 小技巧自定义TextBox文本框右键菜单

※VB 获取光标在TextBox、RichTextBox中所在的位置

部分相关文章推荐

※VB快速读取 TextBox 第 N 行的资料

※VB禁止使用 Alt-Tab 或 Ctrl-Alt-Del

※生成迷宫的程序

※另一方法转换大小写

※VB控件注册 - 利用资源文件将dll、ocx打包进exe文件

※VB利用资源文件进行工作

※[转]vb高效编程(优化)

※VB阳历转阴历

※纯VB代码取得硬盘的物理序列号

※VB获得磁盘的文件系统

※做VB的,经常注册和反注册OCX控件和DLL链

※VB从程序中生成Exe文件

※VB6监视/操作剪贴板示例(VB6.0代码)

※VB6里自动提交/自动填表的一种相对通用的方案

※VB移动没有标题的窗体

※VB随机字母的函数

※VB删除带子文件夹和文件的文件夹

※VB怎样屏蔽 Alt+F4键

※VB 隐藏进程

※vb屏蔽文本框点右键时的弹出菜单

※VB手控Combobox的打开或收起

※在VB中INI文件的读写、删除(对中文支持很好)

※vb全局热键的写法(占很少的资源)

※vb取消文本框的粘贴功能

※VB常用文件操作类

※VB获取特殊文件夹

※VB获取windows各常用目录的函数(模块)

※VB生成太极图

※VB:常用内部函数大全,你会了几个呢?

※vb中SendMessage函数

※精简VB程序的代码

※VB:将数字转换为大写中文

※VB:设定 MsgBox 在若干时间之后若无回应则自动关闭

※VB:读取及设定NumLock/CapsLock/ScrollLock的值

※VB:您知道 Mid$ 函量可以放在 '=' 的左方吗

※VB后台获得按键,并执行自己的函数(非钩子及热键)

※VB:将短文件名格式转成长文件名

※在vb中使用Iphlpapi.dll获取网络信息(上)

※在vb中使用Iphlpapi.dll获取网络信息(下)

更多精彩>>>

VB快速读取 TextBox 第 N 行的资料相关推荐

  1. html 读取 vb,VB编程:vb读取textbox控件某一行的方法

    如果不借助API来获取文本框的某一行的话,那就从头开始来查找回车换行符,并确认某一行的换行位置,再来确认某一行的文本内容.但要读取的行数处在textbox最后一行,那么通过这种方式效率就太低了. 想要 ...

  2. [C#]统计文本文件txt中的行数(快速读取)

    快速统计文本文件中的行数( StreamReader.ReadLine() ): 测试代码如下: 1 //读取txt文件中总行数的方法 2 public static int requestMetho ...

  3. Python快速读取文件中指定的一行或多行

    使用linecache用缓存快速读取,使用栗子如下: 读取一行 import linecachedef get_contexts(file_path, line_number):try:return ...

  4. VB如何读取快捷方式的目标路径

    一般情况下,在VB中读取快捷方式的信息,大家首先考虑的是使用IShellLink接口,但这种方法需要下载或定义一个TLB文件,相对来说比较麻烦. 其实我们都知道可以使用WScript.Shell对象的 ...

  5. VB快速查找大型文件中包含的字符串

    关于查找大型文件中包含的字符串,一般都把文件内容读入到内存,然后在内存里进行比较,却不知这种办法有一个致命的弱点,那就是由于大量的内存申请和释放导致的内存颠簸,会使系统性能下降,严重影响了查找的速度. ...

  6. PHP几个快速读取大文件例子

    PHP几个快速读取大文件例子 感谢 把我给崩了 的投递 时间:2014-10-16 来源:三联 在PHP中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file.file_get_contents ...

  7. qt快速读取excel

    很多人搜如何读写excel都会看到用QAxObject来进行操作,很多人试了之后都会发现一个问题,就是慢,非常缓慢!因此很多人得出结论是QAxObject读写excel方法不可取,效率低. 后来我曾试 ...

  8. R语言入门——数据快速读取与查看(含实例代码和参数讲解)

    R语言数据读取 介绍 引言 结构安排 数据读取函数 文本数据 readLines函数 键盘键入数据 scan函数讲解 表格数据 .xlsx文件介绍 表格数据函数参数介绍 快速读入参数介绍 竞赛数据练习 ...

  9. 海量点云数据快速读取方法

    最近阅读了一篇文章--<基于内存映射文件的海量点云数据快速读取方法>,文中介绍的方法能够极大地提升点云读取速率,这为我们读取数以千万的点云数据提供了方法. 通常情况下,在C++中读文件,使 ...

最新文章

  1. 使用Newtonsoft.Json
  2. BZOJ1117 [POI2009]救火站Gas 贪心
  3. 十九、 彻底掌握金融量化交易库Talib
  4. Windows 2008 R2 中 IE9无法播放HTML5视频文件的解决方法!
  5. by截取字段 group_深入理解 group by【思考点滴】
  6. ARMLINUX学习笔记(3)---安装交叉编译器
  7. 考拉Android全局滑动返回及联动效果的实现
  8. es6中一些基本的使用方法
  9. SMBUS和i2cBus,PMBus 区别
  10. 大数据时代下的个人知识管理
  11. 三十年了,读书依然不求甚解:一个普通程序员的读书生涯回顾
  12. 手机图片到底要做多宽才可以适应所有手机屏幕的尺寸?
  13. vue H5页面制作微信公众号前期准备
  14. matlab 莫比乌斯曲面,『Rhino实例.2』莫比乌斯曲面
  15. 什么是物联网?物联网如何工作?
  16. 牛客刷题笔记-数据库选择题(201-300)
  17. Matlab FERUM可靠性,边坡稳定性可靠度分析的随机有限元法-修改
  18. POI导出Excel表格,去掉数字框的左上角绿色的小三角
  19. StarCitizen星际公民添加好友一起玩教程
  20. 《新相亲大会》引发婚恋观讨论,珍爱网传递正向情感价值观

热门文章

  1. 苹果发布会不够酷?库克又送来了 iOS 12.2!
  2. TensorFlow 支持 Unicode,中文 NLP 终于省心了
  3. 百度输入法、QQ 浏览器竟都在窃取用户隐私?
  4. 字节跳动社招面试记录,java异常处理关键字
  5. 帮你快速拿Offer!java面向对象程序设计实验报告
  6. java xml 解析 列表_用Java解析高级XML
  7. python绘制拟合回归散点图_python – 将曲线拟合到散点图的边界
  8. 二维数组各行求和_JS数组reduce()方法详解及高级技巧
  9. Android中发现蓝牙设备的广播是,Android 蓝牙设备的查找和连接
  10. 鸿蒙系统下载地址_华为鸿蒙代码全开源,老规矩:先跑个Hello World....