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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0122
mikoto8544の単語の後に改行を追加するプログラムを組み立て、テストを行いましたが「パラメータ異常です。」と表示されました。5解決


mikoto

リンク

2021/1/22(Fri) 18:01:29|NO.92121

8544の単語の後に改行を追加するプログラムを組み立て、テストを行いましたが「パラメータ異常です。」と表示されました。
エラー画面の行数のところを確認すると「strrep nyuuryoku,kotoba(cnt),kotoba(cnt)+"\n"」と書かれたところになります。
皆様からの回答をお待ちしております。



include "hsp3utf.as" //文字列が32767文字までは大丈夫 screen 0, 369,369, screen_tool objmode 2,1 #packopt icon "mmw320h320.ico" font "游明朝",24,16 title "テキストに含まれる任意の文字を改行に置換する。" Unicode=32767//HSPエディタUnicode版は、32767文字以上扱えない。 sdim nyuuryoku,Unicode,1 mes "32767文字までの文字列を入力" mesbox nyuuryoku,369,150,5,Unicode objsize 369,36 button goto "単語改行する",*label stop *label val = strlen(nyuuryoku) if val<=Unicode { sdim kotoba,24,8544 変数は、行数が長いので省略しました。 foreach kotoba strrep nyuuryoku,kotoba(cnt),kotoba(cnt)+"\n" loop objprm 0,nyuuryoku objprm 1,"単語改行しました" stop } else { dialog "入力した文字は扱える"+Unicode+"文字を超えて"+val+"文字になります。"+Unicode+"文字以下に減らしてください。",1,"結果" stop }



この記事に返信する


バグ?

リンク

2021/1/22(Fri) 18:56:25|NO.92122

バグ多いからな、早く直してほしいよな、全く…



沢渡

リンク

2021/1/22(Fri) 19:05:19|NO.92123

バグというよりは「難儀な仕様」だと思いますが、
どうもstrrepは第二パラメータの文字列が空("")だとエラーになるようです。

strrep nyuuryoku,kotoba(cnt),kotoba(cnt)+"\n"
これを、

if strlen(kotoba(cnt)) : strrep nyuuryoku,kotoba(cnt),kotoba(cnt)+"\n"
こう置き換えたらどうなるでしょう?



こち

リンク

2021/1/22(Fri) 21:45:20|NO.92124

ちょっとひとつだけ。
単語は半角文字ですよね

改行を追加しているので
8544x2 =文字数増えますので

ご確認を。



mikoto

リンク

2021/1/22(Fri) 22:23:11|NO.92125

バグ?様、沢渡様、書き込みありがとうございます。
バク?様
>バグ多いからな、早く直してほしいよな、全く…
わたくしもHSPのことはすべてわかっていないのであらゆる命令・関数の使い方により
正常に動くのかをゆるりとメモしておこうと思います。

沢渡様
strrep nyuuryoku,kotoba(cnt),kotoba(cnt)+"\n"を、
if strlen(kotoba(cnt)) : strrep nyuuryoku,kotoba(cnt),kotoba(cnt)+"\n"に
置き換えたら動きました。
なぜ、if strlen(kotoba(cnt)) : strrep nyuuryoku,kotoba(cnt),kotoba(cnt)+"\n"と置き換えると動くのかを後に調べたいと思います。

お力添え、ありがとうございます。



mikoto

リンク

2021/1/22(Fri) 22:27:15|NO.92126

こち様、書き込みありがとうございます。
単語は全角文字のなります。
たしかに、8544x2 =文字数増えますので出力は扱える文字数を超えるかもしれないと思いました。



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