C#
積ん読ならぬ、積んブログ。*1FileInfo クラスの MoveTo は、ディレクトリへの移動*2ができないのと、強制上書き*3ができないので、こんな感じの外部メソッドを使っている。 private void MoveToDir(DirectoryInfo dir, FileInfo file) { FileInfo target = …
仕事メモ。C# でパスワードつきの Excel を取り扱おうとして、Excel._Workbook(だっけ?) の HasPassword()を使ってみたら、Open 時にすでにパスワードを聞いてくるダイアログが上がってしまいダメ。Open 時に何とかするしかないなー、と思って MSDN 見ても…
ウチのチームの別のグループで、C#を使って開発をしているのですが、比較的人数が多いせいかプロジェクトファイルが頻繁に壊れてるみたいです。svn update した時にファイルが消えただとか、プロジェクトファイルがコンフリクトしただとか、あちこちから悲鳴…
ちょっと前に、自分で書いた C# のアプリで FTP の送り先を変えたのだけど、それから散発的に FTP のエラーが発生して悩んでた。で、検索してみたら、こんなのが。 FTP受信中にエラー - Insider.NET おそらくは認証の問題です。 接続先サーバーもネットワー…
SQLite でDateTime 型のカラムに「2008/10/15」というデータを突っ込んだら取り出し時にエラーになった。。。びっくりした。インサート時にエラーにして欲しいよなぁ。。。環境は、インサート時は SQLiteManager で、取り出し側は System.Data.SQLite(C#)ね…
友人が mixi で「Nullable 型 で null なときに、ToString()を呼んだら ぬるぽ じゃなくて、""が返ってきてびっくりしたぜ」的なことが書いてたので、「おいおいそんなことないだろ」と思い、ちょっと書いてみました。 using System; using System.Collectio…
パスワードっぽい文字列を生成するクラスを書いた。static にしてるので、 string passwd = GenPass.Exec(); みたいに使います。perl モジュールのgenpassをそっくりそのまま移植したような感じ(つーかまるパクリ)。見間違いやすそうな、oとOと0とlと1とIあ…
2つのファイルの差異を見たい、というか、「対象ファイルが違っていたら、上書きコピー」みたいな処理をしたいと思って、最初は単純にサイズだけ見てました。でも対象がバイナリファイル(Excelとか)だから、「サイズだけだとちょっと危ういかなぁ」と思い、…
うーん、ちょっとタイトル違うかな...。正確には、「対象のディレクトリが、変更されてから、引数で与えられた秒数よりも時間がたっているかどうかをチェックする」です。「あるアプリがローカルフォルダにコピーしたディレクトリを、リモートのフォルダにバ…
if ( SomeCondition1() ) message = "some condition 1だよ〜ん"; //本当はマジメな文 else if ( SomeCondition2() ) ; //何もしない else message = "else だよ〜ん"; //本当はマジメな文 //... みたいなコードを書いたらコンパイラに怒られた。(警告)。調…
ISO だか何だか知らんけど、会社では、インストールしたアプリケーションを届けないといけなくなった。めんどい。つーか、いちいち覚えてられないし、そもそも記憶ベースだと不正確だし。「Windows が覚えてるのなら、Windows にやらせればよくね?」と思っ…
以前、ちょっと書いたのですが、ccnet.config をちょっと見直してもう少し使いやすくなりました。こんな感じ。 <cruisecontrol> <project name="Project1" > <triggers> <scheduleTrigger time="09:10" buildCondition="ForceBuild" name="Scheduled" /> </scheduletrigger></triggers></project></cruisecontrol>
CruiseControl.NET を導入してみた。「CruiseControl の常時結合で、Agile な開発!」とか壮大なことを考えていたわけではないです。つーか基本的に一人開発だし。単に「svn add 忘れを防止したいなぁ」、というそれだけ。なので、ccnet.config も超単純。基…
表題のやつ。 意外と簡単!? .NETでOracle -OTN Japan ODP.NETでは、通常であれば、tnsnames.oraファイルに記述する内容をアプリケーション・コード内に記述することが可能です。 つまり、こんな感じに書いていい。 string connectionString = @"User ID=Scot…
今まで、自作アプリをインストールするときは、単純にファイルコピーしていました。けれども、ファイル数が増えてくると手順が煩雑だし、それを手順書に書くのはもっと嫌なので、「インストーラを作ったら簡単じゃね?」と思ってやり方を調べてみました。 意…
昨日の訂正記事です。C# で空ファイルを作るには、StreamWriter を使う方法と File.Create() を使う 2 つの方法があります。 やっていることはどちらも同じ。 StreamWriter を使う方法 private void Touch(string path) { if ( !File.Exists(path) ) { Strea…
空ファイルを作るとき、File/FileInfo の Create() は使ってはいけない。StreamWriter を使って、空ファイルを作るのが良さそう。こんな感じ。 private void Touch(string path) { if ( !File.Exists(path) ) { StreamWriter toucher = new StreamWriter(pat…
C# とかの開発で、今まで VSS を使っていたのを Subversion に移行しています。ちょっとハマったり、困ったこともあったけど、何となくコツが分かってきたのでメモ。ASP.NET はまだやってないので、追加すべきものがもっと増えるはず。(*.aspx が必要なこと…