home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2002 December (Special)
/
DOSV2002_12.iso
/
utility
/
uwsc26a.lzh
/
サンプル.UWS
< prev
Wrap
Text File
|
2002-04-23
|
4KB
|
110 lines
// MSAgentがあれば起動してみる
agent() // 下で関数化されている
// メモ帳 起動
メモID = GETID("メモ帳", , 0.1)
ifb メモID < 0 // 存在してなければ起動
メモID = EXEC("notepad", False, 200, 10, 400, 400)
endif
// フォントの変更
ClkItem(メモID, "フォント", CLK_MENU or CLK_SHORT)
fontid = GETID("フォント")
ClkItem(fontid, "MS ゴシック", CLK_LIST) // フォント名
ClkItem(fontid, "太字", CLK_LIST) // スタイル
SendStr(fontid, "14", 3) // サイズ (もちClkItemでも可)
ClkItem(fontid, "OK", CLK_BTN)
// 電卓 起動
電卓ID = EXEC("calc")
ifb 電卓ID < 0 then
MsgBox("電卓が起動できませんでした")
Exit // ダメであれば終了
endif
計算式 = "123456789*10="
SendStr(電卓ID, 計算式) // 電卓で計算
SendStr(メモID, 計算式)
Sleep(0.5)
ifb KINDOFOS() = 13 // Windows XP
wks = GetStr(電卓ID, 1, 0) // エデット
else
wks = GetStr(電卓ID, 1, 1) // スタテック
endif
SendStr(メモID, wks+"<#CR>")
// 電卓回す
SendStr(メモID, "電卓をグルグル回してみる<#CR>")
ifb MsgBox("回してみます?", BTN_YES or BTN_NO) = BTN_YES
ifb 音楽を入れるか()
ifb KINDOFOS() = 13 // Windows XP
musicnm = "flourish.mid"
else
musicnm = "canyon.mid"
endif
FUKIDASI("読み込む中...", 100, 100)
Sound(musicnm) // バックミュージック
FUKIDASI()
endif
for 回数 = 1 to 3
廻れ廻れ(回数, 電卓ID)
next
else
FUKIDASI("それは残念", 100, 100, 0, 14)
Sleep(3)
endif
// 終了処理
Sound() // SOUND OFF
FUKIDASI() // 吹出しOFF
CtrlWin(電卓ID, CLOSE) // 電卓終了
SendStr(メモID, "終了~")
Sleep(1)
CtrlWin(メモID, CLOSE) // メモ終了
ClkItem(GETID("メモ帳"), "いいえ") // 保存はしない
// メイン処理はここまでになる(関数の前まで)
// 以下 関数(サブルーチン)
// 電卓を廻す
Procedure 廻れ廻れ(回数, ID)
if 回数 = 2 then FUKIDASI("いつもより余計に回しています<#cr>バチバチバチ"_
, 100, 40, 3, 14) // _により前行と繋がっている
DIM 選択メニュ[2] = "普通の電卓", "関数電卓" // 変数の配列宣言
ClkItem(ID, 選択メニュ[回数 mod 2]) // メニュ選択
call grugru // grugru.uws を実行
fend
// 指定キーが押されたらTrueを返す
Function 音楽を入れるか()
Result = False // 戻り値
moji = "音楽を入れますか? Yesなら5秒以内にスペースキーを叩いてね "
sv_tm = GetTime()
while GetTime()-sv_tm < 5 // 5秒まで待つ
wk_sec = 5 - (GetTime()-sv_tm)
FUKIDASI(moji + wk_sec, 100, 100, 0, 14)
ifb GETKEYSTATE(VK_SPACE) // スペースキー チェック
Result = True // 戻り値=True
break
endif
sleep(0.2)
wend
FUKIDASI() // 吹出しOFF
fend
// MSAgent と SpeechEngine を利用
Procedure agent()
キャラ = "Merlin" // キャラクタ に Merlin を選択
ss = GET_WIN_DIR + "\msagent\chars\" + キャラ +".acs"
if ! FOPEN(ss, F_EXISTS) then exit // 見つからない
public obj_agt // 関数を抜けても維持するように
obj_agt = CreateOLEObj("Agent.Control.1") // COM
obj_agt.Connected=True
obj_agt.Characters.Load(キャラ, ss)
agt = obj_agt.Characters(キャラ)
agt.show
agt.Play("Greet")
agt.speak("回してみます?")
Fend