2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造.

Slides:



Advertisements
Similar presentations
画像情報処理 1 プログラミング課題 知的画像処理研究室 M2 大村 瑞穂. 目次 プログラミング課題の準備 – ファイルのダウンロード・解凍・コンパイル サンプルプログラムの説明 画像処理の方法 レポートに載せる画像について 例題と第 1 回レポート課題.
Advertisements

情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
画像情報処理1 ~画像処理プログラミング~ 2015/05/01 知的画像処理研究室 M1 吉原寛樹
【事例演習5】  字句解析     解 説  “ハッシュを用いた字句解析の方法”.
イベント イベント: マウスの操作、キーボードの操作、ファイル操作など システムやユーザーからの入力・出力のこと
【事例演習1】 CGプログラム基礎      解 説        “Windowsプログラムにおける      ダイアログボックスの作成方法”    
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第5回 関数(1) 情報・知能工学系 山本一公
TTimer タイマーコンポーネント 一定時間ごとにイベントを起こして処理をおこなう.
ISD実習E 2009年6月29日 LISPシステム入門 (第5回) 関数ポインタ eval システム関数.
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
Applet 岡部 祐典 鈴木 敬幸.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
Iアプリプログラミング その1  鳥居秀徳.
画像ファイル(ppm)の読み書き 画像データ用のメモリ確保・解放
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月6日、H.16(‘04)] 今日のメニュー 1 前回の課題の復習
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
Linuxカーネルについて 2014/01.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
関数 関数とスタック.
画像ファイル(ppm)の読み書き 画像データ用のメモリ確保・解放
2014/05/02 知的画像処理研究室 M1 中津美冴 画像情報処理1 ~画像処理プログラミング~ 2014/05/02 知的画像処理研究室 M1 中津美冴
プログラミング演習3 第2回 GUIの復習.
プログラミング2 関数
DirectX 勉強会 第4回.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
EVENT プログラミングのスタイル 手続き型: ある決められた場所から開始され, その後は純粋に上から下に流れて行く方式. 実行したいことを, 順番に記述してゆく. 逐次処理形式コーディングの方法である。 今までの授業(情報処理2や3)で 行ってきたプログラミングの演習 bcc32やmake 手続き型.
関数の定義.
ローカル変数とグローバル変数 ローカル変数  定義された関数内だけで使用できる変数 グローバル変数 プログラム全体で使用できる変数.
Cプログラミング演習 第7回 メモリ内でのデータの配置.
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
メモリの準備 メモリには、その準備の方法で2種類ある。 静的変数: コンパイル時にすでにメモリのサイズがわかっているもの。 普通の変数宣言
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
第11回 プログラミングⅡ 第11回
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
画像処理プログラミング 知的画像処理研究室 M2 小林 佳奈美.
プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2)
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング 3 2 次元配列.
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
C#プログラミング実習 第3回.
Windowsアプリケーション プログラミング
ポインタとポインタを用いた関数定義.
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
11.1 標準ライブラリ関数 11.2 関数呼び出しのオーバーヘッド 11.3 大域変数 11.4 プロトタイプ宣言 11.5 関数引数
第5回 プログラミングⅡ 第5回
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
extern の意味 (C プログラミング演習,Visual Studio 2019 対応)
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
ソフトウェア工学 知能情報学部 新田直也.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
全体の流れ 画像ファイルを開き,画像データをメモリ上にロード メモリ上にロードした画像データに処理を加える
プログラミング演習I 2003年6月11日(第9回) 木村巌.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
プログラミング演習II 2003年11月19日(第6回) 木村巌.
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング 3 ポインタ(1).
プログラミング 2 静的変数.
Presentation transcript:

2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造

Windowプログラムの基本構造 《 Windowsプログラミング 》 《 従来の手続き型プログラミング 》 イベント駆動型        イベント駆動型 《 従来の手続き型プログラミング 》 Windows OS viod main( ) { int i; : func1( ); i = func2( ) } いろいろなイベント <メニューが選ばれた> void func1( ) { } イベントの 切り分け void func1( ) { } <タイマーがタイムアウトになった> int func2( ) {  PostMessage(...) } : int func2( ) { } int func3( ) { } <ボタンが押された>

※SysDevプログラムの構造について PiasApp PiasSysdev Piasgl.h Piastk.h Piasapp.h グラフィックライブラリ関数の          プロトタイプ宣言 Piastk.h Piastk関数のプロトタイプ宣言 Piasapp.h PiasSysdev #include イベントハンドラ関数群は 別のファイルにまとめて記述する イベントハンドラ関数群の定義ファイル アプリケーションの定数定義 #include PiasApp InitApplication, InitInstance, Run イベント駆動プログラムの基本的な関数群 いろいろな イベント・メッセージ MainWndProc( ) イベント・メッセージの切り分けと対応する手続きを実行する. 通常,イベントハンドラ関数を呼び出す. 呼び出されるイベントハンドラ 関数群の定義

操作イベントの発生とリソースID WM_COMMAND + リソースID 選ばれるとイベントメッセージとしてユーザプログラムに送られる. IDC_START 選ばれるとイベントメッセージとしてユーザプログラムに送られる. そのとき何が選ばれたかを識別するには,それぞれオブジェクトに名前 (リソースID)を付けておく必要がある

タイマーイベントとは タイムアウト毎にGL_TIMER関数(hWnd,wParam)を呼び出し 少し動かした画面を作成し,描画する. SetTimer(hwnd,1, 100, . ) KillTimer(hWnd,1) TimerID=1 時間の流れ=> タイムアウト間隔=100msec SetTimer(hwnd,2, 200, . ) KillTimer(hWnd,2) TimerID=2 時間の流れ=> タイムアウト間隔=200msec WM-TIMER + TimerID のイベントメッセージがWindowsから送られてくる  タイムアウト毎にGL_TIMER関数(hWnd,wParam)を呼び出し  少し動かした画面を作成し,描画する. =タイムアウトしたTimerID (注1) タイマー毎に処理が異なることに注意。 (注2) Piastkrmの方で, TimerIDが格納されて渡されるwParamの値によって     呼び出すイベントハンドラ関数を切り分けてもよい