HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0821
zezenanaDishWin版 mes命令の連続改行が処理されない件について1解決


zezenana

リンク

2022/8/21(Sun) 14:00:38|NO.96993

以下の「βテストについてのお願い」スレッドにて報告した内容ですが、

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



この記事に返信する


zezenana

リンク

2022/8/21(Sun) 20:48:23|NO.97003

mes表記のみで改行されない問題について触れていなかったので追加情報です。

-----
■サンプルによる確認

以下のサンプルで各バージョンの確認を行いました。
Dishでは、3.6b3から 3.7b2まで全く行送りされませんでした。
HGIMG4は、3.6b2から 3.7b2まで全く行送りされませんでした。
3.6b1は、Dish/HGIMG4の実行でなぜか落ちます。原因は不明です。

;#include "hsp3dish.as" ;#include "hgimg4.as" mes "mesなし[":mes:mes"]" mes "mes\"\"[":mes"":mes"]" mes "mes空白[":mes" ":mes"]" redraw 1

-----
■HSPバージョンによる差異

・3.7b2・・・空白のみ行送り、無印Winは全て行送りされる
・3.7b1・・・空白のみ行送り、無印Winは全て行送りされる

・3.6・・・空白のみ行送り、無印Winは全て行送りされる
・3.6b6(Dishは3.6b5)・・・空白のみ行送り、無印Winは全て行送りされる
・3.6b4・・・空白のみ行送り、無印Winは全て行送りされる
・3.6b3・・・空白のみ行送り、無印Winは全て行送りされる

・3.6b2・・・(Dish)全て行送りされる、終了時落ちる、フォントが異なる
・3.6b2・・・(HGIMG4)空白のみ行送り
・3.6b2・・・(無印Win)全て行送りされる

・3.6b1・・・(Dish)実行せず砂時計のまま落ちる。原因不明
・3.6b1・・・(HGIMG4)実行せず砂時計のまま落ちる。原因不明
・3.6b1・・・(無印Win)全て行送りされる

・3.51・・・(Dish)全て行送りされる
・3.51・・・(HGIMG4)フォント未対応にて確認できず
・3.51・・・(無印Win)全て行送りされる



ONION software Copyright 1997-2023(c) All rights reserved.