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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0731
asdfmesbox9解決


asdf

リンク

2008/7/31(Thu) 00:04:12|NO.17767

mesbox での表示文字列で、
一部分は編集可能な文字列で、残りの部分は編集不可能・・・
というようなことは出来ますか?



この記事に返信する


asdf

リンク

2008/7/31(Thu) 00:19:37|NO.17771

追加・・・
コマンドプロンプトで、
「C:\Documents and Settings」の部分は編集不可能で、その右は入力可能ではないですか。
そのようなことは出来ないでしょうか?
また、メッセージボックスの中にカーソルが存在しているときでもgetkeyを実行することは
出来ないでしょうか?
これもコマンドプロンプトで、「C:\Documents and Settings」の横に入力して、「ENTER」
を押すと次の手順に進むのと同じように・・・



SYAM

リンク

2008/7/31(Thu) 00:43:24|NO.17773

あまり優秀ではないですが、mesbox内でコマンド入力ぽいものを書いてみました。
getkeyでやれる程度のことしか要求してないなら、いいのかな。

制御が面倒なので getkey でなく onkey を使ってしまいましたが
getkeyへの置き換えは容易だと思います。


onkey gosub *in sdim buf,8192 sdim logbuf,8192 sdim linebuf,256 mesbox buf,ginfo_winx,ginfo_winy,0:IDmesbox=stat gosub *modify stop *in if(iparam==13){ logbuf+="\n>"+linebuf linebuf="" gosub *modify return } if(iparam==8){ if(linebuf!=""){ poke linebuf,strlen(linebuf)-1,0 gosub *modify } return } linebuf += strf("%c",iparam) gosub *modify return *modify buf=logbuf+"\n>"+linebuf objprm IDmesbox,buf return



SYAM

リンク

2008/7/31(Thu) 00:48:25|NO.17774

説明書く前に投稿してしまいました。 orz

といっても説明するほど難しいことはないと思います。
要するに、編集の対象としたい部分と、そうでない部分を分けた文字列変数にしておき、
mesboxにはそれらを足したものを表示しています。
こうなっていると、編集対象以外には手を加えることはできません。

[Enter]キーが押されたら、編集対象の文字列変数を編集不可の文字列変数の末尾に足します。
せっかくなので[BackSpace]にも対応しておきました。



が、問題としてカーソルが常に画面の先頭に来たりします。
というかスクロールができない気がしてきました。だめか…。



asdf

リンク

2008/7/31(Thu) 00:55:07|NO.17775

なにはともあれ試してみます!
ありがたいアドヴァイスありがとうございます。



asdf

リンク

2008/7/31(Thu) 01:05:53|NO.17776

ありがとうございます。とてもいい手でした!
では・・・入力可能な文字列の場所に最初から「ここに文字を入力」と表示させたいのですが
どうすればよいのでしょう・・・?



レヴィン

リンク

2008/7/31(Thu) 10:14:14|NO.17777

ヒント

a="g";この行をコメントアウトした時の実行結果 ;とそうでない時の結果を比べると・・・ input a

これがわかればやりたいことができます。



SYAM

リンク

2008/7/31(Thu) 12:21:15|NO.17778

気持ち悪いのでちょっとだけ追記。

objprm のあとに次の2行を加えるとスクロールもできます。


sendmsg objinfo(IDmesbox,2),0xb1,0x7fffffff,-1 sendmsg objinfo(IDmesbox,2),0xb7

でもチラついてる……orz


「>」を変えたいなら、先のスクリプトの中に2カ所にあるそれを書き換えます。
文字列変数にして必ず同じになるようにするのがよいでしょう。



asdf

リンク

2008/7/31(Thu) 23:03:53|NO.17799

ありがとうございます^^



asdf

リンク

2008/7/31(Thu) 23:04:19|NO.17800

解決です^^



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