改行をテキストに一行に保存し、もどす方法。

解決


国木田  2009-07-25 19:56:14  No: 35250

日記とかにあるような、Memo1にある改行があるテキストを、テキストに一行に保存し、また、Memo1に読み込んだ時に、改行がある状態にしたいのですが・・・。
ちょっとその方法に迷っています。

Memo1
テキスト
の内容
なのです。

をテキストに
日付  テキスト(何らかの改行の印)の内容(何らかの改行の印)なのです。
日付  また、違う日記。

から、Memo1に日記の内容をもどす時に、きちんと改行されていて欲しいのですが、まずこの方法がわかりません。
やはり、Memo1を保存する時は、ループして、一行にして、もどす時は、改行マークで、分割して一行ずつもどす方法しかないのでしょうか?

それとは別に、その方法をやめて、メーラーのようなstartとendマークを決めて、

[Start]
date=日付
text
テキスト
の内容
なのです。
[end]
[Start]
date=日付
text
別の日記内容
[end]

としてもいいかなー?と思っています。
テキストをすべてループして、日付が合っている部分を表示する。
こちらを関数化。クラス化してしまえば、後で応用も利きそうですし。

みなさんが日記のようなプログラムを作る時は、どういう保存形式にしますか?

D6です。


あの手この手誰の手?  2009-07-25 20:28:12  No: 35251

参考ページ
「カレンダーの日付をクリックして日記を書き込むには?」
https://www.petitmonte.com/bbs/answers?question_id=608


monaa  2009-07-25 23:23:08  No: 35252

手段より目的を明確にしたほうがいいのでは?
より高速に扱いたいとか、
直接ファイルをメモ帳で開いても編集可能とか、
数ギガのファイルでも一瞬でアクセスとか、
有名ソフトと互換性が欲しいとか、


国木田  2009-07-25 23:39:57  No: 35253

目的ですかー。

汎用性と、メンテナンス性でしょうか。
趣味なもので、これ優先で、完成が遅れる事が多々あります。^^;

簡単なソフトなんで、ごりごり押していけば、半日くらいで出来ると思うんですが、この先同じような日付とテキスト(他いくつかの項目)を保存するプログラムを作った時に、面倒がないように関数化したいことでしょうか。
あと二つくらいは予定がありますから、バグや、改善出来た時に、すべてを一発、もしくは関数の部分だけを変えることが便利と考えているので。

>日付  テキスト(何らかの改行の印)の内容(何らかの改行の印)なのです。

でも、関数化しちゃえばいいんですが、あとあと使い回しが利かなくなるような気がして。

有名ソフトの互換性は考えていませんが、ある程度フォーマットを決めちゃえば、関数に渡す前に、フォーマットを変えるプログラムを走らせればいいですから。


D  2009-07-25 23:49:21  No: 35254

>みなさんが日記のようなプログラムを作る時は、どういう保存形式にしますか?

複数日分をまとめて一つのファイルにするのではなく、一日でひとつのファイルにするかな。
ファイル名を日付にしておけば「日付が合っている部分を表示する」のもFindFirstでワイルドカード使ったりできるので楽だし速そうだし。


monaa  2009-07-26 00:10:41  No: 35255

汎用性、メンテナンス性を求めるなら、私はXMLを薦めます。
テキストベースですしね。
私は自分用XMLクラスを使ってますが、
残念ながら公開予定はないです。


国木田  2009-07-26 01:08:44  No: 35256

・・・ごめんなさい。
面倒になったので、汎用性は保留して、ごりごりと作っちゃいました。^^;
いろいろな意見を聞けたので、参考にして、考え、自分なりにまとめてみようかと思います。

データーベースとかも、考えたんですが・・・、私のレベルだと、そこまですると汎用性を求めるがために、逆に使いづらくなる可能性もありますし。^^;

FindFirstでもいいんですね。
すこし気になるのは、同じ日付の場合の扱いや、10年毎日日記をつけるとして、3600ファイル。
すこし、ファイルが多すぎかなー?と。
月別や年別に分けると、フォルダを検索しないと行けないので、処理がすこし面倒になるかなー?と。

おそらくはこの辺は好みや、状況によって変化すると思うので、正解はないと思います。

みなさんありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加