TITLE:  [105] Fileコントロールの件
DATE : 2001-07-29 02:00:00
--------------------------------------------------
a-murataさん、こんにちは。

> いっきに読み込んで、書くときはfile1.LinePrintを
> 使っているのですが、これを繰り返すと
> 改行コードが末尾にどんどん増えて行ってしまいますよね。
> これを防ぐ方法がわかりません。LinePrintするときに
> 改行コードが付加されるのだと思うのですが
> なにかいい手はないでしょうか。

LinePrintのHelpを見ると、
| A carriage return/line feed (Chr(13) + Chr(10)) sequence
|is appended to the end of the string.
とあるように、CRとLFが付加されます。

どんな用途に使おうとしているのかがちょっとわからないのですが(テキ
ストエディタでしたっけ?)、上のことを意識して書き出せば、一気に読
み込んだときにもイメージ通りに行くと思います。

で、具体的に言うと、書き出そうとしている1行の終わりについているCR
とLFを削除して、LinePrintで書き出せばいいのではないでしょうか?


例えば、Buffに書き出そうとしている文字列があるとして、まず最後のCR
とLFを削除します。

If StrComp( Right(Buff,2),Chr(13)&Chr(10) )=0 Then
  Buff=LeftB( Buff,LenB(Buff)-4 )
End If
# UNICODEなので、1つのキャラクタが2バイト

次に書き出します。

File1.LinePrint Buff


これでどうでしょうか???
お試し下さい。

# 読み込んだらすぐにCR,LF削除するのが普通かな?