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
展开
 我来答
szqaly
2013-08-19 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1543万
展开全部

可以每隔一分种用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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小辣椒高效Office
2013-08-19 · 高效生活 高效办公 比别人多活一辈子
小辣椒高效Office
采纳数:53 获赞数:92

向TA提问 私信TA
展开全部
设置一个窗体变量为i
使用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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式