txt的問題

各位大大可否請教一下

我該如何寫一個類似即時存取的txt檔!

因為我找過了整個論壇!好像沒有在討論關於TXT 即時存取的做法!

是否可以給我一個 小程式去了解一下呢!?

若是要做一邊讀取一邊存入讀值的方法右該如何呢!?!!請教一下啦^^

 

LabVIEW 在處理各種資源的方式都很雷同,
「一開始都要把資源開啟,再做處理,之後再把資源關閉。」

你可以將『 Functions -> File I/O -> Write Characters To File.vi』打開來參考,
會發現裡頭的 subVI 都是用 reference 參用到該資源。
所以用 File I/O 中的 Open、Write、Read、Close 等動作,可以完成你要的功能。

試了一下你說的功能,發現不是那麼好做,試了好久,不過程式碼倒是滿簡單的。

範例程式:File RW.vi

![](upload://lCwpu6jDhuGjtSXViG1Kr5ItGn3.jpeg)

紅框1:這個部分是我卡了好久的地方,如果把這隻接腳的設定值拿掉,用預設值的話,讀取的功能會出錯。

Airbolt大大~~

        你可以試試看吧你卡住的那一個地方 POS MODE 改為END試試看~~這樣它會把更新的檔案放在最後一行!!這樣應該就可以囉!!

即時存取的方法我已經弄好了^^大致上的方式跟你的差不多,但是現在有一個問題~~

若我現在有一個表頭~~必須在最後讀完質後插入第一行~~有沒有方法可以將它插入且不動到任何一個檔案呢!?

我是過很多個~~大都是將檔案覆蓋!所以~~各位大大~~幫我一個忙吧^^

 


呵 ..... 不好意思,文意不清讓你誤會了。

之前我在試驗時不成功,後來加了紅框處的設定後,才解決問題,所以現在的範例是可以用的,
程式會把每次新增的內容都加在原先的內容後面。

不過如果網友們都能像你一樣會即時回覆問題及解決方式的話,這樣我想 論壇的談論風氣會更棒,
而且有所互動,可以更快速籬清問題,並讓雙方有所收獲。     這點很令人讚賞。  

 

另外,『Open/Create/Replace File.vi』只要將接腳「function (open:0)」
的設定改變為「open or create」就可以避免早已存在的檔案被覆蓋,而持續新增內容上去。

而你後來提到的功能是否將 新增的內容 加在 原先的內容 前面呢?

恩~~我的文意~~是~

目前有一個瓶頸~~就是我必須將目前的時間和抬頭!插入我所獨到的值得前面

例如:

"AAAAAAAAAAA"←抬頭及日期

12345

1234567

是否有方法可以插入呢!?

 

初步你先用改寫文字內容的方式來解決吧。

方式是,將 即有的內容 讀出,然後改成新的內容(也就是新增內容合併到即有內容之前),
再寫入到檔案中。

之後你再找時間看看是不是可以從 LabVIEW 所提供的 VI 用不同的設定值就能達成
你要的功能。

Airbolt
         我搞定了^^

         先將我要的字元利用空白鍵的方式空出來後

         在利用覆蓋把它覆蓋過去囉!! ㄏㄏ~~(真是濫招一個!!)

         我是過所有的元件都是覆蓋!><!

         哀~~~~~

恭喜恭喜,應該花了不少時間吧。

不過說實在的一般我們用的 Array 、String 在電腦管理記憶體的方式,
每當資料更新時,也卻實是整個 Array、String 更新。

所以說 覆蓋 ..... 我也不知道該怎麼說,算是把底層的動作給浮上檯面來做吧,
以小弟所學,實在也是不知道好不好。

不過如果這段程序是落在程式撰寫者手上所完成的話,那麼相對的就得自己
把它檢驗沒有錯誤才是。