<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://dev.activebasic.com/dev_wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89</id>
	<title>AB開発Wiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://dev.activebasic.com/dev_wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89"/>
	<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89"/>
	<updated>2026-04-22T08:51:49Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Jason&amp;diff=1955</id>
		<title>Jason</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Jason&amp;diff=1955"/>
		<updated>2007-09-01T08:22:31Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: 白紙化&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=1697</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=1697"/>
		<updated>2007-03-11T10:43:22Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AB開発Wikiでは、ABライブラリ開発などに関する情報を扱っていきます。&lt;br /&gt;
開発に参加されている方であれば、自由に投稿・編集をしていただいてかまいません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用上のお願い ==&lt;br /&gt;
Wikiに慣れていない方、使用方法がわからない方は、[[サンドボックス]]で投稿の練習をしてみましょう。新たにリファレンスページをご投稿いただける場合は、可能な限りリファレンステンプレート（[[Fooクラス]]）のフォーマットを基にした記述をお願い致します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== リファレンスβ ==&lt;br /&gt;
AB5に標準で付属するライブラリのリファレンスです。現在は詳細仕様確定中のため、β版となります。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[言語仕様]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[クラス一覧]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
※（ライブラリ開発者の方へ）新しいクラス機能を追加する際は、リポジトリを変更する前にこちらのリファレンスで仕様確定を行うことを推奨いたします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 開発者ミーティング ==&lt;br /&gt;
開発者ミーティングへのご参加はライブラリ開発チームの方のみに限らせていただいております。詳細をご希望の方は、管理人（山本）までご連絡ください。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E7%AC%AC2%E5%9B%9EAB%E9%96%8B%E7%99%BA%E8%80%85%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1696</id>
		<title>第2回AB開発者ミーティング</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E7%AC%AC2%E5%9B%9EAB%E9%96%8B%E7%99%BA%E8%80%85%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1696"/>
		<updated>2007-03-11T10:40:13Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E6%AC%A1%E5%9B%9E%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AE%E4%BA%88%E5%AE%9A&amp;diff=1695</id>
		<title>次回ミーティングの予定</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E6%AC%A1%E5%9B%9E%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AE%E4%BA%88%E5%AE%9A&amp;diff=1695"/>
		<updated>2007-03-11T10:39:56Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E6%AC%A1%E5%9B%9E%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AE%E4%BA%88%E5%AE%9A&amp;diff=1694</id>
		<title>次回ミーティングの予定</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E6%AC%A1%E5%9B%9E%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AE%E4%BA%88%E5%AE%9A&amp;diff=1694"/>
		<updated>2007-03-11T10:23:50Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 時期 ===&lt;br /&gt;
* 3月下旬または4月上旬（詳細は未定です）&lt;br /&gt;
※ご参加はライブラリ開発者のみに限らせていただいております。ご了承ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 主な内容 ===&lt;br /&gt;
* オブジェクト参照型化に関する意識合わせ&lt;br /&gt;
* Using（リソース管理ステートメント）の導入を検討&lt;br /&gt;
* Nothingの導入を検討&lt;br /&gt;
* ガベージコレクションの実装方法の紹介とパフォーマンス検証&lt;br /&gt;
* Constと上手く付き合うための方針&lt;br /&gt;
* Stringを不変にするかどうかを検討&lt;br /&gt;
* ablibのライセンスを検討&lt;br /&gt;
* AB開発Wikiの構成を検討&lt;br /&gt;
* ライブラリ開発の進捗確認&lt;br /&gt;
* その他、参加者によるプレゼン・デモ&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E7%AC%AC2%E5%9B%9EAB%E9%96%8B%E7%99%BA%E8%80%85%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1693</id>
		<title>第2回AB開発者ミーティング</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E7%AC%AC2%E5%9B%9EAB%E9%96%8B%E7%99%BA%E8%80%85%E3%83%9F%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1693"/>
		<updated>2007-03-10T08:41:55Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 日時 ==&lt;br /&gt;
* 日時&lt;br /&gt;
:: 2007/2/11（日）&lt;br /&gt;
:: 11:00～&lt;br /&gt;
* 場所&lt;br /&gt;
:: 東京都港区芝5-27-1 三田SSビル 3F&lt;br /&gt;
:: 株式会社オプティム（http://www.optim.co.jp/access.htm）&lt;br /&gt;
* 参加人数&lt;br /&gt;
:: 8名&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== プログラム ==&lt;br /&gt;
* 11:30 ～ 12:30 AB開発、ライブラリ開発の進捗を確認&lt;br /&gt;
* 12:30 ～ 13:30 昼食（東京厨房 蟹クリームコロッケ弁当(^o^)）&lt;br /&gt;
* 13:30 ～ 14:30 パケットキャプチャリング、簡易サーバーアプリのデモ（by situmon）&lt;br /&gt;
* 14:30 ～ 15:30 バグ追跡管理アプリ「Trac」の紹介と上手な使い方（by O隊長）&lt;br /&gt;
* 15:30 ～ 18:00 フリートーク&lt;br /&gt;
* 18:00 解散（懇親会あり）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ポイント ==&lt;br /&gt;
フリートークでは下記のような提案が行われました。&lt;br /&gt;
* ヘルプ要員が足りない&lt;br /&gt;
* テストケースを作成するための明確な手法を示してほしい&lt;br /&gt;
* Stringクラスを不変にしたい&lt;br /&gt;
* Unicode対応アプリの開発を可能にしたい&lt;br /&gt;
* Cランタイムのバージョンをスイッチしたい&lt;br /&gt;
* _beginthreadexとCreateThreadをスイッチしたい&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ヘルプ要員が足りない ===&lt;br /&gt;
新規にクラスを実装された方は率先してWikiに書き込みましょう。チュートリアル的な解説はAB5の正式リリースの目処がたってから検討しましょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unicode対応アプリの開発を可能にしたい ===&lt;br /&gt;
Unicode化プロジェクト始動。下記のようなポイントをクリアすることで、Unicodeアプリの開発を可能にすることで決定しました。&lt;br /&gt;
* コンパイラがShift-JIS/Unicodeのスイッチングを行えるようにする&lt;br /&gt;
* Unicodeコンパイルモードのときはリテラル文字列をUnicodeとして扱う&lt;br /&gt;
* UnicodeコンパイルモードのときはUnicode対応APIをDeclareする&lt;br /&gt;
* UnicodeコンパイルモードのときはChar型を16ビットとして扱う&lt;br /&gt;
* Char型が文字型(8bit/16bit)になるので、従来の符号付8ビット整数型はSByteにバトンタッチする&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1644</id>
		<title>型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1644"/>
		<updated>2007-03-07T02:14:37Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 型の種類 ==&lt;br /&gt;
* 基本型&lt;br /&gt;
:: コンパイラが直接的に理解できる型のことを言います。詳細は基本型一覧をご覧ください。&lt;br /&gt;
* クラス&lt;br /&gt;
:: Classステートメントで定義される型です。&lt;br /&gt;
* 構造体&lt;br /&gt;
:: Typeステートメントで定義される型です。&lt;br /&gt;
* 列挙体&lt;br /&gt;
:: Enumステートメントで定義される型です。&lt;br /&gt;
* デリゲート&lt;br /&gt;
:: Delegateステートメントで定義される型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本型一覧 ==&lt;br /&gt;
基本型とはコンパイラが直接的に認識できるデータの種類です。基本型は値を保持するためだけにある型ですので、オブジェクトとしての振る舞いはありません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 整数型 ===&lt;br /&gt;
&lt;br /&gt;
==== SByte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -128 ～ 127&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Byte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Integer ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -32768 ～ 32767&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Word ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 65535&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Long ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -2147483648 ～ 2147483647&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 4294967295&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Int64 ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -9223372036854775808 ～ 9223372036854775807&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== QWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 18446744073709551616&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 浮動小数点型 ===&lt;br /&gt;
&lt;br /&gt;
==== Single ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 単精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 3.4E +/- 38 (7 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Double ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 倍精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 1.7E +/- 308 (15 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 文字型 ===&lt;br /&gt;
&lt;br /&gt;
==== Char ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 一文字を表現するための型です。&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte（マルチバイト環境）&lt;br /&gt;
:: 2 byte（Unicode環境）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ブーリアン ===&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 真偽値を見分けるための型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の種類&lt;br /&gt;
:: True or False&lt;br /&gt;
:: ※内部表現は True = 1、False = 0 となります。比較演算の戻り値はBoolean型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== プラットフォームによって異なるサイズを持つ型 ===&lt;br /&gt;
&lt;br /&gt;
==== LONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではLong型として認識されます。Win64 (x64)の環境ではInt64型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ULONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではDWord型として認識されます。Win64 (x64)の環境ではQWord型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ポインタ型 ==&lt;br /&gt;
ABでは、他のBasic言語ではあまり見ることのないポインタ型の扱いに対応しています。メモリ内部を詳細に指定できるポインタ機能、ハードに近いレベルでの利用が可能ですが、使い方によってはバグを引き起こす原因にもなります。必要なときは最新の注意を払って利用していくのが望ましいでしょう。&lt;br /&gt;
Win32APIを直接的に利用する場合などに利用を留めておきましょう。&lt;br /&gt;
&lt;br /&gt;
==== VoidPtr ====&lt;br /&gt;
どのようなオブジェクトを指し示すこともできるポインタ型です。Win32 (x86)の環境では4 byte、Win64 (x64)の環境では8 byteです。&lt;br /&gt;
&lt;br /&gt;
==== その他オブジェクトへのポインタ型 ====&lt;br /&gt;
型名に*を前置すると、その型を指し示すポインタ型を意味します。例: *Byte, *String&lt;br /&gt;
/* とりあえずオブジェクトという言葉を用いましたがほかに適切なものはあるでしょうか。*/&lt;br /&gt;
&lt;br /&gt;
==== 関数へのポインタ型 ====&lt;br /&gt;
関数宣言に*を前置すると、その関数を指し示すポインタ型を意味します。例: *Sub(x As Double), *Function(ptr As VoidPtr) As DWord。詳しくは[[関数#関数ポインタ]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 値型と参照型 ==&lt;br /&gt;
ABでは、基本型及び構造体は値型として扱います。値型はローカル領域またはグローバル領域に配置され、インスタンスの生存期間はスコープレベルで決まります。&lt;br /&gt;
クラス型・Enum型・デリゲート型は参照型です。これらの実態はヒープ領域に確保されます。インスタンスの生存期間はGCが管理します。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E6%96%87%E5%AD%97%E5%88%97%E5%9E%8B&amp;diff=1623</id>
		<title>文字列型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E6%96%87%E5%AD%97%E5%88%97%E5%9E%8B&amp;diff=1623"/>
		<updated>2007-02-15T16:12:16Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;文字列型とは、文字列を扱うために作られた物です。&lt;br /&gt;
Ver 5(CP1)以前とVer 5(CP2)以降ではコンパイラ内部での解釈方法が異なります。&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
=== 概要 ===&lt;br /&gt;
&lt;br /&gt;
符号無し配列&lt;br /&gt;
&lt;br /&gt;
=== サイズ ===&lt;br /&gt;
&lt;br /&gt;
配列側は最小1byteの可変長&lt;br /&gt;
&lt;br /&gt;
変数側は4Byte固定&lt;br /&gt;
&lt;br /&gt;
=== 備考 ===&lt;br /&gt;
&lt;br /&gt;
==== Ver 5(CP1)以前での扱い ====&lt;br /&gt;
&lt;br /&gt;
特殊な基本型として認識されていました。&lt;br /&gt;
&lt;br /&gt;
ただし、ヘルプを見る限りでは使用は推奨されていません。&lt;br /&gt;
&lt;br /&gt;
==== Ver 5(CP2)以降での扱い ====&lt;br /&gt;
&lt;br /&gt;
クラス化され、オブジェクトとしての振る舞いをするようになりました。&lt;br /&gt;
&lt;br /&gt;
クラス内部では、宣言時にcallocで1byteの配列を成り立たせます。&lt;br /&gt;
&lt;br /&gt;
代入時には、reallocとmemcpyで配列を再構成しています。&lt;br /&gt;
&lt;br /&gt;
詳しくは[[String クラス]]へ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unicodeの扱い ==&lt;br /&gt;
プロジェクトオプションから「Unicode文字セットを使用する」を指定することで、Unicode（UTF-16）に対応したアプリケーションを開発できます。マルチバイト文字セット環境との相違点は下記のとおりです。&lt;br /&gt;
&lt;br /&gt;
=== マルチバイト文字セット環境 ===&lt;br /&gt;
デフォルトです。プロジェクトオプションで「Unicode文字セットを使用する」を指定しなかったとき、単体ソースコードをコンパイルするときはマルチバイト文字セット対応型のアプリケーションが作成できます。&lt;br /&gt;
マルチバイト文字セットに対応したWin32API関数が読み込まれます（例: MessageBoxA）。&lt;br /&gt;
&lt;br /&gt;
* Char型のサイズ … 1 byte&lt;br /&gt;
* リテラル文字列の文字セット … マルチバイト文字セット&lt;br /&gt;
&lt;br /&gt;
=== Unicode文字セット環境 ===&lt;br /&gt;
Unicode文字セットに対応したWin32API関数が読み込まれます（例: MessageBoxW）。&lt;br /&gt;
&lt;br /&gt;
* Char型のサイズ … 2 byte&lt;br /&gt;
* リテラル文字列の文字セット … Unicode文字セット&lt;br /&gt;
&lt;br /&gt;
※AB5のデフォルトがマルチバイトになるか、Unicodeになるかは未定です。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1622</id>
		<title>型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1622"/>
		<updated>2007-02-15T16:04:18Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 型の種類 ==&lt;br /&gt;
* 基本型&lt;br /&gt;
:: コンパイラが直接的に理解できる型のことを言います。詳細は基本型一覧をご覧ください。&lt;br /&gt;
* クラス&lt;br /&gt;
:: Classステートメントで定義される型です。&lt;br /&gt;
* 構造体&lt;br /&gt;
:: Typeステートメントで定義される型です。&lt;br /&gt;
* 列挙体&lt;br /&gt;
:: Enumステートメントで定義される型です。&lt;br /&gt;
* デリゲート&lt;br /&gt;
:: Delegateステートメントで定義される型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本型一覧 ==&lt;br /&gt;
基本型とはコンパイラが直接的に認識できるデータの種類です。基本型は値を保持するためだけにある型ですので、オブジェクトとしての振る舞いはありません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 整数型 ===&lt;br /&gt;
&lt;br /&gt;
==== SByte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -128 ～ 127&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Byte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Integer ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -32768 ～ 32767&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Word ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 65535&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Long ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -2147483648 ～ 2147483647&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 4294967295&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Int64 ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -9223372036854775808 ～ 9223372036854775807&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== QWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 18446744073709551616&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 浮動小数点型 ===&lt;br /&gt;
&lt;br /&gt;
==== Single ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 単精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 3.4E +/- 38 (7 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Double ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 倍精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 1.7E +/- 308 (15 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 文字型 ===&lt;br /&gt;
&lt;br /&gt;
==== Char ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 一文字を表現するための型です。&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte（マルチバイト環境）&lt;br /&gt;
:: 2 byte（Unicode環境）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ブーリアン ===&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 真偽値を見分けるための型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の種類&lt;br /&gt;
:: True or False&lt;br /&gt;
:: ※内部表現は True = 1、False = 0 となります。比較演算の戻り値はBoolean型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== プラットフォームによって異なるサイズを持つ型 ===&lt;br /&gt;
&lt;br /&gt;
==== LONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではLong型として認識されます。Win64 (x64)の環境ではInt64型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ULONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではDWord型として認識されます。Win64 (x64)の環境ではQWord型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ポインタ型 ==&lt;br /&gt;
ABでは、他のBasic言語ではあまり見ることのないポインタ型の扱いに対応しています。メモリ内部を詳細に指定できるポインタ機能、ハードに近いレベルでの利用が可能ですが、使い方によってはバグを引き起こす原因にもなります。必要なときは最新の注意を払って利用していくのが望ましいでしょう。&lt;br /&gt;
Win32APIを直接的に利用する場合などに利用を留めておきましょう。&lt;br /&gt;
&lt;br /&gt;
==== VoidPtr ====&lt;br /&gt;
どのようなオブジェクトを指し示すこともできるポインタ型です。Win32 (x86)の環境では4 byte、Win64 (x64)の環境では8 byteです。&lt;br /&gt;
&lt;br /&gt;
==== その他オブジェクトへのポインタ型 ====&lt;br /&gt;
型名に*を前置すると、その型を指し示すポインタ型を意味します。例: *Byte, *String&lt;br /&gt;
/* とりあえずオブジェクトという言葉を用いましたがほかに適切なものはあるでしょうか。*/&lt;br /&gt;
&lt;br /&gt;
==== 関数へのポインタ型 ====&lt;br /&gt;
関数宣言に*を前置すると、その関数を指し示すポインタ型を意味します。例: *Sub(x As Double), *Function(ptr As VoidPtr) As DWord。詳しくは[[関数#関数ポインタ]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 値型と参照型 ==&lt;br /&gt;
ABでは、基本型及びクラス・構造体・列挙体・デリゲートから定義された変数はデフォルトで値型になります。Newやmallocなどで明示的にヒープ領域にデータを生成しない限り、すべての変数データはローカル領域またはグローバル領域に配置されます。値型はポインタを一切利用しないため、最も安全な型として利用できます。&lt;br /&gt;
&lt;br /&gt;
値型の生存期間はスコープ単位で決まります。例えば、下記のようなコードはエラーです。Dimステートメントで生成され、スコープを抜け出す際に破棄されます。&lt;br /&gt;
&lt;br /&gt;
 Do&lt;br /&gt;
     Dim message As String&lt;br /&gt;
     ...&lt;br /&gt;
 Loop&lt;br /&gt;
 message = &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
また、変数やオブジェクトを指し示すための手段として、ポインタ以外に参照を活用できます。ByRef修飾子を活用することで値型として定義された変数の参照を作ることができます。&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照をパラメータとして引き渡すケース&lt;br /&gt;
 Sub proc( ByRef a As Long )&lt;br /&gt;
     &#039; 実引数に影響がある&lt;br /&gt;
     a = 200&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 Dim i = 100 As Long&lt;br /&gt;
 proc( i )&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照を作るケース&lt;br /&gt;
 Dim message As String&lt;br /&gt;
 message = &amp;quot;This is a white pen.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Dim ByRef refMessage = message&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;br /&gt;
&lt;br /&gt;
 &#039; 戻り値を参照で返すケース&lt;br /&gt;
 Dim message = &amp;quot;This is a white pen.&amp;quot; As String&lt;br /&gt;
 Function proc() ByRef As String&lt;br /&gt;
     Return message&lt;br /&gt;
 End Function&lt;br /&gt;
 &lt;br /&gt;
 Dim refMessage = proc()&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%97%E3%83%AA%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5&amp;diff=1614</id>
		<title>プリプロセッサ</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%97%E3%83%AA%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5&amp;diff=1614"/>
		<updated>2007-01-27T18:58:30Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== #include ディレクティブ ==&lt;br /&gt;
ファイルを取り込みます。ファイル名を &amp;quot;&amp;quot; で囲むか、&amp;lt;&amp;gt; で囲むかで参照先のディレクトリが異なります。&lt;br /&gt;
同一のファイルを複数回#includeした場合は、その回数分だけ取り込みます。&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;test.ab&amp;quot;     &#039; ソースコードと同様のディレクトリから探す&lt;br /&gt;
 #include &amp;lt;test.ab&amp;gt;     &#039; 標準インクルードディレクトリから探す&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== #require ディレクティブ ==&lt;br /&gt;
ファイルを取り込みます。#includeディレクティブと異なり、同一のファイルを複数回#requireした場合、取り込まれるのは初回の一回だけになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== #define ディレクティブ ==&lt;br /&gt;
TODO: 記述する。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== #ifdef ～ #endif ディレクティブ ==&lt;br /&gt;
TODO: 記述する。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1613</id>
		<title>言語仕様</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1613"/>
		<updated>2007-01-27T18:52:50Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[型]]&lt;br /&gt;
* [[演算子]]&lt;br /&gt;
* [[関数]]&lt;br /&gt;
* [[定数]]（未実装）&lt;br /&gt;
* [[制御ステートメント]]&lt;br /&gt;
* [[デリゲート]]（未実装）&lt;br /&gt;
* [[クラス]]&lt;br /&gt;
* [[構造体]]&lt;br /&gt;
* [[共用体]]（未実装）&lt;br /&gt;
* [[列挙体]]&lt;br /&gt;
* [[インターフェイス]]&lt;br /&gt;
* [[演算子オーバーロード]]&lt;br /&gt;
* [[インデクサ]]&lt;br /&gt;
* [[プロパティ]]&lt;br /&gt;
* [[連想配列]]&lt;br /&gt;
* [[ガベージコレクション]]&lt;br /&gt;
* [[例外処理]]（未実装）&lt;br /&gt;
* [[文字列型]]&lt;br /&gt;
* [[ヒアドキュメント]]（未実装）&lt;br /&gt;
* [[プリプロセッサ]]&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1612</id>
		<title>言語仕様</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1612"/>
		<updated>2007-01-27T18:26:28Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[型]]&lt;br /&gt;
* [[演算子]]&lt;br /&gt;
* [[関数]]&lt;br /&gt;
* [[定数]]（未実装）&lt;br /&gt;
* [[制御ステートメント]]&lt;br /&gt;
* [[デリゲート]]（未実装）&lt;br /&gt;
* [[クラス]]&lt;br /&gt;
* [[構造体]]&lt;br /&gt;
* [[共用体]]（未実装）&lt;br /&gt;
* [[列挙体]]&lt;br /&gt;
* [[インターフェイス]]&lt;br /&gt;
* [[演算子オーバーロード]]&lt;br /&gt;
* [[インデクサ]]&lt;br /&gt;
* [[プロパティ]]&lt;br /&gt;
* [[連想配列]]&lt;br /&gt;
* [[ガベージコレクション]]&lt;br /&gt;
* [[例外処理]]（未実装）&lt;br /&gt;
* [[文字列型]]&lt;br /&gt;
* [[ヒアドキュメント]]（未実装）&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9F%BA%E6%9C%AC%E5%9E%8B&amp;diff=1611</id>
		<title>基本型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9F%BA%E6%9C%AC%E5%9E%8B&amp;diff=1611"/>
		<updated>2007-01-27T18:26:16Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: ページ 基本型 を 型 へ移動: クラス・構造体・デリゲートなどの簡易紹介と、値型・参照型の解説をしたかったため。これらは基本型の範疇にとどまらず、広い意味での「型」という?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[型]]&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1610</id>
		<title>型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1610"/>
		<updated>2007-01-27T18:26:16Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: ページ 基本型 を 型 へ移動: クラス・構造体・デリゲートなどの簡易紹介と、値型・参照型の解説をしたかったため。これらは基本型の範疇にとどまらず、広い意味での「型」という?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 型の種類 ==&lt;br /&gt;
* 基本型&lt;br /&gt;
:: コンパイラが直接的に理解できる型のことを言います。詳細は基本型一覧をご覧ください。&lt;br /&gt;
* クラス&lt;br /&gt;
:: Classステートメントで定義される型です。&lt;br /&gt;
* 構造体&lt;br /&gt;
:: Typeステートメントで定義される型です。&lt;br /&gt;
* 列挙体&lt;br /&gt;
:: Enumステートメントで定義される型です。&lt;br /&gt;
* デリゲート&lt;br /&gt;
:: Delegateステートメントで定義される型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本型一覧 ==&lt;br /&gt;
基本型とはコンパイラが直接的に認識できるデータの種類です。基本型は値を保持するためだけにある型ですので、オブジェクトとしての振る舞いはありません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 整数型 ===&lt;br /&gt;
&lt;br /&gt;
==== Char ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -128 ～ 127&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Byte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Integer ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -32768 ～ 32767&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Word ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 65535&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Long ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -2147483648 ～ 2147483647&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 4294967295&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Int64 ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -9223372036854775808 ～ 9223372036854775807&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== QWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 18446744073709551616&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 浮動小数点型 ===&lt;br /&gt;
&lt;br /&gt;
==== Single ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 単精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 3.4E +/- 38 (7 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Double ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 倍精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 1.7E +/- 308 (15 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ブーリアン ===&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 真偽値を見分けるための型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の種類&lt;br /&gt;
:: True or False&lt;br /&gt;
:: ※内部表現は True = 1、False = 0 となります。比較演算の戻り値はBoolean型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== プラットフォームによって異なるサイズを持つ型 ===&lt;br /&gt;
&lt;br /&gt;
==== LONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではLong型として認識されます。Win64 (x64)の環境ではInt64型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ULONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではDWord型として認識されます。Win64 (x64)の環境ではQWord型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ポインタ型 ==&lt;br /&gt;
ABでは、他のBasic言語ではあまり見ることのないポインタ型の扱いに対応しています。メモリ内部を詳細に指定できるポインタ機能、ハードに近いレベルでの利用が可能ですが、使い方によってはバグを引き起こす原因にもなります。必要なときは最新の注意を払って利用していくのが望ましいでしょう。&lt;br /&gt;
Win32APIを直接的に利用する場合などに利用を留めておきましょう。&lt;br /&gt;
&lt;br /&gt;
==== VoidPtr ====&lt;br /&gt;
どのようなオブジェクトを指し示すこともできるポインタ型です。Win32 (x86)の環境では4 byte、Win64 (x64)の環境では8 byteです。&lt;br /&gt;
&lt;br /&gt;
==== その他オブジェクトへのポインタ型 ====&lt;br /&gt;
型名に*を前置すると、その型を指し示すポインタ型を意味します。例: *Byte, *String&lt;br /&gt;
/* とりあえずオブジェクトという言葉を用いましたがほかに適切なものはあるでしょうか。*/&lt;br /&gt;
&lt;br /&gt;
==== 関数へのポインタ型 ====&lt;br /&gt;
関数宣言に*を前置すると、その関数を指し示すポインタ型を意味します。例: *Sub(x As Double), *Function(ptr As VoidPtr) As DWord。詳しくは[[関数#関数ポインタ]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 値型と参照型 ==&lt;br /&gt;
ABでは、基本型及びクラス・構造体・列挙体・デリゲートから定義された変数はデフォルトで値型になります。Newやmallocなどで明示的にヒープ領域にデータを生成しない限り、すべての変数データはローカル領域またはグローバル領域に配置されます。値型はポインタを一切利用しないため、最も安全な型として利用できます。&lt;br /&gt;
&lt;br /&gt;
値型の生存期間はスコープ単位で決まります。例えば、下記のようなコードはエラーです。Dimステートメントで生成され、スコープを抜け出す際に破棄されます。&lt;br /&gt;
&lt;br /&gt;
 Do&lt;br /&gt;
     Dim message As String&lt;br /&gt;
     ...&lt;br /&gt;
 Loop&lt;br /&gt;
 message = &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
また、変数やオブジェクトを指し示すための手段として、ポインタ以外に参照を活用できます。ByRef修飾子を活用することで値型として定義された変数の参照を作ることができます。&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照をパラメータとして引き渡すケース&lt;br /&gt;
 Sub proc( ByRef a As Long )&lt;br /&gt;
     &#039; 実引数に影響がある&lt;br /&gt;
     a = 200&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 Dim i = 100 As Long&lt;br /&gt;
 proc( i )&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照を作るケース&lt;br /&gt;
 Dim message As String&lt;br /&gt;
 message = &amp;quot;This is a white pen.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Dim ByRef refMessage = message&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;br /&gt;
&lt;br /&gt;
 &#039; 戻り値を参照で返すケース&lt;br /&gt;
 Dim message = &amp;quot;This is a white pen.&amp;quot; As String&lt;br /&gt;
 Function proc() ByRef As String&lt;br /&gt;
     Return message&lt;br /&gt;
 End Function&lt;br /&gt;
 &lt;br /&gt;
 Dim refMessage = proc()&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1609</id>
		<title>型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1609"/>
		<updated>2007-01-27T18:25:59Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 型の種類 ==&lt;br /&gt;
* 基本型&lt;br /&gt;
:: コンパイラが直接的に理解できる型のことを言います。詳細は基本型一覧をご覧ください。&lt;br /&gt;
* クラス&lt;br /&gt;
:: Classステートメントで定義される型です。&lt;br /&gt;
* 構造体&lt;br /&gt;
:: Typeステートメントで定義される型です。&lt;br /&gt;
* 列挙体&lt;br /&gt;
:: Enumステートメントで定義される型です。&lt;br /&gt;
* デリゲート&lt;br /&gt;
:: Delegateステートメントで定義される型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本型一覧 ==&lt;br /&gt;
基本型とはコンパイラが直接的に認識できるデータの種類です。基本型は値を保持するためだけにある型ですので、オブジェクトとしての振る舞いはありません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 整数型 ===&lt;br /&gt;
&lt;br /&gt;
==== Char ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -128 ～ 127&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Byte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Integer ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -32768 ～ 32767&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Word ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 65535&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Long ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -2147483648 ～ 2147483647&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 4294967295&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Int64 ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -9223372036854775808 ～ 9223372036854775807&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== QWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 18446744073709551616&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 浮動小数点型 ===&lt;br /&gt;
&lt;br /&gt;
==== Single ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 単精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 3.4E +/- 38 (7 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Double ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 倍精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 1.7E +/- 308 (15 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ブーリアン ===&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 真偽値を見分けるための型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の種類&lt;br /&gt;
:: True or False&lt;br /&gt;
:: ※内部表現は True = 1、False = 0 となります。比較演算の戻り値はBoolean型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== プラットフォームによって異なるサイズを持つ型 ===&lt;br /&gt;
&lt;br /&gt;
==== LONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではLong型として認識されます。Win64 (x64)の環境ではInt64型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ULONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではDWord型として認識されます。Win64 (x64)の環境ではQWord型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ポインタ型 ==&lt;br /&gt;
ABでは、他のBasic言語ではあまり見ることのないポインタ型の扱いに対応しています。メモリ内部を詳細に指定できるポインタ機能、ハードに近いレベルでの利用が可能ですが、使い方によってはバグを引き起こす原因にもなります。必要なときは最新の注意を払って利用していくのが望ましいでしょう。&lt;br /&gt;
Win32APIを直接的に利用する場合などに利用を留めておきましょう。&lt;br /&gt;
&lt;br /&gt;
==== VoidPtr ====&lt;br /&gt;
どのようなオブジェクトを指し示すこともできるポインタ型です。Win32 (x86)の環境では4 byte、Win64 (x64)の環境では8 byteです。&lt;br /&gt;
&lt;br /&gt;
==== その他オブジェクトへのポインタ型 ====&lt;br /&gt;
型名に*を前置すると、その型を指し示すポインタ型を意味します。例: *Byte, *String&lt;br /&gt;
/* とりあえずオブジェクトという言葉を用いましたがほかに適切なものはあるでしょうか。*/&lt;br /&gt;
&lt;br /&gt;
==== 関数へのポインタ型 ====&lt;br /&gt;
関数宣言に*を前置すると、その関数を指し示すポインタ型を意味します。例: *Sub(x As Double), *Function(ptr As VoidPtr) As DWord。詳しくは[[関数#関数ポインタ]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 値型と参照型 ==&lt;br /&gt;
ABでは、基本型及びクラス・構造体・列挙体・デリゲートから定義された変数はデフォルトで値型になります。Newやmallocなどで明示的にヒープ領域にデータを生成しない限り、すべての変数データはローカル領域またはグローバル領域に配置されます。値型はポインタを一切利用しないため、最も安全な型として利用できます。&lt;br /&gt;
&lt;br /&gt;
値型の生存期間はスコープ単位で決まります。例えば、下記のようなコードはエラーです。Dimステートメントで生成され、スコープを抜け出す際に破棄されます。&lt;br /&gt;
&lt;br /&gt;
 Do&lt;br /&gt;
     Dim message As String&lt;br /&gt;
     ...&lt;br /&gt;
 Loop&lt;br /&gt;
 message = &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
また、変数やオブジェクトを指し示すための手段として、ポインタ以外に参照を活用できます。ByRef修飾子を活用することで値型として定義された変数の参照を作ることができます。&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照をパラメータとして引き渡すケース&lt;br /&gt;
 Sub proc( ByRef a As Long )&lt;br /&gt;
     &#039; 実引数に影響がある&lt;br /&gt;
     a = 200&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 Dim i = 100 As Long&lt;br /&gt;
 proc( i )&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照を作るケース&lt;br /&gt;
 Dim message As String&lt;br /&gt;
 message = &amp;quot;This is a white pen.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Dim ByRef refMessage = message&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;br /&gt;
&lt;br /&gt;
 &#039; 戻り値を参照で返すケース&lt;br /&gt;
 Dim message = &amp;quot;This is a white pen.&amp;quot; As String&lt;br /&gt;
 Function proc() ByRef As String&lt;br /&gt;
     Return message&lt;br /&gt;
 End Function&lt;br /&gt;
 &lt;br /&gt;
 Dim refMessage = proc()&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1608</id>
		<title>型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1608"/>
		<updated>2007-01-27T18:23:54Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 型の種類 ==&lt;br /&gt;
* 基本型&lt;br /&gt;
:: コンパイラが直接的に理解できる型のことを言います。詳細は基本型一覧をご覧ください。&lt;br /&gt;
* クラス&lt;br /&gt;
:: Classステートメントで定義される型です。&lt;br /&gt;
* 構造体&lt;br /&gt;
:: Typeステートメントで定義される型です。&lt;br /&gt;
* 列挙体&lt;br /&gt;
:: Enumステートメントで定義される型です。&lt;br /&gt;
* デリゲート&lt;br /&gt;
:: Delegateステートメントで定義される型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本型一覧 ==&lt;br /&gt;
基本型とはコンパイラが直接的に認識できるデータの種類です。基本型は値を保持するためだけにある型ですので、オブジェクトとしての振る舞いはありません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 整数型 ===&lt;br /&gt;
&lt;br /&gt;
==== Char ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -128 ～ 127&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Byte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Integer ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -32768 ～ 32767&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Word ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 65535&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Long ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -2147483648 ～ 2147483647&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 4294967295&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Int64 ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -9223372036854775808 ～ 9223372036854775807&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== QWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 18446744073709551616&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 浮動小数点型 ===&lt;br /&gt;
&lt;br /&gt;
==== Single ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 単精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 3.4E +/- 38 (7 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Double ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 倍精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 1.7E +/- 308 (15 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ブーリアン ===&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 真偽値を見分けるための型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の種類&lt;br /&gt;
:: True or False&lt;br /&gt;
:: ※内部表現は True = 1、False = 0 となります。比較演算の戻り値はBoolean型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== プラットフォームによって異なるサイズを持つ型 ===&lt;br /&gt;
&lt;br /&gt;
==== LONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではLong型として認識されます。Win64 (x64)の環境ではInt64型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ULONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではDWord型として認識されます。Win64 (x64)の環境ではQWord型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ポインタ型 ===&lt;br /&gt;
ABでは、他のBasic言語ではあまり見ることのないポインタ型の扱いに対応しています。メモリ内部を詳細に指定できるポインタ機能、ハードに近いレベルでの利用が可能ですが、使い方によってはバグを引き起こす原因にもなります。必要なときは最新の注意を払って利用していくのが望ましいでしょう。&lt;br /&gt;
Win32APIを直接的に利用する場合などに利用を留めておきましょう。&lt;br /&gt;
&lt;br /&gt;
==== VoidPtr ====&lt;br /&gt;
どのようなオブジェクトを指し示すこともできるポインタ型です。Win32 (x86)の環境では4 byte、Win64 (x64)の環境では8 byteです。&lt;br /&gt;
&lt;br /&gt;
==== その他オブジェクトへのポインタ型 ====&lt;br /&gt;
型名に*を前置すると、その型を指し示すポインタ型を意味します。例: *Byte, *String&lt;br /&gt;
/* とりあえずオブジェクトという言葉を用いましたがほかに適切なものはあるでしょうか。*/&lt;br /&gt;
&lt;br /&gt;
==== 関数へのポインタ型 ====&lt;br /&gt;
関数宣言に*を前置すると、その関数を指し示すポインタ型を意味します。例: *Sub(x As Double), *Function(ptr As VoidPtr) As DWord。詳しくは[[関数#関数ポインタ]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 値型と参照型 ==&lt;br /&gt;
ABでは、基本型及びクラス・構造体・列挙体・デリゲートから定義された変数はデフォルトで値型になります。Newやmallocなどで明示的にヒープ領域にデータを生成しない限り、すべての変数データはローカル領域またはグローバル領域に配置されます。値型はポインタを一切利用しないため、最も安全な型として利用できます。&lt;br /&gt;
&lt;br /&gt;
値型の生存期間はスコープ単位で決まります。例えば、下記のようなコードはエラーです。Dimステートメントで生成され、スコープを抜け出す際に破棄されます。&lt;br /&gt;
&lt;br /&gt;
 Do&lt;br /&gt;
     Dim message As String&lt;br /&gt;
     ...&lt;br /&gt;
 Loop&lt;br /&gt;
 message = &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
また、変数やオブジェクトを指し示すための手段として、ポインタ以外に参照を活用できます。ByRef修飾子を活用することで値型として定義された変数の参照を作ることができます。&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照をパラメータとして引き渡すケース&lt;br /&gt;
 Sub proc( ByRef a As Long )&lt;br /&gt;
     &#039; 実引数に影響がある&lt;br /&gt;
     a = 200&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 Dim i = 100 As Long&lt;br /&gt;
 proc( i )&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照を作るケース&lt;br /&gt;
 Dim message As String&lt;br /&gt;
 message = &amp;quot;This is a white pen.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Dim ByRef refMessage = message&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;br /&gt;
&lt;br /&gt;
 &#039; 戻り値を参照で返すケース&lt;br /&gt;
 Dim message = &amp;quot;This is a white pen.&amp;quot; As String&lt;br /&gt;
 Function proc() ByRef As String&lt;br /&gt;
     Return message&lt;br /&gt;
 End Function&lt;br /&gt;
 &lt;br /&gt;
 Dim refMessage = proc()&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1607</id>
		<title>型</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%9E%8B&amp;diff=1607"/>
		<updated>2007-01-27T18:23:14Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 型の種類 ==&lt;br /&gt;
* 基本型&lt;br /&gt;
:: コンパイラが直接的に理解できる型のことを言います。詳細は基本型一覧をご覧ください。&lt;br /&gt;
* クラス&lt;br /&gt;
:: Classステートメントで定義される型です。&lt;br /&gt;
* 構造体&lt;br /&gt;
:: Typeステートメントで定義される型です。&lt;br /&gt;
* 列挙体&lt;br /&gt;
:: Enumステートメントで定義される型です。&lt;br /&gt;
* デリゲート&lt;br /&gt;
:: Delegateステートメントで定義される型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本型一覧 ==&lt;br /&gt;
基本型とはコンパイラが直接的に認識できるデータの種類です。基本型は値を保持するためだけにある型ですので、オブジェクトとしての振る舞いはありません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 整数型 ===&lt;br /&gt;
&lt;br /&gt;
==== Char ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -128 ～ 127&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Byte ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし8ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Integer ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -32768 ～ 32767&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Word ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし16ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 2 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 65535&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Long ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -2147483648 ～ 2147483647&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし32ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 4294967295&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Int64 ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号あり64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: -9223372036854775808 ～ 9223372036854775807&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== QWord ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 符号なし64ビット整数型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 0 ～ 18446744073709551616&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 浮動小数点型 ===&lt;br /&gt;
&lt;br /&gt;
==== Single ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 単精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 4 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 3.4E +/- 38 (7 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Double ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 倍精度浮動小数点型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 8 byte&lt;br /&gt;
* 値の範囲&lt;br /&gt;
:: 1.7E +/- 308 (15 桁)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ブーリアン ===&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
* 概要&lt;br /&gt;
:: 真偽値を見分けるための型&lt;br /&gt;
* サイズ&lt;br /&gt;
:: 1 byte&lt;br /&gt;
* 値の種類&lt;br /&gt;
:: True or False&lt;br /&gt;
:: ※内部表現は True = 1、False = 0 となります。比較演算の戻り値はBoolean型です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== プラットフォームによって異なるサイズを持つ型 ===&lt;br /&gt;
&lt;br /&gt;
==== LONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではLong型として認識されます。Win64 (x64)の環境ではInt64型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ULONG_PTR ====&lt;br /&gt;
Win32 (x86)の環境ではDWord型として認識されます。Win64 (x64)の環境ではQWord型として認識されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ポインタ型 ===&lt;br /&gt;
ABでは、他のBasic言語ではあまり見ることのないポインタ型の扱いに対応しています。メモリ内部を詳細に指定できるポインタ機能、ハードに近いレベルでの利用が可能ですが、使い方によってはバグを引き起こす原因にもなります。必要なときは最新の注意を払って利用していくのが望ましいでしょう。&lt;br /&gt;
Win32APIを直接的に利用する場合などに利用を留めておきましょう。&lt;br /&gt;
&lt;br /&gt;
==== VoidPtr ====&lt;br /&gt;
どのようなオブジェクトを指し示すこともできるポインタ型です。Win32 (x86)の環境では4 byte、Win64 (x64)の環境では8 byteです。&lt;br /&gt;
&lt;br /&gt;
==== その他オブジェクトへのポインタ型 ====&lt;br /&gt;
型名に*を前置すると、その型を指し示すポインタ型を意味します。例: *Byte, *String&lt;br /&gt;
/* とりあえずオブジェクトという言葉を用いましたがほかに適切なものはあるでしょうか。*/&lt;br /&gt;
&lt;br /&gt;
==== 関数へのポインタ型 ====&lt;br /&gt;
関数宣言に*を前置すると、その関数を指し示すポインタ型を意味します。例: *Sub(x As Double), *Function(ptr As VoidPtr) As DWord。詳しくは[[関数#関数ポインタ]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 値型と参照型 ==&lt;br /&gt;
ABでは、基本型及びクラス・構造体・列挙体・デリゲートから定義された変数はデフォルトで値型になります。Newやmallocなどで明示的にヒープ領域にデータを生成しない限り、すべての変数データはローカル領域またはグローバル領域に配置されます。値型はポインタを一切利用しないため、最も安全な型として利用できます。&lt;br /&gt;
&lt;br /&gt;
値型の生存期間はスコープ単位で決まります。例えば、下記のようなコードはエラーです。Dimステートメントで生成され、スコープを抜け出す際に破棄されます。&lt;br /&gt;
&lt;br /&gt;
 Do&lt;br /&gt;
     Dim message As String&lt;br /&gt;
 Loop&lt;br /&gt;
 message = &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
また、変数やオブジェクトを指し示すための手段として、ポインタ以外に参照を活用できます。ByRef修飾子を活用することで値型として定義された変数の参照を作ることができます。&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照をパラメータとして引き渡すケース&lt;br /&gt;
 Sub proc( ByRef a As Long )&lt;br /&gt;
     &#039; 実引数に影響がある&lt;br /&gt;
     a = 200&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 Dim i = 100 As Long&lt;br /&gt;
 proc( i )&lt;br /&gt;
&lt;br /&gt;
 &#039; 変数の参照を作るケース&lt;br /&gt;
 Dim message As String&lt;br /&gt;
 message = &amp;quot;This is a white pen.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Dim ByRef refMessage = message&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;br /&gt;
&lt;br /&gt;
 &#039; 戻り値を参照で返すケース&lt;br /&gt;
 Dim message = &amp;quot;This is a white pen.&amp;quot; As String&lt;br /&gt;
 Function proc() ByRef As String&lt;br /&gt;
     Return message&lt;br /&gt;
 End Function&lt;br /&gt;
 &lt;br /&gt;
 Dim refMessage = proc()&lt;br /&gt;
 refMessage = &amp;quot;This is a black pen.&amp;quot;       &#039; messageにも影響がある。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89&amp;diff=1571</id>
		<title>利用者:山本（管理人）</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89&amp;diff=1571"/>
		<updated>2006-12-10T17:54:45Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ActiveBasicの開発責任者。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
優先事項から先にこなすようにしています。早くやってほしい作業などがありましたら（すべてにおいてですけど…）、ご連絡ください。可能な限り対処いたします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 優先的にこなす ===&lt;br /&gt;
* メンバ定数の実装&lt;br /&gt;
* 例外処理機構の実装&lt;br /&gt;
* デリゲートの実装&lt;br /&gt;
&lt;br /&gt;
=== 溜め込みスケジュール ===&lt;br /&gt;
* ヒアドキュメントの実装&lt;br /&gt;
* 共用体の実装&lt;br /&gt;
* Foreachステートメントの実装&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== クリアしたスケジュール ===&lt;br /&gt;
* 静的メンバ・静的メソッドを自身のクラス内から参照する際、クラス名識別子を省略できないバグを修正。&lt;br /&gt;
* 2006/11/29、ToDoログを開始しました。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89&amp;diff=1570</id>
		<title>利用者:山本（管理人）</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89&amp;diff=1570"/>
		<updated>2006-12-10T02:03:32Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: /* 優先的にこなす */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ActiveBasicの開発責任者。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
優先事項から先にこなすようにしています。早くやってほしい作業などがありましたら（すべてにおいてですけど…）、ご連絡ください。可能な限り対処いたします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 優先的にこなす ===&lt;br /&gt;
* 字句解析部分を再コーディング&lt;br /&gt;
* メンバ定数の実装&lt;br /&gt;
* 例外処理機構の実装&lt;br /&gt;
* デリゲートの実装&lt;br /&gt;
&lt;br /&gt;
=== 溜め込みスケジュール ===&lt;br /&gt;
* ヒアドキュメントの実装&lt;br /&gt;
* 共用体の実装&lt;br /&gt;
* Foreachステートメントの実装&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== クリアしたスケジュール ===&lt;br /&gt;
* 静的メンバ・静的メソッドを自身のクラス内から参照する際、クラス名識別子を省略できないバグを修正。&lt;br /&gt;
* 2006/11/29、ToDoログを開始しました。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3&amp;diff=1561</id>
		<title>プロパティ</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3&amp;diff=1561"/>
		<updated>2006-12-03T16:05:01Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;プロパティは、[[クラス]]のメンバにアクセスする要領でメソッド呼び出しを行う概念です。&lt;br /&gt;
プロパティを使用すると、直観的な表現によってソースコードの可読性の向上が期待できます。&lt;br /&gt;
&lt;br /&gt;
==プロパティの定義==&lt;br /&gt;
プロパティを定義するには、定義したいプロパティの名前と同名のメソッドを定義します。&lt;br /&gt;
具体的な定義方法は[[クラス#メソッドの定義]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
===Get アクセッサ===&lt;br /&gt;
プロパティを評価する操作は、そのプロパティと同じ名前で引数を持たない同名のメソッドの呼び出しに置換されます。&lt;br /&gt;
値を取得 (get) するので、このメソッドを Get アクセッサといいます。&lt;br /&gt;
&lt;br /&gt;
===Set アクセッサ===&lt;br /&gt;
プロパティに値を代入する操作は、そのプロパティと同じ名前で引数が 1 つのメソッドの呼び出しに置換されます。&lt;br /&gt;
値を代入 (set) するので、このメソッドを Set アクセッサといいます。&lt;br /&gt;
&lt;br /&gt;
==使用例==&lt;br /&gt;
具体的なプロパティの使用方法を示します。&lt;br /&gt;
 Class CFoo&lt;br /&gt;
     m_value As Long&lt;br /&gt;
 Public&lt;br /&gt;
     &#039; Value プロパティの定義&lt;br /&gt;
     &#039; Get アクセッサ&lt;br /&gt;
     Function Value() As Long&lt;br /&gt;
         Value = m_value&lt;br /&gt;
     End Function&lt;br /&gt;
 &lt;br /&gt;
     &#039; Set アクセッサ&lt;br /&gt;
     Sub Value(num As Long)&lt;br /&gt;
         &#039; num は 1 .. 100 の範囲内でなければならないとする&lt;br /&gt;
         If (num &amp;lt; 1) Or (num &amp;gt; 100) Then&lt;br /&gt;
             &#039; num が範囲外なので、ここで何らかのエラー処理を行う&lt;br /&gt;
         Else&lt;br /&gt;
             m_value = num&lt;br /&gt;
         End If&lt;br /&gt;
     End Sub&lt;br /&gt;
 End Class&lt;br /&gt;
 &lt;br /&gt;
 Dim x As CFoo&lt;br /&gt;
 &#039;x.m_value = 10 &#039; NG: m_value は CFoo クラスの Private メンバなので、直接アクセスはできない。&lt;br /&gt;
 &lt;br /&gt;
 &#039; 次の 2 文は等価&lt;br /&gt;
 x.Value = 10    &#039; Value プロパティへの代入&lt;br /&gt;
 x.Value(10)     &#039; Value() メソッド（Set アクセッサ）の呼び出し&lt;br /&gt;
 &lt;br /&gt;
 Dim y As Long&lt;br /&gt;
 &#039; 次の 2 文は等価&lt;br /&gt;
 y = x.Value     &#039; Value プロパティの取得&lt;br /&gt;
 y = x.Value()   &#039; Value() メソッド（Get アクセッサ）の呼び出し&lt;br /&gt;
&lt;br /&gt;
==メソッドのプロパティ性==&lt;br /&gt;
0 個ないし 1 個の引数を持つメソッドはすべてプロパティとなりえます。プロパティへのアクセスはメソッドの呼び出しと完全に等価です。&lt;br /&gt;
よって、クラスの提供者がメソッドとして呼び出されることを意図して設計したとしても、クラスの利用者はその意図を無視してプロパティとしてアクセスできます。&lt;br /&gt;
逆に、クラスの提供者がプロパティとして呼び出されることを意図して定義したメソッドを、通常のメソッドとして呼び出すこともできます。&lt;br /&gt;
このように設計者の意図に反した形式でプロパティ/メソッドを使用してもプログラムの動作に支障はありませんが、コードの可読性はかえって低下するおそれがあります。&lt;br /&gt;
プロパティを使用するときは以上のことをよく心得ておいてください。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%AE%9A%E6%95%B0&amp;diff=1558</id>
		<title>定数</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%AE%9A%E6%95%B0&amp;diff=1558"/>
		<updated>2006-11-30T03:39:44Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: /* クラスの静的メンバとしての定数 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;定数とは初期化のタイミング以外で値を変更できない識別子のことを言います。グローバル領域またはローカル領域で定義することができ、参照方法は変数と同様です。&lt;br /&gt;
&lt;br /&gt;
定数はオブジェクトメンバ及びクラスの静的メンバとして持つこともできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 定数の定義 ==&lt;br /&gt;
&lt;br /&gt;
 &#039;一般の定数&lt;br /&gt;
 &#039;&#039;&#039;Const&#039;&#039;&#039; &#039;&#039;name&#039;&#039; = &#039;&#039;expression&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;定数マクロ&lt;br /&gt;
 &#039;&#039;&#039;Const&#039;&#039;&#039; &#039;&#039;macro&#039;&#039;(&#039;args&#039;) = &#039;&#039;expression&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name&#039;&#039;、&#039;&#039;macro&#039;&#039;&lt;br /&gt;
: 定数名または定数マクロ名を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;args&#039;&#039;&lt;br /&gt;
: マクロの場合はカッコ内にパラメータを指定します。カンマで区切って複数指定できます。置換ベースのマクロなので、型指定などは必要ありません。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;expression&#039;&#039;&lt;br /&gt;
: 式を書きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 備考 ===&lt;br /&gt;
定数の初期値として代入する値がリテラル値の場合は、コンパイル時、その定数が参照される箇所にはリテラル値が置換されます。&lt;br /&gt;
定数の初期値が動的に変化する可能性を含む場合（変数や関数の戻り値など）は一般の変数と同様の領域に値が保有されます。この場合、初期化以外の場所で定数の値を変更しようとした場合、コンパイルエラーになります。また、このような定数を参照渡しパラメータとして指定することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== オブジェクト メンバとしての定数 ==&lt;br /&gt;
Classステートメント内にも定数を記述することができます。この場合、定数の初期化はコンストラクタでのみ行えます。コンストラクタ以外のメソッドや外部からメンバ定数の値を書き換えようとした場合、コンパイルエラーになります。&lt;br /&gt;
&lt;br /&gt;
 Class Foo&lt;br /&gt;
     Const N As Long&lt;br /&gt;
 Public&lt;br /&gt;
     Sub Foo()&lt;br /&gt;
         N=100&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Sub Baz()&lt;br /&gt;
         &#039;コンパイルエラー&lt;br /&gt;
         N=200&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     ...&lt;br /&gt;
 &lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== クラスの静的メンバとしての定数 ==&lt;br /&gt;
Classステートメント内においてStatic宣言で定数を定義した場合、その定数はクラスの静的メンバ定数になります。初期化はConstステートメントの右辺に指定します。&lt;br /&gt;
&lt;br /&gt;
 Class Foo&lt;br /&gt;
     Static Const N = 100 As Long &lt;br /&gt;
     ...&lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
== 定数の型がクラスの場合 ==&lt;br /&gt;
一般的に定数というと、リテラル値または書き換え不可能な数値型として把握されがちですが、定数にはクラス型を指定することもできます（以下、オブジェクト定数）。&lt;br /&gt;
&lt;br /&gt;
オブジェクト定数はそのクラスの内容を書き換えることは出来ません。一般的にメソッドを呼び出すこともできません。ただし、すべてのメソッドが呼べないとなると、クラスの機能を全く利用できなくなってしまいますので、下記の宣言がなされているメソッドのみ、例外的に呼び出すことが可能になっています。&lt;br /&gt;
&lt;br /&gt;
 Class Foo&lt;br /&gt;
 &lt;br /&gt;
 Public&lt;br /&gt;
     x As Long&lt;br /&gt;
 &lt;br /&gt;
     Sub Foo(x)&lt;br /&gt;
         This.x = x&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Const Sub Method1()&lt;br /&gt;
         ...&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Sub Method2()&lt;br /&gt;
         ...&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
 End Class&lt;br /&gt;
 &lt;br /&gt;
 Const obj As Foo(100)&lt;br /&gt;
 &lt;br /&gt;
 &#039;正常（Constなメソッドは呼び出し可能）&lt;br /&gt;
 obj.Method1()&lt;br /&gt;
 &lt;br /&gt;
 &#039;一般メソッドを呼び出すとエラー&lt;br /&gt;
 obj.Method2()&lt;br /&gt;
 &lt;br /&gt;
 &#039;オブジェクトの内容を書き換えようとしてもエラー&lt;br /&gt;
 obj.x=200&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%AE%9A%E6%95%B0&amp;diff=1557</id>
		<title>定数</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%AE%9A%E6%95%B0&amp;diff=1557"/>
		<updated>2006-11-29T17:57:41Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: /* 定数の型がクラスの場合 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;定数とは初期化のタイミング以外で値を変更できない識別子のことを言います。グローバル領域またはローカル領域で定義することができ、参照方法は変数と同様です。&lt;br /&gt;
&lt;br /&gt;
定数はオブジェクトメンバ及びクラスの静的メンバとして持つこともできます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 定数の定義 ==&lt;br /&gt;
&lt;br /&gt;
 &#039;一般の定数&lt;br /&gt;
 &#039;&#039;&#039;Const&#039;&#039;&#039; &#039;&#039;name&#039;&#039; = &#039;&#039;expression&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;定数マクロ&lt;br /&gt;
 &#039;&#039;&#039;Const&#039;&#039;&#039; &#039;&#039;macro&#039;&#039;(&#039;args&#039;) = &#039;&#039;expression&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name&#039;&#039;、&#039;&#039;macro&#039;&#039;&lt;br /&gt;
: 定数名または定数マクロ名を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;args&#039;&#039;&lt;br /&gt;
: マクロの場合はカッコ内にパラメータを指定します。カンマで区切って複数指定できます。置換ベースのマクロなので、型指定などは必要ありません。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;expression&#039;&#039;&lt;br /&gt;
: 式を書きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 備考 ===&lt;br /&gt;
定数の初期値として代入する値がリテラル値の場合は、コンパイル時、その定数が参照される箇所にはリテラル値が置換されます。&lt;br /&gt;
定数の初期値が動的に変化する可能性を含む場合（変数や関数の戻り値など）は一般の変数と同様の領域に値が保有されます。この場合、初期化以外の場所で定数の値を変更しようとした場合、コンパイルエラーになります。また、このような定数を参照渡しパラメータとして指定することはできません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== オブジェクト メンバとしての定数 ==&lt;br /&gt;
Classステートメント内にも定数を記述することができます。この場合、定数の初期化はコンストラクタでのみ行えます。コンストラクタ以外のメソッドや外部からメンバ定数の値を書き換えようとした場合、コンパイルエラーになります。&lt;br /&gt;
&lt;br /&gt;
 Class Foo&lt;br /&gt;
     Const N As Long&lt;br /&gt;
 Public&lt;br /&gt;
     Sub Foo()&lt;br /&gt;
         N=100&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Sub Baz()&lt;br /&gt;
         &#039;コンパイルエラー&lt;br /&gt;
         N=200&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     ...&lt;br /&gt;
 &lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== クラスの静的メンバとしての定数 ==&lt;br /&gt;
Classステートメント内においてStatic宣言で定数を定義した場合、その定数はクラスの静的メンバ定数になります。初期化はConstステートメントの右辺に指定します。&lt;br /&gt;
&lt;br /&gt;
 Class Foo&lt;br /&gt;
     Const N = 100 As Long &lt;br /&gt;
     ...&lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 定数の型がクラスの場合 ==&lt;br /&gt;
一般的に定数というと、リテラル値または書き換え不可能な数値型として把握されがちですが、定数にはクラス型を指定することもできます（以下、オブジェクト定数）。&lt;br /&gt;
&lt;br /&gt;
オブジェクト定数はそのクラスの内容を書き換えることは出来ません。一般的にメソッドを呼び出すこともできません。ただし、すべてのメソッドが呼べないとなると、クラスの機能を全く利用できなくなってしまいますので、下記の宣言がなされているメソッドのみ、例外的に呼び出すことが可能になっています。&lt;br /&gt;
&lt;br /&gt;
 Class Foo&lt;br /&gt;
 &lt;br /&gt;
 Public&lt;br /&gt;
     x As Long&lt;br /&gt;
 &lt;br /&gt;
     Sub Foo(x)&lt;br /&gt;
         This.x = x&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Const Sub Method1()&lt;br /&gt;
         ...&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Sub Method2()&lt;br /&gt;
         ...&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
 End Class&lt;br /&gt;
 &lt;br /&gt;
 Const obj As Foo(100)&lt;br /&gt;
 &lt;br /&gt;
 &#039;正常（Constなメソッドは呼び出し可能）&lt;br /&gt;
 obj.Method1()&lt;br /&gt;
 &lt;br /&gt;
 &#039;一般メソッドを呼び出すとエラー&lt;br /&gt;
 obj.Method2()&lt;br /&gt;
 &lt;br /&gt;
 &#039;オブジェクトの内容を書き換えようとしてもエラー&lt;br /&gt;
 obj.x=200&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89&amp;diff=1549</id>
		<title>利用者:山本（管理人）</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:%E5%B1%B1%E6%9C%AC%EF%BC%88%E7%AE%A1%E7%90%86%E4%BA%BA%EF%BC%89&amp;diff=1549"/>
		<updated>2006-11-29T04:02:30Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ActiveBasicの開発責任者。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
優先事項から先にこなすようにしています。早くやってほしい作業などがありましたら（すべてにおいてですけど…）、ご連絡ください。可能な限り対処いたします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 優先的にこなす ===&lt;br /&gt;
* メンバ定数の実装&lt;br /&gt;
* 例外処理機構の実装&lt;br /&gt;
* デリゲートの実装&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 溜め込みスケジュール ===&lt;br /&gt;
* ヒアドキュメントの実装&lt;br /&gt;
* 共用体の実装&lt;br /&gt;
* Foreachステートメントの実装&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== クリアしたスケジュール ===&lt;br /&gt;
* 静的メンバ・静的メソッドを自身のクラス内から参照する際、クラス名識別子を省略できないバグを修正。&lt;br /&gt;
* 2006/11/29、ToDoログを開始しました。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1541</id>
		<title>言語仕様</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1541"/>
		<updated>2006-11-11T17:28:16Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[基本型]]&lt;br /&gt;
* [[演算子]]&lt;br /&gt;
* [[関数]]&lt;br /&gt;
* [[制御ステートメント]]&lt;br /&gt;
* [[デリゲート]]（未実装）&lt;br /&gt;
* [[クラス]]&lt;br /&gt;
* [[構造体]]&lt;br /&gt;
* [[共用体]]（未実装）&lt;br /&gt;
* [[列挙体]]&lt;br /&gt;
* [[インターフェイス]]&lt;br /&gt;
* [[演算子オーバーロード]]&lt;br /&gt;
* [[インデクサ]]&lt;br /&gt;
* [[プロパティ]]&lt;br /&gt;
* [[連想配列]]&lt;br /&gt;
* [[ガベージコレクション]]&lt;br /&gt;
* [[例外処理]]（未実装）&lt;br /&gt;
* [[文字列型]]&lt;br /&gt;
* [[ヒアドキュメント]]（未実装）&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88&amp;diff=1538</id>
		<title>デリゲート</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88&amp;diff=1538"/>
		<updated>2006-11-07T16:55:08Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== デリゲート型の定義 ==&lt;br /&gt;
 &#039;&#039;&#039;Delegate Sub/Function&#039;&#039;&#039; &#039;&#039;name&#039;&#039;([&#039;&#039;parameters&#039;&#039;]) [&#039;&#039;&#039;As&#039;&#039;&#039; &#039;&#039;type&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sub/Function&#039;&#039;&#039;&lt;br /&gt;
: 戻り値が存在しないときはSubを、存在するときはFunctionを指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name&#039;&#039;&lt;br /&gt;
: デリゲートの型名を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;parameters&#039;&#039;&lt;br /&gt;
: パラメータを記述します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;As&#039;&#039;&#039; &#039;&#039;type&#039;&#039;&lt;br /&gt;
: Function定義の場合のみ、戻り値を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
「デリゲート型の定義」「デリゲートの生成」「メソッドの代入」「デリゲートの呼び出し」が一連の流れになります。メソッドをデリゲートにセットするときは、AddressOf関数を利用します。&lt;br /&gt;
&lt;br /&gt;
 &#039;デリゲート型を定義する&lt;br /&gt;
 Delegate Sub SampleDelegate()&lt;br /&gt;
 &lt;br /&gt;
 &#039;デリゲートを生成する&lt;br /&gt;
 Dim DeleProc As SampleDelegate&lt;br /&gt;
 &lt;br /&gt;
 &#039;デリゲートにメソッドを代入する&lt;br /&gt;
 DeleProc = AddressOf(obj.method)&lt;br /&gt;
 &lt;br /&gt;
 &#039;デリゲートを呼び出す&lt;br /&gt;
 DeleProc()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 備考 ==&lt;br /&gt;
デリゲート型のすべては下記に示すDelegateBaseクラスから派生します。&lt;br /&gt;
&lt;br /&gt;
工事中...&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9%E4%B8%80%E8%A6%A7&amp;diff=1534</id>
		<title>クラス一覧</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9%E4%B8%80%E8%A6%A7&amp;diff=1534"/>
		<updated>2006-11-06T17:18:51Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 全般 ==&lt;br /&gt;
* [[String クラス]]&lt;br /&gt;
* [[Thread クラス]]&lt;br /&gt;
* [[ComplexDouble クラス]]（未実装）&lt;br /&gt;
* [[ComplexSingle クラス]]（未実装）&lt;br /&gt;
* [[ImaginaryDouble クラス]]（未実装）&lt;br /&gt;
* [[ImaginarySingle クラス]]（未実装）&lt;br /&gt;
&lt;br /&gt;
== Windows API ==&lt;br /&gt;
=== カーネル ===&lt;br /&gt;
* [[KernelHandle クラス]]&lt;br /&gt;
&lt;br /&gt;
==== ユーザ ====&lt;br /&gt;
* [[WindowHandle クラス]]&lt;br /&gt;
&lt;br /&gt;
=== GDI ===&lt;br /&gt;
&lt;br /&gt;
== フォーム（ウィンドウコントロール） ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== データベース ==&lt;br /&gt;
[[OdbcConnection クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcCommand クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcData クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcDataReader クラス]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OpenGL ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectX ==&lt;br /&gt;
未定&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1522</id>
		<title>言語仕様</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1522"/>
		<updated>2006-10-27T18:15:32Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[基本型]]&lt;br /&gt;
* [[演算子]]&lt;br /&gt;
* [[関数]]&lt;br /&gt;
* [[制御ステートメント]]&lt;br /&gt;
* [[デリゲート]]（未実装）&lt;br /&gt;
* [[クラス]]&lt;br /&gt;
* [[構造体]]&lt;br /&gt;
* [[共用体]]（未実装）&lt;br /&gt;
* [[列挙体]]&lt;br /&gt;
* [[インターフェイス]]&lt;br /&gt;
* [[演算子オーバーロード]]&lt;br /&gt;
* [[インデクサ]]&lt;br /&gt;
* [[プロパティ]]&lt;br /&gt;
* [[連想配列]]&lt;br /&gt;
* [[ガベージコレクション]]&lt;br /&gt;
* [[文字列型]]&lt;br /&gt;
* [[ヒアドキュメント]]（未実装）&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Thread%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1518</id>
		<title>Threadクラス</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Thread%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1518"/>
		<updated>2006-10-27T15:41:33Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== クラスの機能 ==&lt;br /&gt;
&lt;br /&gt;
=== プロパティ ===&lt;br /&gt;
工事中...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== メソッド ===&lt;br /&gt;
&lt;br /&gt;
==== コンストラクタ ====&lt;br /&gt;
 Sub Thread()&lt;br /&gt;
 Sub Thread(fp As PTHREAD_START_ROUTINE, args As VoidPtr)&lt;br /&gt;
パラメータを持たないコンストラクタはThreadクラスを派生させる場合に利用します。&lt;br /&gt;
&lt;br /&gt;
fpに別スレッドで実行するための関数ポインタを、argsにはパラメータを指定します。&lt;br /&gt;
&lt;br /&gt;
==== Resume ====&lt;br /&gt;
 Sub Resume()&lt;br /&gt;
スレッドのサスペンド カウントを 1 減らします。サスペンド カウントが 0 になるとスレッドは実行に移ります。&lt;br /&gt;
&lt;br /&gt;
==== Run ====&lt;br /&gt;
 Sub Run()&lt;br /&gt;
Runメソッドは仮想メソッドです。派生先クラスでこのメソッドをオーバーライドすることで実行されるスレッドモジュールを書き換えることができます。&lt;br /&gt;
&lt;br /&gt;
==== Start ====&lt;br /&gt;
 Sub Start()&lt;br /&gt;
スレッドを開始します。&lt;br /&gt;
&lt;br /&gt;
==== Suspend ====&lt;br /&gt;
 Sub Suspend()&lt;br /&gt;
スレッドをサスペンド状態（一時中断）にし、サスペンド カウントを 1 増やします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
工事中...&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1514</id>
		<title>言語仕様</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1514"/>
		<updated>2006-10-25T03:34:36Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[基本型]]&lt;br /&gt;
* [[演算子]]&lt;br /&gt;
* [[関数]]&lt;br /&gt;
* [[制御ステートメント]]&lt;br /&gt;
* [[デリゲート]]（未実装）&lt;br /&gt;
* [[クラス]]&lt;br /&gt;
* [[構造体]]&lt;br /&gt;
* [[共用体]]（未実装）&lt;br /&gt;
* [[列挙体]]&lt;br /&gt;
* [[インターフェイス]]&lt;br /&gt;
* [[演算子オーバーロード]]&lt;br /&gt;
* [[インデクサ]]&lt;br /&gt;
* [[プロパティ]]&lt;br /&gt;
* [[連想配列]]&lt;br /&gt;
* [[ガベージコレクション]]&lt;br /&gt;
* [[文字列型]]&lt;br /&gt;
* [[ヒアドキュメント]]（未実装）&lt;br /&gt;
* [[マルチスレッド]]（未実装）&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=1513</id>
		<title>列挙体</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=1513"/>
		<updated>2006-10-25T02:30:38Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;列挙体は関連する整数定数の集合を定義するために利用します。ABの列挙体には、列挙メンバを単なる定数値として扱うモードと、タイプセーフな列挙オブジェクトとして扱うモードの2通りの利用方法があります。&lt;br /&gt;
&lt;br /&gt;
== 列挙体の定義 ==&lt;br /&gt;
 [&#039;&#039;&#039;Const&#039;&#039;&#039;] &#039;&#039;&#039;Enum&#039;&#039;&#039; &#039;&#039;Name&#039;&#039;&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;End Enum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&#039;&#039;&#039;Const&#039;&#039;&#039;&lt;br /&gt;
: Const修飾子を指定すると定数列挙体になります。省略するとタイプセーフ列挙体になります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Name&#039;&#039;&lt;br /&gt;
: 列挙体の名前を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: 関連する整数定数を定義します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== タイプセーフ列挙体 ==&lt;br /&gt;
列挙体をEnumBaseの派生クラスとして管理します。異なる列挙型オブジェクトへの代入が禁止され、定数列挙体と比較してコードミスの軽減が期待できます。この他、列挙メンバ名の取得が可能になるなど、付加機能を利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 例 ===&lt;br /&gt;
下記のコードサンプルは、メンバa,bを持ち合わせる列挙体uを定義しています。ABの列挙体は、メンバの右辺値として初期値が与えられていないときは、1からカウントされます。この例では、a=1、b=2の値を保有することになります。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
下記のように初期値を指定した場合、a=0、b=1という具合になります。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a=0&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
初期以降のメンバは自動的に前のメンバに1をプラスした値となりますが、下記のようにすべてのメンバの値を指定することもできます。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a=10&lt;br /&gt;
     b=20&lt;br /&gt;
     c=30&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== タイプセーフ列挙体の値を参照する ===&lt;br /&gt;
列挙体が保有する列挙メンバを参照する場合は、&amp;quot;列挙体.メンバ&amp;quot; のように記述します。ABの列挙体はメンバの値は勿論のこと、メンバの名前を取得することもできます。下記にメンバの値と名前を取得するサンプルコードを示します。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
 &lt;br /&gt;
 Dim i As Long&lt;br /&gt;
 i=x.a&lt;br /&gt;
 Print &amp;quot;列挙体xのメンバ&amp;quot; + x.a.ToString() + &amp;quot;の値は&amp;quot; + Str$(i) + &amp;quot;です。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
実行結果は下記のように出力されます。&lt;br /&gt;
&lt;br /&gt;
 列挙体xのメンバaの値は1です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 列挙体の基底クラス（EnumBaseクラス） ===&lt;br /&gt;
ABで定義するすべてのタイプセーフ列挙体は下記に示すEnumBaseクラスを継承しています。&lt;br /&gt;
&lt;br /&gt;
 Class EnumBase&lt;br /&gt;
     m_Value As Long&lt;br /&gt;
     m_Name As String&lt;br /&gt;
 Public&lt;br /&gt;
     Sub EnumBase(value As Long, name As String)&lt;br /&gt;
         m_Value=value&lt;br /&gt;
         m_Name=name&lt;br /&gt;
     End Sub&lt;br /&gt;
     Sub ~EnumBase()&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Function ToString() As String&lt;br /&gt;
         Return m_Name&lt;br /&gt;
     End Function&lt;br /&gt;
 &lt;br /&gt;
     Sub Copy(ByRef obj As EnumBase)&lt;br /&gt;
         m_Value=obj.m_Value&lt;br /&gt;
         m_Name=obj.m_Name&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Function Operator() As Long&lt;br /&gt;
         Return m_Value&lt;br /&gt;
     End Function&lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 定数列挙体 ==&lt;br /&gt;
Const修飾子を指定すると、列挙メンバは定数として定義されます。例えば、下記の２つのコードは同一の意味になります。定数列挙体はWin32APIなど、過去のC/C++系ライブラリとの互換性に優れます。&lt;br /&gt;
&lt;br /&gt;
 Const Enum x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
 TypeDef x=Long&lt;br /&gt;
 Const a=1&lt;br /&gt;
 Const b=2&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=1512</id>
		<title>列挙体</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=1512"/>
		<updated>2006-10-24T07:43:04Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;列挙体は関連する整数定数の集合を定義するために利用します。ABの列挙体には、列挙メンバを単なる定数値として扱うモードと、タイプセーフな列挙オブジェクトとして扱うモードの2通りの利用方法があります。&lt;br /&gt;
&lt;br /&gt;
== 列挙体の定義 ==&lt;br /&gt;
 &#039;&#039;&#039;Enum&#039;&#039;&#039; [&#039;&#039;&#039;Class&#039;&#039;&#039;] &#039;&#039;Name&#039;&#039;&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;End Enum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&#039;&#039;&#039;Class&#039;&#039;&#039;&lt;br /&gt;
: Class修飾子を指定するとタイプセーフ列挙体になります。省略すると定数列挙体になります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Name&#039;&#039;&lt;br /&gt;
: 列挙体の名前を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: 関連する整数定数を定義します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== タイプセーフ列挙体 ==&lt;br /&gt;
列挙体をEnumBaseの派生クラスとして管理します。異なる列挙型オブジェクトへの代入が禁止され、定数列挙体と比較してコードミスの軽減が期待できます。この他、列挙メンバ名の取得が可能になるなど、付加機能を利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 例 ===&lt;br /&gt;
下記のコードサンプルは、メンバa,bを持ち合わせる列挙体uを定義しています。ABの列挙体は、メンバの右辺値として初期値が与えられていないときは、1からカウントされます。この例では、a=1、b=2の値を保有することになります。&lt;br /&gt;
&lt;br /&gt;
 Enum Class x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
下記のように初期値を指定した場合、a=0、b=1という具合になります。&lt;br /&gt;
&lt;br /&gt;
 Enum Class x&lt;br /&gt;
     a=0&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
初期以降のメンバは自動的に前のメンバに1をプラスした値となりますが、下記のようにすべてのメンバの値を指定することもできます。&lt;br /&gt;
&lt;br /&gt;
 Enum Class x&lt;br /&gt;
     a=10&lt;br /&gt;
     b=20&lt;br /&gt;
     c=30&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== タイプセーフ列挙体の値を参照する ===&lt;br /&gt;
列挙体が保有する列挙メンバを参照する場合は、&amp;quot;列挙体.メンバ&amp;quot; のように記述します。ABの列挙体はメンバの値は勿論のこと、メンバの名前を取得することもできます。下記にメンバの値と名前を取得するサンプルコードを示します。&lt;br /&gt;
&lt;br /&gt;
 Enum Class x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
 &lt;br /&gt;
 Dim i As Long&lt;br /&gt;
 i=x.a&lt;br /&gt;
 Print &amp;quot;列挙体xのメンバ&amp;quot; + x.a.ToString() + &amp;quot;の値は&amp;quot; + Str$(i) + &amp;quot;です。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
実行結果は下記のように出力されます。&lt;br /&gt;
&lt;br /&gt;
 列挙体xのメンバaの値は1です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 列挙体の基底クラス（EnumBaseクラス） ===&lt;br /&gt;
ABで定義するすべてのタイプセーフ列挙体は下記に示すEnumBaseクラスを継承しています。&lt;br /&gt;
&lt;br /&gt;
 Class EnumBase&lt;br /&gt;
     m_Value As Long&lt;br /&gt;
     m_Name As String&lt;br /&gt;
 Public&lt;br /&gt;
     Sub EnumBase(value As Long, name As String)&lt;br /&gt;
         m_Value=value&lt;br /&gt;
         m_Name=name&lt;br /&gt;
     End Sub&lt;br /&gt;
     Sub ~EnumBase()&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Function ToString() As String&lt;br /&gt;
         Return m_Name&lt;br /&gt;
     End Function&lt;br /&gt;
 &lt;br /&gt;
     Sub Copy(ByRef obj As EnumBase)&lt;br /&gt;
         m_Value=obj.m_Value&lt;br /&gt;
         m_Name=obj.m_Name&lt;br /&gt;
     End Sub&lt;br /&gt;
 &lt;br /&gt;
     Function Operator() As Long&lt;br /&gt;
         Return m_Value&lt;br /&gt;
     End Function&lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 定数列挙体 ==&lt;br /&gt;
Class修飾子を省略すると、列挙メンバは定数として定義されます。例えば、下記の２つのコードは同一の意味になります。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
 TypeDef x=Long&lt;br /&gt;
 Const a=1&lt;br /&gt;
 Const b=2&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1508</id>
		<title>言語仕様</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98&amp;diff=1508"/>
		<updated>2006-10-17T15:28:37Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[基本型]]&lt;br /&gt;
* [[演算子]]&lt;br /&gt;
* [[関数]]&lt;br /&gt;
* [[制御ステートメント]]&lt;br /&gt;
* [[デリゲート]]（未実装）&lt;br /&gt;
* [[クラス]]&lt;br /&gt;
* [[構造体]]&lt;br /&gt;
* [[共用体]]（未実装）&lt;br /&gt;
* [[列挙体]]（未実装）&lt;br /&gt;
* [[インターフェイス]]&lt;br /&gt;
* [[演算子オーバーロード]]&lt;br /&gt;
* [[インデクサ]]&lt;br /&gt;
* [[プロパティ]]&lt;br /&gt;
* [[連想配列]]&lt;br /&gt;
* [[ガベージコレクション]]&lt;br /&gt;
* [[文字列型]]&lt;br /&gt;
* [[ヒアドキュメント]]（未実装）&lt;br /&gt;
* [[マルチスレッド]]（未実装）&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=1507</id>
		<title>列挙体</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=1507"/>
		<updated>2006-10-17T14:59:20Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;列挙体は関連する整数定数の集合を定義するために利用します。&lt;br /&gt;
&lt;br /&gt;
== 列挙体の定義 ==&lt;br /&gt;
 &#039;&#039;&#039;Enum&#039;&#039;&#039; &#039;&#039;Name&#039;&#039;&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;End Enum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&#039;&#039;Name&#039;&#039;&lt;br /&gt;
: 列挙体の名前を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: 関連する整数定数を定義します。&lt;br /&gt;
&lt;br /&gt;
=== 例 ===&lt;br /&gt;
下記のコードサンプルは、メンバa,bを持ち合わせる列挙体uを定義しています。ABの列挙体は、メンバの右辺値として初期値が与えられていないときは、1からカウントされます。この例では、a=1、b=2の値を保有することになります。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
下記のように初期値を指定した場合、a=0、b=1という具合になります。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a=0&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
初期以降のメンバは自動的に前のメンバに1をプラスした値となりますが、下記のようにすべてのメンバの値を指定することもできます。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a=10&lt;br /&gt;
     b=20&lt;br /&gt;
     c=30&lt;br /&gt;
 End Enum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 列挙体の値を参照する ==&lt;br /&gt;
列挙体が保有する定数値を参照する場合は、&amp;quot;列挙体.メンバ&amp;quot; のように記述します。ABの列挙体はメンバの値は勿論のこと、メンバの名前を参照することもできます。下記にメンバの値と名前を取得するサンプルコードを示します。&lt;br /&gt;
&lt;br /&gt;
 Enum x&lt;br /&gt;
     a&lt;br /&gt;
     b&lt;br /&gt;
 End Enum&lt;br /&gt;
 &lt;br /&gt;
 Dim i As Long&lt;br /&gt;
 i=x.a&lt;br /&gt;
 Print &amp;quot;列挙体xのメンバ&amp;quot; + x.a.ToString() + &amp;quot;の値は&amp;quot; + Str$(i) + &amp;quot;です。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
実行結果は下記のように出力されます。&lt;br /&gt;
&lt;br /&gt;
 列挙体xのメンバaの値は1です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 列挙体の基底クラス ==&lt;br /&gt;
ABで定義するすべての列挙体は下記に示すEnumBaseクラスを継承しています。&lt;br /&gt;
&lt;br /&gt;
工事中...&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9&amp;diff=1506</id>
		<title>インタフェース</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9&amp;diff=1506"/>
		<updated>2006-10-17T14:10:21Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;インターフェイスとはクラスが提供するメソッドをあらかじめ定義した関数リストのことを言います。ABのインターフェイスは多重継承ができる点を除けば、抽象クラスと同等の意味を持ちます。&lt;br /&gt;
&lt;br /&gt;
インターフェイスはそれ単体ではインスタンス化することはできません。インスタンス化するには、派生先のクラスですべてのメソッドを実装する必要があります。&lt;br /&gt;
&lt;br /&gt;
== インターフェイスの定義 ==&lt;br /&gt;
 &#039;&#039;&#039;Interface&#039;&#039;&#039; &#039;&#039;Name&#039;&#039;&lt;br /&gt;
     [&#039;&#039;&#039;Inherits&#039;&#039;&#039; &#039;&#039;BaseInterface&#039;&#039;]&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;End Interface&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&#039;&#039;Name&#039;&#039;&lt;br /&gt;
: インターフェイスの名前を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;BaseInterface&#039;&#039;&lt;br /&gt;
: 継承するインターフェイスが存在する場合に指定します。カンマ &amp;quot;,&amp;quot; で区切って複数のインターフェイスを多重に継承することができます（インターフェイスの多重継承は未実装）。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: インターフェイスが保有するメソッドを定義します。SubまたはFunctionステートメントを利用して一般のメソッドを定義するように指定します。インターフェイスのメソッド定義では実装コード及び &amp;quot;End Sub&amp;quot; または &amp;quot;End Function&amp;quot; の記述は不要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COMインターフェイス ==&lt;br /&gt;
IUnknownインターフェイスから派生したインターフェイスはCOMインターフェイスとして利用できます。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1505</id>
		<title>クラス</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1505"/>
		<updated>2006-10-17T13:52:42Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: /* クラスの定義 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;クラスとはオブジェクトの雛形のことを言います。&lt;br /&gt;
&lt;br /&gt;
== クラスの定義 ==&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Class&#039;&#039;&#039; &#039;&#039;ClassName&#039;&#039;&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;End Class&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ClassName&#039;&#039;&lt;br /&gt;
: クラス名を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: クラスの構成要素を記述します。構成要素は下記のとおりです。&lt;br /&gt;
:: ・基底クラス&lt;br /&gt;
:: ・インターフェイス&lt;br /&gt;
:: ・コンストラクタ&lt;br /&gt;
:: ・デストラクタ&lt;br /&gt;
:: ・静的メンバ&lt;br /&gt;
:: ・動的メンバ&lt;br /&gt;
:: ・静的メソッド&lt;br /&gt;
:: ・動的メソッド&lt;br /&gt;
: ABでは動的メソッドの書き方によって下記の言語機能を表現できます。この際、専用のステートメントや修飾子は必要ありません。&lt;br /&gt;
:: ・インデクサ&lt;br /&gt;
:: ・プロパティ&lt;br /&gt;
&lt;br /&gt;
== メンバの定義 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== メソッドの定義 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== コンストラクタ・デストラクタ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== アクセシビリティ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 継承 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 仮想関数 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 抽象クラス・抽象メソッド ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New/Delete ==&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%85%B1%E7%94%A8%E4%BD%93&amp;diff=1504</id>
		<title>共用体</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%85%B1%E7%94%A8%E4%BD%93&amp;diff=1504"/>
		<updated>2006-10-17T09:31:54Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;共用体を利用すると、同一メモリ空間に２つ以上の異なるデータ型を有するメンバを配置できます。共用体はクラスメンバまたは構造体メンバとして定義します。&lt;br /&gt;
&lt;br /&gt;
== 共用体の定義 ==&lt;br /&gt;
 Class name&lt;br /&gt;
     &#039;&#039;&#039;Union&#039;&#039;&#039; &#039;&#039;u&#039;&#039;&lt;br /&gt;
         &#039;&#039;Members&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;End Union&#039;&#039;&#039;&lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
 Type name&lt;br /&gt;
     &#039;&#039;&#039;Union&#039;&#039;&#039; &#039;&#039;u&#039;&#039;&lt;br /&gt;
         &#039;&#039;Members&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;End Union&#039;&#039;&#039;&lt;br /&gt;
 End Type&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&#039;&#039;u&#039;&#039;&lt;br /&gt;
: 共用体の名前を指定します。&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: 共用体を構成するメンバ（複数可）を指定します。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E6%A7%8B%E9%80%A0%E4%BD%93&amp;diff=1503</id>
		<title>構造体</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E6%A7%8B%E9%80%A0%E4%BD%93&amp;diff=1503"/>
		<updated>2006-10-17T09:30:24Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 構造体の定義 ==&lt;br /&gt;
 &#039;&#039;&#039;Type&#039;&#039;&#039; [Align(&#039;&#039;n&#039;&#039;)] &#039;&#039;TypeName&#039;&#039;&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;End Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;n&#039;&#039;&lt;br /&gt;
: アラインメントをバイト単位で指定できます。指定する値は1,2,4,8,16のいずれかでなければなりません。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TypeName&#039;&#039;&lt;br /&gt;
: 構造体の名前を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&lt;br /&gt;
: 構造体を構成するメンバ（複数可）を指定します。&amp;quot;Member As Type&amp;quot; などのように、メンバ名・データ型を指定します。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E6%A7%8B%E9%80%A0%E4%BD%93&amp;diff=1502</id>
		<title>構造体</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E6%A7%8B%E9%80%A0%E4%BD%93&amp;diff=1502"/>
		<updated>2006-10-17T09:28:22Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 構造体の定義 ==&lt;br /&gt;
 &#039;&#039;&#039;Type&#039;&#039;&#039; [Align(&#039;&#039;n&#039;&#039;)] &#039;&#039;TypeName&#039;&#039;&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;End Type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;n&#039;&#039;&lt;br /&gt;
: アラインメントをバイト単位で指定できます。指定する値は1,2,4,8,16のいずれかでなければなりません。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TypeName&#039;&#039;&lt;br /&gt;
: 構造体の名前を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&lt;br /&gt;
: 構造体を構成するメンバ（複数可）を指定します。&amp;quot;Member As Type&amp;quot; などのように、メンバ名・データ型を指定します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 共用体メンバの利用（未実装） ==&lt;br /&gt;
共用体を利用すると、同一メモリ空間に２つ以上の異なるデータ型を有するメンバを配置できます。共用体はクラスメンバまたは構造体メンバとして定義します。定義の書式は下記のとおりです。&lt;br /&gt;
 Type TypeName&lt;br /&gt;
     &#039;&#039;&#039;Union&#039;&#039;&#039; &#039;&#039;u&#039;&#039;&lt;br /&gt;
         &#039;&#039;Members&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;End Union&#039;&#039;&#039;&lt;br /&gt;
 End Type&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&#039;&#039;u&#039;&#039;&lt;br /&gt;
: 共用体の名前を指定します。&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: 共用体を構成するメンバ（複数可）を指定します。&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1501</id>
		<title>クラス</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1501"/>
		<updated>2006-10-15T04:17:55Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;クラスとはオブジェクトの雛形のことを言います。&lt;br /&gt;
&lt;br /&gt;
== クラスの定義 ==&lt;br /&gt;
&lt;br /&gt;
 Class &#039;&#039;ClassName&#039;&#039;&lt;br /&gt;
     &#039;&#039;Members&#039;&#039;&lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ClassName&#039;&#039;&lt;br /&gt;
: クラス名を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Members&#039;&#039;&lt;br /&gt;
: クラスの構成要素を記述します。構成要素は下記のとおりです。&lt;br /&gt;
:: ・基底クラス&lt;br /&gt;
:: ・インターフェイス&lt;br /&gt;
:: ・コンストラクタ&lt;br /&gt;
:: ・デストラクタ&lt;br /&gt;
:: ・静的メンバ&lt;br /&gt;
:: ・動的メンバ&lt;br /&gt;
:: ・静的メソッド&lt;br /&gt;
:: ・動的メソッド&lt;br /&gt;
: ABでは動的メソッドの書き方によって下記の言語機能を表現できます。この際、専用のステートメントや修飾子は必要ありません。&lt;br /&gt;
:: ・インデクサ&lt;br /&gt;
:: ・プロパティ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== メンバの定義 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== メソッドの定義 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== コンストラクタ・デストラクタ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== アクセシビリティ ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 継承 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 仮想関数 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 抽象クラス・抽象メソッド ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New/Delete ==&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%B6%E5%BE%A1%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%A1%E3%83%B3%E3%83%88&amp;diff=1500</id>
		<title>制御ステートメント</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E5%88%B6%E5%BE%A1%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%A1%E3%83%B3%E3%83%88&amp;diff=1500"/>
		<updated>2006-10-15T03:08:00Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Goto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== If ... Then ～ End If ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== For ～ Next ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== While ～ Wend ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Do ～ Loop ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Select ～ End Select ==&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:%E6%BC%94%E7%AE%97%E5%AD%90&amp;diff=1499</id>
		<title>トーク:演算子</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%83%88%E3%83%BC%E3%82%AF:%E6%BC%94%E7%AE%97%E5%AD%90&amp;diff=1499"/>
		<updated>2006-10-15T02:58:54Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;優先順位だけでなく結合則も明記した方がベターだと思います。&lt;br /&gt;
ときどき演算子が予想だにしない方と結合して戸惑うことがあるのは、たぶん僕だけではないでしょう。&lt;br /&gt;
: 署名忘れてました。僕って誰やねんと --[[利用者:Tak|Tak]] 2006年10月13日 (金) 23:22 (JST)&lt;br /&gt;
:: 了解です/(^^)。ということで、早速修正しておきました。--[[利用者:山本（管理人）|山本（管理人）]] 2006年10月15日 (日) 11:58 (JST)&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E9%96%A2%E6%95%B0&amp;diff=1495</id>
		<title>関数</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E9%96%A2%E6%95%B0&amp;diff=1495"/>
		<updated>2006-10-14T15:51:15Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Functionステートメント ==&lt;br /&gt;
戻り値を有する関数を定義します。&lt;br /&gt;
 &#039;&#039;&#039;Function&#039;&#039;&#039; [&#039;&#039;&#039;Export&#039;&#039;&#039;] [&#039;&#039;&#039;cdecl&#039;&#039;&#039;] &#039;&#039;name&#039;&#039; ([&#039;&#039;arglist&#039;&#039;]) [&#039;&#039;&#039;As&#039;&#039;&#039; &#039;&#039;type&#039;&#039;]&lt;br /&gt;
     [&#039;&#039;statements&#039;&#039;]&lt;br /&gt;
 &#039;&#039;&#039;End Function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Export&#039;&#039;&#039;&lt;br /&gt;
: DLLをコンパイルする際に関数をエクスポートするかどうかを指定できます。Export修飾子を指定すると関数はエクスポートされ、外部の実行ファイルから参照できます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cdecl&#039;&#039;&#039;&lt;br /&gt;
: 呼び出し規約がcdeclの関数を定義する際に指定します。cdecl修飾子を指定しない場合はstdcall（デフォルト）になります。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;name&#039;&#039;&lt;br /&gt;
: 関数名を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;arglist&#039;&#039;&lt;br /&gt;
: パラメータを指定します。複数のパラメータが存在するときは、各パラメータ同士をカンマ &amp;quot;,&amp;quot; で区切って指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;As&#039;&#039;&#039; &#039;&#039;type&#039;&#039;&lt;br /&gt;
: 後に戻り値のデータ型を指定します。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;statements&#039;&#039;&lt;br /&gt;
: 関数の処理内容を単行、または複数行に渡って記述します。&lt;br /&gt;
&lt;br /&gt;
=== 戻り値の指定 ===&lt;br /&gt;
戻り値を有するFunctionステートメントでは、戻り値を返すためのコードを下記のように記載する必要があります。&lt;br /&gt;
&lt;br /&gt;
 Function TestProc() As Long&lt;br /&gt;
     &#039;10を返す&lt;br /&gt;
     TestProc=10&lt;br /&gt;
     Exit Function&lt;br /&gt;
 End Function&lt;br /&gt;
&lt;br /&gt;
 Function TestProc() As Long&lt;br /&gt;
     &#039;10を返す&lt;br /&gt;
     Return 10&lt;br /&gt;
 End Function&lt;br /&gt;
&lt;br /&gt;
これらのコードはいずれも同じ動作になります。Exit Functionステートメントは関数を抜け出すための命令です（事前に戻り値を指定しておく必要があります）。Returnステートメントは戻り値を指定し、尚且つ関数を抜け出します。関数名を修正したときなどに修正箇所が軽減できることから、後者のReturnステートメントを利用する方法を推奨いたします。&lt;br /&gt;
&lt;br /&gt;
&amp;quot;End Function&amp;quot; の手前に &amp;quot;Exit Function&amp;quot; または &amp;quot;Return&amp;quot; が指定されていないときは関数は自動的に終了し、呼び出し元に処理を移します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subステートメント ==&lt;br /&gt;
戻り値が無い関数を定義します。&lt;br /&gt;
 &#039;&#039;&#039;Function&#039;&#039;&#039; [&#039;&#039;&#039;Export&#039;&#039;&#039;] [&#039;&#039;&#039;cdecl&#039;&#039;&#039;] &#039;&#039;name&#039;&#039; ([&#039;&#039;arglist&#039;&#039;])&lt;br /&gt;
     [&#039;&#039;statements&#039;&#039;]&lt;br /&gt;
 &#039;&#039;&#039;End Function&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== 項目 ===&lt;br /&gt;
戻り値を指定しないポイント以外はFunctionステートメントと同様です。&lt;br /&gt;
&lt;br /&gt;
=== 関数から抜け出す場合 ===&lt;br /&gt;
関数を処理中に &amp;quot;Exit Sub&amp;quot; または &amp;quot;Return&amp;quot; が実行されるとその関数は終了し、呼び出し元に処理を移します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== オーバーロード ==&lt;br /&gt;
オーバーロードとは、パラメータや戻り値のデータ型が異なる同名の関数を多重に定義することを言います。&lt;br /&gt;
&lt;br /&gt;
 #prompt&lt;br /&gt;
 Sub TestProc(a As Long)&lt;br /&gt;
     Print &amp;quot;パラメータは整数型です&amp;quot;&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 Sub TestProc(a As Double)&lt;br /&gt;
     Print &amp;quot;パラメータは実数型です&amp;quot;&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 Sub TestProc(a As String)&lt;br /&gt;
     Print &amp;quot;パラメータはString型です&amp;quot;&lt;br /&gt;
 End Sub&lt;br /&gt;
 &lt;br /&gt;
 TestProc(10)&lt;br /&gt;
 TestProc(3.14)&lt;br /&gt;
 TestProc(&amp;quot;Hello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
上記のソースコードは同一名のTestProc関数を異なる三つのパラメータで定義しています。実行結果は下記のようになります。&lt;br /&gt;
&lt;br /&gt;
 パラメータは整数型です&lt;br /&gt;
 パラメータは実数型です&lt;br /&gt;
 パラメータはString型です&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 関数ポインタ ==&lt;br /&gt;
工事中&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1494</id>
		<title>Foo.Method2</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1494"/>
		<updated>2006-10-14T15:25:20Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここにメソッドの概要を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式1 ==&lt;br /&gt;
Method2(&#039;&#039;Text&#039;&#039; As String)&lt;br /&gt;
&lt;br /&gt;
ここに書式1の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式2 ==&lt;br /&gt;
Method2(&#039;&#039;Text&#039;&#039; As String, &#039;&#039;i&#039;&#039; As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式2の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式3 ==&lt;br /&gt;
Method2(&#039;&#039;Text&#039;&#039; As String, &#039;&#039;i&#039;&#039; As Long, &#039;&#039;x&#039;&#039; As Long, &#039;&#039;y&#039;&#039; As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式3の説明を書いてください。複数のパラメータが存在するときは、下記のように見出しで提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
=== パラメータ ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Text&#039;&#039;&lt;br /&gt;
: ここにTextパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;i&#039;&#039;&lt;br /&gt;
: ここにiパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;x&#039;&#039;&lt;br /&gt;
: ここにxパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;y&#039;&#039;&lt;br /&gt;
: ここにyパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
=== 戻り値 ===&lt;br /&gt;
ここに戻り値の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
必要に応じて各書式に対応する使い方を提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
 Dim obj As Foo&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10,100,200)&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1493</id>
		<title>Foo.Method2</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1493"/>
		<updated>2006-10-14T15:08:10Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここにメソッドの概要を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式1 ==&lt;br /&gt;
Method2(Text As String)&lt;br /&gt;
&lt;br /&gt;
ここに書式1の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式2 ==&lt;br /&gt;
Method2(Text As String, i As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式2の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式3 ==&lt;br /&gt;
Method2(Text As String, i As Long, x As Long, y As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式3の説明を書いてください。複数のパラメータが存在するときは、下記のように見出しで提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
=== パラメータ ===&lt;br /&gt;
&lt;br /&gt;
==== Text ====&lt;br /&gt;
ここにTextパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
==== i ====&lt;br /&gt;
ここにiパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
==== x ====&lt;br /&gt;
ここにxパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
==== y ====&lt;br /&gt;
ここにyパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
=== 戻り値 ===&lt;br /&gt;
ここに戻り値の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
必要に応じて各書式に対応する使い方を提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
 Dim obj As Foo&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10,100,200)&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1464</id>
		<title>Foo.Method2</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1464"/>
		<updated>2006-10-06T02:13:29Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここにメソッドの概要を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 書式1 =&lt;br /&gt;
Method2(Text As String)&lt;br /&gt;
&lt;br /&gt;
ここに書式1の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 書式2 =&lt;br /&gt;
Method2(Text As String, i As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式2の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 書式3 =&lt;br /&gt;
Method2(Text As String, i As Long, x As Long, y As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式3の説明を書いてください。複数のパラメータが存在するときは、下記のように見出しで提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
== パラメータ ==&lt;br /&gt;
&lt;br /&gt;
=== Text ===&lt;br /&gt;
ここにTextパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
=== i ===&lt;br /&gt;
ここにiパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
=== x ===&lt;br /&gt;
ここにxパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
=== y ===&lt;br /&gt;
ここにyパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
== 戻り値 ==&lt;br /&gt;
ここに戻り値の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 使用例 =&lt;br /&gt;
必要に応じて各書式に対応する使い方を提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
 Dim obj As Foo&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10,100,200)&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Foo%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1463</id>
		<title>Fooクラス</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Foo%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1463"/>
		<updated>2006-10-06T01:58:51Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここにクラスの概要を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= クラスの機能 =&lt;br /&gt;
&lt;br /&gt;
== メンバ・プロパティ ==&lt;br /&gt;
&lt;br /&gt;
=== Member1 ===&lt;br /&gt;
ここにMember1の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
=== Member2 ===&lt;br /&gt;
ここにMember2の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== メソッド ==&lt;br /&gt;
&lt;br /&gt;
=== Method1 ===&lt;br /&gt;
ここにMethod1の説明を書いてください（必要に応じてパラメータ・戻り値の説明を書くと良いでしょう）。&lt;br /&gt;
&lt;br /&gt;
書式:&lt;br /&gt;
&lt;br /&gt;
Method1(Text As String)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Method2（詳しくは[[Foo.Method2]]へ） ===&lt;br /&gt;
Method2はオーバーロードによって様々なパラメータ形式に対応していると仮定します。この位置にMethod2の説明を書いた後、上記のように新しくページを作成しても良いでしょう（オーバーロードされているからといって必ずしも新しいページを作成する必要はありません）。&lt;br /&gt;
&lt;br /&gt;
書式:&lt;br /&gt;
&lt;br /&gt;
Method2(Text As String)&lt;br /&gt;
&lt;br /&gt;
Method2(Text As String, i As Long)&lt;br /&gt;
&lt;br /&gt;
Method2(Text As String, i As Long, x As Double, y As Double)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 備考 =&lt;br /&gt;
ここに備考を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 使用例 =&lt;br /&gt;
ここに使用例を書いてください。&lt;br /&gt;
&lt;br /&gt;
 Dim obj As Foo&lt;br /&gt;
 obj.Member1=10&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;)&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9%E4%B8%80%E8%A6%A7&amp;diff=1433</id>
		<title>クラス一覧</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9%E4%B8%80%E8%A6%A7&amp;diff=1433"/>
		<updated>2006-09-30T10:30:56Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 全般 ==&lt;br /&gt;
* [[String クラス]]&lt;br /&gt;
* [[Thread クラス]]（未実装）&lt;br /&gt;
&lt;br /&gt;
== Windows API ==&lt;br /&gt;
* [[WinHandle クラス]]&lt;br /&gt;
&lt;br /&gt;
== フォーム（ウィンドウコントロール） ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== データベース ==&lt;br /&gt;
[[OdbcConnection クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcCommand クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcData クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcDataReader クラス]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OpenGL ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectX ==&lt;br /&gt;
未定&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9%E4%B8%80%E8%A6%A7&amp;diff=1430</id>
		<title>クラス一覧</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=%E3%82%AF%E3%83%A9%E3%82%B9%E4%B8%80%E8%A6%A7&amp;diff=1430"/>
		<updated>2006-09-30T08:47:30Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 全般 ==&lt;br /&gt;
[[String クラス]]&lt;br /&gt;
&lt;br /&gt;
[[Thread クラス]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== フォーム（ウィンドウコントロール） ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== データベース ==&lt;br /&gt;
[[OdbcConnection クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcCommand クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcData クラス]]&lt;br /&gt;
&lt;br /&gt;
[[OdbcDataReader クラス]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OpenGL ==&lt;br /&gt;
未定&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DirectX ==&lt;br /&gt;
未定&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Foo%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1428</id>
		<title>Fooクラス</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Foo%E3%82%AF%E3%83%A9%E3%82%B9&amp;diff=1428"/>
		<updated>2006-09-30T08:27:55Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここにクラスの概要を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== クラスの機能 ==&lt;br /&gt;
&lt;br /&gt;
=== メンバ・プロパティ ===&lt;br /&gt;
&lt;br /&gt;
==== Member1 ====&lt;br /&gt;
ここにMember1の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
==== Member2 ====&lt;br /&gt;
ここにMember2の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== メソッド ===&lt;br /&gt;
&lt;br /&gt;
==== Method1 ====&lt;br /&gt;
ここにMethod1の説明を書いてください（必要に応じてパラメータ・戻り値の説明を書くと良いでしょう）。&lt;br /&gt;
&lt;br /&gt;
書式:&lt;br /&gt;
&lt;br /&gt;
Method1(Text As String)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Method2（詳しくは[[Foo.Method2]]へ） ====&lt;br /&gt;
Method2はオーバーロードによって様々なパラメータ形式に対応していると仮定します。この位置にMethod2の説明を書いた後、上記のように新しくページを作成しても良いでしょう（オーバーロードされているからといって必ずしも新しいページを作成する必要はありません）。&lt;br /&gt;
&lt;br /&gt;
書式:&lt;br /&gt;
&lt;br /&gt;
Method2(Text As String)&lt;br /&gt;
&lt;br /&gt;
Method2(Text As String, i As Long)&lt;br /&gt;
&lt;br /&gt;
Method2(Text As String, i As Long, x As Double, y As Double)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 備考 ==&lt;br /&gt;
ここに備考を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
ここに使用例を書いてください。&lt;br /&gt;
&lt;br /&gt;
 Dim obj As Foo&lt;br /&gt;
 obj.Member1=10&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;)&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
	<entry>
		<id>https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1427</id>
		<title>Foo.Method2</title>
		<link rel="alternate" type="text/html" href="https://dev.activebasic.com/dev_wiki/index.php?title=Foo.Method2&amp;diff=1427"/>
		<updated>2006-09-30T07:43:07Z</updated>

		<summary type="html">&lt;p&gt;山本（管理人）: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここにメソッドの概要を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式1 ==&lt;br /&gt;
Method2(Text As String)&lt;br /&gt;
&lt;br /&gt;
ここに書式1の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式2 ==&lt;br /&gt;
Method2(Text As String, i As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式2の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 書式3 ==&lt;br /&gt;
Method2(Text As String, i As Long, x As Long, y As Long)&lt;br /&gt;
&lt;br /&gt;
ここに書式3の説明を書いてください。複数のパラメータが存在するときは、下記のように見出しで提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
=== パラメータ ===&lt;br /&gt;
&lt;br /&gt;
==== Text ====&lt;br /&gt;
ここにTextパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
==== i ====&lt;br /&gt;
ここにiパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
==== x ====&lt;br /&gt;
ここにxパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
==== y ====&lt;br /&gt;
ここにyパラメータの説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
=== 戻り値 ===&lt;br /&gt;
ここに戻り値の説明を書いてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
必要に応じて各書式に対応する使い方を提示すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
 Dim obj As Foo&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10)&lt;br /&gt;
 obj.Method2(&amp;quot;hello&amp;quot;,10,100,200)&lt;/div&gt;</summary>
		<author><name>山本（管理人）</name></author>
	</entry>
</feed>