misc.log

日常茶飯事とお仕事と

プログラミング

VB.NET C#とVisual Studio、.NET Framework

開発で使っているツール等について、正直、最近のバージョンが何がどうなのかよく分からなくなってきました。開発チーム向けの環境関連資料を整備するついでに自分用の情報をメモしておきます。 Visual Studio 2017と.NET Framework Visual Studio 2017では.…

Visual Studioでアスタリスクを連発するコメントを正規表現で消す

今メンテしているソース、C#なのですが、なんというか「昭和のC#かよ」というような記述が多く辟易しています。その1つがこれ //*********************************************************** // これはコメントです //***********************************…

VSCodeでJavaScriptをデバッグする

利用にはnode.jsが動かせる環境も用意する必要があるみたいで。とりあえず環境作った過程をQiitaに投げてみました。qiita.com15時間でわかる JavaScript集中講座作者: 宮下明弘,工藤雅人出版社/メーカー: 技術評論社発売日: 2016/11/18メディア: 大型本この…

Excel VBAからPHPのスクリプトを呼ぶ

仕事でデータの引っ越し処理を行う必要があり、Excelに貼り付けてデータ加工し、数式でInsert文を作るというものを作って大量データを一気に引っ越そうとしていたのですが、問題が発生。なんと、カタカナ等を半角変換しなければならないと……。いまどき半角か…

SQL Server、OpenQueryでのSQLは文字列連結などが使えない?

SQL ServerからOracleにリンクテーブル経由でアクセスしていろいろデータを持ってくる処理を作成中。サーバー名やらスキーマ名やらをピリオドでつないだSQL記法だとインデックスが使えず遅いため、SQL ServerのOpenQuery命令でSQLごとOracleに渡し、Oracle側…

PHPで全角半角変換を行う

全角文字、半角文字の混在が検索処理などを阻害しているとして、入力時に整形処理を行ってほしいとの要望。簡単にできないか、と思って調べたところ、標準関数でありました。あるんですね。いいなこれ。関数名は「mb_convert_kana」。使い方は下記のような感…

CodeIgniterでちょっと作ってみるメモ

自分の作業用メモなので。間違ってたりそれじゃ無いとか有るかも知れませんが、とりあえず。あとで自分で思い出すためのメモです。ちなみにPHP自体の言語仕様にも不慣れなのでその辺お察しを。 開発環境を即Web公開状態にする Eclipseのワークスペース上にあ…

Windows Server 2008 R2上のPHPからSQL Server 2000に接続する

7月に、Windows Server 2008 R2上で動くPHPで作ったアプリから、SQL Server 2000にアクセスできるか?というのを試していたのですが、試行の過程を記録していませんでした。簡単ですがメモっておきます。多分あとで自分が使うので。発端については7月15日に…

VBAによるレジストリへの書き込みと管理者権限

今更な話題ですが……Excel VBAからWin32 API(RegSetValueEx)をつかってレジストリに設定値などを書き込もうとした場合、今実際に調べた感じでは以下のような制約があるようです。※業務用の環境で試していますので、一般的な話では無いかもしれません。あくま…

拡張子 xlsx のExcel 2007/2010/2013データをResponseで返す

とりあえず備忘録。ASP.NETにて、xlsx形式のデータ(っても実体はHTML形式)をResponse.Writeで返し、無理やりExcel 2010などで開かせようとしたのですがうまくいかず。2003形式だとできるのにね。おそらくOpenXMLの規格とかにマッチしていないから開けない…

Response.TransmitFile等で返したExcelファイルのファイル名が化ける

ASP.NETで、Response.TransmitFileやResponse.Writeを使ってExcel形式のデータやファイルを返送しようとしたのですが、ファイル名が化けてしまうという現象が。データの内容は問題ないのですが、ファイル保存ダイアログなどのファイル名が化けてしまいます(…

WCFサービスをDLL無しで配置、稼働させる

WCFで作成したRESTサービスを、DLLとしてまとめるのではなく、ソースのままWebサーバー(IIS)に配置する方法を調べていたのですが、なんか上手くいったっぽいのでメモ。大筋は職場の人が組み立ててくれた手順に従っての作業だったのですが、最後の最後、そ…

日本語フォント名から英語フォント名を取得する

昨年の話なんですが、記録し忘れていたので。米国製のコンポーネント(GUIを伴うもので、テキスト入力なども処理する)を利用していて、フォント名プロパティに日本語フォント名を指定すると、次にフォント設定を表示させたらフォント名が文字化け、おまけに…

64bitアプリと32bit DLLの混在

意外に実験したことが無く、結構即答で答えられない質問だったのでしらべてみました。64bit用に対象アーキテクチャをx64としてビルドされた.NETのアプリケーションから、32bit用、即ちx86用としてビルドされたアセンブリを参照して実際に動かせるのか?とい…

Windows Serviceのデバッグを簡単に行う方法

時間が無いので手短にメモ。Windows Serviceのデバッグはいろいろと面倒ですが、サービスの登録や動作環境さえ整えば、以下の方法で簡単に実施できます。 OnStartメソッドに「Debugger.Launch()」と書く サービスを開始する 「Visual Studioでデバッグします…

Excel VBAの文字列操作関数がコンパイルエラー?

客先の環境でテストをしている同僚より、自社では動いたExcel VBAの命令がコンパイルエラーで動かないとの連絡が。問題の関数はTrim(文字列の空白削除)。VBAはVisual Basic 6.0に似た言語であることから、VB6.0のランタイムなど、何か必要なモノが入ってい…

ExcelからOracleにVBA経由でアクセスするときの……

VBA経由でOracleを操作するときのライブラリを調べるのに、とりあえず10.2.0.5のOracle Client全部入り環境に何が入っているかを見てみた。可能であれば、最小構成のOracle Clientしか入っていない環境で動かしたいのだけど……たぶん使ってるのはこのOracle P…

値型とNothingの比較(VB.NET)

VB.NETでは、通常は参照型の空参照として扱われるNothingとの比較は「Is Nothing」や「IsNot Nothing」で行う*1。しかし、対象が値型変数の場合、通常のイコールやノットイコール(=や<>)で比較が出来る。これ、案外知らない人が多い。ではこのときに何が起…

ドキュメントコメントでのコンストラクタへの参照

***依然調査中。以下の内容ではダメみたいです*** Visual Studio 2010では、標準でコメント文を元にヘルプファイルを作るネタとなるXMLファイルを生成する機能があります。このヘルプ用コメント文中で、他のメソッドやプロパティへの参照を作ることが…

Base64エンコーディングと、デコーディング

文字列をBase64エンコード、デコードするロジックの例を忘れないように書いておく。 エンコードのサンプル SOURCEの部分は適宜置き換えて。指定された文字列をBase64エンコードする処理の例。 Dim base64Encoder As System.Text.Encoding = System.Text.Enco…

マルチページTIFF画像ファイルを作る

古いソースを引っ張り出して整理してみました。Visual Studio.NET 2003のVisual Basic.NET(2003)で作った、複数画像をTIFFファイルにまとめるコードの抜粋です。最初に「CreateBaseImage」で1枚目の画像ファイルを作成してから、「AddImage」で2枚目以降を…

VB6.0 Error 35605 このアイテムのコントロールは削除されています

VB6.0のアプリにて、エラー番号 35605のエラー「このアイテムのコントロールは削除されています」が発生、Webでとりあえずエラー番号を検索してみましたが、海外サイトにいくつか情報があるくらいであまり該当しそうなケースが無い。 仕方ないのでどうやった…

WindowsAPI/WNetAddConnection2とWNetCancelConnection2の動作

1台のPC上で動く複数のアプリによる共有フォルダアクセスについてメモ。OSはWindows XP。共有フォルダに対してネットワークドライブを割り当てられるWNetAddConnection2と、割り当てを解除(切断)するWNetCancelConnection2の動作について確認しました。コ…

XAMLでのバインディング

エッセンシャルWPFのサンプルを追いかけ中。XAMLで書いたチェックボックスの文字列に、別のテキストボックスの入力内容をバインドしてみようとして、以下のような記述をしてみた...。 <TextBox x:Name='SampleText'>テキストボックス(編集可能)</TextBox> <CheckBox Content='{Binding ElementName=SampleText,Path=Text}'>チェックボックス</CheckBox>で、MSBuildでビルドして…

手書きXAMLでサンプル

エッセンシャルWPF(asin:4798114200)を見ながら、とりあえずやってみるテスト。MSBuildも使ったこと無かったので、まずは手書きXAMLをMSBuildでビルドしてアプリを動かしてみる実験。ホント基礎の基礎だね。用意するものは アプリケーション定義を書いたapp.…

DataTableにImportRowするときの注意

DataTableにImportRowで別のDataTableからデータを1行ずつ突っ込む場合、事前に「テーブルごとまるまる突っ込む」といった処理が行われていれば良いのだが、そうでない場合はうまくいかない。理由は、受け入れ側のDataTableに、データ構造等の情報が全く無い…

NULLに気をつけましょう

とあるプログラム修正で、「あるカラムの値が「ABC」でないものだけを表示する」という条件を追加するのに、 A != 'ABC' とやっちゃったら、大量のデータが表示されなくなった。よーく考えると、これだと「NULL」のデータもはじかれちゃうのね。というわけで…

デシリアライズ先のクラス定義

開発プロジェクトで共通的に利用するライブラリを作成している。 設定情報をXMLで記述したファイルをデシリアライズして、クラスに情報を格納しようとしたところ、格納先クラスの宣言を「Public」から「Friend」に変更したらとたんに以下のエラーが出た。 保…

テストアプリの配布をシミュレートする(3)

http://d.hatena.ne.jp/frontline/20051116/p2 の続き。というわけで、まずはアセンブリに厳密名を付けてみよう。 sn -k test.snk でキーペアを作成し、 sn -i test.snk CspContainer でCSPコンテナに格納、ソースのAssemblyInfo.vbに <Assembly: System.Reflection.AssemblyKeyName("CspContainer")> という記述を追加して</assembly:>…

PCのIPアドレスやPC名を取得する

ちょっと取得する必要があったので方法を探してみた。 'PC-Name PCName=System.Net.Dns.GetHostName 'IP-Addr IPAddr=System.Net.Dns.GetHostByName(PCName).AddressList(0).ToString 内部ではどうやってるんだろう...DNS名前空間...もしかしてネットの世界…