2014-05-21 32 views
0

我有一個遺留TP5程序。它使用TP7編譯並運行正常。我想捕獲並記錄一些寫/寫的陳述。我可以對寫和寫進行全局搜索和替換,所以我不介意這樣的代碼更改。它使用一些格式化輸出: 寫(R:4:2) 所以我想保持這一點。Turbo Pascal,Capture Writeln使用流?

我不知道任何方法來捕獲寫入/寫入,而不是寫入文件,然後讀回每一行並重新寫入:〜(但它發生在我身上,這就像寫入一個流(在Tp5.5介紹),然後流複製到多個輸出。

有沒有人這樣做呢?這可能嗎?有另一種方式?

回答

0

據我所知這是可能的,並且在FPC和Delphi通常做法, TP的繼任者。唯一的問題是,TEXTREC不是由TP出口,所以你必須把它從源拷貝到某個地方。

經t extrec有一堆程序變量(如在C函數指針),你可以設置自己的函數來處理I/O。設置這些變量是Assign()所做的。

問題是要找到的空間以存儲狀態(例如,指針到流)雖然。 IIRC TP textrec比Delphi更緊密。

總之,尋找一個單元StreamIO。這是一個FPC /德爾福單位,你必須採用,但至少它證明了原則。無論如何,簡單地遷移到更新的東西會更好。也許SWAG也有一個TP值。