プログラミング」タグアーカイブ

Speakedraw(4) – 追跡せよ(私の足跡?)


関数move内で進行方向が変わったときにオブジェクトの軌跡を辿る線を描きます。と言っても始点に想定される壁の位置から終点と想定される反対側の壁の位置を結ぶ線です。壁に当たる以外にもオブジェクト同士が接触した時にも描くのでちょっと面白く描かれる時もあります。(オブジェクト接触時は想定外の振る舞いもありますがこれも偶然の産物ということで。)

まずは関数setFromToです。
進行方向と逆に向かって壁に接触するところを始点として設定して
進行方向に向かって壁に接触するところを終点とします。

続いて実際に始点と終点を算出する関数getCanvasEdgeです。
現時点のXY座標と角度から壁に接触する座標を取得します。

動作するプログラムはこちらです。
ちょっと図解もしておきます。
続きを読む

RDSync その2 – まずはコンソールアプリで


最終的に画面があるアプリにするつもりですが、手始めにコンソールアプリでコアとなる機能の検証をしつつ作り始めていくことにしました。

メディアファイル

そもそもどんなフォーマットのファイルがあるのかその拡張子は何なのか、普段使っているもの以外でもあるのかなぁと思いつつ必要と思われるもの(一般的なもの?)をリストして、写真ファイルなのか、映像ファイルなのか、音声ファイルなのか判断できるようにします。(拡張子とフォーマットが違ったらアウトですが、それはしょうがないので無視)
写真ファイルは以下の拡張子を定義
.jpg / .png / .gif / .raw
映像ファイルは以下の拡張子を定義
.mov / .mp4 / .avi / .mpg / .wmv / .flv / .mts / .m2ts
音声ファイルは以下の拡張子を定義
.mp3 / .wav / .aiff / .aac / aif / .m4a

メディアファイルの取得

SDカード、USBメモリは.NETのDriveInfoクラスでDriveTypeがRemovableで判断してそのドライブ配下のすべてのメディアファイルを取得ます。
指定されたフォルダと作成日からコンピュータの保存先を決定。

重複ファイルのスキップ

作成日が同じ名前が同じファイルがあったらスキップさせます。

コピー

同じファイルがなければコンピュータにコピーしていきます。

と言うのが基本的な流れ。画面があっても処理は大きな差はないですね。

こんな感じでコピーの状況を出力しながら動きます。(音はおまけ)

C#.NET LINQ

@ITのInsider.NET、C#3.0入門までやってみました。
http://www.atmarkit.co.jp/fdotnet/csharp30/index/index.html
前述の通り、知らない機能が沢山あって衝撃の嵐。
あのときに使えたら!という物もちらほらと。

個人的にプログラミング自体かなりブランクがあったので
確かにいい勉強にはなりました。
LINQは面白いですね。
オブジェクトの操作をSQLっぽくできるという点は特に。
列挙に入れて、検索もびしばしやれますよ。
しかしですね、そもそも今まで列挙をそんなに使う開発なんかしてたっけ?
DBの出し入れがメインの業務アプリではあんまりないような気がしないでもないけど、
まぁ密かに、チャンスを見つけて使っていきたいと思います。
オマケとしてはLINQの学習でラムダ式もちょくちょく出て来て、
こちらの理解度もちょっとは上がった模様。
まだまだ奥は深いC#の世界ですが、
とりあえず3.0までメインとなる機能を触る事ができるようになったので
これくらいにして明日は違う事をやる予定。
とりあえず、画面系の勉強でもしますかってJQueryかな。。。

という事で、今回学んだ事列挙。ってタグづけもするけどね
Oracle 11gインストール
Oracle 11gクライアント設定
Oracle 11gユーザーの作成
ODP.netでOracleの操作
Generic
匿名メソッド
デリゲート
ラムダ式
型推論
var
コレクション初期化子
匿名クラス
拡張メソッド
LINQ

後は忘れないようにたまに復習もせな。