トピック
だにえる haru2016nen

端に表示したときに、、、

『LOCATE 49,29 PRINT 1~』 みたいにしたときに改行して、 「1」が x49y28 に表示されて しまうみたいなんですが、 この場合の「1」と「2~9」を 同じ行に表示するには どうしたらいいでしょうか
1そうだね
プレイ済み
返信[1]
親投稿
だにえる haru2016nen
それと、同じ座標に同じように 「A~I」を表示すると こうなるのですが、 「1~9」の上に表示して「1~9」を 消すにはどうしたらいいでしょうか
0そうだね
プレイ済み
返信[2]
親投稿
Hanzo rzsense
PRINT 1;:PRINT 2;:~ のように、セミコロン(;)を後ろに付けましょう。
0そうだね
プレイ済み
返信[3]
親投稿
Hanzo rzsense
添付のようなことだと思いますが、当方の勘違いであれば恐縮です。
0そうだね
プレイ済み
返信[4]
親投稿
画面の最終行の最後まで(画面をまたいだとき)PRINTしてしまうと自動的にスクロールしてしまいます。これはPRINTで文字列として表示している時は避けられません。 それとは別に最終行に書いた書いた際も通常は1段スクロールしてしまいます。ただこれはHanzoさんの言われているように最後に;(セミコロン)をつける事で勝手に改行しないように出来るのでスクロールしなくなります。 なので基本的に最終行にPRINTする時は勝手にスクロールされると困るケースが多いと思うので;(セミコロン)をつけておくといいと思います。
0そうだね
プレイ済み
返信[5]
親投稿
だにえる haru2016nen
「1~9」を順番ではなく、 まとめて表示したいのです!
0そうだね
プレイ済み
返信[6]
親投稿
文字列は最後の行にかかわらず自動的に次の行の頭にいくので理想的な表示にはならないですねー。 なので、もしそのようにやりたいなら自分で表示の際に分解して2つに分けて表示するようにしないといけないと思います。
0そうだね
プレイ済み
返信[7]
親投稿
だにえる haru2016nen
ええと、INPUTした文字をそんな感じにしたいので 試行を変えて、、、 と、、、 INPUTの時に 入力する文字数に制限 を付けることは出来ますかね?
0そうだね
プレイ済み
返信[8]
親投稿
普通のINPUTは文字数制限出来ないですねー…。INKEY$を使うなりして自前で実装するしかないですね…
0そうだね
プレイ済み
返信[9]
親投稿
イメージ的にはこんな感じに近いのかなぁ? まあでも、微妙な気もするけど…。
0そうだね
プレイ済み
返信[10]
親投稿
だにえる haru2016nen
あれ?でんべんさんのプログラム 間違ってません?
0そうだね
プレイ済み
返信[11]
親投稿
? エラー出ましたか?
0そうだね
プレイ済み
返信[12]
親投稿
だにえる haru2016nen
エラーじゃないですけど、 8行目のところって N=50ーCSRXー1 じゃないですか? プログラムをあんまり理解 出来ていないんですが、 右端に表示すると 既にカーソルが改行してしまって いるので ー1 が必要になるのかなと。
0そうだね
プレイ済み
返信[13]
親投稿
だにえる haru2016nen
L=LENて意味あるのかな?
0そうだね
プレイ済み
返信[14]
親投稿
Hanzo rzsense
L=LENは、最終的には使われてなさそうですね。でんぺんさんが、折り返し後の文字数を計算しようとした名残りでしょう。MID$で、折り返し後の文字列を抽出していますが、文字数の指定を十分に大きな数(ここでは999)にしておけば、折り返し点から最後までの文字列が抽出できますからね。 で、この場合は、N=50-CSRXが正しく、-1するのは誤りです。Nは、折り返し前の文字数を表し、最小値は1(少なくとも1文字表示できる)だからです。
1そうだね
プレイ済み
返信[15]
親投稿
Lは不要ですね〜。Hanzoさんの推測通りです。始め使ってたんですが、書いていたら使わなくても出来ると思ってプログラムを削ったときにLを消すのを忘れてましたー…。 あとプログラム的には問題ないはずですよ。てかダニエルさんの方のプログラムはLEFT$のあとの;(セミコロン)が抜けてますよ〜。
0そうだね
プレイ済み
返信[16]
親投稿
だにえる haru2016nen
あぁ! そうでしたか プログラムがちゃんと動く ようになったので ほかに問題がなければ 受付終了すると思います。 ありがとうございました!
0そうだね
プレイ済み