Re: [VB6 ] 一邊寫檔一邊讀檔

看板Visual_Basic作者 (月光遺留下深深嘆息)時間19年前 (2005/12/22 01:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
自問自答...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
文章代碼(AID): #13gOoYTz (Visual_Basic)
討論串 (同標題文章)
文章代碼(AID): #13gOoYTz (Visual_Basic)