全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

2007年09月

【PowerBuilder】ドロップダウンデータウィンドウを利用する

ドロップダウンデータウィンドウを利用する場合、プロパティを設定しただけでは、実行時にデータを表示することができない。

そのため、以下のイベントにドロップダウンデータウィンドウの値取得処理を記述しなければならない。
 ・WindowオブジェクトのOpenイベント
 ・Windowオブジェクトのコンストラクタ

以下、サンプル。
続きを読む

【VB.NET】StringBuilderの利点

System.TextにあるStringBuilderクラスの利点について説明する。
Stringと異なり、StringBuilderを利用すると文字列連結時にオブジェクトの再作成を行わないため、高速な文字列操作が行える。

そのため、文字列の内容が頻繁に変更される場合には、String型ではなくStringBuilder型の変数を定義するよう心掛けると良い。

以下のサンプルを実行して、処理時間の違いを体験してみると違いがはっきりする。
続きを読む

【VB.NET】数値型の演算処理時間について

記事「【VB.NET】データ型による計算速度の違い」の続きで、速度に違いがでる理由について説明する。
プリミティブ型とは、ALU(中央演算装置)が演算し易いように決められた型として定義されたデータ型である。
それに対し、Decimal型は、コンピュータが苦手な10進数での演算を正確に行うために用意されたデータ型である。
(正確には、Decimal型は、String型と同様にクラスとして定義されている)
そのため、演算にかかる処理時間に差が出る。

以下の環境で、100,000までの素数を取得するプログラムを実行した場合の処理時間は、以下の通り。
続きを読む

【VB.NET】データ型による計算速度の違い

VB.NETには、大きな数字を扱うデータ型として以下が用意されています。
 ・Decimal(10進型)
 ・Long(長整数型)

Decimal型は、クラスとして提供されており、Long型はプリミティブなデータ型として提供されています。
そのため、上記の型を使って大量のデータを計算する場合、計算処理に掛かる時間に大きな差が発生します。
※プリミティブ型は、ALU(中央演算装置)が計算しやすいように最適化されているため、高速な計算が可能です。しかし、Decimal型は、クラスとして定義されているため、計算を行う際に若干のオーバーヘッドが発生してしまいます。この差が計算処理に掛かる時間に大きな差を生みます。
続きを読む

【PowerBuilder】PowerBuilderを利用するメリットとデメリット

PowerBuilderを利用するメリット/デメリットは、以下の通り。
【メリット】
 ・PowerBuilderは、開発言語ではなく、開発ツールである。
  →独自のスクリプトを覚える必要はあるが、比較的容易である。
 ・DBとの連携機能が強みである。
  →簡単な画面ならば即作成することができる。
  →帳票が作り易い。
  →Accessのフォームやレポートと同じ感覚で作成することができる。
 ・分野によっては、高い生産性を出すことができる。
【デメリット】
 ・APIを多用するようなアプリには、あまり向かない。
 ・最新の環境への対応が遅い。
  →2007年9月末時点でVista対応版は、リリースされていない。
 ・開発環境が広く普及していないため、情報が少ない。
  →インターネットでも、あまり情報を得ることができない。
続きを読む

【SQL Server】DBCCで矛盾のあるDBを検査する

SQL Serverには、DBCCユーティリティが用意されている。
このユーティリティは、以下の目的を持つ。
 ・矛盾する論理DBオブジェクトとその物理データ構造を検査/修復する。
 ・システム全体のパフォーマンスと利用状況を調べる。

今回は、矛盾のあるDBの検査、修復に関するユーティリティについて説明する。データベースを新規に構築したり、変更を加えた場合には、必ず確認すること。

検査、修復用に用意されているオプションは、以下の通り。
続きを読む

【Windows】Windows XPのDNSリゾルバキャッシュを消去する

Windows XP Professional上のDNSリゾルバキャッシュを消去するためのコマンドについて説明する。

以下、用語の補足。
(簡略のため、詳細に説明すると若干異なる部分もあります)
・DNS
 IPアドレスとドメイン名(livedorr.com等)の関連付けがされている仕組みをさす。
・リゾルバ
 問い合わせの結果を返すための仕組み。
 この場合、ドメインで検索した場合にIPアドレスを返すための仕組みを指す。
・キャッシュ
 以前の検索結果をメモリに保存するための機能。
 2回目以降は、メモリに残っているキャッシュを検索し、なければ通常の検索を行うため、キャッシュに残っていれば、応答時間が速くなる。
続きを読む

【VB.NET】列挙型の値一覧を取得する

列挙型を使用しているとその値を一覧化したくなる場合がある。
その場合には、以下のようなプログラムを作成する必要がある。
尚、ScrollBars列挙型をサンプルとして使用している。

以下、サンプル。
続きを読む

【VB.NET】正規表現を使う

VB.NETで正規表現を扱うには、System.Text.RegularExpressions.Regexクラスを利用する。

※正規表現とは、文字列のパターンを指定しておき、そのパターンと一致しているかどうかを確認するために利用する表現方法である。
Perl等のスクリプト言語で頻繁に使われている。


以下、サンプル。
続きを読む

【SQL Server】Transact-SQLで戻り値を返す

Transact-SQLでは、戻り値(出力パラメータやリターンコード)を設定することができる。
戻り値を設定するためには、ストアドプロシージャのパラメータの記述にOUTPUTを追加すれば良い。(戻り値として設定するパラメータにのみOUTPUTを記述する)

以下、サンプル。
続きを読む

【SQL Server】例外処理でエラー情報を取得する

SQL ServerのTransact-SQLで例外処理が発生した際にエラー情報を取得するためのシステム関数が用意されている。

システム関数は、以下の通りである。
 ・ERROR_NUMBER()
  →エラー番号
 ・ERROR_MESSAGE()
  →エラーメッセージ

以下、サンプル。
続きを読む

【SQL Server】Transact-SQLで例外処理を行う

SQL ServerのTransact-SQLのトランザクションで例外処理を行う方法について説明する。

説明の前にいくつかの用語を補足しておく。
(分かり易い言葉にしているため、本来の意味と若干解釈が異なる部分があります)
続きを読む

【拡張コントロール】PaperSizeを拡張する

VB.NETで帳票を印刷する場合、PaperSizeクラスを使って用紙サイズを設定することになる。
PaperSizeクラスのコンストラクタは、
  PaperSize(PaperName, Width, Height)

となっているため、A4等のように既定のサイズを持つ用紙であっても、用紙名と用紙サイズ(縦横の長さ)を指定しなければならないという不便さがある。
そこで、PaperSizeクラスを拡張し、PaperKind列挙型に登録されているサイズを自動取得できるクラスを作成してみた。

続きを読む

【VB.NET】ゼロ除算の回避

ゼロ除算の回避方法について説明する。

割り算を行う場合、分子の数字に関わらず、分母がゼロだと計算できないという問題がある。
ゼロ除算とは、割り算の分母が"0"(ゼロ)の場合に発生するエラーのことである。

※電卓のように、分母がゼロであった場合の解をゼロとすることが多い。
 便宜上、ゼロにしているだけで正解ではない点に注意!


ゼロ除算の回避は、以下のどちらかの対応を採ることが多い。
 ・分母に当たる数値がゼロかどうかで計算するかどうかを判断する。
 ・例外エラーを補足する。

結果としては、以下を返すことが多い。
 ・計算結果を"0"にする。
 ・0除算であることをメッセージとして表示する。

以下、サンプル。
続きを読む

【VB.NET】SPREAD for .NETでセルに斜めの罫線を引く方法

GrapeCityのSPREAD for .NET WindowsForms Ed.には、Excelのようにセルの斜め罫線を引く機能がない。
そのため、画像ファイルを使って斜め線を引くことになる。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ