vb如何一行一行读取文本框

求vb代码如何一行一行读取文本框如text1有三行:123345456如何把第一行存入变量a(1),第二行存入a(2)。。。。。... 求vb代码如何一行一行读取文本框
如text1有三行:
123
345
456
如何把第一行存入变量a(1),第二行存入a(2)。。。。。
展开
 我来答
zdingyun
推荐于2016-04-27 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48172
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

VB6.0可以用一次读取文本框全部文本内容,然后使用Split函数来实现一行一行提取文本框行内容。

Split函数,返回一个下标从零开始的一维数组,它包含指定数目的子字符串

实现代码:

Private Sub Command1_Click()
    Dim strSj As String
    Dim strSjfh As Variant
    Dim i As Long
    strSj = Text1
    strSjfh = Split(strSj, vbCrLf)
    Text2 = UBound(strSjfh) '总行数
    i = InputBox("输入要读的行数", i)
    MsgBox (strSjfh(i - 1))
End Sub
windblast
推荐于2016-02-04 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13620
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

试写代码如下:

Private Sub Command1_Click()
    sList = Split(Text1.Text, vbCrLf)
    aCount = UBound(sList)
    For i = 0 To aCount - 1
       MsgBox "数组第" & i & "个:  " & sList(i)
    Next
End Sub

运行结果:


本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
2015-02-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3197万
展开全部
Option Explicit

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 CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Const EM_GETLINE = &HC4
Private Const EM_LINEINDEX = &HBB
Private Const EM_LINELENGTH = &HC1

Public Function GetLineText(ByVal handle As Long, ByVal Index As Long) As String

Dim LineText()     As Byte
Dim size     As Long
Dim pos     As Long

pos = SendMessage(handle, EM_LINEINDEX, Index, 0)
size = SendMessage(handle, EM_LINELENGTH, pos, 0)
If size = 0 Then
GetLineText = " "
Else
ReDim LineText((size - 1) + 1)
CopyMemory LineText(0), size, 2
size = SendMessage(handle, EM_GETLINE, Index, LineText(0))
GetLineText = StrConv(LeftB(LineText, size), vbUnicode)
End If

End Function

Private Sub Command1_Click()
Dim a(1 To 3) As String
Dim i As Integer
For i = 0 To 2
a(i + 1) = GetLineText(Text1.hWnd, i)
Debug.Print a(i + 1)

Next


End Sub

Private Sub Form_Load()
Text1.Text = "aaa" & vbCrLf & "bbb" & vbCrLf & "ccc"

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式