小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

VB-TIPS

日本語メッセージと英語メッセージ At VB2005

TryCatchで捕らえた割り込みの ex.Message の内容が、同じWindowsXPのPCなのに、日本語メッセージになる場合と英語メッセージになる場合があるのです。 この辺は、コントロールパネルの「地域のオプション」で設定するカルチャに関係がある感じなのですが…

WINDOWS系のOS名を求める

.NETでは、『Environment.OSVersion』クラスオブジェクト内の以下の3つのプロパティでOS名を求めることが出来ます。 プラットフォームプロパティ メジャーバージョンプロパティ マイナーバージョンプロパティ ◆ OS名を求めるロジック プラットフォーム…

セットアッププロジェクト(インストーラ)をリビルドの対象にする

VB2005でソリューションにセットアッププロジェクト追加しても、デフォルトではリビルドの対象になっていません。 リビルドを対象にするには、ソリューションエクスプローラで以下の手順です。 ソリューションを右クリックメニューでプロパティ選択 左側の構…

リトライとトライの関係とは

すみません。本当に当たり前のことなのですが、ある程度の極限状態だとわからなくなる場合があります。 たとえば、その処理を『3回リトライする』とかは、トータルで3回でなく4回トライすることになりますね。 つまり、以下の式になります。 トライ数 = …

VB2005でのカスタム動作の設定

昨日に引き続き、インストーラ作成系のカスタム動作についてのメモです。 インストール時やアンインストール時に任意の処理をしたい場合があります。たとえば、レジストリのへ書き込みや削除等です。そんな場合は、インストーラクラスにその処理を記述し、セ…

VB2005でのインストーラの設定

APの開発が終わると、次はそのインストーラも必要ですね。 インストーラの作り方は、半年経つと、すっかり忘れてしまうので、ここにメモしときます。 まず、ソリューションエクスプローラにて以下の操作でインストーラを設定します。 ソリューションを右ク…

VB2005でテキストファイル内の検索文字列がある行数を求めるには(ヒント編)

昨日のヤツをPerlでなく、VB2005で考えてみました。 『if ($strText =~ /小池啓仁/)』 は、『System.Text.RegularExpressions.Regex.IsMatch』が使えそう。 『$`』は、『System.Text.RegularExpressions.Match.Groups』が使えそう。 『scalar(() = ($` =~ /…

VB2005で漢字を表示する時の留意点

WINDOWS(VB2005)の内部コードは、UTF-16のBOM無しリトルエンディアンです(参照)。 テキストファイルのコードは、以下の3つが主流です。 UTF-8 SJIS EUC 上記の3つのコードは、制御コードと英数字は、同じ値のコードです。 違うのは、基本的に漢字の部…

VB2005での文字コード変換処理

まず、VB2005では文字列を表示するときの文字コードは『UTF16』です。 たとえば、ファイル内容の文字コードが『UTF8』、『EUC』、『SJIS』のいずれかが、分からない場合があったとします。 そんな時は、まず、バイト列で読み込んで、『UTF8』、『EUC』、『SJ…

SQLSeverで文字列のバイト数を求めるには

SQLで文字列の文字数を求めるには、LENGTH関数があります。 また、文字数でなくバイト数を求めるには、LENGTHB関数があります。 しかし、なぜか、SQLSeverには、LENGTHB関数がないのです! ではどうするかと…ググって見るとありました。 注:文字列フィール…

不思議な国のアドレス(機器編)全面書き換え

以下の『不思議な国のアドレス(機器編)』が長い間だ、イマイチだったので、今回書き直してみました。 不思議な国のアドレス物語 ◆不思議な国のアドレス(機器編) ネットワーク機器には、リピータ、ハブ、スイッチ(ブリッジ)、ルータ、ゲートウェイとあ…

VB2005でレジストリに書き込む

VB2005では、Myで簡単にレジストリに書き込みができます。 たとえば、以下の感じ。 My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey") ' Change MyTestKeyValue to This is a test value. My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTe…

ブリッジとルーターとゲートウェイとデフォルトゲートウェイとプロキシの違い

タイトルのこれらの違い分かりますか? (以下の内容は、OSIの7層とIPアドレス、特にグローバルアドレスとプライベートアドレスを知ってる人向けになっています) ブリッジは、LANとLANを繋ぐだけ、つまり、OSI データリンク層レベルなのでIPアドレスの制御…

ローカルLAN内でページが表示されない時には

ブラウザ(IE)からローカルLAN内のサーバーにアクセスしているのに、TCP/IPエラー出てページにアクセスできない場合があります。 また、ローカルLAN内からでも普通はインターネットができる環境になっていますね(ない場合もありますが…)。 上記の…

ワードで相互参照をすべて一括で更新するには

普通、見出しには見出し番号が付きますね。 文章の中では、それを相互参照するケースが多いです。 しかし、見出し番号は、新たな見出しが追加された場合、自動的にずれます。 文中でそれを相互参照している方は自動的にずれません。 これは、手動で文中の相…

Office 2003のアームスファイル開けず!!

『MS、「Office 2003」の不具合を報告--RMSで保護されたファイルへアクセス不能に』 http://japan.cnet.com/clip/global/story/0,3800097347,20405256,00.htm 昨日(12/13)から急にワードやエクセルのアームスのファイルが開けなくなりました。 これ、全世…

ワード2003でヘッダーを入れるには

大体、はなから文書を作成することはないので、また、ヘッダーなどは初めから入っていたりするので、今回、はじめてヘッダーを入れることになり、はまったので、メモしときます。 まず、ワード2003ではリボンなどなくメニューです。 ヘッダーを新規に挿入す…

等しくないの『!=』 と『<>』

Perl、JavaScript、Java等のC言語系の『等しくない』は『!=』です。 VB6、VBA、VBScript、VB2005のVB系の『等しくない』は『<>』です。 ちなみに、SQLでは両方OKですね! また、ちなみに『等しい』は、C言語系が『==』で、VB系は『=』です。 なんでこの記…

メモ帳で行数を表示

かなり前(約3年前)にも書いたんだけど、メモ帳でも行数を表示することができます。 メモ帳でソースのライン数を知るには はじめてのサーバーなどで、好きなエディタをインストールできない状態で、PerlやJavaScriptのプログラムをデバックする時に、メモ…

フォルダ内のファイル一覧が欲しい!

普通のエクスプローラでフォルダ内を見た時に、ファイルが沢山有り、その一覧をテキストでメモ帳などに欲しい場合があります。 エクスプローラでいくらオプション等を駆使してもできませんでした。 つまり、エクスプローラでは、フォルダ内のファイル一覧を…

クライアントからサーバの共用フォルダにアクセスするときの留意点

これ、本来なら凄く簡単なことなんでけど…、セキュリティを考慮するとメチャクチャ大変で苦労する。 まず、ファイヤーウォールに共用フォルダアクセス用の穴をあけます。 つぎに、アンチウイルスソフトに共用フォルダアクセスのブロックを外します。 で、テ…

VB2005でフォルダやファイルにアクセス権を追加する

開発環境のIDがadministratorsグループに属していて開発したプログラムは、リリースした時に、一般ユーザの人が使うとエラーになる場合があります。 たとえば、CドライブのProgram Files配下は、一般ユーザではアクセス権がありません。 なので、ここにロ…

ファイルのMimeを判断する

ファイルがテキストファイルなのか、バイナリファイルなのか…判断したい場合、FindMimeFromDataが使えます。 FindMimeFromDataは、データを解析し、以下のMimeを判断できるようです。 ◆FindMimeFromDataが返すMimeリスト MIME Type Description text/plain P…

Visual Studio のシステム要件

もうVS2010がリリースされる直前ですが、とりあえず、VS2008とVS2005のシステム要件です。 VS2008のシステム要件 VS2005のシステム要件 VS2008からWIN2000は対象外になっていますね。 今回、MSのサイトを色々探索しましたが…ラビリンスで情報に辿り着けなく…

VBスクリプト(VBS)ファイルをエグゼ(EXE)ファイルする!

前回も書きましたが、VBScriptは、メモ帳などのエディタでソースが丸見えなので修正が簡単に出来て良いですね。 しかし、お客さま等には、見せたくない場合もありますね。 そんな時は、WINDOWS標準バンドルのiexpressを使うとEXEファイルにすることができま…

VBScriptを暗号化する!

VBScriptは、メモ帳などのエディタでソースが丸見えです。 まぁ、見せたくない場合もありますね。 そんな場合は、マイクロソフトからフリーのスクリプト暗号化のプログラムがリリースされています。 Windows Script Encoder まず、これをダウンロードして、…

プレゼンのコツ By 池上流

この間だ読んだ『わかりやすく<伝える>技術』にプレゼンのコツが書いてありましたのでメモしときます。 まず、ざっと話したい要素を書き出す。 リードを作る。 目次を作る。 1回、原稿を書いてみる。 どこを図解にすればいいか考える。 パワーポイントを…

ワードやエクセルでリンク先から戻るには?

IE等のブラウザでは、リンク先に飛んでから、元に戻るには『戻る』ボタンがあります。 では、『戻る』ボタンのないワードやエクセルではどうやってもどるのでしょうか…。 実は、知っているはずなのに、しばらくすると、知らなくなってしまうのです(もうボケ…

VB2005では、Nothingと空文字列がイコール!

実は、2年以上も前に、同じようにはまっていました…。 VB.NETでの空文字列("")は、EmptyやNothingとイコールか? とりあえす、If文では、すべてイコールです。 http://d.hatena.ne.jp/chaichanPaPa/20070223/1172232818 そう、Nothingと空文字列は、VB2005…

CGIでHTMLを吐き出す時に任意のテキストボックスにカーソルを持っていくには

Perl等のCGIで、テキストボックスの入力値チェック(DBと比較とか)をした後、エラーのあるテキストボックスにカーソルを持っていきたい場合があります。 そのような時は、以下のように、CGIでbody要素にonLoad属性を設定すれば、いけますね。 <html> <head> <meta http-equiv="content-type" content="text/html; charset=shift_jis"> <meta http-equiv="content-script-type" content="text/javascript"> <title>テスト</title> </meta></meta></head></html>