スキップしてメイン コンテンツに移動

投稿

2月, 2009の投稿を表示しています

外部アプリケーションを起動する

自分が作っているアプリケーションとは別の、外部アプリケーションを起動するには、Visual BasicではShell関数を使用していた。.NETにおいてもVisualBasic名前空間に存在しているが、せっかくなのでC#流に(C#でもVisualBasic名前空間を使用することは可能)。 C#ではProcessクラスを使用する。 一番簡単な方法はProcessクラスのStartメソッドに、外部アプリケーションのパスを指定する方法。 System.Diagnostics.Process.Start("ping", "localhost"); 外部アプリケーションが終了するまで、待機するにはStartメソッドで取得したProcessクラスオブジェクトのWaitForExitメソッドを呼ぶ System.Diagnostics.Process p = System.Diagnostics.Process.Start("ping", "localhost"); p.WaitForExit(); StartメソッドにはProcessStartInfoクラスのインスタンスを渡すオーバーライドも存在する。ProcessStartInfoクラスを使用すれば、より詳細に外部アプリケーションを制御できる。 例えば、CreateNoWindowsプロパティ、UseShellExecuteプロパティを指定するとpingのプロンプトは表示されない。 System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(); info.FileName = "ping"; info.Arguments = "localhost"; info.CreateNoWindow = true; info.UseShellExecute = false; System.Diagnostics.Process p = System.Diagnostics.Process.Start(info); p.WaitForExit(); Proce

1234567890秒の日

2009/2/13 23:31:30(UTC)は、1970/1/1からの秒数であるUNIXタイムがちょうど「1234567890秒」となる。日本時間では2009/2/14 8:31:30。朝だ。 こちら に紹介されているが、1234567890 Dayというサイトがあるらしい。 http://www.1234567890day.com/ C#で1970/1/1から1234567890秒後を表示するコードを書いてみた DateTime unix = new DateTime(1970, 1, 1); DateTime partytime = unix.AddSeconds(1234567890); Console.WriteLine(partytime.ToString()); Console.WriteLine(partytime.ToLocalTime().ToString());

第60回 さっぽろ雪祭り

さっぽろ雪祭りも今年で第60回。仕事の帰りに寄ってみた。こんなにじっくり見たのは小学生以来かも。 25周年 アイドル的な お掃除中 他にもいくつか撮ってきている。 http://picasaweb.google.co.jp/fel97048/SAPPOROSNOWFESTIVAL2009#

CLR/H Tech Dayのメモ

2009/2/7に開催されたCLR/H Teck Dayに参加してきた。 C#4.0の衝撃 数ある新機能の中でも、動的言語との統合が目玉 オプション引数・名前付き引数は、Python・Rubyなどでも実装されている為かも COMの呼び出しでは、Type Missingが不要に(VBでは今までも省略できていた) プロジェクターの色合いがおかしい 動的型付け(Option Strict Off再び) インテリセンスは当然効かない COMやIronPython・IronRubyの呼び出し等に限定するのが妥当か オプション引数のデフォルト値は、オーバーライドでは引き継がれない? SilverlightでAnimation Silverlightでは本当の3D演算はない 擬似的に見せることは可能 自分で決めうちでコーディングしてしまう SinとかCosとか使って計算(俺まったく覚えてねー) 衝突判定は、円を用いるのが簡単 大阪弁ええなー VisualStateManagerでパタパタアニメ ボタンの表示切替などにも利用できるのでは お土産頂きました Silverlight Toolkitについて 飛び入りのセッション サンプルの日本語化をした チャート(グラフ)は、使用するチャート(棒グラフか円グラフか等)を変えるだけで、同じ使用方法で表示を変えられる。 円グラフでゲームキャラクタも 今回は満員で予約締切になるほどの大盛況。LTではSilverlightをGearsを使ってオフラインでも動かすという、MicrosoftとGoogleの夢のコラボも(トラブルで5分以内に動作確認できなかったけど)。今回も非常に楽しいイベントだった。

よりPythonicなPythonを目指して

@ITにPython 3での機能変更についての記事が公開されている。 よりPythonicなPythonを目指して[前編] Python 3が後方互換性を捨ててでも求めたもの print()関数 - 式から関数へ 8ビット文字列から、ユニコード文字列へ 新しい文字列型「bytes型」 よりPythonicなPythonを目指して[後編] 言語としての一貫性を重視したPython 3の進化 int型の統合、数値の扱いの変更 イテレータとview より明確な文法となった「例外」 モジュールの統合や改名 Python 3の進化の方向性 後方互換性を捨てたバージョンアップの内容がわかりやすい。Python 3からPythonをはじめる者にとっても、非常に為になる記事。 さて、すっかりPythonの勉強をサボってしまった。何かネタを決めて取り組んでみよう。

Windows 7 のインストールで遊ぶ

2009/1/13にWindows 7 Betaの一般配布が開始されていた。いろいろなところでインストールのスクリーンショットつきのレポートを見た。それらを見てある画面を見てちょっと気になったことがあった。 ある画面 背景画像とウィンドウがきれいに重なっているが、 ウィンドウをずらしたらどうなるのだろう 、と。 ずらしてみた。 世の中そんなものだ。 よく見てみると、初期の位置でも完全に一致しているわけではなかった。無駄なことをしてしまった。 こんな事を仕事中に考えているからといって、暇なわけではない。