Savoy ActiveX Controls



Similar documents
LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

変 更 履 歴 日 付 版 数 変 更 内 容 2012/07/13 Rev 初 版 発 行 2013/07/03 Rev 対 応 機 器 一 覧 機 器 一 覧 を 更 新 [Settings] 画 面 の 表 示 時 刻 を 挿 入 する 機 能 を

_禑暥ã†�ã…“ã……ã…‹ç«¯æœ«ã‡»ã……ã…‹ã‡¢ã……ã…Šæ›‰é€ƒæł¸ã•’10ã•‚V1.3.xls

入退室インストールマニュアル.pdf


目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

iStorage ソフトウェア VMware vSphere Web Client Plug-in インストールガイド

取扱説明書

Mac OS Xでの利用設定 マニュアル

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

(Microsoft Word - FileZillaServer_\212\310\210\325FTP\203T\201[\203o_\216g\227p\203K\203C\203h_\216Q\215l\227p__JE DOC)

R4財務対応障害一覧

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ

6 システムを 入 れているパソコンを 入 れ 替 えたいが どうしたらいいのか 元 のパソコンから 新 しいパソコンに 昨 年 度 入 力 データを 移 行 します 手 順 は 次 のとおりです 1 元 のパソコンでシステムを 起 動 して メニュー 画 面 から バックアップ リカバリ を 選

1

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc

アドイン翻訳について

はじめに でんでん 記 録 Win10/8.1/8/7( 以 下 でんでん 記 録 とする)をご 利 用 いただきまして 誠 にありがとうございます 本 マニュアルを 参 照 して インストールを 行 ってください セキュリティについて 本 システムのデータを 保 存 する 共 有 データファイルは

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

<4D F736F F D204F432D434F4D E815B D836A B81698BA697CD89EF8ED A2E646F6378>

C#の基本

はじめに 本 書 は SUPER COMPACT Pathfinder DFS のご 利 用 に 際 して クライアント 端 末 の 設 定 方 法 について 説 明 して います なお 本 書 内 で 使 用 している 図 は 標 準 的 な 設 定 によって 表 示 されるものを 使 用 してお

電子納品チェックシステム利用マニュアル

Microsoft Word - 参考資料:SCC_IPsec_win8__リモート設定手順書_

変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/ 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/ 動 作 環 境 最 新 のものへ 変 更 全 体 オペレーター の 表 記 を 削 除 2016/5/

1.1 方 法 1 PC の 操 作 による 暗 号 化 1.Windows PC を 起 動 し スタート 画 面 を 表 示 します 2. 画 面 右 端 から 左 方 へスワイプし 設 定 をタップします - 2 -

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

表紙

WebMail ユーザーズガイド

はじめに 本 プログラムファイルは Windows 版 Microsoft Office Excel で 作 成 されています 動 作 環 境 などは 下 記 を 参 照 ください 動 作 確 認 環 境 [Excel] Microsoft Office Excel 2010 Microsoft O

目 次 1. はじめに 3 2. システム 要 件 4 3. HDD Password Tool のインストール 5 Windows の 場 合 5 Mac の 場 合 8 4. HDD Password Tool の 使 い 方 HDD Password Tool を 起 動 する

別冊資料-11

Studuinoソフトウェアのインストール

ICONファイルフォーマット

同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面

TeleOffice 3.0 Lync 2 TO

ソフトウェアについてのよくあるご質問

CSS-Net インストール要領書

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

ファクス送信用変換ソフト 操作説明書_VA

はじめに 本 書 では 福 井 県 電 子 入 札 システムの 利 用 を 目 的 としたパソコンの 設 定 内 容 と 設 定 手 順 例 を 説 明 し たものです パソコンは ハードウェア ソフトウェア ネットワーク 条 件 を 全 て 満 たし 民 間 認 証 局 から 購 入 する IC

本 書 は 電 子 証 明 書 に 関 する 資 料 となります ます 本 書 で サービスにログインした 後 は 改 めて 各 サービスのマニュアルのご 参 照 をお 願 いいたし 重 要 動 作 環 境 により マニュアルの 記 載 内 容 と 差 異 が 発 生 する 場 合 がございます

(3) 下 記 画 面 が 表 示 されます 参 照 ボタンを 押 下 すると 図 5.1-4フォルダ 指 定 画 面 が 表 示 されるので 保 存 先 を 指 定 し OKボタン を 押 下 します 展 開 ボタンを 押 下 します 図 ファイルの 展 開 先 ( 保 存 場 所 )

プロセス間通信

文科省様式3-2集計オプションマニュアル

001

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

購買ポータルサイトyOASIS簡易説明書 b

Microsoft PowerPoint - 雇保氏名変更.pptx

ファイル格納通知ツール 取扱説明書

電子証明書の更新

<4D F736F F D B382F182AC82F18A4F88D B A82B D836A B5F8F898AFA90DD92E85F E646F E302E646F6378>

ProWebRabbitインストールガイド

インストール インストール ダウンロードしたファイルをダブルクリックすると 下 記 のファイルが 展 開 されます JigenApp.exe JigenRestart.exe JIGENctrl.dll PC 内 の 任 意 の 同 一 フォルダに 上 記 ファイル 全 てコピーします インストール

節 実 施 期 間 実 施 級 実 施 期 間 情 報 処 理 第 回 は 級 と 級 のみ 実 施 各 期 間 内 回 の 受 験 となります C 言 語 Java Visual Basic ワードプロセッサ 第 回 は 級 のみ 実 施 第 回 は 級 のみ 実 施 第 回 は 級 と 級 のみ

目 次 1. ログイン/ログアウト 1.1 ログインする p ログアウトする p.3 2. 受 講 一 覧 画 面 p.4 3. 授 業 ページの 閲 覧 3.1 授 業 ページへの 遷 移 p 授 業 資 料 を IT s class.からダウンロードする p

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

- 目 次 Ⅰ.IP 電 話 機 器 配 線 配 線 例...3 Ⅱ.PCのネットワーク 設 定 Windows XP のTCP/IPの 設 定...4 Ⅲ.インターネット 接 続 設 定 インターネット 接 続 設 定.

技術報告会原稿フォーマット

Microsoft Word - TechSmith Deployment Tool Documentation.docx

Microsoft Word - Man_INSTALL_NSLNSL_Core+_Win7_JPNx.docx

Ver 改 訂 日 付 改 訂 内 容 1

スライド 0

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

贈与税 faq

Microsoft Word - アンケート集計マニュアル.docx

ワープロ用会計ソフト「ブルーリターン」

Microsoft PowerPoint - b-419setup.ppt

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

CarrityNW電話帳編集ソフトマニュアル

端 末 型 払 い 出 しの 場 合 接 続 構 成 図 フレッツ グループから 払 出 されたIPアドレス /32 NTT 西 日 本 地 域 IP 網 フレッツ グループ フレッツ グループから 払 出 されたIPアドレス /

研究者情報データベース

Microsoft Word - 2.doc

目 次 1. 本 マニュアルについて D-Case ステンシルの 導 入 概 要 インストール D-Case 編 集 D-Case メニュー ノード リンク..

目 次 1. ログイン ユーザー 登 録 TOP 職 員...8 (1) 職 員 の 名 刺 表 示...8 (2) 職 員 の 名 刺 一 括 ダウンロード...8 (3) 職 員 の 名 刺 帳 から 検 索 検 索...9 (1) 氏 名

インテル デスクトップ ボード DG33TL はじめに 対 象 このマニュアルは インテル デスクトップ ボード DG33TL の Windows* XP / Windows* Vista イン ストールに 関 する 情 報 を 提 供 するものです このマニュアルは 専 門 的 な 知 識 を 持

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev: 商 標 類 Windows Office Excel

Office365 ProPlus 利用方法について

Visio-XPSP2_Mpro.vsd

平成28年度留学生給与等給付システムの取扱いについて

V-CUBE One

業務用HDビデオシステムプレーヤー

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5

PowerPoint プレゼンテーション

かんたんQR

ESET Smart Security 8 リリースノート

PATENTBOY/Netバージョンアップ説明書(Ver.1.92)

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

産 前 産 後 休 業 終 了 時 報 酬 月 額 変 更 届. 事 前 準 備. 作 成 画 面 の 起 動 方 法 4. 基 本 データの 登 録 5 4. 届 出 書 の 作 成 7 5. 電 子 申 請 8 6. 申 請 後 のデータ 確 認 方 法 9

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

目 次 メールの 基 本 設 定 内 容 2 メールの 設 定 方 法 Windows XP 3 Windows Vista / Windows 7 8 メール 転 送 の 設 定 方 法 10 メール 転 送 を 解 除 する 方 法 14 FTP 用 パスワードの 変 更 方 法 15 FTP

生徒モード使用方法

Microsoft PowerPoint - US kakeya-win10.ppt [互換モード]

Microsoft Word - 311Tools_END

スライド 1

モビワークアプリ(Web) 簡単操作マニュアル

PDF閲覧制限システムLight版体験版マニュアル

CSV_Backup_Guide

Transcription:

Savoy ActiveX コントロール ユーザーガイド Jazz Soft, Inc.

改 訂 履 歴 1 改 訂 履 歴 バージョン 日 付 氏 名 説 明 1.00 2009 年 7 月 31 日 Hikaru Okada 新 規 に 作 成 1.00a 2009 年 8 月 22 日 Hikaru Okada マニュアルのページ 数 が 大 きくなったため 分 割 1.00c 2009 年 12 月 25 日 Hikaru Okada Windows Vista および Windows 7 における 注 意 点 を 追 加 1.00d 2010 年 12 月 18 日 Hikaru Okada インストール 時 の 製 品 選 択 画 面 を 追 加 Windows 64 ビット 版 対 応 1.00e 2014 年 7 月 13 日 Carl Hikaru Okada Windows 8.1 の 記 述 を 追 加 - 2 -

目 次 2 目 次 1 改 訂 履 歴... 2 2 目 次... 3 3 使 用 環 境... 4 4 セットアップ... 5 4.1 HASP ドライバのインストール... 9 4.2 アンインストール... 14 5 チュートリアル... 16 5.1... 16 5.1.1 ミニホストの 仕 様... 16 5.1.2 プロジェクトの 作 成... 16 5.1.3 ツールボックスへ Savoy を 追 加... 18 5.1.4 フォームに Savoy を 配 置... 19 5.1.5 イベントの 処 理... 21 5.1.6 全 ソースコード... 22 5.1.7 Windows 64 ビット 版 における 注 意 点... 24 5.2 C# 2008... 26 5.2.1 プロジェクトの 作 成... 26 5.2.2 フォームに Savoy を 配 置... 27 5.2.3 イベントの 処 理... 28 5.2.4 全 ソースコード... 29 5.2.5 Windows 64 ビット 版 における 注 意 点... 32 5.3 Visual C++ 2008... 33 5.3.1 プロジェクトの 作 成... 33 5.3.2 フォームに Savoy を 配 置... 35 5.3.3 ラッパークラスの 置 き 換 え... 38 5.3.4 ボタンの 処 理... 38 5.3.5 イベントの 処 理... 39 5.3.6 全 ソースコード... 40-3 -

使 用 環 境 3 使 用 環 境 Windows 2000, Windows XP, Windows Vista または Windows 7 Visual Basic や Visual C++などの Active X 対 応 の 開 発 言 語 - 4 -

セットアップ 4 セットアップ Windows には Administrator の 権 限 でログインしてください もし Windows Vista Windows 7 Windows 8 もしくは Windows 8.1 をお 使 いでユーザアカウントコントロール(UAC)が 有 効 になっている 場 合 インストールに 失 敗 することがあります 一 時 的 に UAC を 無 効 にしてください 開 発 環 境 も 実 行 環 境 も 同 じです Setup.exe を 実 行 してインストールします 1 旧 バージョンの Jazz Soft Semiconductor Solution がインストールされている 場 合 は 先 にアンインストールしてください アンインストールはコントロールパネルの Programs and Features から 行 えます 2 Setup.exe を 実 行 します Microsoft Visual C++ 2008 SP1 用 コンポーネント 群 がインストールされていない 場 合 は 最 初 にそれらがインストールされます 同 様 に.NET Framework 3.5 がインストールされていない 場 合 も それらをインストール するよう 表 示 される 場 合 があります 3 Jazz Soft Semiconductor Solution のセットアップ 画 面 が 表 示 されます Next ボタンをクリックします - 5 -

セットアップ 4 インストールするフォルダとユーザアカウントを 選 択 します 通 常 は 何 も 変 更 しないで Next ボタンをクリックします 5 インストールする 製 品 を 選 択 します Next ボタンをクリックします - 6 -

セットアップ 6 インストール 前 の 確 認 画 面 です Next ボタンをクリックします 7 インストールが 始 まります - 7 -

セットアップ 8 インストールが 正 常 に 完 了 すると 下 記 の 画 面 になります Close ボタンをクリックします - 8 -

セットアップ 4.1 HASP ドライバのインストール HASP キー 用 のドライバは 試 用 版 では 必 要 ありませんが 製 品 版 として 使 用 する 場 合 には 必 要 となります HASP ドライバのセッ トアップに 必 要 なソフトウェアは Jazz Soft Semiconductor Solution のセットアップでコピーされます HASP ドライバをインストールする 際 には HASP キーをコンピュータに 挿 さないでください 9 スタートメニューの Jazz Soft HASP から HASP SRM Runtime をクリックします - 9 -

セットアップ 10 ウェルカム 画 面 が 表 示 されます Next ボタンをクリックします 11 インストール 前 の 確 認 が 面 が 表 示 されます Install ボタンをクリックします - 10 -

セットアップ 12 インストールが 始 まります 13 Install drivers の 表 示 のままで 数 分 かかることがあります - 11 -

セットアップ 14 ドライバのコピーが 正 常 に 完 了 すると 下 記 の 画 面 になります Finish ボタンをクリックします - 12 -

セットアップ 15 ここで HASP キーをコンピュータに 挿 します Windows Vista の 場 合 は 画 面 右 下 にドライバのインストール 状 況 が 表 示 され ます 16 インストールが 正 常 に 完 了 すると 下 記 の 画 面 になります Close ボタンをクリックします - 13 -

セットアップ 4.2 アンインストール アンインストールはコントロールパネルの Programs and Features から 行 えます また Setup.exe を 実 行 しても 行 えます 1 インストールしたときの Setup.exe を 実 行 します 修 復 インストールするか アンインストールするか 聞 いてきますので Remove Jazz Soft Semiconductor Solution を 選 択 し Finish ボタンをクリックします 2 アンインストールが 始 まると 進 捗 状 況 が 表 示 されます - 14 -

セットアップ 3 アンインストールが 完 了 しました Close ボタンをクリックします - 15 -

5 チュートリアル 5.1 ここでは HSMS のミニホストを 作 成 しながらプログラミングについて 解 説 していくことにします 5.1.1 ミニホストの 仕 様 作 成 するミニホストの 仕 様 は 以 下 のようなものとし 通 信 相 手 は 一 般 的 なウェハ 検 査 装 置 とします 装 置 に 対 してオンライン 移 行 レシピ 指 定 測 定 開 始 データ 受 信 を 行 うことができます 送 信 できるメッセージは 以 下 のもののみとします Select.req Select.rsp S1F13 S2F41 S6F12 受 信 できるメッセージは 以 下 のもののみとします Select.req Select.rsp S1F14 S2F42 S6F11 装 置 の 初 期 設 定 はすでに 設 定 されているものとします ストリーム 9 やファンクション 0 の 処 理 は 行 わないこととします T3 タイムアウトの 監 視 は 行 わないこととします 5.1.2 プロジェクトの 作 成 1 Visual Studio 2008 を 起 動 し File メニューから New Project をクリックします 2 Visual Basic の Windows Forms Application を 選 択 し プロジェクト 名 とフォルダを 指 定 します ここではプロジェクト 名 を SavoyTutorialVB2008 とします 入 力 が 完 了 したら OK ボタンをクリックします - 16 -

3 新 規 のプロジェクトが 作 成 されました - 17 -

5.1.3 ツールボックスへ Savoy を 追 加 この 作 業 は 1 回 だけ 行 えば 次 回 からは 不 要 です 1 Toolbox の 余 白 部 分 を 右 クリックし メニューから Choose Items を 選 んでクリックします 次 の 画 面 が 表 示 されるまでに 1 分 以 上 かかる 場 合 があります 2 COM Components タブを 選 択 し 一 覧 から Savoy ActiveX Control module にチェックマークをつけます そして OK ボ タンをクリックします - 18 -

3 Savoy がツールボックスに 追 加 されますので 将 来 探 しやすくなるよう Tab を 追 加 して 整 理 しておきます 5.1.4 フォームに Savoy を 配 置 4 下 記 のように SavoyHsms SavoySecsII をフォームに 配 置 します - 19 -

5 Open ボタンをクリックしたら SavoyHsms の 通 信 設 定 画 面 が 表 示 されるようにします その 後 OK ボタンが 押 されたら 接 続 するようにします 設 定 内 容 は Savoy.ini ファイルに 保 存 され 次 回 から 設 定 の 入 力 は 不 要 です Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Setup hsms.loadinifile() If hsms.setup("") Then ' If OK button was pressed, establish connection hsms.connect = True End If End Sub 6 Online ボタンをクリックしたら S1F13 を 送 信 するようにします Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' Send S1F13 outmsg.sml = "s1f13w" hsms.send(outmsg.msg) End Sub 7 PP Select ボタンをクリックしたら リモートコマンドで PP-SELECT を 送 信 するようにします - 20 -

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ' Send S2F41 PP-Select outmsg.sml = "s2f41w<a'pp-select'><a'ppid'><a'" + TextBox1.Text + "'>" hsms.send(outmsg.msg) End Sub 8 PP Start ボタンをクリックしたら リモートコマンドで START を 送 信 するようにします Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click ' Send S2F41 Start outmsg.sml = "s2f41w<a'start'>" hsms.send(outmsg.msg) End Sub 5.1.5 イベントの 処 理 SavoyHsms からのイベントを 処 理 します 1 Connected イベントが 来 たら セレクト 要 求 を 送 信 するようにします Private Sub hsms_connected(byval sender As System.Object, ByVal e As AxSAVOYLib._DSavoyHsmsEvents_ConnectedEvent) Handles hsms.connected ' Connected ' Send select request outmsg.sml = "Select.req" hsms.send(outmsg.msg) End Sub 2 Received イベントが 来 たら メッセージ 内 容 を 解 析 するために SavoySecsII に 渡 します Private Sub hsms_received(byval sender As System.Object, ByVal e As AxSAVOYLib._DSavoyHsmsEvents_ReceivedEvent) Handles hsms.received inmsg.msg = e.lpszmsg 3 返 信 の 必 要 なデータメッセージを 受 け 取 ったら 適 当 な 返 事 を 返 信 します Select Case inmsg.stype Case 0 ' Data message If inmsg.wbit And (inmsg.function Mod 2) <> 0 Then ' Need to reply something... outmsg.sml = "<b 0>" outmsg.reply(e.lpszmsg) - 21 -

hsms.send(outmsg.msg) End If 4 セレクト 要 求 を 受 け 取 ったら セレクト 応 答 を 返 信 します Case 1 ' Select request outmsg.sml = "Select.rsp" outmsg.reply(e.lpszmsg) hsms.send(outmsg.msg) 5.1.6 全 ソースコード 以 上 でミニホストの 完 成 です このプロジェクトはゼロからスクラッチで 作 った 訳 ですが 空 白 行 やコメントを 入 れてもたったの 55 行 し かありません 実 際 に 自 分 で 書 いたコードの 行 数 は コメントを 除 くとなんと 25 行 です 他 社 製 品 にあるような 訳 の 分 からない 設 定 ファイルもデータファイルも 書 きませんでした このような 驚 異 的 なまでの 簡 単 さは 他 社 では 真 似 のできない 芸 当 です Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Setup hsms.loadinifile() If hsms.setup("") Then ' If OK button was pressed, establish connection hsms.connect = True End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' Send S1F13 outmsg.sml = "s1f13w" hsms.send(outmsg.msg) End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ' Send S2F41 PP-Select outmsg.sml = "s2f41w<a'pp-select'><a'ppid'><a'" + TextBox1.Text + "'>" hsms.send(outmsg.msg) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click ' Send S2F41 Start outmsg.sml = "s2f41w<a'start'>" hsms.send(outmsg.msg) End Sub Private Sub hsms_connected(byval sender As System.Object, ByVal e As AxSAVOYLib._DSavoyHsmsEvents_ConnectedEvent) Handles hsms.connected ' Connected ' Send select request outmsg.sml = "Select.req" hsms.send(outmsg.msg) End Sub - 22 -

Private Sub hsms_received(byval sender As System.Object, ByVal e As AxSAVOYLib._DSavoyHsmsEvents_ReceivedEvent) Handles hsms.received inmsg.msg = e.lpszmsg Select Case inmsg.stype Case 0 ' Data message If inmsg.wbit And (inmsg.function Mod 2) <> 0 Then ' Need to reply something... outmsg.sml = "<b 0>" outmsg.reply(e.lpszmsg) hsms.send(outmsg.msg) End If Case 1 ' Select request outmsg.sml = "Select.rsp" outmsg.reply(e.lpszmsg) hsms.send(outmsg.msg) End Select End Sub End Class - 23 -

5.1.7 Windows 64 ビット 版 における 注 意 点 Windows の 64 ビット 版 で 動 作 させるにはアプリケーションを x86 モードにする 必 要 があります 以 下 のようにプロジェクト 設 定 を 変 更 してください 1 ツールバーから Configuration Manager をクリックします 2 Platform から<New...>をクリックします 3 New platform から x86 を 選 択 し OK ボタンをクリックます - 24 -

4 Platform が x86 に 変 更 されていることを 確 認 します 5 上 記 は Debug 版 ですが Release 版 も 同 様 に 変 更 します - 25 -

5.2 C# 2008 先 ほどの で 作 成 したアプリケーションを 今 度 は C# 2008 で 書 いてみましょう 5.2.1 プロジェクトの 作 成 1 Visual Studio 2008 を 起 動 し File メニューから New Project をクリックします 2 Visual C#の Windows Forms Application を 選 択 し プロジェクト 名 とフォルダを 指 定 します ここではプロジェクト 名 を SavoyTutorialCS2008 とします 入 力 が 完 了 したら OK ボタンをクリックします 3 新 規 のプロジェクトが 作 成 されました - 26 -

5.2.2 フォームに Savoy を 配 置 1 下 記 のように SavoyHsms SavoySecsII をフォームに 配 置 します - 27 -

2 Open ボタンをクリックしたら SavoyHsms の 通 信 設 定 画 面 が 表 示 されるようにします その 後 OK ボタンが 押 されたら 接 続 するようにします 設 定 内 容 は Savoy.ini ファイルに 保 存 され 次 回 から 設 定 の 入 力 は 不 要 です private void button1_click(object sender, EventArgs e) // Setup hsms.loadinifile(); if (hsms.setup("")) // If OK button was pressed, establish connection hsms.connect = true; 3 Online ボタンをクリックしたら S1F13 を 送 信 するようにします private void button2_click(object sender, EventArgs e) // Send S1F13 outmsg.sml = "s1f13w"; hsms.send(outmsg.msg); 4 PP Select ボタンをクリックしたら リモートコマンドで PP-SELECT を 送 信 するようにします private void button3_click(object sender, EventArgs e) // Send S2F41 PP-Select outmsg.sml = "s2f41w<a'pp-select'><a'ppid'><a'" + textbox1.text + "'>"; hsms.send(outmsg.msg); 5 PP Start ボタンをクリックしたら リモートコマンドで START を 送 信 するようにします private void button4_click(object sender, EventArgs e) // Send S2F41 Start outmsg.sml = "s2f41w<a'start'>"; hsms.send(outmsg.msg); 5.2.3 イベントの 処 理 SavoyHsms からのイベントを 処 理 します - 28 -

1 Connected イベントが 来 たら セレクト 要 求 を 送 信 するようにします private void hsms_connected(object sender, AxSAVOYLib._DSavoyHsmsEvents_ConnectedEvent e) // Connected // Send select request outmsg.sml = "Select.req"; hsms.send(outmsg.msg); 2 Received イベントが 来 たら メッセージ 内 容 を 解 析 するために SavoySecsII に 渡 します private void hsms_received(object sender, AxSAVOYLib._DSavoyHsmsEvents_ReceivedEvent e) inmsg.msg = e.lpszmsg; 3 返 信 の 必 要 なデータメッセージを 受 け 取 ったら 適 当 な 返 事 を 返 信 します switch(inmsg.stype) case 0: // Data message if(inmsg.wbit && (inmsg.function % 2)!=0) // Need to reply something... outmsg.sml = "<b 0>"; outmsg.reply(e.lpszmsg); hsms.send(outmsg.msg); break; 4 セレクト 要 求 を 受 け 取 ったら セレクト 応 答 を 返 信 します case 1: // Select request outmsg.sml = "Select.rsp"; outmsg.reply(e.lpszmsg); hsms.send(outmsg.msg); break; 5.2.4 全 ソースコード 以 上 でミニホストの 完 成 です このプロジェクトはゼロからスクラッチで 作 った 訳 ですが 空 白 行 やコメントを 入 れてもたったの 83 行 し かありません 実 際 に 自 分 で 書 いたコードの 行 数 は コメントを 除 くとなんと 30 行 です 他 社 製 品 にあるような 訳 の 分 からない 設 定 ファイルもデータファイルも 書 きませんでした このような 驚 異 的 なまでの 簡 単 さは 他 社 では 真 似 のできない 芸 当 です - 29 -

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SavoyTutorialCS2008 public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_click(object sender, EventArgs e) // Setup hsms.loadinifile(); if (hsms.setup("")) // If OK button was pressed, establish connection hsms.connect = true; private void button2_click(object sender, EventArgs e) // Send S1F13 outmsg.sml = "s1f13w"; hsms.send(outmsg.msg); private void button3_click(object sender, EventArgs e) // Send S2F41 PP-Select outmsg.sml = "s2f41w<a'pp-select'><a'ppid'><a'" + textbox1.text + "'>"; hsms.send(outmsg.msg); private void button4_click(object sender, EventArgs e) // Send S2F41 Start outmsg.sml = "s2f41w<a'start'>"; hsms.send(outmsg.msg); private void hsms_connected(object sender, AxSAVOYLib._DSavoyHsmsEvents_ConnectedEvent e) // Connected // Send select request outmsg.sml = "Select.req"; hsms.send(outmsg.msg); private void hsms_received(object sender, AxSAVOYLib._DSavoyHsmsEvents_ReceivedEvent e) inmsg.msg = e.lpszmsg; switch(inmsg.stype) case 0: // Data message if(inmsg.wbit && (inmsg.function % 2)!=0) - 30 -

// Need to reply something... outmsg.sml = "<b 0>"; outmsg.reply(e.lpszmsg); hsms.send(outmsg.msg); break; case 1: // Select request outmsg.sml = "Select.rsp"; outmsg.reply(e.lpszmsg); hsms.send(outmsg.msg); break; - 31 -

5.2.5 Windows 64 ビット 版 における 注 意 点 Windows の 64 ビット 版 で 動 作 させるにはアプリケーションを x86 モードにする 必 要 があります 上 記 を 参 考 にプロジェクト 設 定 を 変 更 してください - 32 -

5.3 Visual C++ 2008 と C# 2008 では 作 成 手 順 やソースコードは 極 めて 似 ていましたが VC++ 2008 の 場 合 は 少 し 異 なりま す 5.3.1 プロジェクトの 作 成 1 Visual Studio 2008 を 起 動 し File メニューから New Project をクリックします 2 Visual C++の MFC Application を 選 択 し プロジェクト 名 とフォルダを 指 定 します ここではプロジェクト 名 を SavoyTutorialVC2008 とします 入 力 が 完 了 したら OK ボタンをクリックします 3 ウェルカム 画 面 が 表 示 されます Next ボタンをクリックします - 33 -

4 Dialog based を 選 択 し Use Unicode libraries のチェックははずします 他 の 設 定 はデフォルトのままで 構 わないので Finish ボタンをクリックします - 34 -

5 新 規 のプロジェクトが 作 成 されました 5.3.2 フォームに Savoy を 配 置 1 下 記 のように SavoyHsms SavoySecsII をダイアログリソースに 配 置 します - 35 -

2 変 数 として 割 り 当 てます SavoyHsms オブジェクトを 選 択 して 右 クリックし Add Variable をクリックします 3 Variable type を CSavoyHsms に 変 更 し.h file と.cpp file もそれぞれ SavoyHsms.h SavoyHsms.cpp とします Variable name は m_hsms とし Finish ボタンをクリックします - 36 -

4 同 様 に SavoySecsII にも 変 数 を 割 り 当 てます Variable type を CSavoySecsII に 変 更 し.h file と.cpp file もそれぞ れ SavoySecsII.h SavoySecsII.cpp とします Variable name は m_inmsg および m_outmsg とします 5 レシピ 名 は CString 型 の 変 数 とし m_strppid とします - 37 -

5.3.3 ラッパークラスの 置 き 換 え Visual C++ 2008 は ActiveX コントロールのラッパークラス 作 成 に 関 する いくつかの 問 題 があります このため Jazz Soft では 不 具 合 対 策 用 のラッパークラスを 提 供 しています ラッパークラスは Visual C++ 6.0 でも 作 成 可 能 ですが enum が 反 映 されませ ん 1 Visual C++ 2008 を 終 了 し プロジェクトをいったん 閉 じます 2 SavoyHsms.h SavoyHsms.cpp SavoySecsII.h SavoySecsII.cpp を 上 書 きします 3 再 び Visual C++ 2008 を 起 動 し プロジェクトを 読 み 込 み 直 します 5.3.4 ボタンの 処 理 1 Open ボタンをクリックしたら SavoyHsms の 通 信 設 定 画 面 が 表 示 されるようにします その 後 OK ボタンが 押 されたら 接 続 するようにします 設 定 内 容 は Savoy.ini ファイルに 保 存 され 次 回 から 設 定 の 入 力 は 不 要 です void CSavoyTutorialVC2008Dlg::OnBnClickedButton1() // Setup m_hsms.loadinifile(); if(m_hsms.setup("")) // If OK button was pressed, establish connection m_hsms.setconnect(true); - 38 -

2 Online ボタンをクリックしたら S1F13 を 送 信 するようにします void CSavoyTutorialVC2008Dlg::OnBnClickedButton2() // Send S1F13 m_outmsg.setsml("s1f13w"); m_hsms.send(m_outmsg.getmsg()); 3 PP Select ボタンをクリックしたら リモートコマンドで PP-SELECT を 送 信 するようにします void CSavoyTutorialVC2008Dlg::OnBnClickedButton3() // Send S2F41 PP-Select UpdateData(); m_outmsg.setsml("s2f41w<a'pp-select'><a'ppid'><a'" + m_strppid + "'>"); m_hsms.send(m_outmsg.getmsg()); 4 PP Start ボタンをクリックしたら リモートコマンドで START を 送 信 するようにします void CSavoyTutorialVC2008Dlg::OnBnClickedButton4() // Send S2F41 Start m_outmsg.setsml("s2f41w<a'start'>"); m_hsms.send(m_outmsg.getmsg()); 5.3.5 イベントの 処 理 SavoyHsms からのイベントを 処 理 します イベントハンドラは プロパティウィンドゥから 作 成 できます - 39 -

1 Connected イベントが 来 たら セレクト 要 求 を 送 信 するようにします void CSavoyTutorialVC2008Dlg::ConnectedSavoyhsmsctrl1(LPCTSTR lpszipaddress, long lportnumber) // Connected // Send select request m_outmsg.setsml("select.req"); m_hsms.send(m_outmsg.getmsg()); 2 Received イベントが 来 たら メッセージ 内 容 を 解 析 するために SavoySecsII に 渡 します void CSavoyTutorialVC2008Dlg::ReceivedSavoyhsmsctrl1(LPCTSTR lpszipaddress, long lportnumber, LPCTSTR lpszmsg) m_inmsg.setmsg(lpszmsg); 3 返 信 の 必 要 なデータメッセージを 受 け 取 ったら 適 当 な 返 事 を 返 信 します switch(m_inmsg.getstype()) case 0: // Data message if(m_inmsg.getwbit() && m_inmsg.getfunction()%2) // Need to reply something... m_outmsg.setsml("<b 0>"); m_outmsg.reply(lpszmsg); m_hsms.send(m_outmsg.getmsg()); break; 4 セレクト 要 求 を 受 け 取 ったら セレクト 応 答 を 返 信 します case 1: // Select request m_outmsg.setsml("select.rsp"); m_outmsg.reply(lpszmsg); m_hsms.send(m_outmsg.getmsg()); break; 5.3.6 全 ソースコード 以 上 でミニホストの 完 成 です 全 ソースコードはいくつかのファイルで 構 成 されますので ここでは 載 せないことにします - 40 -

このプロジェクトはゼロからスクラッチで 作 った 訳 ですが ソフトの 中 心 である SavoyTutorialVC2008Dlg.cpp ファイルは 空 白 行 やコメントを 入 れてもたったの 231 行 しかありません 実 際 に 自 分 で 書 いたコードの 行 数 は コメントを 除 くとなんと 31 行 です 他 社 製 品 にあるような 訳 の 分 からない 設 定 ファイルもデータファイルも 書 きませんでした このような 驚 異 的 なまでの 簡 単 さは 他 社 では 真 似 のできない 芸 当 です - 41 -