satocchiaブログ

satocchiaブログ

PR

×

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia @ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9 @ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…
y__@ Re:uwscでGUIフォーム(05/12) UWSC 仮掲示板から飛んできました。 HTAで…
2017.12.18
XML
カテゴリ: UWSC
次の記号禁止
+ - * /
mod演算子禁止
=は代入のみ(比較での使用禁止)

if文禁止
while~endwhile禁止
repeat~until禁止

ってルールで書いてみました。UWSCだからできるので、他言語への移植はほぼ不可能。
Windows10非対応です。めちゃくちゃ遅いです。




public    calcid    =-1
keystr="001021001201003"
powershell("ps calc|kill")
calcid =exec("calc.exe")
CLKITEM(calcid, "関数電卓", CLK_MENU, False)
for i=1 to 100
    r=getR( i, 15 )
    r=Zero2Fifteen(r)
    q=copy( keystr, r, 1 )
    select q
        case "3"

        case "2"
            out="Buzz"
        case "1"
            out="Fizz"
        case "0"

    selend
    print out
next
sleep(10)
function    getR( x, y )
    clkitem(calcid,"クリア",CLK_ACC)
    for j= 1 to length(x)
        fig=(copy(x,j,1))
        clkitem(calcid,fig,CLK_ACC)
    next
    clkitem(calcid,"剰余",CLK_ACC)
    for j= 1 to length(y)
        fig=(copy(y,j,1))
        clkitem(calcid,fig,CLK_ACC)
    next
    clkitem(calcid,"等号",CLK_ACC)
    kbd(vk_ctrl,down)
    kbd(vk_c)
    kbd(vk_ctrl,up)
    result=getstr(0)
fend
function    plus( x, y )
    clkitem(calcid,"クリア",CLK_ACC)
    for j= 1 to length(x)
        fig=(copy(x,j,1))
        clkitem(calcid,fig,CLK_ACC)
    next
    clkitem(calcid,"加算",CLK_ACC)
    for j= 1 to length(y)
        fig=(copy(y,j,1))
        clkitem(calcid,fig,CLK_ACC)
    next
    clkitem(calcid,"等号",CLK_ACC)
    kbd(vk_ctrl,down)
    kbd(vk_c)
    kbd(vk_ctrl,up)
    result=getstr(0)
fend
function    mult( x, y )
    clkitem(calcid,"クリア",CLK_ACC)
    for j= 1 to length(x)
        fig=(copy(x,j,1))
        clkitem(calcid,fig,CLK_ACC)
    next
    clkitem(calcid,"乗算",CLK_ACC)
    for j= 1 to length(y)
        fig=(copy(y,j,1))
        clkitem(calcid,fig,CLK_ACC)
    next
    clkitem(calcid,"等号",CLK_ACC)
    kbd(vk_ctrl,down)
    kbd(vk_c)
    kbd(vk_ctrl,up)
    result=getstr(0)
fend

function    isZero( x )
    clkitem(calcid,"クリア",CLK_ACC)
    clkitem(calcid,"1",CLK_ACC)
    clkitem(calcid,"除算",CLK_ACC)
    for j= 1 to length(x)
        fig=(copy(x,j,1))
        clkitem(calcid,fig,CLK_ACC)
    next
    clkitem(calcid,"等号",CLK_ACC)
    kbd(vk_ctrl,down)
    kbd(vk_c)
    kbd(vk_ctrl,up)
    result=pos("0 で割ることはできません",getstr(0))
fend

function    Zero2Fifteen(r)
    result    =plus(r,mult( isZero(r), 15 ))
fend





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2017.12.18 14:56:39
コメント(0) | コメントを書く
[UWSC] カテゴリの最新記事


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: