低レベル グローバルフック による キーボード マウス ビューアー for F#

F#

キーボード&マウス ビューアー ひとまず完成!アプリに設定出来る項目はいくつかあるけれども、プログラム内にハードコーディングしているため毎回ビルドする必要あり。 自分用アプリなので設定は変えるつもり無いため、とりあえずこのまま使います。欲しい…

F# で ビジュアルデザイナを使ったGUI編集が出来るかも

F#

XAMLのデザイナは動きますが、イベントとかにコードジェネレータに対して働きかける事は出来ませんでした。 コードジェネレータが動きませんので、Classディレクティブ?が含まれてるXAMLも例外がはかれてダメダメでした。 x:Classなどのコードを削除すれば…

Git を使った Github リファレンス

Git

■ローカル関係の操作 コマンド 内容 git init カレントディレクトリをリポジトリとして初期化 git status カレントリポジトリに対する変更が加えられたファイルがあるかを確認する git add [ファイルパス] リポジトリに変更を加える git rm [ファイルパス] …

グローバルフック − F#で低レベルフック

F#

F# から SetWindowsHookEx を使った低レベルフックのコードを書いてみた。 作るのに1日掛かった orz ■作るのに必要な知識(覚えた知識) マーシャリング WindowsAPI F#の構造体 32bitアプリと64bitアプリ事に作る意味? ■使用しているWindowsAPI SetWindowsH…

朝まで掛かった Github セットアップ

糞面倒くさいセットアップが朝まで掛かっちゃいました。 出来なかった原因は不明。 とりあえず Git の再インストールから行えば出来る様になりました。 ■環境 Windows7 Ultimate 64bit■参考サイト Gitのインストールのみ 英語が読めなくても画像だけで手順は…

あるフォルダ配下のbinとobjフォルダをすべて削除する。

$target = "あるフォルダ" $delfolders = "bin","obj" filter DeleteFilter { if($_.PSIsContainer) { $file = $_ $check = $false $delfolders | % { $check = $check -or ($file.Name -eq $_) } if($check) { rm $_.FullName -Force -Recurse } } } dir $t…

ニコ生 コメントビューアーのソースコード一式

F#

ニコ生放送のコメントの送受信を行うためのライブラリです。 非同期送受信を行う為、使う側はマルチスレッドを意識せず使うことが可能です。 ソースコード一式は以下のファイルをダウンロード下さい。 NiconicoAPI.rar ■ 注意 解凍出来ないというコメントは…

F# 3.0 の本

F#

Programming F# 3.0, Second Edition 23ドル!

ニコ生 コメントビューアー API - CommentClient.fs

namespace RLib.NiconicoAPI #light open RLib.NiconicoAPI.Xml open System open System.IO open System.Net.Sockets open System.Text open System.Threading (* TODO: 機能追加 1. 各XMLのレコード定義 2. XMLテキストをレコードに変換 3. 0コメ取得コー…

ニコ生 コメントビューアー API - HTTPCommunication.fs

F#

namespace RLib.NiconicoAPI #light open System open System.Net open System.Net.Security open System.Net.Sockets open System.IO open System.Text /// HTTP簡易通信モジュール module public HTTPCommunication = /// HTTPCommunicationモジュール内専…

ニコ生 コメントビューアー API - Commons.fs

F#

namespace RLib.NiconicoAPI #light open System open System.Text.RegularExpressions /// ニコニコIDの入力規則が一致しない場合に投げられる例外 exception NiconicoIDException ///<summary>ニコニコIDに関するモジュール</summary> module internal NiconicoID = ///<summary>ライブ</summary>…

Windows ジャンクション (シンボリックリンク)

「C:\Users\devuser01」を覗いた時に内部的には「D:\devuser」のフォルダの中身を表示させる仕組みとなる。 ■対象OS Windows XP Windows Server 2003 ■コマンド junction.exe "C:\Users\devuser01" "D:\devuser" junction.exe "C:\Users\devuser02" "E:\devu…

レジストリの変更とログ出力

IEのホームボタンを押した時にジャンプするURLを変更するPowerShellスクリプト $path = "HKCU:\Software\Microsoft\Internet Explorer\Main" $keyname = "Start Page" $log = "registry.log" $in = Read-Host "レジストリーのキーを入力して下さい。" if(-no…

ニコ生 コメントビューア 開発TOP

■参考ソースコード ニコ生 コメントビューアーのソースコード一式 ニコ生 コメントビューアー ソースコード一式 (Github) ■リンク ニコ生のコメントを取得 (実験用) ニコ生 コメントビューアー API - Commons.fs ニコ生 コメントビューアー API - HTTPComm…

文字列の挿入

正規表現置き換えが無いので、仕方なく代用のものを探してみたところ VB の MID関数 みたいな関数があった。■SQL SELECT STUFF('abcdef', 2, 3, 'ijklmn'), CHARINDEX('@@@','abcd@@@efg'), STUFF('abcd@@@efg',CHARINDEX('@@@','abcd@@@efg'), LEN('@@@'), …

判別共用体でのシリアライズ

F#

F# – Serializing F# Record and Discriminated Union typesF# Discriminated Union WCF, and DataContract attribute DataContractSerializer クラス XmlSerializer クラス データ コントラクト シリアライザーでサポートされる型

NUnit 参考サイト

F#

NUnit 2.5

F#用 Visual Studio の設定

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config■ナビゲーションバーを追加したい場合 devenv.exe.configの一番下に以下の文を追加する。 <appSettings> <add key="fsharp-navigationbar-enabled" value="true" /> </appSettings> ■C#のregionを使いたい場合 devenv.exe.configの一番下に以下の文を追加する…

自作DLLの呼び出し ― ハッシュ値の取得

Add-Type -Path "RLib.Security.dll" [RLib.Security.Commons]::getHash("1234567")

WebRequest WebResponse を使ってHTTPのデータ送信&受信

URLや送信データは適当に置き換えたもの。 cls [string]$url = "https://www.google.co.jp/" [string]$dir = (Split-Path ($MyInvocation.MyCommand.Path) -Parent) [string]$postext = (Get-Content (Join-Path $dir "postdata.txt")) #SSL/TSLの設定 [Syst…

ニコ生のコメントを取得 (実験用)

F#

実験用なのでかなり汚いです。 コメントもないので参考にならないかもしれません。 ■メインコード namespace Samples open RLib.Niconico.Net.Cookies open RLib.Niconico.Net.NiconicoNet open System open System.IO open System.Net.Sockets open System.…

スレッドプールについて

F#

※結果は「Windows7 Ultimate 64bit SP1」の環境MSDNより ThreadPool.GetAvailableThreads メソッド スレッド プール スレッドの最大数 (GetMaxThreads メソッドから返される) と現在アクティブなスレッドの数との差を取得します。 ■コード System.Threading.…

各ビット位置の10進数値が知りたい場合

F#

もっとスマートな書き方があると思うけれども、これでも十分F#は素晴らしいと思う今日この頃 F#からC#に戻れないかも■コード let bitSeq = seq { for x in Seq.initInfinite ((+)0) -> (1 <<< x) } bitSeq |> Seq.take 10 |> Seq.toList ■結果 val it : int …

書置き

http://msdn.microsoft.com/ja-jp/library/dd233213.aspxhttp://blog.iss.ms/2008/02/11/160416http://www.asterios.biz/softwareNikoInfo.htmlhttp://d.hatena.ne.jp/halxxxx/20090325/1238007766http://homepage2.nifty.com/kotatuinu/contents/computer/p…

Reactive Programmingについて

F#

参考になりそうなサイトのリンク Reactive Extensions再入門 その6「HotなIObservableを作成するファクトリ」 http://d.hatena.ne.jp/okazuki/20111109/1320849106Rxでのイベント変換まとめ - FromEvent vs FromEventPattern http://neue.cc/2011/07/06_332…

本を買おうか迷う

日本Amazonだと6500円とぼったくられる本です。 The Way to Go: A Thorough Introduction to the Go Programming Language Amazon.com だと3000円くらいでした。 The Way To Go: A Thorough Introduction To The Go Programming Language あと、中身がどんな…

C# 4.0 dynamic による動的XML読み書きクラス

C#

■使い方 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace DynamicSamples { public class Sample001 { public static string GetItems() { dynamic xml = new DElement("DynamicSampleX…

連番文字列生成

ちょっとした文字列生成は以前までExcelでやっていましたが、PowerShellやF#がとっても楽だと最近気づいたという■ PowerShell 1..20 | % { "btnTest_{0:000}" -f $_ } ■ F# [1..20] |> Seq.iter (printfn "btnTest_%03d");; ■ 結果 btnTest_001 btnTest_002 …

Project Euler リンク集

Project Euler の回答記事リンク集■F# まずは Program.fs を定義 Problem 001 Problem 002 Problem 003 Problem 004 Problem 005 Problem 006 Problem 007 Problem 008 Problem 009 Problem 010 Problem 011 Problem 012 Problem 013 Problem 014 Problem 01…

作りたいソフト(妄想)

プロセスメモリエディタ(Android用) スケジュール管理(HTML5、JQuery、Python、のGAE練習) プロセスメモリエディタは元がLinuxになるので、知らないことが多すぎてかなり難しいと考える。 JNIも余り使いたくないですし。。。