vb怎样每隔3分钟文本框自动读取文本文件不同行的内容? 10
vb窗体上有一个文件框控件text1。怎样让这个控件每隔一分钟自动显示abc.txt这个文本不同行的字符?如:vb启动后,四个控件分别显示aaa,一分钟后,text1控件...
vb窗体上有一个文件框控件text1。怎样让这个控件每隔一分钟自动显示abc.txt这个文本不同行的字符?
如:vb启动后,四个控件分别显示aaa,一分钟后,text1控件分别显示aaa1,再过一分钟,显示aaa2,…………
文件文件abc.txt内容为(一行一个):
aaa
aaa1
aaa2
aaa3
aaa4
修正:
如:vb启动后,text1控件显示aaa,一分钟后,text1控件分别显示aaa1,再过一分钟,显示aaa2,…………
文件文件abc.txt内容为(一行一个):
aaa
aaa1
aaa2
aaa3 展开
如:vb启动后,四个控件分别显示aaa,一分钟后,text1控件分别显示aaa1,再过一分钟,显示aaa2,…………
文件文件abc.txt内容为(一行一个):
aaa
aaa1
aaa2
aaa3
aaa4
修正:
如:vb启动后,text1控件显示aaa,一分钟后,text1控件分别显示aaa1,再过一分钟,显示aaa2,…………
文件文件abc.txt内容为(一行一个):
aaa
aaa1
aaa2
aaa3 展开
3个回答
展开全部
可以每隔一分种用line input 读取一行文本
'声明区:
const file="c:\abc.txt" ‘假如文件在c盘
dim filenumber as integer '文件号
'点击按钮打开文件,启动时钟
Private Sub Command1_Click()
filenumber=freefile()
open file for input as #1
Timer1.interval=1000
Timer1.Enabled=true
End Sub
在时钟事件中:
Private sub Timer1_Timer()
static Count as integer
if EOF(filenumber) then
Timer1.Enabled=False '如果已到了文件尾,停止时钟
Close #filenumber
End If
count =count+1 '时钟设置为1秒触发一次,计数到60时即1分钟
dim strLine as string
if count=60 then
count=0
line input #filenumber , strLine
text1.text=strLine
end if
End Sub
2013-09-02
展开全部
'试试这个代码,已经测试通过。
'它需要一个叫做Text1的TextBox控件、一个叫做Timer1的Timer控件。
Option Explicit
Private priFileName As String
Private priFileStrings() As String
Private priStrings_Length As Long
Private priStrings_Index As Long
Private priTimerInterval As Long
Private Sub Form_Load()
Timer1.Enabled = False
priTimerInterval = 1000 '时间间隔。1000为1秒。请自行修改为60000即为1分钟。
priFileName = App.Path & "\" & "Text.txt" '测试文件名。文件位于程序当前目录(即app.path)。
priFileStrings() = StringsGetByFile(priFileName)
priStrings_Length = UBound(priFileStrings())
If Not priStrings_Length < 0 Then
Timer1.Enabled = True
Timer1.Interval = priTimerInterval
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Text1.Text = priFileStrings(priStrings_Index)
priStrings_Index = priStrings_Index + 1
If priStrings_Index > priStrings_Length Then priStrings_Index = 0
End Sub
Function StringsGetByFile(ByVal pFileName As String) As String()
'从文件返回一个下标从0开始的string数组,这个数组的每个元素对应文本文件的每行。
Dim tOutStrings() As String
Dim tFileNumber As Integer
Dim tFileSize As Long
Dim tFileBytes() As Byte
Dim tFileBytes_Length As Long
Dim tFileText As String
tFileNumber = FreeFile
Open pFileName For Binary As tFileNumber
tFileSize = LOF(tFileNumber)
If CBool(tFileSize) Then
tFileBytes_Length = tFileSize - 1
ReDim tFileBytes(tFileBytes_Length)
Get tFileNumber, 1, tFileBytes()
tFileText = StrConv(tFileBytes(), vbUnicode)
End If
Close tFileNumber
tOutStrings() = Split(tFileText, vbCrLf)
StringsGetByFile = tOutStrings()
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置一个窗体变量为i
使用timer事件,设置好 interval
然后在这个事件中 设置
if i>0 then
text1.text=text1.text & "aaa" & i & vbcrlf
else
text1.text=text1.text & "aaa" & vbcrlf
end if
如果OK,请采纳
使用timer事件,设置好 interval
然后在这个事件中 设置
if i>0 then
text1.text=text1.text & "aaa" & i & vbcrlf
else
text1.text=text1.text & "aaa" & vbcrlf
end if
如果OK,请采纳
更多追问追答
追问
text1控件要自动逐行显示App.Path & "\abc.txt"中的内容啊
追答
若是读多行文本的文件这样写即可
Open App.Path & "\abc.txt" For Input As #1
Do While Not EOF(1)
Input #1,s '逐行读取文本文件中的行内容
if i>0 then
text1.text=text1.text & s & i & vbcrlf
else
text1.text=text1.text & s & vbcrlf
end if
Loop
Close #1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询