タグ

2006年10月12日のブックマーク (9件)

  • ― .NET Frameworkがサポートする正規表現クラスを徹底活用する ―

    ― .NET Frameworkがサポートする正規表現クラスを徹底活用する ―:基礎解説 スマートな文字列処理のための 正規表現入門(前編)(1/4 ページ) 正規表現をうまく使いこなせば、数十行のコードにも匹敵するテキスト処理をたった数行で実現することも可能だ。今回はまず、正規表現の基礎について解説する。 連載目次 正規表現とは 検索キーワードを指定するとき、スペースの有無や長音の有無などで面倒な思いをしたことはないだろうか。目的のキーワードが明確に分かっていればいいのだが、「サーバサイド」か「サーバーサイド」か、「WindowsXP」か「Windows XP」か(“XP”の直前に半角スペースを含むかどうか)が分からなければ、両方検索するはめになってしまう。この種の悩みは、テキスト・エディタで文章を編集しているときや、大量のファイルから目的のキーワードを含むファイルを検索するときなど、何

    ― .NET Frameworkがサポートする正規表現クラスを徹底活用する ―
  • VC++「マルチスレッドの使用法」メモ(Hishidama's VC++Memo "MultiThread")

    マルチスレッドとは、スレッドを複数同時に動かすことです。普通のアプリケーションは 基的に1つのスレッドで動いています。 マルチスレッドと聞くと難しそうですが、MFCでは意外と簡単に出来ます。 ちなみに、「Windowsが擬似マルチスレッドだ~」というような議論は、ここではしません。 よく分からないしぃ。 典型的なマルチスレッドの使い方としては、 画面表示やユーザーからの入力を行うインターフェーススレッドと、 計算をごりごり行うワーカースレッドの2つのスレッドに分けるものがあります。 例えば、ワーカースレッドで計算を行い、その計算の進み具合を インターフェーススレッドのプログレスバーで表示するというものです。 ここでは、「バージョン情報」のダイアログにプログレスバーを付け、 ワーカースレッドで値を1ずつ増加させる処理を行い、 プログレスバーにその状況を表示させるサンプルを示します。 まずは

  • ワーカースレッドの作成方法

    「スレッド」、それは「処理単位」のことです。 実行されるアプリケーションひとつひとつを「プロセス」と呼びます。プロセスは最初にスレッドをひとつ持ちます。ウィンドウをいくつも作り、ウィンドウプロシージャが複数あっても、スレッドが同じならメッセージはひとつひとつ処理されます。 この問題はユーザーインターフェイスを著しく損ないます。例えばウィンドウのデバイスコンテキストに複雑な描画をするとします。描画に時間が掛かるため、ツールボックスに「停止」ボタンを作製しました。さて、いざ描画をシングルスレッド、つまりごく普通に処理した場合、最悪、描画中にはこのボタンを押すことすら不可能になります。 この問題を解決する方法が、マルチスレッドです。新たにスレッドを作製し、そのスレッドの中でメモリデバイスコンテキストへの描画をさせ、最後にウィンドウデバイスコンテキストへとコピーしてスレッドを終了させる、という方法

  • 有効/無効

    可視と不可視 ボタンコントロールなど、コントロールが入力を受けるには条件があります その一つが、コントロールが可視状態であるということです ウィンドウには、可視状態と不可視状態のプロパティが存在します ウィンドウ生成時は、ウィンドウスタイルに WS_VISIBLE を指定していない限り不可視です ウィンドウの表示状態の変更には ShowWindow() 関数を用いました もし、コントロールを非表示にしたければ ShowWindow() 関数で SW_HIDE を指定すれば、コントロールを非表示にすることができます ウィンドウの現在の状態を得るには IsWindowVisible() 関数を使います BOOL IsWindowVisible(HWND hWnd); hWnd には、ウィンドウのハンドルを指定します 指定したウィンドウが表示状態であれば 0 以外 非表示状態であれば 0 を返し

  • VC++テクニック : ウィンドウの状態の取得と設定

  • タイマー

    そして時は動き出す 前回、デッドタイムを使った処理方法を説明しました これで、無限ループのような処理も可能になります しかし、これだけではアニメーションなどを作成することはできません アニメーションを実現するには、CPUの速度に依存することのないよう ある程度の時間を待機させるような処理が必要なのです 実際に、500 Mhz 以上の速度を持つインテルのCPUならば 前回の方法で、塗りつぶされた矩形が黒から赤色にフェードするプログラムを実行すると 一瞬で作業が終わってしまい、何が起こったのかわからないでしょう そこで、PeekMessage() とは違った方法でこれを実現させなければなりません このような動作はタイマーによる、時間差処理が好ましいと思います タイマーとは、ある一定の指定した時間が経過すると メッセージキューにメッセージをポストするという便利な機能です これらの作業は一見非同期

  • http://www.ccad.sccs.chukyo-u.ac.jp/manualc/prgrm/dialogbase/intro/clock/index.htm

  • http://www.ccad.sccs.chukyo-u.ac.jp/manualc/prgrm/mfc/index79.htm

  • 開発メモ

    物忘れの激しくなった自分宛ての開発メモ 目次 (これが正しいやり方かどうかは知りません。不具合が出ても責任は取れません) 下記について私になにか言いたいという方は掲示板にでも投稿してください。 ここに記述してほしい内容(質問)はメールでお願いします。暇があれば答える かもしれません。 サンプルコードはエラー処理を行っていませんので、ご自分でインプリメント する際はエラー処理を入れましょうね。エラー処理とは、エラーメッセージの 表示、継続できない場合はプログラムを終了させるという処理のことです。 000 MFCを使っている理由 001 PocketPC2002 MFC タップ&ホールドでくるくるが出るデフォルトの消し方 002 PocketPC2002 MFC 多重起動抑止を止める方法(多重起動させる方法) 003 PocketPC2002 MFC フォーカスを取り返す方法 004 Pock