技術資料 textwindow.html @ htp://www2.toyo.ac.jp/~asahi/research/simulation/
08.09.12 1st upload, 09.08.28 "0削除"
テキストウインドウでデータを表示する
ここでは,新しいtextウインドウを開いて,そこにデータを表示する方法を述べます.
しかし,
もともとDialogウインドウに文字を表示することができていたし,
(まだ理解していないせいかも知れませんが)textウインドウの使い勝手はよくないので,
今の所,スプレッドシートによるデータ表示の方法を推奨します.
【書式】
[1] wopen(Wp,Wtype)「ウインドウを作成する」Wp:ウインドウ番号,Wtype:ウインドウタイプ
[2] getWp(Wname,Wp)「ウインドウ番号を取得する」Wname:ウインドウ名称,Wp:ウインドウ番号
【使用例】
[1] wopen(Wp,"text")
textという名前(固定)の”text"型ウインドウを開き,ウインドウ番号を自動的に割り振って変数Wpに代入する.
[2] getWp("myWindow",Wp)
myWindowという名前のウインドウを探し,そのウインドウ番号を変数Wpに代入する.存在しないときは0をWpに代入する.
【モデル例】
//testtextw.set
preprocess() <->
getWp("text",Wp),
(Wp>0)->(Wp1:=Wp) otherwise (wopen(Wp1,"text")),
Wp.g:=Wp1;
inputsequence()=As <-> As:=[1,2,3,4];
initialstate()=c <-> c:=[0];
delta(c,a)=cc <->
cc:=append(c,[a]),
xwriteln(Wp.g,"c=", c);
【動作】
初期状態(initialstate)の設定のとき,
すでにtextという名称のウインドウがあれば,それを使います.
なければtextという名称のウインドウを作ります(wopen).
ウインドウ番号はグローバル変数(Wp.g)に代入しておきます.
書き込みは述語xwritelnを使いました.
【注意】
テキストウインドウをリフレッシュする述語と
テキストウインドウに空行(改行のみ)を表示する述語
が見つけられませんでした.
リフレッシュしたい場合,便宜的に,
私はウインドウの行数だけxwriteln(Wp.g,"")を実行しています.