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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0530
Cronus入力ボックス(特にInput命令)について5解決


Cronus

リンク

2017/5/30(Tue) 16:12:37|NO.80048

こんにちは、Cronusです。
今回はInputの文字数で3640字数(半角)以降、Inputの内容が消えてしまいます。
ちなみに、3640字数(半角)以下の場合は内容が表示されます。(OSによって違うのかな?)

私のパソコンとHSPのバージョンは以下の通りです。

Windows 10 HSP 3.4

バグでしょうか?それとも読み込めないんでしょうか?
困っているので教えてください。
よろしくお願いします。



この記事に返信する


スペース

リンク

2017/5/30(Tue) 16:18:33|NO.80049

inputの最大文字数は適切に設定していますか?



旅行中のC

リンク

2017/6/2(Fri) 23:42:44|NO.80082

返信遅くなり申し訳ありません。

#define global MaxInt 2147483647 pos 50, 50 input text, 100, 20, Maxint
こういう風にして使いんたいんです。
ただし、私が言った(NO.80048)で3640字数(半角)以降消えるというのを防ぎたいのです。
解決策はありますか?



スペース

リンク

2017/6/3(Sat) 01:19:14|NO.80083

これってtextはint型ですよね?
sdimで文字列型にすれば上手く行くのではないかと。



GENKI

リンク

2017/6/3(Sat) 01:29:53|NO.80084

Cronusさんとお呼びすればいいのでしょうか?それとも旅行中のCさんでしょうか。もしお二人とも違う方でしたら申し訳ありません。文脈から同一人物と推定させていただきました。
同じサイト内で名前をいくつも使われてしまうととても混乱します。名前の変更はなるべく慎重に行っていただけると助かります。


さて提示されたスクリプトを実行して、入力ボックスに半角で3640字数を超える文字数をコピペしてみましたが、3640字以降が消える現象は再現できませんでした。
コピペ直後の入力ボックス内の状態を確認。入力ボックスの内容を全選択・コピーをし直して文字数を数えて確認。いずれも入力前と全く同じものが取得できました。

問題の確認方法まで詳しく書いていただけると、こちらも症状が再現できるので対策が検討しやすくなります。
是非とも次回からはそのあたりまで書いていただけると助かります。


ところで、提示いただいたスクリプトではそもそも大きな問題を抱えています。
デバッグウィンドウで見てもらってもいいのですが、確認する簡単なスクリプトを書きましたので実行してみてください。

#define global MaxInt 2147483647 pos 50, 50 input text, 100, 20, MaxInt ; 変数の型を確認 if vartype(text) = 2 : mes "変数textは、文字列型" if vartype(text) = 4 : mes "変数textは、整数型"
inputで使用する際は、sdimするか初期値を設定してから使うようにしてください。

ついでにinput命令、mesbox命令の文字数の上限も調べてみました。
と言ってもデバッグウィンドウに表示されてるんですが…HSP3.5β2時点では32766bytesのようです。
念のためHSP3.5β5で確認してみると32766bytesを超えて入力できるようになっていました。2147483646文字ぐらいまで行けるんじゃないでしょうか?
ということで、HSP3.5の正式リリースをお待ち下さい。



Cronus

リンク

2017/6/3(Sat) 08:04:48|NO.80086

>スペースさん GENKIさん
混乱させてしまい申し訳ございませんでした。
sdimを使うように気をつけます。
スペースさん、GENKIさんありがとうございました。



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