重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

お助け願います。
VB6にてあるテキストファイルを読み込んでいます。
このテキストファイルは普通にノートパッドで開くと、
1行が1024文字で開かれてしまいます。
秀丸などで開くと、改行がうまくいき必要なデータの並びになります。
VB6からこのテキストファイルを開いて読み込む際にも、
秀丸のような改行で読込みたいのですが、できるのでしょうか?
ノートパッドでも秀丸のような改行で開くことは可能なのでしょうか?
ご教授下さい。
例)
ノートパッドで開くと
1234567890123456789012345678901234567890
秀丸で開くと
1234567890
1234567890

A 回答 (4件)

データの中に改行コードなどがあっても、


実際は見えるものではありません。
『OxOa』はC言語風の表記ですね。

たとえば、メモ帳などで、ABCと打てばABCと表示されます。
しかし矢印キーなどはいくら押しても文字は出ません。
カーソルが動くだけです。
押しても文字として表示されないものは、
制御コードとか呼ばれるものです。

改行コードもそうですが、
Windowsなら[CR][LF](キャリッジリターンとラインフィールド)
16進の数字で表すと、
[CR]=0D
[LF]=0A
とパソコン内部では数字で表現されます。

秀丸でも[CR][LF]以外の改行コードでも正しく読み込みますので、
必要なデータの並びになります。
ノートパッドなどで読んでも決められた改行コードでないため、
一行で表示されてしまう訳です。

その該当するコードが何かが分かれば、
VBで読み込んで改行表示する事は可能になります。

テキストボックスへの表示なら、
読み込んだテキストデータを一文字毎に調べて、
改行コードでなければテキストボックスに加算。
改行コードに相当する文字であれば、『VBCrLf』を加算
それを文字数分繰り返す。
以外に、検索置換をする(こちらが早いと思います)

テキストボックスに改行がある文字を表示する場合、
MultiLineプロパティをTrueにする必要があります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やっと理解できました。
私のとった方法は、
Replace(textA, vbLf, vbNewLine)
のようにしました。バイナリで見ると、[LF]=0Aになってましたので、
これを改行コードに変換してみると、うまく改行されたファイルになってました。
これをもう一度開き直して処理しようと思います。
ありがとうございました。

お礼日時:2007/09/27 08:55

バイナリエディタ(フリーウェア)で対象ファイルを見てみると、


特殊記号を含め、文字コードで見ることができますので、改行が、
CR・LFの2バイトになっているか、確認できますよ。

この回答への補足

ありがとうございます。
バイナリエディタで見たところ、どうも改行前には、"."がついているようです。
いまいち私には仕組みがよく理解できないのですが、
ヒントは得られた気がします。
これをどうやってVB6.0で扱うかってのがわかりませんが(>_<)

補足日時:2007/09/26 17:02
    • good
    • 0

改行コードが LF(0x0a)しかないファイル(UNIXやlinuxで作成したファイル)


なのではないですか?
もし、そうなら、読むときに 0x0aという文字がきたら改行(VBCrLf)とみなしてあげればよいです。

この回答への補足

回答ありがとうございます。
何で作ったファイルかとちょっとわからないのですが、
相当昔のシステムで作ったものと思われます。
詳しく教えてほしいのですが、
そのテキストファイル中にはOxOaという文字はありません。
これは実際のテキスト中に書かれているものですか?

補足日時:2007/09/26 16:01
    • good
    • 0

このデータは1024行のデータで、秀丸で一行10文字で設定しているのではありませんか?



もしそうでしたら、読み込んでから10文字ずつ区切って格納すれば良いでしょう。
改行をいれる必要が有れば、10文字でくぎってVBCrLfをつければ良いです。

この回答への補足

回答ありがとうございます。
いえ、書いたのはあくまでサンプルです。
特に10行区切りってわけではないんです。
秀丸は必要なデータ分でうまく改行されますが、
ノートパッドではただダラダラと1024行まで書かれてます。
秀丸だと何行目から何行目までが何のデータがわかるのですが、
ノートパッドだと非常にわかりずらいのです。
データ長によっては固定でもないので。
秀丸は何に反応して、その位置で改行を入れてるのかもよくわかりません。
ん~。。。。

補足日時:2007/09/26 15:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!