簡易Grep

はじめて扱うコマンドレットとかあると、作るのに時間が結構掛った orz 練習しないとぱっと作れないなーと実感。 $exp = '[正規表現 検索キーワード]' $extension = '[ファイル名 正規表現フィルター]' $target = "[検索対象フォルダ]" cls #dir -Path $targ…

今後のプログラミング訓練について

とりあえず覚えておいたほうが良い概念やら機能やらを列挙してみる。 モナド F#の計算式ビルダ(モナド的なもの?) 非決定性計算的なプログラミング Go言語 Python 上記の1〜3は必須 4〜5はGAEの開発研究が濃厚になればやり始める予定。 ただ Project Euler…

Problem 40

Problem 40 module Problem_0040 (* 正の整数を順に連結して得られる以下の10進の無理数を考える: 0.123456789101112131415161718192021... 小数第12位は1である. dnで小数第n位の数を表す. d1 × d10 × d100 × d1000 × d10000 × d100000 × d1000000 を求めよ…

Problem 39

Problem 39 module Problem_0039 (* 辺の長さが{a,b,c}と整数の3つ組である 直角三角形を考え,その周囲の長さをpとする. p = 120のときには3つの解が存在する {20,48,52}, {24,45,51}, {30,40,50} p ≦ 1000 で解の数が最大になる p を求めよ. *) //(840, 8) …

Problem 38

Problem 38 module Problem_0038 (* 192を1, 2, 3で掛けてみよう. 192 × 1 = 192 192 × 2 = 384 192 × 3 = 576 積を連結することで1から9のPandigital数 192384576 が得られる. 192384576を192と(1,2,3)の連結積と呼ぶ. 同じようにして,9を1,2,3,4,5と掛け連…

Problem 37

Problem 37748317 module Problem_0037 (* 3797は面白い性質を持っている. まずそれ自身が素数であり,左から右に桁を除いたときに全て素数になっている (3797, 797, 97, 7). 同様に右から左に桁を除いたときも全て素数である (3797, 379, 37, 3). 右から切り…

Problem 36

Problem 36 (* 585 = 10010010012 (2進) は10進でも2進でも回文数である. 100万未満で10進でも2進でも回文数になるような数の総和を求めよ. (注: 先頭に0を含めて回文にすることは許されない.) *) (* 872187 -- 0 1 3 5 7 9 33 99 313 585 717 7447 9009 153…

Problem 35

Problem 35 module Problem_0035 (* 197は巡回素数と呼ばれる. 桁を回転させたときに得られる数 197, 971, 719 が全て素数だからである. 100未満には巡回素数が13個ある: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, および97である. 100万未満の巡回素数…

Problem 34

Problem 34 module Problem_0034 (* 145は面白い数である. 1! + 4! + 5! = 1 + 24 + 120 = 145となる. 各桁の数の階乗の和が自分自身と一致するような数の総和を求めよ. 注: 1! = 1 と 2! = 2 は総和に含めてはならない. *) (* 40730 4443 ms *) let calc() …

なんという糞仕様なAccessのコンボボックス

コンボボックス内の任意のアイテムの選択の仕方 何でこうなったかと作った人に聞いてみたいですが、まー当時はこれでも大分便利だったんでしょう。。。 '''使い方: Call SelectComboBoxItem(Me.cmbTest, 14) Private Sub SelectComboBoxItem(ByRef cmb As C…

Problem 33

Problem 33 分数として扱わなくても計算できるだろうという観点で考えます。以下がこれまで考えた結果のまとめみたいなもの、4通りに絞れるはずが、3通りしかでなかったので、どこかに見落としが含まれているはず。。======================================…

Problem 32

Problem 32 module Problem_0032 (* 7254は面白い性質を持っている. 39 × 186 = 7254と書け, 掛けられる数/掛ける数/積に1から9の数が1回ずつ出現する. 掛けられる数/掛ける数/積に1から9の数が1回ずつ出現するような 積の総和を求めよ. HINT: いくつかの積…

化石スクリプトで作ってみる計画

出来うる限りスクリプトはPowerShellで作っていますが、対象サーバが Windows Server 2008 より以前のOSの場合はどうしても WSH や bat ファイルになってしまいます。 VBは見たくもないので、基本JScriptを利用した WSH を組み立てていく予定ではありますが…

ActiveDirectory からコンピュータ一覧を抽出し、ユーザ名とIPアドレスを取得する

途中まで リモート接続後に環境変数からユーザ名を取得できると期待したい。 Windows Server 2008 ならこんな苦労をせずに、IPv4Address というプロパティが用意されてるっぽい・・・ filter TestLoop { ('------------------------------------------------…

ローカルドライブ情報をASP.NETでJSON文字列として出力する。 part.4

「JSON = オブジェクトリテラル」と何年間も認識していたため、正しい書式が分からなかっただけでした。 下記のように修正することで動作を確認できた! ■ ソースコード (aspx.cs) 抜粋 private static string GetDriveSize() { var sb = new StringBuilder(…

容量サイズ名に変換

/** * Disk Size Name * 数値を PB TB GB MB KB B に変換する。 */ var dsn = function (num) { var sizename = []; sizename[0] = "B"; sizename[1] = "KB"; sizename[2] = "MB"; sizename[3] = "GB"; sizename[4] = "TB"; sizename[5] = "PB"; for (var cn…

ローカルドライブ情報をASP.NETでJSON文字列として出力する。 part.3

jQueryは数回しか使ったことがありませんが、何とか一応完成。■ 気に入らない点 $.ajax の dataType を "json" または var json = eval(data); を var json = $.parseJSON(data); にするとエラーになり1時間以上格闘しても、正しい書式が分からない為断念。 …

ローカルドライブ情報をASP.NETでJSON文字列として出力する。 part.2

C#

とりあえず、こんな感じで動くかもしれません。 jQueryコードは後日作成予定 ■コード(aspx) <%@ Page Language="C#" CodeBehind="Default.aspx.cs" Inherits="GetDiscSizeAjax._Default" %> ■コード(aspx.cs) public partial class _Default : System.We…

配列で指定したパスの子フォルダをすべて圧縮する。

<######################################################################### 【子フォルダ圧縮スクリプト】 圧縮ソフトは WinRAR を使用 フォルダの絶対パスを指定する。 指定された絶対パス内のアイテムごとに圧縮する。 圧縮の詳細 RAR書式 リカバリー…

ローカルドライブ情報をASP.NETでJSON文字列として出力する。

C#

超適当に書いたコードで、まだバグあるかと思います。 ドライブレターなんて文字列なのに引用符で囲ってないとか、他色々■コード(aspx) <%@ Page Language="C#" CodeBehind="Default.aspx.cs" Inherits="GetDiscSizeAjax._Default" %> ■コード(aspx.cs) …

ローカルマシンのHDD容量確認

F#

ASP.NET + Ajax による対象サーバの容量確認ページを作りたいので、.NET Framework の API の使い方実験コードを書いてみました。実験的なコードは fsi.exe を利用するのが非常に楽です。 すぐ確認出来るのが素晴らしい! open System open System.IO DriveI…

リモートPCの容量確認

書式がずれては Format コマンドの意味がないような・・・ 色々頑張ってみましたが、数値の右詰とか無理そうなので諦めよう。。■コード filter GetDiskSize { $server_name = $_ Get-WmiObject -Class win32_logicaldisk -ComputerName $_ | # ? { $_.Device…

.NET4.0の新機能 dynamic を使用したXMLの動的読み込みクラス

C#

修正したものは 「C# 4.0 dynamic による動的XML読み書きクラス」を参照修正項目 ・UTF-8の標準的なXML ・XML宣言の強制的な文字コード変換をコメント化 ほかバグをいくつか修正 - 色々と使いにくい点があるので、時間があれば修正予定 using System; using …

Subversion の管理フォルダを削除

プロパティ PSIsContainer これでフォルダかどうかの判定が出来るのは初めて知った。PowerShellのコードは適当に作った為、対象の「SVN」管理フォルダを削除した後に、そのフォルダの子階層をのぞこうとしてエラー出てる感じが見られました。 今度再帰処理の…

整数をカンマ区切りの文字列で取得

F#

何故 sprintf で出来ないのだろうか。。 open System; let fn (x:int) = String.Format("{0:#,#}", x);; let fn x = let cc = [| ""; ""; ""; ","; |] let rec fn' x (s:string) = if x <= 0 then s else fn' (x/10) ((string (x%10)) + cc.[s.Length % 4] +…

Cellの情報を取得

概要 Cells(3,3)のセル情報を1列目のセルに1〜100番まで出力する。構文 [<ExcelFunctionAttribute("セル情報")>] let GetCellInfo () = let cell = new ExcelReference(0,2) let gci i = XlCall.Excel(XlCall.xlfGetCell, i, cell) let sv row value = let cell = new ExcelReference(row, 0) cel</excelfunctionattribute("セル情報")>…

Problem 31

Problem 31 module Problem_0031 (* イギリスでは硬貨はポンド£とペンスpがあり, 一般的に流通している硬貨は以下の8種類である. 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p). 以下の方法で£2を作ることが可能である. 1×£1 + 1×50p + 2×20p + 1×5…

ファイルコピー 同ディレクトリ構造からファイルをコピーする。(ミラーコピー?)

■今後の課題 1.相対パスに対応させる。 2.パスの暗号化(ほぼ必要ないかも) ■コード $root = "C:\target" $fdir = "C:\mirrordir" $tdir = "C:\copytmp" filter FileCopy () { $relativepath = $_.FullName.TrimStart($root) $fpath = Join-Path $fdir …

Worksheetを選択する

概要 指定した名前のワークシートをアクティブにする。構文 [<ExcelFunctionAttribute("Sheetの選択")>] let SelectWorksheet () = let args = "[ExcelDnaSamples.xlsx]Sheet1" let ret = XlCall.Excel(XlCall.xlcWorkbookSelect, args) LogDisplay.WriteLine(sprintf "%A" ret) LogDisplay.Show() (</excelfunctionattribute("sheetの選択")>…

Workbookを選択する

概要 指定した名前のワークブックをアクティブにする。構文 [<ExcelFunctionAttribute("Workbookの選択")>] let ActiveWorkbook () = let args = "[ExcelDnaSamples.xlsx]Sheet1" let ret = XlCall.Excel(XlCall.xlcWorkbookActivate, args) LogDisplay.WriteLine(sprintf "%A" ret) LogDisplay.Show() </excelfunctionattribute("workbookの選択")>…