ちょっとしたプログラムを作ろうと思ったら
大体お世話になる、SetEnableみたいな処理。
簡単にできると思っていたら、
予想が労力1だとすると3くらいかかりましたw
-----
; ボタンの使用可否設定
#include "llmod3/llmod3.hsp"
#include "llmod3/obj.hsp"
button gosub "- 1 -", *button1
idBtn1 = stat
button gosub "- 2 -", *button2
idBtn2 = stat
stop
*button1
mes "1"
objgray idBtn1, 0 ; 1を使用不可
objgray idBtn2, 1 ; 2を使用可
return
*button2
mes "2"
objgray idBtn1, 1 ; 1を使用可
objgray idBtn2, 0 ; 2を使用不可
return
-----
まず、インクルードファイルが必要です。
つまり、標準ではないということですかね。
使用可否設定関数は、objgray なんだけども、
これを入力しても、エディタ上で水色(予約語)になりません。
インクルードは初めてだったので少し手間取りました。
インクルードファイルは、まずは実行ファイルの足元を探して、
次にインストールフォルダを探すという仕様なようです。
インストールフォルダに、llmod3というフォルダがあるのでその下、
という指定ですね。
あとは、設定する関数objgrayに、オブジェクトIDを渡さないといけないです。
ボタンのIDです。
そのため、作ったときにオブジェクトIDを覚えておいて、
objgrayで使用します。
汎用的なステータス変数 stat を使用するんですね。
戻り値は、正常/異状を返して、正常の場合の情報はstatに入っているということかな。
最後に、objgray。
これは特に問題なし。
名前が、"gray"なのに、1で使用可能になるという矛盾は気にしないこと。
意外に、GUIのボタンを作ったことがなかったので
一応テストしておきました。
------
; ボタン
button gosub "ボタンのテスト", *ButtonExecute
stop
*ButtonExecute
mes "ボタン押したよ"
return
------
うん、まぁこんなところでしょう。
一応テストしておきました。
------
; ボタン
button gosub "ボタンのテスト", *ButtonExecute
stop
*ButtonExecute
mes "ボタン押したよ"
return
------
うん、まぁこんなところでしょう。
昨日は読み込む処理でしたが、
読む処理を作れば、書く処理も作りたくなるわけで。
-----
; ファイルを書く
; (テキストファイル)
; 対象バッファを指定
notesel fpWrite
; fpWriteへ文字列を追加
noteadd "test123"
noteadd "test456"
; バッファ領域にある文字列を、ファイルへ書き込む
notesave ".\\test.txt"
mes "保存終了"
stop
-----
ポイントは、
noteadd → notesave
の処理です。
noteaddで渡した文字列の後ろに自動的に改行が入るようです。
なので今回のケースでは、3行で、3行目が空行でした。
"note"というのは、メモリ上のファイルみたいなイメージでいればいいのかな。
テキストファイルの操作用の関数では、
"note"が使われるようです。
読む処理を作れば、書く処理も作りたくなるわけで。
-----
; ファイルを書く
; (テキストファイル)
; 対象バッファを指定
notesel fpWrite
; fpWriteへ文字列を追加
noteadd "test123"
noteadd "test456"
; バッファ領域にある文字列を、ファイルへ書き込む
notesave ".\\test.txt"
mes "保存終了"
stop
-----
ポイントは、
noteadd → notesave
の処理です。
noteaddで渡した文字列の後ろに自動的に改行が入るようです。
なので今回のケースでは、3行で、3行目が空行でした。
"note"というのは、メモリ上のファイルみたいなイメージでいればいいのかな。
テキストファイルの操作用の関数では、
"note"が使われるようです。