Delphi日記

第6章 ファイル保存の修正(11/15/01)

今回はファイルを上手く保存できない問題を解決したいと思います。実は原因は既にわかっています。あれは拡張子を「.txt」としましたが、リッチテキストファイル(本来の拡張子は「.rtf」)で保存していた為です。ワードで開けばうまく表示されるのがわかります。

これから選ぶ道は2つあります。テキストファイル、リッチテキストファイル双方に対応したエディタを作るか、テキストファイルのみを想定するか、です。

ここで選ぶのは…もちろん後者です(妥協!?)。ていうかリッチテキストファイルなんて使わないしー。

リッチテキストファイルは余計な情報が含まれているためにテキストファイルとして開くと表示がおかしくなっています。RichEditがリッチテキストの情報を含んでしまっているからだと考えられます。

つまり、一番安易な解決策ですが、RichEdit1を削除してMemo1を追加してしまいます!

オブジェクトツリーでRichEdit1を選択した状態(またはフォーム上でRichEdit1のエリアを選択した状態)でdeleteキーを押します。これで削除完了です。

削除した状態

次に、最初(第1章)でRichEditを追加したときと同様、Memoを選択した状態でフォーム上をクリックし、追加したあと、オブジェクトインスペクタでAlignプロパティのドロップダウン矢印をクリックして,alClientを設定します。

これでMemo1の領域が広がります。次にソースコードの訂正です。要するに「RichEdit1」と書いてあった場所全てを「Memo1」に書き変えます。場所はファイル操作に関する次の4箇所です。定義などの部分はRichEdit1をdeleteした時にDelphiが勝手に消してくれます。


これで正しくテキストファイルを保存出来ます。再び書き込みの実験をしてみます。適当なテキストファイルを準備して、このエディタを実行してから開いてみます。そして上書き保存してみます(追記してもしなくても同じ)。
再び、今度はメモ帳で開いてみます。すると正しく保存できているのが確認できます。


とりあえず今までRichEditを使っていたのは単純にオンラインマニュアルのチュートリアルがそうしていたからです。
今回はここまでです。次回以降は…何しようかな…。


BACK
HOME