月別アーカイブ: 2011年8月

ActiveDirecotryでログインユーザーがどのグループに属しているか調べる

実は、ActiveDirectry を扱うために DirectoryEntry, DirectorySearch なんかを駆使しないと駄目なのかなぁ、と思ったのですが、単純に現在ログインしているユーザーに関してならば、ローカルの Windows ユーザーをチェックすれば OK でした、というオチです。 # ActiveDirecotry 特有のプロパティを調べる場合は、DirectoryEntry などが必要になるのですが、 カレントユーザーのグループ名の列記だけならば、結構簡単に、という話です。 ユーザ名やドメイン名は、Environment のスタティックプロパティを利用します。 グループ名の一覧を取得する時は、NTAccount クラスにキャストして使います。 という訳で簡単にソースをば。

カテゴリー: 開発, C# | コメントする

DataGridView から Excel へコピーすると文字化けする

Visual Studio 2010 と Excel 2010 の組み合わせだと発生しないのですが、 Visual Studio 2005 と Excel XP の間だと文字化けが発生します。 3流プログラマのメモ書き : (VB.Net)DataGridViewのショートカットキーでのコピー(Ctrl+C)をExcelに貼り付けると文字化けする http://jehupc.exblog.jp/9119842/ な感じで、Ctrl+C をフックしないと駄目か…と思っていたのですが、良い方法があったので up してきます。 1.DataGridView を継承して、ExDataGridView を作る。 2.以下のように GetClipboardContent をオーバーライドして Text フォーマットのみ返すようにする。 どうやら、HTML形式で clipboard へコピー … 続きを読む

カテゴリー: 開発, VB | 2件のコメント

Assembly.LoadFrom を使って別のアセンブリにあるフォームを起動する

試してみると、意外と素直に書けたのでメモ。 とあるプロジェクトで、フォームが100画面ほどある VB プロジェクトを作りました。 その VB プロジェクトを起動するときに、なんらかの形で、main window を切り替えたいという要望です。 # フォームごとにアセンブリを分ければ良いのですが、 # フォーム間で参照設定が多くて、結局ひとつのアセンブリにしないと循環参照が解決されない…という現象です。 # 本当は、メモリ使用量を減らすために、個別に exe を作るのがいいんでしょうが。 フォームが 100 画面ほどある exe にパラメータを指定して、 で起動します。 ここでは、namespace が FormCollection なので、これを追加しています。 さて、本体 exe の名前を変えて Form1.exe, Form2.exe, Form3.exe … … 続きを読む

カテゴリー: 開発, VB | コメントする

Visual Basic の if 文は歴史を覆すことができる…訳はない

技術メルマガネタ 青木「歴史に if は無いというが、Visual Basic には if があるッ!!!」 田中「まぁ、そりゃそうでしょうね。if 文がないと条件分岐ができないし…」 青木「しかし、if が無ければ、前だけ向いて進めばいいという先生の話も理解できるし」 田中「いや、それ、ラジオの CM ですし…」 青木「しかし、if が無ければ、管直人の支持率もアップアップだったわけだし」 田中「if というか、それ現実ですし…というか、アップアップって…」 青木「しかし、if が無ければ、小学校の思い出が、今現実のものとなり、今ここで発現されたチェレンコフ光が」 田中「if というか、訳わからないし…しかも、最後が微妙に危ないし…」 青木「まぁ、あれだよな。if とか select とか無いほうが、物事一直線で安全 … 続きを読む

カテゴリー: VB, 技術メルマガ | 1件のコメント

Visual Basic の文字列をこよなく愛すれば、咳してもひとり

技術メルマガのネタ 青木「文○列と言えば、な~んだ?」 田中「先輩…伏字にしても、文字列としてか読めないんですけど」 青木「まあぁ、そうかもな。伏字にすると、アレだから、文♡列」っていうのはどうだ?」 田中「先輩…伏字というか、なんというか、文字列ですよね。やっぱり」 青木「そうかぁ、そうなると、文字列♡ っていうのは、どうだ?」 田中「…」 青木「ほら、あだち充が開発した、なんでもラブコメになってしまうという、技を君は知らないのか?」 田中「…」 青木「コホン…ああ、秋空。空が高いなぁ」 田中「盆には早いですが…」 だいたい、これだけ覚えておけば大丈夫よ、ってな感じです。 個人的には String.IsNllOrEmpty は使いたくないんですけどね。確かに String 型は Nothing/Null が入るので、 … 続きを読む

カテゴリー: VB, 技術メルマガ | コメントする

Visual Basic の変数を解説するよ(技術メルマガ編)のメモ

青木「今日から、いよいよ変〇の解説をするぞッ!!!」 田中「ええ、あの、変…なんですか???」 青木「変〇の解説だッ!!!」 田中「変…というと、奥浩哉さんの漫画のアレですか?」 青木「変〇というとそうかもしれないな」 田中「あの、HEN…とかいう漫画のアレですか?」 青木「そうかもな、変〇というと、アレかもな」 田中「でも、あの、Visual Basic と何か関係あるんでしょうか?」 青木「そりゃ、変数が無いと困るだろう、Visual Basic 2010 でプログラミングできないじゃんッ!!!」 田中「…」 青木「何考えてんだ、君は???」 とかいう前振りを考えたのだけど、技術メルマガでは却下することにしました。アレだし。沼正三や天野哲夫の話をしても困るだろうし。でも、澁澤龍彦は良さそうだったり。 というのはさておき、Visual Ba … 続きを読む

カテゴリー: VB, 技術メルマガ | コメントする

Visual Studio 2010 の Windows Azure Tools 1.4 は日本語版が無い

ちょっとメモ的に、 http://windows.azure.com/ にアクセスすると、Azure の管理ポータルが出て来ます。いつの間にか日本語化されているので便利ですね(ちょっと前までは英語版だけだった)。 で、Visual Studio 2010 で Azure のプログラミングをする場合は、Windows Azure Tools を入れればよい訳で、右側にある「Windows Azure Toolsのインストール」をクリックして、 Download Windows Azure SDK http://www.microsoft.com/windowsazure/sdk/ なるところから「Get Tools & SDK」をクリックすると Web Platform Installer が実行されて IIS とかの設定もやってくれるので便利…とか思っていたわけですが … 続きを読む

カテゴリー: 雑談 | コメントする

Visual Basic のリファクタリングポイント(上海編)

名著「リファクタリング」に沿って、リファクタリングせよッ!!! というのは難しいので、具体的なポイントを出します。 この前に前提条件があって、 1.NUnit で程よく、テストコードが書かれていること。 2.バージョン管理ツール(VSSやSVNなど)が導入されていること。 が条件になります。 「程よく」Nunit が使われているというのは、関数の中身を弄るので NUnit のテストコードを通しながらリファクタリングしたい、ということです。注意深くやれば特にテストコードはいらないのですが、手順を間違えたとき(人為的なミスですね)の発見が早くなります。 同時に、間違えたソースを元に戻すのにバージョン管理ツールが必要です。実はこれも必須というわけではなく、自前でバッグアップを取りながらでもよいのですが、修正前の差分や、一気にバージョンを戻してしまうことも可能なので、バージョン管理ツールがあると安 … 続きを読む

カテゴリー: 開発 | コメントする

宣言ッ!!! 技術メルマガを作るよ(´・ω・)ス

なんか、アレ、人のやる気を殺いではいけない、という意味で公開宣言しておきます。 .NET 技術系のメルマガ(有料)を製作中です。 全130回(週5回配信、26週間)をひと区切りにして、ラジオ講座のように学べるのが売りです。 ・基礎VB講座 ・基礎C#講座 ・応用VB講座 ・応用VB講座 と以下続く。 書きかけど、サンプルはこんな感じで↓ 価格は未定ですが、ラジオ講座よりも安いかなぁと。 独習として使うのもよし、新人研修に使うのもよし、ベテランの復習に使うのもよし、という感じで。 ちなみに、建設予定地はこちら 協力者は、こちら↓ 飲む(´・ω・)ス|WEB系技術電脳日記 http://ameblo.jp/konica/entry-10970423610.html

カテゴリー: 仕事 | コメントする

Visual C++ 2010 では DataSet が作れない…ので C# から借用する

Visual C++ 2010 の C++/CLI を使うと、ADO.NET を扱うことができるのですが、なぜか Visual C++ 2010 では型付の DataSet が作れないという…へんな具合です。 試しに、Visual C++ 2005 を使ってみると DataSet を作れるので、故意に落としてしまったが、忘れてしまったかという感じ。 ちなみに、C# で作った DataSet のファイル(DataSet1.xsd)を、VC++ のプロジェクトにインポートするとうまく動きます。 ただし、インポートしたままだと、ビルドする時に DataSet1.h というファイルを自動的に作成したときに接続文字列が解決できません。 これは、もう一度 DataSet のデザイナを開いて、テーブルを作り直すか、*.xsd のファイルを開いて、接続文字列のところを直接書き換えます。C# で … 続きを読む

カテゴリー: 開発, C++ | コメントする