写一程序,设一变量初值为0,打开文件逐个字符读取,遇到回车换行,变量值加1.也就是过了一行,直到你想要的那行的前一行,然后把下面一行读出来赋给一字符变量不就行了吗? 当然在读文件的程序中要加一个IF语句判断记数变量是否等于你想读的行数,当等于的时候就把所读一个个的字符赋给另一变量,直到出现下一个回车换行为止....LZ看这可行?
[此贴子已经被作者于2007-1-10 16:17:01编辑过]
这个社会太复杂。。。
[此贴子已经被作者于2007-1-10 16:17:01编辑过]
也不能一概而论说没有...这VB的世界里..我们很多东西都不知道..而并不是没有办法的..
Option Explicit
'声明将要用到的api和常数
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 Const EM_GETLINE = &HC4
Private Const EM_GETLINECOUNT = &HBA
Private Sub Command1_Click()
Dim lngLineIndex As Long
Dim lngLineCount As Long
lngLineCount = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&) '得到text1中的行的总数
lngLineIndex = InputBox("请输入你要得到哪行的内容", App.Title, 1)
lngLineIndex = lngLineIndex - 1
Dim strContent(256) As Byte '定义数组来存放得到的内容
strContent(1) = 1
If lngLineIndex >= lngLineCount - 1 Then Exit Sub
Dim result As Long
result = SendMessage(Text1.hwnd, EM_GETLINE, lngLineIndex, strContent(0))
Dim txtStringContent As String
txtStringContent = StrConv(strContent, vbUnicode)
MsgBox "你要得到的是第" & lngLineIndex + 1 & "行的内容.内容是:" & vbCrLf & txtStringContent
End Sub
Private Sub Form_Load()
'设置text1的MuiliLine为True,ScrollBars为2
Text1.Text = "第一行文本:11111111" & vbCrLf _
& "第二行文本:22222222" & vbCrLf _
& "第三行文本:33333333" & vbCrLf _
& "第四行文本:44444444" & vbCrLf
End Sub