取得TextBox某一行的字串

这是使用EM_GETLINE message来做,比较奇特的是lParam是指向一个字串所在的位置,但是该字串传入时,前两个Byte要存该字串允许的最大长度。

'以下在Form需一个TextBox,并设定MultiLine = True, 一个Command Button
Private Sub Command1_Click()
Dim str5 As String
str5 = GetaLine(Text1,1) '取得第二行的字串,以0为基底
End Sub
'以下在.Bas
Option Explicit
Const EM_GETLINE = &HC4
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
     (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
     lParam As Any) As Long
Public Function GetaLine(Text1 As TextBox, ByVal ntx As Long) As String
Dim str5(255) As Byte '如果您的字串 > 255 byte请自行增加该Byte Array
Dim str6 As String, i As Long
str5(0) = 255 '字串的前两个Byte存该字串的最大长度
str5(0) = 255
i = SendMessage(Text1.hwnd, EM_GETLINE, ntx, str5(0))
If i = 0 Then
   GetaLine = ""
Else
   str6 = StrConv(str5, vbUnicode)
   GetaLine = Left(str6, InStr(1, str6, Chr(0)) - 1)
End If
End Function

时间: 2024-12-22 02:59:24

取得TextBox某一行的字串的相关文章

PHP编程:探索字串的奥秘

编程 在许多Web编程里,字符串总是会被大量地生成和处理的.正确地使用和处理字符串,对于PHP程 序员来说也同样越来越重要了.本文从最简单的字符串定义一直引导你到高层字符串处理技巧,希望 对大家有所帮助. 一.引号定义字符串 在PHP中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes' "I am a string in double quotes" PHP语法分析器是用成对的引号来判断一个字符串的.因此,所有字符串必须使用同一种

io流-JAVA怎么从特定【行】开始读字串?

问题描述 JAVA怎么从特定[行]开始读字串? 就是JAVA随机读,不是按byte定位,按行数定位,最好还能获取该文件所有的行数,然后多线程split读取 解决方案 按行,你首先就要先找到对应的行,然后完成读Java 对文件的操作,你可以采用最基本的:一个字节一个字节读,然后判回车换行符,完成一行的读取.循环以上步骤,直到读到你想要行的数据. 解决方案二: 随机读写可以通过java.io.RandomAccessFile类.但是 你要按 行 读取,能不能 先做下预处理 记录下行. 解决方案三:

java-求字符串中相同最长的字串

问题描述 求字符串中相同最长的字串 用java程序写 题目:输入一行字母组成的字符串,找出其中出现的相同且 长度最长的字符串,输出它及其首字符的位置. 如yyabrdabjcabreg,则输出为abr,3.异常情况输出-1 解决方案 /** * 思路:"abdab" 拆分情况:1.ab abd abda abdab 2.bd bda bdab 3 da dab 4 ab 5 b * * @param str * @return */ public static String find(

請問C#內如何處理BYTE[]字串?

问题描述 一共有兩個問題:1.小弟目前在寫一個C#程式,會使用到一個MFC建立的COM元件(OCX).物件名稱叫做MyOCX.MyOCX有一個function叫做ReadUserData(BYTE*Buf).(我從C#看到這個functionspec變成ReadUserData(refbyteBuf)).這個Buf其實是BYTE[30].內容是一個字串"100".下面是部分的程式碼:byte[]buf=newbyte[30];if(MyOCX.ReadUserData(refbuf[0

java MD5算法返回数字型字串

算法   常有人问及MD5算法为何有些程序片断返回完全数字型结果而有些返回数字与字母的混合字串. 其实两种返回结果只是因为加密结果的不同显示形式,Blog中已经有.Net的实现,在此附加JAVA实现,供参考. JAVA的标准类库理论上功能也很强大,但由于虚拟机/运行时的实现太多,加之版本差异,有些代码在不同环境下运行会出现奇怪的异常结果,尤其以涉及字符集的操作为甚. package com.bee.framework.common; import java.security.MessageDig

【算法趣题】产生随机DNA序列(字串)

[题目说明]写一段程序(不限语言),能够按要求产生随机DNA序列(字串). DNA序列由A.T.C.G四种碱基(字符)组成.现要求按A 10%, T 20%, C 30%, G 40% 的比例产生长度为100个碱基的DNA序列. 注意要随机程度好,且符合比例要求. 我先抛砖引玉了:(大家最好先别看我的程序,否则可能会影响你自己的思路) 以下是HTML网页特效代码,点击运行按钮可查看效果: [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

Unicode控件的字串参数问题

控件|问题 写Unicode控件时发现的传字串参数的问题:问题描述:   Unicode的OCX,属性参数Text,类型:BSTR.   控件的源码(VC中)   afx_msg void SetText(LPCTSTR lpszText)    VB调用1:   Dim strTest As String    strTest = Text1.Text       'Text1文本框为空    If Not IsNull(strTest) Then       TestOCX2221.stri

关于jet db的连接字串,以及加密后的字串

加密 关于jet db的连接字串,以及加密后的字串   问题: 关于jet db的连接字串,以及加密后的字串ADO连接MDB文件的字串如何写?加密以后如何写?  回答: access数据库加密分3种以下以access xp为例 1.工具 -> 安全-> 加密/解密数据库,打开时无需任何更改 2.工具 -> 安全-> 设置数据库密码,打开密码为 1 打开时需要使用"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;U

返回字串的拼音首字母

拼音 //////////////////////////////////////////////////////////////file://函数名:gf_getfirstletter(string)file://功能:返回字串的拼音首字母,支持混合字符串(可以包含非汉字)file://参数:as_inputstringfile://返回值:stringfile://created 大同 张和平 dtzhp@yeah.net///////////////////////////////////