改行文字コードNo.07342
うえむ さん 14/02/26 12:19
 
こんにちは、改行コードについて教えてください。

新規ファイルを開いて、リターンキーを何回か叩いてみます。改行がその回数されて
います。ここまでは通常の操作です。

マクロで“code”を確認すると、先頭行の改行だけが(-1)を返します。2行目以降
は10進数で(13)ですので期待通りです。
何か理由があるのでしょうか?

ちなみに改行は何か“LF”のようなシンボルは設定ありますか?今はこのように書い
ています。
if(code == 0x0d) {
}

よろしくお願いします。

[ ]
RE:07342 改行文字コードNo.07343
秀丸担当 さん 14/02/26 14:12
 

>マクロで“code”を確認すると、先頭行の改行だけが(-1)を返します。2行目以降
>は10進数で(13)ですので期待通りです。
>何か理由があるのでしょうか?


codeが-1となるのは、改行ではなくファイルの末尾([EOF])であることを意味
しています。

もしEOFの表示をOFFにされているとしたら、ONにするとわかりやすいと思います。
[その他]→[ファイルタイプ別の設定]→[デザイン]→[表示]のところの、
「EOF(ファイルの末尾)表示」がOFFの場合、ONにするとファイルの末尾が表示さ
れます。

>ちなみに改行は何か“LF”のようなシンボルは設定ありますか?今はこのように書い
>ています。
>if(code == 0x0d) {
>}

codeは、改行コードがCR+LFでもLFでも、常に0x0dを返すようになっています。
上記のような書き方で大丈夫です。

[ ]
RE:07343 改行文字コードNo.07344
うえむ さん 14/02/26 14:30
 
まず、EOFは表示しています。

しかしながら、↓(改行を示すマーク)の上でcodeを確認すると1行目のみ(-1)に
なります。2行目以降は(13)です。

1行目の先頭に↓(改行)を入れても、文字入力をして↓(改行)を入れても結果は
同じで、1行目のみ(-1)になります。

EOFの上では(-1)です。

このように確認しています。
message str(code);

いかがでしょうか?

[ ]
RE:07344 改行文字コードNo.07345
うえむ さん 14/02/26 14:42
 
すみません、取り下げます。

別ウィンドウ(先頭がEOF)のファイルのcodeを見ていたようです。

お騒がせしてすみませんでした。

[ ]