Re: [VB6 ] 一邊寫檔一邊讀檔
自問自答...XD 剛剛靈機一動想到的
用On Error goto Label
只要EOF了 就會跳到Label那邊去
然後只要設定Seek FileNumber, Seek(FileNumber)
(簡單說就是把現在讀取的檔案指標再原封不動指定一次)
在這指定的過程中的 如果檔案有變動的話 EOF馬上會變FALSE
然後下個RESUME 然後就可以繼續INPUT了
如果沒有變動 就會像是在Listening一樣
不過這樣的迴圈會付出一點CPU代價就是了.. XD
附上程式片段 希望可以幫助有需要的人 :D
程式片段:
Open "dump.txt" For Input Shared As #10
On Error goto Err
Do
Line Input #10, a
Debug.Print a
Loop
End
Err:
If EOF(10) Then Seek 10, Seek(10)
DoEvents
Resume
※ 引述《dunn (月光遺留下深深嘆息)》之銘言:
: 不知道這樣標題有沒有清楚表達我的意思
: 我有一個exe 支援stdio 所以他執行的結果可以一邊跑一邊丟到一個TXT去
: 很像是背景程式
: 只是這個程式寫死了 不可能去動裡面讓我把結果傳出來
: 所以我想法是 用一邊寫入 VB這裡一邊讀進來處理
: 程式大概是這樣的
: XX = Shell(Prog, vbMaximizedFocus)
: Open "dump.txt" For Input Shared As #10
: Do
: Input #10, a
: Debug.Print a
: DoEvents
: Loop
: 本來沒加SHARED 結果EOF 了 而且LOF(10)是一個定值
: 後來加了之後 還是EOF 就中斷在紅色這行
: 可是在即時運算裡 LOF(10)一直在增加 照理說應該就可以往下了 但是就是過不去這行
: 還是出現EOF
: 請問各位先進 要怎麼樣才能夠繼續向下執行呢?
: 另外還有一個問題 假設上述問題解決了
: 如果背景程式跑的不夠快 VB已經走到檔案結尾
: 除了用TIMER LOOP來閒置 之後再往下移動外
: 有什麼東西可以檢查說 檔案已經有新資料了 可以繼續往下呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.101.50
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章