トピック
パロピカル extremediamond

(一つのファイル内で)clearの範囲を限定する手段ってないですか?

0そうだね
未プレイ
返信[1]
親投稿
おちゃめ ochame_nako
要するにCLEARで消えてしまっては困る変数があるということですか? 定数リテラルのユーザー定義ができれば解決ですが現時点ではできないので消えて困る変数を別の場所に退避するしかありません。 最も確実なのはファイルとしてセーブすることですが、やはりその都度ダイアログが出るためその方法は使いたくないと感じているのでしょうね。 そういう場合は文字列化してファンクションキーに退避という方法もあります。ファンクションキーは使いたくないというのであれば空いたGRPに書き込むという方法があります。テキストならば1文字あたり1ドット、実数型変数ならば4ドット、整数型変数ならば2ドットで済むため一次退避用としては十分だと思います。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
まずプチコン3号のCLEAR命令はダイレクトモード専用の 命令でプログラム中では使えません。 CLEARの範囲を限定したいということはその変数の名前は 分かっているということでよろしいでしょうか? その場合には変数の中身をクリアするサブルーチンか ユーザー定義命令を作成し範囲限定のCLEARをしたいときに そのサブルーチンか命令を呼び出すという手が考えられます。 ただこの方法では配列変数を配列変数として未定義の状態には できないのでCLEARしたのとは同じにはできません。
0そうだね
プレイ済み
返信[3]
親投稿
パロピカル extremediamond
すみません、僕の使っているのはmk.2です。仕様変更があったことを知らず、質問してしまいました。 質問内容が説明不足だと感じられたので自分自身の整理も含めて補足致します。(配列宣言の要素数は[]で区切ります。) DIM STRX$[10] '...① X=10 '...② このとき①を未定義の状態にし、かつ②の値を保持したままにするローカルなCLEAR命令をしたいです。 おちゃめ さんの「空いたGRPに書き込むという方法が...」について難しくて分からなかったので、具体的な命令文を教えて頂けませんか? 質問ばかりですみません…
0そうだね
未プレイ
返信[4]
親投稿
おちゃめ ochame_nako
mkIIならばシステム変数であるMEM$を使うと良いです。 Xに入っているのが整数値ならばMEM$=STR$(X):CLEAR:X=VAL(MEM$)とすればCLEARをしてXの値はそのまま維持可能です。 Xの値が小数の場合やGRPを使ったやり方は説明すると長くなりますが「GRP セーブ」などのキーワードで詳しく解説しているサイトがあるので検索してみてください。
1そうだね
プレイ済み
返信[5]
親投稿
パロピカル extremediamond
返信が遅くなってしまい大変申し訳ありません… ご指摘いただいた方法で成功しました。ありがとうございます!
0そうだね
未プレイ