2009-06-01から1ヶ月間の記事一覧
特定のディレクトリ以下にあるJPEGファイルを一括でコピーする必要に迫られました。VC#でプロジェクトを作るのが面倒だったのでF# Interactiveでやってみました。ファイル名の重複を避けるため更新日時をファイル名にしています。 let recdir dir f= let rec…
Silverlightでクラスマップを作成しました。ライブラリの全体像を俯瞰できるかもしれません。 クラス名(名前空間なし)のリスト 継承関係のマップ 名前空間のマップ メンバのリスト マップの操作方法は以下の通りです。 ドラッグ(左ボタン):スクロール …
クラスツリーを横方向にも展開しました。 ⇒ 動作確認とソース今までの縦長のものに比べて見やすくなっていると思います。
昨日のクラスツリーは放射状に線が引かれていましたが、直線状が選択できるようにしました。 ⇒ 動作確認とソース縦に長すぎるためレイアウトを工夫してみます。
Silverlightのクラス継承関係をツリー表示しました。 ⇒ 動作確認とソース ドラッグ(左ボタン):スクロール ダブルクリック(左ボタン):全体表示 ホイール回転:拡大・縮小 あまり継承関係が深くないのは意外でした。
F#で値型の操作に失敗してハマりました。 ※以下のプロンプトはid:n7shi:20090612のセミコロン省略版fsiを使用しています。 > let r=Rect() val r : Rect > r.Union(Rect(1.0,1.0,2.0,2.0)) val it : unit = () > r.ToString() val it : string = "0,0,0,0" U…
Silverlightは左クリックしかサポートしていません。ホイールはHTMLからイベントを取れば扱えます。右クリックはWindowlessモードにすればHTMLからイベントが取れるようになります。ですがWindowlessモードはIMEがサポートされないなど制限があるため、なる…
XAMLなしの以下のようなコードで、Pageにイベントが来なくてハマりました。 public class Page : UserControl { public Page() { MouseLeftButtonDown += (sender, e) => Debug.WriteLine("Page"); } } 何か置かないといけないのかと思ってCanvasを置いてみ…
ListBoxのアイテム上でクリックしてもMouseLeftButtonDownイベントが起きません。これはListBoxItemの中でイベントが片付けられてしまうためです。WPFの場合はPreviewMouseLeftButtonDownで回避できますが、Silverlightにはありません。そのためListBoxItem…
F# Interactiveはとても便利なのですが、セミコロンを2つ入力するのが面倒です。そこでセミコロンを省略して、インデントも自動化してみました。使用例は以下の通りです。空行でインデントから抜けています。 > let f x= - if x%2=0 then - "偶数" - - else …
昨日までWPFでやっていたことをSilverlightに移植しました。⇒ 動作確認とソースWPF版との違いは以下の通りです。 対話環境 ⇒ プログラム Window ⇒ Page MouseDown/MouseUp ⇒ MouseLeftButtonDown/MouseLeftButtonUp プロジェクトの作成方法は以下の通りです。
昨日と同じことをIronPythonでもやってみました。Visual Studio内のIronPython Consoleから実行するとイベントループが回るためコマンドを入力しながらウィンドウを操作することができますが、コマンドプロンプトのipyからだとイベントループが回らないため…
F# InteractiveからWPFの図形を操作してみました。LOGO気分でWPFの操作を覚えられるかもしれません。WPFを読み込みます。 #r "PresentationCore.dll";; #r "PresentationFramework.dll";; #r "WindowsBase.dll";; open System.Windows;; open System.Windows…
マクロでオートシェイプを複数選択するとき、RangeにNameの配列を渡します。 ActiveSheet.Shapes.Range(Array("Picture 1", "Rectangle 1")).Select Excel 2003ではNameプロパティの数字部分は自動で割り振られていたのですが、Excel 2007ではコピーすると同…