だらだらやるよ。

こげつのIT技術メモ

C#

C#でクラスインスタンス変数が使いたい

C#

使えないのかな。。。

あれ、バグ?なのかしら。(追記)仕様でした。

C#

ちょっと時間なかったのでちゃんと調べれてない。。。 ディレクトリの削除時にどうもおかしな挙動が。 .NETのバージョンは4.0かな。 フォルダを中身ごとまるごと削除したいと思って、 DirectoryInfo dir = new DirectoryInfo(path); dir.Delete(true); って…

ボタン押したら画面のロックする。みたいなとき。

Windows Phone 7で、アプリ内でロックさせたい時とか。 こんな感じかしら? private void LockButton_Click(object sender, EventArgs e) { if (this.SupportedOrientations == SupportedPageOrientation.PortraitOrLandscape) { if (this.Orientation == Pa…

UTFのコードポイントを文字列に変換する。

C#

サーバからの返答が\u[0-9a-f]な文字列で返ってきたので作りました。 もうちょっと簡単な変換方法ありそうなものなのだけど。。。誰か知りませんか。 とりあえず僕のコード張っておきますね。 public static string ConvertUnicodeCodePointStringToString(s…

タイピングのリズム

C#

古い話ですが、.NET3.5以降、varキーワードが導入されました。 //2まで List<string> list = new List<string>(); //3.5からはこうかける。 var list = new List<string>(); タイプ量は減ったはずなのですが、いまいちどうも慣れません。 どうしても型から書いてたときの癖で、まず型</string></string></string>…

ラムダ可愛いよラムダ

C#

前C#メインで使ってたときは2.0環境がメインだったので、ちょこちょこと新しい書き方(ってももうだいぶ前の世代だけど)になれながら書いてます。 できるだけラムダとかLinqも慣れたいなーと思いつつ、クエリ形式のLinqにはまだなじめてない感じですね。 で…

zxingを使用してQRコードを読み込むんだけど重すぎてくそだったので修正した話

.NET CFでQRコードの実装探してたんですよ、 ぐぐったらOpenNETCFで使えるとか書いてるけど見つからず。なんだったんだろう。。。 というわけでわりとメジャなライブラリであるところのzxingを使うことにしました。 で、CF環境でzxingを使う場合のメモ ソー…

複雑なパターンでのファイル名検索

C#

複雑。とは言っても拡張子がhtmlとphpだけ探したい。とかそういうの。 C#だと、Directory.GetFilesメソッドとか使うんですが。 これだと探索パターンが限られてしまうんですよね。 具体的に言うと、ワイルドカードが、*(任意ゼロ文字以上)と?(任意1文字…

Twitterの認証方法の変更

ああああ、SmartterいまだにBasic認証なんですごめんなさい。。。 ちょっと最近いろいろとやってて忙しいのですが、 要望あればできるだけ早めに対応します。。。

.NETで使えるテンプレートエンジン。続き

C#

ちょいとNVelocityを使ってみています。 微妙にはまりポイントとかもあったのでまた後ほど。 とりあえず書いておくと、テンプレートのパスの指定が絶対パスそのまま渡してもうまくいかないので相対パスに変更する必要あります。非常にはまりやすいポイントだ…

C#で使用できるテンプレートエンジン

C#

C#てか.NETですね。いくつかあるようですが、テンプレートエンジンの主要な用途である、 WEBサイト用としては、ASP.NETがすでにテンプレートの機能を同梱しているので、 クラスやHTML、XMLなどを生成する際のテンプレートエンジンとしては、決定的なものがあ…

Re:Re: 不完全にしてかなり言葉足らずな比較プログラミング言語学

C#

僕もC#でやろうと思ってたのでちょっと気になったところだけ。 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー Re: 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 平々毎々(アーカイブ) 値渡し、参照…

C#でXLSファイル作成する。

なんか昔書いた記憶があったんだけど、ソースがどっかいったので。。。 汎用に使用できるように、DataSetから、各DataTableをそれぞれシートに保存するようなコード書きました。 なぜか手元にコードがなくなってたけど最初から書くのは大変なのでぐぐった。 …

Windowsアプリケーションを作るときに昔から悩んでいること

C#

仕事でC#を使う期間はそれなりにあったのだけど、 使う回数はそう多くなかったのでちょっと練りこめてないこと。フレームワーク的なものを使わないC#のWindowsアプリケーションで なんらかの登録処理を書くとします。 private void btnSave_Click(object sen…

yield returnを理解した!

C#

いや、その理解があってるのかどうかはわからないけど(理解なんてそんなもんだ)、 使い方はわかりました。 たとえばこんなループ private void Form1_Load(object sender, EventArgs e) { //ファイルの中から数値だけの行のみを表示する //数値は奇数のみ st…

TwitterConnector.cs修正しました。

C# WM

ここの日記のコメントで指摘された点を修正しました。 Twitter側の仕様変更により接続できなかった部分 例外処理が抜けてた部分 超ノーチェックなのでコンパイル通らなかったらごめんなさい。TwitterConnector.cs using System; using System.Collections.Ge…

C#でtry-catch文を書いていないところで起きた例外を取得する。

C# WM

例外処理ってきちんと書いているつもりでもうっかり書き忘れたりするんですよね。 C#もJavaみたいに例外処理を強制するような仕組みがあればいいなぁとたまに思うのですが。 あとはほんとにどこで起きてるか良くわかんない例外をキャッチして握りつぶしたい…

ローカライズされてるかどうか確認する方法。

C#

これの続き。 もちろん英語OS環境とかで実行させたらいいんだろうけど とりあえず手元で動かしたいときにめんどくさい人向け。 詳細はあんまり調べてないけどとりあえず確認できたのでよしとする。 System.Threading.Thread.CurrentThread.CurrentCulture = …

Windowsアプリケーションでローカライズの手順

C#

微妙に情報が散らばっててわかりづらかったのでメモ。 Windosフォームに貼り付けたラベルに関しては@ITの以下の記事を参照。 .NET TIPS Windowsフォームを多言語対応にするには? - C# VB.NET VS.NET Webフォーム - @IT これだととても簡単にGUIで多言語対…

XmlSerializerではまった

C#

最近俺俺ライブラリを作ってたのですが、はまりました。 WindowsMobileアプリで設定画面を楽に作るためのライブラリなんですが、設定の保存部分にXmlSerializerクラスを使ってて、シリアライズはできるけどデシリアライズできないという現象に引っかかりまし…

やっとこさ作りました。

他にも実装したい機能はあるのですが、WindowsMobile用Twitterクライアント作りました。 Smartterと書いてスマタと呼びます。アイコンは@yukogetsに描いてもらいました。感謝! よかったら使ってみてください:-) http://hackersdelight.jp/ インストールはGi…

Twitterクライアント作ってます。

C# WM

だいぶのびちゃったけど今月中には公開する予定。 接続用クラスとかパーサ書いたから張っておこう パーサはとりあえずXPath使わずに書いてみた。パフォーマンス見てXPathのが良かったら切り替える予定。TwitterConnector.cs using System; using System.Coll…

接続されてるデバイスを取得する

C# WM

ちょっと色々使うかもしれないってんで調べてたら見つかったのでメモ これでカメラの音消したりもできるかなー? ServiceController[] scs = ServiceController.GetDevices(); foreach(ServiceController sc in scs) { //探してるデバイス名とかと一致させて…

XmlSerializerがちょっとだけ不便だったのでつくった。

C# WM

設定の保存などに便利なXmlSerializerなのだけど、毎回ストリーム渡すのとキャストで値受け取るのがめんどくさかったのでラップした。 値型は返さない方向でとりあえず。 public class ExXmlSerializer<T> : XmlSerializer where T : class { public ExXmlSeria</t>…

久しぶりにC#でEvalしたよ。というか対話式シェルっぽいの作ってみた。

C#

途中まで昔に作ってたんだけど、変数の値を保存する仕組みがなくてお蔵入りにしてたやつ。 とりあえず変数の値は保存できるようになりました。そのかわりコンソールに値出力するときはConsole.WriteLine呼ばないと出力できません。 毎回値表示して返せたらい…

C#でPluralizeとSingularizeしてみた

C#

http://d.hatena.ne.jp/nagakura_eil/20080713/p3 の続き またRailsの実装をそのままC#で書き直したような感じです。 微妙に終わってないけど。。。Inflections.csを作成 static class Inflections { static List<string> _uncountable = new List<string>(new string[] { "e</string></string>…

Microsoft OfficeにOCRが付属していたらしい

C#

ここ最近フリーのOCRライブラリを探してて、smartOCRのDLLはライセンス的にまずいよなぁとかうんうん唸っていたら発見 http://tmp.junkbox.info/e48.html これでC#でOCRが使える!まだそんなに試してないですが、個人的にちょっと作りたいソフトがあったので…

メモ、キー入力の取得について

C#

KeyDownとKeyUpイベントはキーコードを取得するので、大文字と小文字の状態を判定できない。 KeyPressは入力を取得するので、Shiftなどの文字が入力されないキーはイベントが発生しない。 KeyDownとKeyPressはキーを押しっぱなしにしたときに複数回イベント…

Excelファイルの読み込み

C#

エクセルのファイルを読み込もうとすると、エクセルがマシンにインストールされてる必要があるんですよね で、作ったアプリをうきうきしながら走らせると別のマシンでこける。と ちょっと調べてたところ、読み込みだけならエクセルがインストールされてなく…

Camelizeしてみた

C#

ついでにこれも作ったので張っておく RailsのActive Supportに用意されてるcamelizeメソッドを参考に書いてみた。 スラッシュとコロンの変換ははぶいちゃいました。 Regexがメンバになってるのはパフォーマンス気にしただけ。 private string Camelize(strin…