2013-01-01から1年間の記事一覧

PowershellでC#等をコンパイルする

.Netにはもれなくコンパイラーが含まれている。 このため、VisualStudio等を導入しなくても、C#等のビルドが可能である。 しかし、ググッても一ページ目に出なかったので、メモ書きする。

Powershellをランチャーにする

長らく、コマンドプロンプトをランチャーとして使ってきたのですが、XPの寿命も尽きようとしているので、Powershellに引っ越すことにしました。 いろいろ便利ですから! CUIランチャーとして使うためにやったことのメモです。

UWSCでコールバック関数を処理する

方法を見つけてしまった。 いや、見つけた、というほどのことではないのだけど。 もちろん、Asmモジュールを使ってCプログラムを作れば呼べる。 でもそれは、個々のCallbackそれぞれに対して、Cプログラムが必要となる。 汎用性がない。 今回の発見はそこを…

UWSCで分数を扱う

問題 DIM a = 1 / 3 MSGBOX((1 / 3 * 3 = a * 3) + "") MSGBOXにはなんと出る?

UWSCのDEF_DLLについて

DEF_DLLについて書きたくなった。 ちょっともやもやするんで、整理を兼ねて。 最重要「UWSCの配列はポインターであり、ポインターが必要なところ全てで渡せる」

UWSCコードゴルフ デジタル時計 現時点の結果

あっさりレベル5が出たので、私の方法を今回は詳説してみる。

UWSCコードゴルフ デジタル時計

元ネタは検索すればすぐ見つかると思います。 検索すると、少しネタばれになるので、検索は非推奨かな。 こういうのは、自力でやった方が達成感がありますよー。 開始すると、00:00を表示し、約1秒毎にカウントアップする時計を作ってもらいます。

UWSCでCUI(コンソールウインドウ)を扱う(その3)

UWSCでCUI(コンソールウインドウ)を扱う(その2) - じゅんじゅんのきまぐれ この、その2から、クリップボード依存を排除しました! までも、お勧めなのは、stuncloudさんのモジュールですが。 UWSCのコマンドラインインタプリタ | たっぷす庵 優位なの…

UWSCでnonblocking版Winsockを使う

単純なblocking版は以下。 UWSCでWinsockを使う - じゅんじゅんのきまぐれ しかし、ブロックするとUWSCが落ちかねないし、recv中に切れると返ってこないとか、悲惨。 非同期版にしようかとも思ったけど、ブロックしない版でないと、UWSCのスレッドが耐えられ…

UWSCのメモリーを管理する

VirtualAllocとかHeapAllocとかしてしまうと、終了時に解放する必要がある。 どちらもプロセスメモリーだから、プロセスを終了してしまうのなら特に問題にはならないけど、UWSC本体を立ち上げっぱなしで、何回も実行するスクリプトだと、そのうちメモリーが…

UWSCでモニター情報(デスクトップサイズ・作業サイズ)を取得する

stuncloudさんが、「あ、でもこれマルチモニタだとどうなるん…?」とか書いてたので、ちゃちゃっと。 掲示板から小ネタ | たっぷす庵 SystemParametersInfoのSPI_GETWORKAREAは、プライマリモニターの情報しか返しません。 他の情報が知りたい場合は、GetMon…

UWSCでEXIF情報を読んでみる

前に、写真の撮影日時の秒単位がShell.Applicationでは取れない、というのがあった。 stuncloudさんが回答してくれた「Wia.ImageFile」がベストだけど、気が向いたのでバイナリーを読んでみた。

UWSCでWinsockを使う

stuncloudさんがUWSCでもWinsock簡単だよー、と言ってたので、挑戦してみた。 UWSCでIRCクライアント | たっぷす庵 まあまあなモジュールにできた。 現在同期版のため、使用の際には注意が必要。 追記 20131110 nonblocking版を作成したので、このスクリプト…

UWSCで排他制御

以前、公式掲示板に「UWSCの排他制御をJavaのsyncronizedのようにできればよいのに」といった書き込みがあった。 ので、考えてみた。 単純なイベントなりでの排他制御の場合、最初に待ちに入ったスレッドが次に実行されるわけではない。 このモジュールでは…

UWSCでスタックとキュー処理

UWSCには連想配列はあるけど、スタックやキューがない。 スタックは連想配列を使えば簡単なので、スレッドセーフなものを考えてみた。 で、Pushしてから先頭を取り出せば、Queueになるので、Stackモジュールだけど、キューも実装した。

UWSCでCUI(コンソールウインドウ)を扱う(その2)

UWSCでCUIを扱う、CUIモジュールを少し改変してみた。 STOPFORMで止められるようにした(メモリーリークするけど)。 ReadConsoleをUWSCのスレッドから直接呼び出すと、STOPFORMが利かなくなるので、ネイティブスレッドから呼び出すように変更。 ついでに、…

UWSCでDeflate圧縮する

http://zlib.net/で配布している1.2.8のDLLを埋め込んでみました。 DLLが大きいので、大きなスクリプトになっています。 174KBのスクリプトとか、、、アホかと。 なお、メモリーに乗り切らないような大きなデータは対象外です。 Zipファイル自体を扱うスクリ…

UWSCでDLLを扱う

ハフマン符号に手を出そうかと思ったし、実証コードも書いてみたけど、、、オレオレ圧縮はやめよう、そう思った。 なので、ZIPに手を出すことにした。 ZIPと言えば、zlib http://zlib.net/ だよね、ということで、これをAsmモジュール用に改造を考えたけど、…

javascriptで休日判定

UWSCで休日判定する際に休日について調べた。 UWSCで祝日を算出する - じゅんじゅんのきまぐれ その知識を利用して、javascriptで休日判定コードを書いてみた。 2007年以降用ね。(休日の名前を問わない場合は、2003/05/07以降使える) 追記 2018/06/25 2020…

UWSCで画像をクリップボード経由で扱う

UWSCのSAVEIMG/CHKIMG/PEEKCOLORが4.9でクリップボードに対応した記念。 PEEKCOLORは使ってないけど、SAVEIMGでクリップボードに放り込んだり、クリップボードの画像を文字列にしてみたり、その文字列から画像をクリップボードに戻したり、クリップボードか…

UWSCでLZSS圧縮

圧縮の簡単なロジックないかなー、と探してたらみつけた。 http://homepage2.nifty.com/natupaji/DxLib/lecture/Press/press.html これだけの計算をUWSCの配列とかでやることを考えたら、うんざりしてきたので、 Asmモジュールの技術を使って、Cで実行するこ…

UWSCでCUI(コンソールウインドウ)を扱う

素晴らしい! UWSCのコマンドラインインタプリタ | たっぷす庵 これですよ。 私が求めていたものは! そうか、AllocConsoleすれば良いのか、、、。 このままで充分便利ですが、stuncloudさんに投げられた、補完のお題に挑戦してみる。 が、、、結局上手くで…

遺伝的アルゴリズム

こっちをあげるのを忘れてた。 前日の安直なバトルゲームの強い遺伝子を探す、遺伝的アルゴリズム。

UWSCで安直なバトルゲーム

遺伝的アルゴリズム、ってあるじゃない? あれ、やってみたいなー、と思いまして。 お題を何にしようか考えて、、、バトルゲームはどうだろう、と。 適当にパラメーターと行動パターンがあるもの、ということで、作成してみた。

PowershellとUWSCの連携(その2)

PowershellからUWSCにコマンドを実行させる。 前回はIE経由な上に、PowershellとUWSCの二つのスクリプトが必要でした。 PowershellとUWSCの連携 - じゅんじゅんのきまぐれ 今回は、名前付きパイプを使用してIEを排除した上に、メンテするスクリプトを一つに…

UWSCのpowershell関数をスピードアップする(その2)

前回は、IE経由でした。 UWSCのpowershell関数をスピードアップする - じゅんじゅんのきまぐれ あれはあれで、オブジェクトを渡せる可能性を秘めているわけですが、IEを起動したりして、起動が遅い。 UWSC公式掲示板で、pshモジュールを利用した回答を書いた…

Powershellで名前付きパイプを扱う

.netで名前付きパイプを扱う方法ですね。

UWSCでBase128を作ってみる

先日、Base128を考えたので、スクリプトを作ってみた。 符号化は8bitデータ7つを7bitデータ8つと見て、0x00〜0x7fを0x2?〜0x6?,0xB?〜0xD?にマッピング。 復号化はその逆。

UWSCで1949年以降の祝日を算出する

現在の祝日は、以下がシンプルでおすすめ。 UWSCで祝日を算出する - じゅんじゅんのきまぐれ 過去も気になる人向けに考えてみた。 Googleカレンダー系も結構人手メンテが必要なようなので、算出できるのは有効かも。 こっちの今後のメンテは、私の気分次第。…

UWSCで祝日を算出する

UWSCの公式掲示板で祝日絡みの質問があった。 stuncloudさんが回答していたので、ま、質問自体は放置ですが、オフラインで算出する方法を考えてみた。 追記 2021/10/12 2020/2021年東京オリンピック周りの変更等を反映 追記 2018/6/25 2020年東京オリンピッ…