HSP3.7に向けたβテストについてのお願い No.96599
http://hsp.tv/play/pforum.php?mode=all&num=94865#96599
他の改行コードで試した結果、正しく動作する事例があることがわかりました。
このことが本件の解決に関連するのかわかりませんが報告します。
以下は同様の報告です。Win版以外に HGIMG4や WebDish版でも報告があります。
HSP3.6β2テストのお願い
http://hsp.tv/play/pforum.php?mode=pastwch&num=89273#89378
HSP3.6Dishのmes表示でドットが出てしまう
http://hsp.tv/play/pforum.php?mode=all&num=94748#94756
HSP3.7に向けたβテストについてのお願い
http://hsp.tv/play/pforum.php?mode=all&num=94865#96015
-----
■サンプルでの確認
改行コードを変えて確認したところ、3.7b2でも \n 以外は正常に動作しました。
マルチプラットフォーム対応やユニコード対応の影響でしょうか?
#include "hsp3dish.as" ;#include "hgimg4.as" CR="\r":CRLF="\n":LF="":poke LF,0,10 ;LF(\n)はpokeで代入 mes "改行\\n1["+CRLF+"]--OK" mes "改行\\n2["+CRLF+CRLF+"]--NG" mes "改行\\n3["+CRLF+CRLF+CRLF+"]--NG" mes "改行\\r1["+CR+"]--OK" mes "改行\\r2["+CR+CR+"]--OK" mes "改行\\r3["+CR+CR+CR+"]--OK" mes "改行LF1["+LF+"]--OK" mes "改行LF2["+LF+LF+"]--OK" mes "改行LF3["+LF+LF+LF+"]--OK" redraw 1
「\n」・・・HSPでは2バイト仕様\n(CR+LF)、1バイトはコード(13)となる。
「\r」・・・Macなどの改行コード(CR)、コード(13)
コード(10)・・・UNIXなどの改行コード\n(LF)
-----
■HSPバージョンによる差異
各バージョンによる確認結果は以下となります。
3.6b3 と 3.6b4 のみ全て正常に連続改行が処理されることを確認しています。
この時点で何かが修正変更されたと考えてよいのかなと思います。
・3.7b2・・・改行\nは連続改行できない。他は正常に改行
・3.7b1・・・改行\nは連続改行できない。他は正常に改行
・3.6・・・改行\nは連続改行できない。他は正常に改行
・3.6b6(Dishは3.6b5)・・・改行\nは連続改行できない。他は正常に改行
・3.6b4・・・全て正常に改行
・3.6b3・・・全て正常に改行
・3.6b2・・・正常だが改行LFの動作が異なる、終了時落ちる、フォントが異なる
・3.6b1・・・実行せず砂時計のまま落ちる。原因不明
・3.51・・・正常だが改行LFの動作が異なる、フォントが異なる
この改行しない問題で困っている人は、暫定的に \nを \rや コード(10)に置き換えするのが
良いかも知れません。
-----
■ドキュメント記載について
改行については公式に以下でも説明されておりますが
「UNIXの改行コードには対応していません」はマルチ対応の現在でも変わらないのでしょうか?
HSP3 文字列のひみつ(TIPS)- 複数行文字列のしくみ
http://www.onionsoft.net/hsp/v37/doclib/hsp3str.htm#ABOUTMULTILINE