KAB-studio > プログラミング > #pragma twice

#pragma twice

目次

0.1 4月のある朝
0.2 4月のある朝、のつづき
1.0 アプリケーションって、なに?
1.1 とりあえず作ってみよう!!
1.2 プロジェクトを探検しよう!!
1.3 プロジェクトとワークスペース
1.4 ワークスペースの裏方さん
1.5 リソースファイル
1.6 支えるファイル達
1.7 ところで……VCって?
2.0 計算機の作り方
2.1 イベントと関数
2.2 変数を作ろう!
2.3 変数の中を見よう!
2.4 計算をしてみよう!!
2.5 楽をしてみよう!
2.6 便利なものいろいろ!
2.7 短いことはいいことだ?
2.8 もしももしもがあったなら
2.9 縦横無尽!
2.10 関数を作ろう!
2.11 関数を使おう!
2.12 ソースファイルとヘッダーファイル
2.13 いろんな関数!
2.14 いろんなライブラリ!
3.1 クラスってもの
3.2 クラスを見渡そう!
3.3 ダイアログができるまで
3.4 ウィンドウとウィンドウハンドル
3.5 ウィンドウハンドルとAPI
3.6 アイコンのハンドル
3.7 ハンドルとメンバ変数
3.8 MFCとハンドル
3.9 ラッパークラス!
3.10 数字をやりとりしよう!
3.11 計算機完成!!
3.12 ダイアログを整えよう
3.13 プロパティとスタイルそしてタブオーダー
3.14 アイコンとリソース
3.15 256色のアイコン
3.16 String と Version
3.17 ダイアログの閉じ方
3.18 クラスを超えたおつきあい
3.19 レジストリに保存しよう!
3.20 CString とストリングテーブル
3.21 イベントハンドラ
3.22 参照を作ろう!
3.23 オーバーライド
3.24 デバッグビルドとリリースビルド
3.25 フリーウェア、公開!
4.01 テストアプリの準備
4.02 メモリを見よう!
4.03 トランジスタスイッチ
4.04 2進数
4.05 ビット操作
4.06 正と負!
4.07 short とバイトオーダー
4.08 色々な型
4.09 定数を使おう!
4.10 アドレスとポインタ
4.11 ポインタとキャスト
4.12 const 型のポインタ
4.13 寿命とポインタ
4.14 引数に使うポインタ、そして参照
4.15 const 再び
5.01 普通のアプリを作ろう
5.02 リストボックスを使おう
5.03 配列とポインタ
5.04 文字ってなーに
5.05 配列と文字列
5.06 文字列とポインタ
5.07 C ランタイムライブラリ
5.08 LPCTSTR
5.09 ファイルから読み取る!
5.10 ifstream をもっと使う!
5.11 ランタイムでファイル操作!
5.12 ランタイムは面倒!
5.13 MFC でファイル操作!
5.14 手探りと柔軟性
5.15 API でファイル操作
5.16 API で読み取る!
5.17 iostream で文字列操作!
5.18 すべての道は API に通ず!
5.19 ファイル読み込みをブラッシュアップ!
5.20 ファイル読み込みをさらにブラッシュアップ!
5.21 ファイル読み込みをさらにさらにブラッシュアップ!
5.22 文字列クラス
5.23 ウィンドウクラス
5.24 ウィンドウスタイルいろいろ
5.25 ボタンを作ろう!
5.26 コントロールをゲットしよう!
5.27 メッセージを送ろう!
5.28 イベント=メッセージ
5.29 ウィンドウとコントロールのまとめ
5.30 ファイルダイアログを使おう!
5.31 コンボボックスとエディットボックス
5.32 コンボボックスのリストに追加!
5.33 仕様を考えてさらに使いやすく!
5.34 閉じる前にレジストリに
5.35 レジストリにいっぱい書き込もう!
6.01 バグってなに?
6.02 コンパイルエラーをなくす!
6.03 別名に注意!
6.04 あるのにない!!
6.05 プリプロセッサとマクロ
6.06 プリプロセッサ色々
6.07 条件コンパイルの世界
6.08 バグも色々
6.09 単項演算子
6.10 二項演算子
6.11 三項演算子
6.12 演算子を気に掛ける!
6.13 手抜きをするな!
6.14 オーバーフローに要注意!
6.15 バグをコンパイルタイムエラーで防ぐ!
6.16 気に掛ける範囲を狭める!
6.17 ASSERT の網
6.18 デバッグビルドとリリースビルド再び
6.19 デバッグウィンドウがいっぱい
6.20 水希流コーディング&デバッグ術
7.01 描画してみよう!
7.02 デバイスコンテキスト
7.03 アタッチとデタッチ
7.04 GDI とペン
7.05 ブラシとリソース
7.06 四角な構造体
7.07 構造体とクラス
7.08 コンストラクタで初期化
7.09 演算子のオーバーロード
7.10 いろんな描画モード
7.11 クリッピングではみ出さない!
7.12 文字を書こう!
7.13 フォントを変えよう!
7.14 ハンドルの管理
7.15 再描画できるように
7.16 再描画させる!
7.17 オーナードローでカッコヨク!
7.18 タイマーで止めない!
7.19 ランダマイズとのべ秒
7.20 時間あれこれ
7.21 タイマーの限界
7.22 情報の見つけ方
8.01 ウィンドウズ、はじめの一歩
8.02 インスタンスハンドル
8.03 インスタンスとメモリ
8.04 プロセスとインスタンスハンドル
8.05 コマンドラインと表示方法
8.06 リソースを用意しよう!
8.07 ダイアログを作ろう!
8.08 ダイアログプロシージャ
8.09 ダイアログを閉じてみる
8.10 コマンドと通知メッセージ
8.11 ツリービューコントロールを作ろう!
8.12 ツリーアイテム
8.13 構造体の使い方
8.14 構造体を読み解く
8.15 通知メッセージの受け方
8.16 API だけでツリーコントロール操作
8.17 ウィンドウズの歴史
8.18 ディスパッチ
8.19 MFC を使わずにアイテムを取得!
9.01 SDI アプリを作ろう!
9.02 メニューってなんなの?
9.03 メニューを操作しよう!
9.04 メニューの構造
9.05 右クリックメニューを表示する!
9.06 メニューアイテムのハンドラを作る!
9.07 アクセラレーター
9.08 今度こそアクセラレーターを追加する!
9.09 ツールバーを使ってみよう!
9.10 ショートサーキット
9.11 ツールバーリソース
9.12 ツールバーを操作する!
9.13 ステータスバーを使ってみる!
9.14 配列を読み解く
9.15 ちょっとテキストエディタっぽく!
9.16 文字列の横幅縦幅
9.17 キー入力の秘密
10.01 1からウィンドウを作る!
10.02 ウィンドウクラスを登録する
10.03 ウィンドウプロシージャ!
10.04 メッセージループ!
10.05 デフォルトウィンドウプロシージャ
10.06 キー入力メッセージの置き換え
10.07 メッセージを待つ!
10.08 ウィンドウクラスとアトム
10.09 メニューふたたび
10.10 アクセラレーターふたたび
10.11 プログラムの構造を考える
10.12 コード全体
10.13 ポップアップメニューふたたび
10.14 MFC との違い・ポップアップメニュー編
10.15 ステータスバーを作ってみよう!
10.16 ステータスバーを使ってみる・ SDK 編
10.17 ステータスバーをクリック!
10.18 構造体の構造
10.19 ツールバーを作ってみよう
10.20 SDK だけで作るテキストエディタもどき
10.21 ツールバーとクライアントエリア
10.22 SDK のまとめ、そして文字列へ
11.01 文字列ってなんだっけ
11.02 ファイル名を抜き出してみよう
11.03 Shift JIS
11.04 文字種の判定
11.05 signed char と unsigned char
11.06 Unicode
11.07 1バイト文字と2バイト文字
11.08 文字列クラスふたたび
11.09 メモリを動的に確保する
11.10 いろいろあるメモリ確保の方法
11.11 コンストラクタとデストラクタ
11.12 new と delete とコンストラクタとデストラクタ
11.13 new と delete とそのほか色々
11.14 メモリ確保とデバッグモード
11.15 文字列配列の拡張
11.16 簡単なクラスを作ってみよう!
11.17 コンストラクタとデストラクタを作る!
11.18 コンストラクタって複雑!
11.19 オーバーロード関数を作ってみよう
11.20 演算子をオーバーロードしよう
11.21 「演算子のオーバーロード」の意味
11.22 CString の注意点
11.23 文字列編まとめ
12.01 文字列じゃない世界
12.02 数字と文字列の変換
12.03 パソコンは計算機
12.04 浮動小数点型
12.05 double の中身・指数部編
12.06 double の中身・仮数部編
12.07 浮動小数点のまとめ
12.08 TEXT と BYNARY
12.09 バイナリーモードで書き込む!
12.10 複数のバイナリーデータの読み書き
12.11 パディングとアライメント
12.12 構造体のファイル読み書き
12.13 バイナリーのまとめ
13.01 アルゴリズム?
13.02 アルゴリズム関数の基本
13.03 「コントラクト」という考え方
13.04 テストプログラム
13.05 エラーの返し方
13.06 アルゴリズムの定番・ソート
13.07 最も簡単なソート
13.08 バブルソートのコーディング
13.09 ソートの中身のバリエーション
13.10 文字列のソート
13.11 構造体のソート
13.12 コレクションを使ってみよう
13.13 ポインタ用コレクション
13.14 リストのしくみ
13.15 最速・クイックソート
13.16 クイックソートのコーディング
13.17 ランタイムでクイックソート
13.18 一番便利・マージソート
13.19 マージソートのコーディング
13.20 マージソート・汎用版
13.21 ソートのまとめ
13.22 最強の敵・日時
13.23 日時の取得
13.24 日時の作成
13.25 日時の計算
13.26 手作業撲滅!
13.27 手作業撲滅!のつづき
13.28 日付の比較
13.29 日時の変更
13.30 計算量と時間
13.31 アルゴリズムのまとめ
14.01 マルチスレッドって?
14.02 プロセスと同期
14.03 ファイルの排他処理
14.04 同期オブジェクト
14.05 ミューテックスを使おう!
14.06 ミューテックスで排他処理
14.07 デッドロック!
14.08 セマフォを使ってみる!
14.09 セマフォで排他処理
14.10 タイマーを使おう!
14.11 タイマーを使ってみる!
14.12 イベントを使おう!
14.13 イベントを使ってみる!
14.14 スレッドを作ってみる
14.15 スレッドを使ってみる!
14.16 スレッドを待ってみる
14.17 スレッドで変数を共有する
14.18 クリティカルセクションを使おう!
14.19 クリティカルセクションを使ってみる!
14.20 クリティカルセクションと同期オブジェクト
14.21 スレッドでデッドロック
14.22 複数の同期オブジェクト
14.23 メッセージの復習
14.24 メッセージループとスレッド
14.25 2種類のマルチスレッド
14.26 ファイル検索アプリの準備
14.27 フォルダを潜るファイル検索
14.28 再帰呼び出しでフォルダを潜る
14.29 別スレッドで検索!
14.30 スレッドを途中で止める
14.31 スレッドからダイアログに表示する
14.32 スレッドからダイアログに表示する、の続き
14.33 マルチスレッドのまとめ
15.01 ソースファイルのコンパイル
15.02 関数とリンク
15.03 インクルードはただの置き換え
15.04 ヘッダーファイルは必要?
15.05 インクルードの順番
15.06 ヘッダーファイルを2度読み込む?
15.07 スタティックリンクライブラリと DLL
15.08 スタティックリンクライブラリの仕組み
15.09 DLLを作る!
15.10 エクスポートとインポート
15.11 DLL の仕組み
15.12 API も DLL !
15.13 DLL の実行中リンク
15.14 自作 DLL を実行中リンクしてみる
15.15 さまざまなエクスポート
15.16 クラスをエクスポートする!
15.17 一から DLL を作ってみる
15.18 一から作った DLL を使ってみる
15.19 DLL をデバッグ!
15.20 「プロジェクトの設定」ダイアログ
15.21 「プロジェクトの設定」コンパイル編(1)
15.22 「プロジェクトの設定」コンパイル編(2)
15.23 「プロジェクトの設定」コンパイル編(3)
15.24 「プロジェクトの設定」リンク編(1)
15.25 「プロジェクトの設定」リンク編(2)
15.26 「プロジェクトの設定」その他
15.27 DLL のまとめ
16.01 クラスを作ってみよう!
16.02 メンバ変数とメンバ関数
16.03 this ポインタ
16.04 メンバのスコープ
16.05 ごく一般的なクラス
16.06 インラインメンバ関数
16.07 ポインタと参照のおさらい
16.08 const メンバ関数
16.09 const メンバ関数が呼べる・呼ばれる関数
16.10 コンストラクタの復習
16.11 様々なコンストラクタ
16.12 コピーコンストラクタを作る
16.13 オーバーロードの復習
16.14 コンストラクタのオーバーロード
16.15 演算子のオーバーロードの復習
16.16 演算子のオーバーロードとオペランド
16.17 演算子のオーバーロードの戻り値の型
16.18 単項演算子のオーバーロード
16.19 型変換演算子のオーバーロード
16.20 オーバーロードの選択
16.21 演算子のオーバーロードの実例
16.22 演算子のオーバーロードの実例、の続き
16.23 引数のデフォルト値
16.24 デフォルト値vsオーバーロード
16.25 static メンバ変数
16.26 static メンバ関数
16.27 static と this
16.28 関数の代わりに static メンバ関数
17.01 クラスの継承
17.02 派生クラスでのメンバの追加
17.03 protected メンバ
17.04 アクセス修飾子のまとめ
17.05 CWnd クラスの継承関係
17.06 継承と代入
17.07 継承と代入・ポインタの場合
17.08 アップキャストとダウンキャスト
17.09 継承とオーバーライド
17.10 仮想関数
17.11 仮想関数テーブルって?
17.12 ポリモーフィズム!
17.13 仮想関数とオーバーライド
17.14 多態性、多相性
17.15 ポリモーフィズムの意味
17.16 純粋仮想関数と抽象クラス
17.17 関数ポインタの代わりとしてのポリモーフィズム
17.18 「インターフェイス」という考え方
17.19 インターフェイスの使い方
17.20 戻り値の型をインターフェイスにする
17.21 new / delete とポリモーフィズム
17.22 delete の方法
17.23 スマートポインタ
17.24 スマートポインタと参照カウンター
17.25 戻り値の一時変数
17.26 スマートポインタの自動解放
17.27 スマートポインタの自動解放、の続き
17.28 スマートポインタのまとめ
17.29 継承とコンストラクタ
17.30 デストラクタを仮想関数にする
17.31 動的型チェック
17.32 継承のまとめ
18.01 ウィンドウプログラムをクラスで作る
18.02 計算機アプリを API だけで作る
18.03 ダイアログプロシージャを static メンバ関数にする
18.04 ウィンドウの 32 ビット整数値
18.05 ウィンドウプロシージャをメンバ関数にする!
18.06 イベントハンドラをオーバーライドで
18.07 ウィンドウプロシージャを純粋仮想関数にする、の続き
18.08 継承で機能を分けて再利用
18.09 イベントごとにメンバ関数を分ける
18.10 iostream と std::string
18.11 コントロールとデータのやりとりをするクラスを作る
18.12 プログラムはクラスの組み合わせ
18.13 まとめと、これから。

ブックマーク

del.icio.us 登録する はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数 livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数 Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数 livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
(del.icio.us・はてなブックマーク・livedoorクリップは、上段がindex.htmlで終わるURL、下段が/で終わるURLです。お好きな方で登録してください)

概略

とある大学院の研究生、水希の元にある日届いた E-Mail 。添付されたアプリケーション火美ちゃんは知能を持ち、プログラミングの勉強をしたいと言い出す。水希は Visual C++ プログラミングを教えることにするのだが、はてさて、どうなることやら……。
 
#pragma twice は Visual C++ 6.0 を使用した C++ 言語プログラミングを1から教える初心者〜中級者向け講座です。
プログラミングの経験がまったくない方を対象に書いていますから、どなたでもすんなり入っていけるでしょう。
それに、内容は水希と火美ちゃんの会話形式なので、とても分かりやすくなっています。

読み方

#pragma twice は全18章からなります。目次欄では、各章の最初のページが赤い線になっています。
各章には大まかなテーマはありますが、細かい内容はあまり章ごとにグループ化されていません。
右側の欄が目次になります。サブタイトルから目的のページが見つかった場合にはそちらからご覧ください。見つからない場合には、下記検索欄から検索してください。
 
各ページは『火美ちゃん』「水希」の会話形式になっています。
次のページへの移動は、各ページの上下にある「つぎ」を選択してください。
前のページへの移動は、各ページの上下にある「まえ」を選択してください。
この目次に戻ってくる場合は「」を選択してください。
また、下段には検索欄がありますので、そちらもご利用ください。
 
プログラムや操作方法は Visual C++ 6.0 を使用して確認をしています
それ以外のバージョン、開発環境、コンパイラでは動作確認をしておりません。
また、プログラムは基本的に細切れで掲載されております。ソースファイル単位やワークスペース単位でのサンプルプログラムは提供しておりませんのでご了承ください。

検索

 
上記の欄、もしくは各ページの下段にある検索欄から、本文の検索をすることができます。
いわゆる「 AND 検索機能」は備わっていませんのでご注意ください。
また、検索結果が出てくるまで幾分時間が掛かります。ご了承ください。

ダウンロード

#pragma twice はメールマガジン KAB-studio.h にて連載されました(現在は配信を終了しており、本編も完結しています)。
 
そのメールマガジンおよび #pragma twice をまとめて上記「ダウンロードページ」からダウンロードできます。ローカルでまとめて読みたい場合にはこちらをご利用ください。

キャラクター紹介

火美ちゃん
水希

関連ページ