▶ 実 行
▶ 実行
クリア
StateGoで時計と天気
by programanic
# _次ステートは「S_START」 _今ステートは空 _ループ状態はオン #_コールスタック定義 _コールスタック最大値は5 _コールスタックは空配列 _コールスタック@0は空 _コールスタック@1は空 _コールスタック@2は空 _コールスタック@3は空 _コールスタック@4は空 _コールスタックレベルは0 # # 【StateGoの自動挿入開始】 indent(0) $/./$ # psggConverterLib.dll converted from psgg-file:TestControl.psgg #【組込】 #E_API # API=「https://api.aoikujira.com/tenki/week.php?fmt=json&city=東京」 RESは空 APIにAJAX送信した時には 対象をJSONデコードして天気に代入。 # 天気["東京"][0]["forecast"]を表示。 RES=天気["東京"][0]["forecast"] ここまで。 天気ラベル=「---」のラベル作成。 1回、改行作成。 時計ラベル=「---」のラベル作成。 # ●S_CHECKRESとは # 時計ラベルに今をテキスト設定。 もし、天気ラベルが空でなければ 天気ラベルにRESをテキスト設定 ここまで もし、(RESは空)ならば 戻る ここまで 戻る ここまで # ●S_ENDとは # 戻る ここまで # ●S_STARTとは # もし、_次ステートが空ならば _次ステートに「S_CHECKRES」を代入 ここまで 戻る ここまで # 【StateGoの自動挿入終了】 _ループカウンタは0 _ループカウンタ最大値は10000 _ループ状態はオン _初期化フラグはオフ ●TIMER_EVENT もし、_ループ状態がオンならば _ループカウンタに1を足して、_ループカウンタに代入する _初期化フラグはオフ # もし、_次ステートが空でなければ _今ステートに_次ステートを代入 _次ステートに空を代入 _初期化フラグはオン ここまで # もし、_今ステートが空でなければ //「実行ステートは{_今ステート}です」と言う #【StateGoの自動挿入開始】 indent(8) $/^S_/->#switch$ # psggConverterLib.dll converted from psgg-file:TestControl.psgg もし、(_今ステート=「S_CHECKRES」)ならば、S_CHECKRESする もし、(_今ステート=「S_END」)ならば、S_ENDする もし、(_今ステート=「S_START」)ならば、S_STARTする #【StateGoの自動挿入終了】 もし、(_今ステート=「S_END」)ならば 「終了」と言う _ループ状態はオフ ここまで ここまで ここまで ここまで 0.05秒タイマー開始した時には TIMER_EVENTする ここまで /* 以下は、StateGoのマクロです。 :psgg-macro-start ; コメント行 {%0}はコメントに変換 commentline=# {%0} #switch=@@@ もし、(_今ステート=「[[state]]」)ならば、[[state]]する <<<?state-typ/^loop$/ もし、(_今ステート=「[[state]]_cond____」)ならば、[[state]]_cond____する もし、(_今ステート=「[[state]]_next____」)ならば、[[state]]_next____する >>> @@@ @branch=@@@ <<<?"{%0}"/^brif$/ もし、([[brcond:{%N}]])ならば _次ステートに「{%1}」を代入 ここまで >>> <<<?"{%0}"/^brifc$/ もし、([[brcond:{%N}]])ならば _次ステートに「{%1}」を代入 >>> <<<?"{%0}"/^brelseif$/ 違えば、もし、([[brcond:{%N}]])ならば _次ステートに「{%1}」を代入 ここまで >>> <<<?"{%0}"/^brelseifc$/ 違えば、もし、([[brcond:{%N}]])ならば _次ステートに「{%1}」を代入 >>> <<<?"{%0}"/^brelse$/ 違えば _次ステートに「{%1}」を代入 ここまで >>> @@@ gosub=@@@ もし、(_コールスタックレベル>=(_コールスタック最大値+1))ならば 「_コールスタックがオーバーフローしました」と言う _ループ状態はオフ 戻る ここまで _コールスタック@_コールスタックレベルに「{%2}」を代入 _コールスタックレベルに1を足して、_コールスタックレベルに代入 _次ステートに「{%1}」を代入 @@@ return=@@@ もし、(_コールスタックレベル<=0)ならば 「_コールスタックがアンダーフローしました」と言う 終 ここまで _コールスタックレベルから1を引いて、_コールスタックレベルに代入 _コールスタック@_コールスタックレベルを_次ステートに代入 @@@ :psgg-macro-end */