開発者が知りたい実践プログラミングテクニック! ~ 明日から使えるテクニック集 ~

Similar documents
Delphi/400活用! スマートデバイスアプリケーション開発

ミガロ.製品 最新情報

Shareresearchオンラインマニュアル

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

Microsoft Word - XOOPS インストールマニュアルv12.doc

JACi400のご紹介~RPGとHTMLで簡単Web化~

Delphi/400で本格Webアプリ開発

Microsoft Word - TS-816.doc

新規インストールガイド Microsoft Office Professional Plus 2016 本書は Download Station から Microsoft Office Professional Plus 2016( 以下 Office) をダウンロ ドし 新規インストールを行う手順

PowerPoint Presentation

TestDesign for Web

Delphi/400を使用したWebサービスアプリケーション

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記

スライド 1

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

PowerPoint プレゼンテーション

スライド 1

Microsoft Word - ModelAnalys操作マニュアル_

brieart変換設定画面マニュアル

目次 1. システム概要 設置手順 注意事項 動作環境 初期設定 システム設定 ( 環境設定 ) システム設定 ( ログインパスワード変更 ) システム設定 ( ファイルのパスワード変

intra-mart ワークフローデザイナ

新規インストールガイド SPSS Statistics 24/25 Windows 32/64bit 版 本書は Download Station から SPSS Statistics をダウンロ ドし 新規インストールを行う手順を記載しています 本手順は学内ネットワークに接続した状態で行う必要があ

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

インストール後のアプリケーション実行

C#の基本

厚生労働省版ストレスチェック実施プログラムバージョンアップマニュアル (Ver2.2 から Ver.3.2) 目次 1. プログラム概要 バージョンアップ実施手順 要注意 zip ファイル解凍の準備 Windows によって PC が保護されました と

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

JP-2-Develop Websites and Components in AEM v6x_(V3_after QA)_1111

レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン < 追加機能一覧 > 管理番号 内容 説明書参照章 カナ文字拡張対応 < 改善一覧 > 管理番号 内容 対象バージョン 説明書参照章 文字列のコピー ペースト改善 ~ 子画面の表示方式 ~ 履歴の詳細情報 ~ タブの ボタン ~ 接続時の管

Delphi/400を利用したはじめてのWeb開発

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Webコンポーネントのカスタマイズ入門

新規インストールガイド Sophos Anti-Virus for Mac 9.7 学内利用版 本書は Download Station から Sophos Anti-Virus for Mac 9.7 の学内利用版 ( 以下 Sophos Anti-Virus とする ) をダウンロ ドし 新規イ

MAHO Dialer について MAHO Dialer は MAHO-PBX を経由し PC にて着信時に発信者情報をポップアップしたり 着信履歴などから発信操作を行うためのソフトウエアです このガイドでは MAHO Dialer のインストール アップデート 初期設定 使用方法 および アンイン

追加インストールガイド Microsoft Office Multilanguage Pack 2016 本書は Download Station から Microsoft Language Pack Multilanguage Pack 2016 ( 以下 Language Pack) をダウンロ

ArtiosCADセットアップガイド

『テクノス』V2プログラムインストール説明書

01_08 インストールガイド

BizBrowser SmartDevice Android開発用スタートアップガイド

クライアント証明書導入マニュアル

ビジネスサーバ設定マニュアル_ssh_ftp編(VPS・Pro)

AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ

(Microsoft Word - VisionPro\203C\203\223\203X\203g\203\214\201[\203V\203\207\203\223\203}\203j\203\205\203A\203\ doc)

CommonMP Ver1.5 インストール手順書 目 次 1. 概要 目的 必要動作環境 ハードウェア構成 ソフトウェア構成 CommonMP のインストール手順 利用フロー

Ver26 メディアマート株式会社 アドバンスト アナリティクス株式会社 Statistics 26.0 のインストール手順書 (Windows 版 ) Authorized User ライセンス ( シングルライセンス ) 1. 事前に IBM SPSS Statistics 26 をインストール

Python によるジオプロセシング スクリプト入門

Microsoft Word - 01_CommonMPインストール解説書.doc

GHS混合物分類判定システムインストールマニュアル

PowerPoint Presentation

Microsoft Word - プリンター登録_Windows XP Professional.doc

目次 1. PDF 変換サービスの設定について )Internet Explorer をご利用の場合 )Microsoft Edge をご利用の場合 )Google Chrome をご利用の場合 )Mozilla Firefox をご利

目次 第一章インストールと製品登録 1.1 インストール & ライセンス認証 3 第二章製品活用 - Leawo itransfer 3.1 コンピュータのファイルを iphone に転送 iphone のファイルをコンピュータにバックアップ ファイルを itunes から

PDFオートコンバータEX

FastReportへの効率的な帳票レイアウトコンバート

PowerPoint Presentation

Windows ログオンサービス インストールマニュアル 2018/12/21 1

共有フォルダ接続手順 1 共有フォルダ接続ツールのダウンロード 展開 CSVEX のトップページから共有フォルダ接続ツールの zip ファイルをダウンロードします ダウンロードした zip ファイルを右クリックして すべて展開 を選択します (Windows 環境では zip ファイルを解凍しなくて

ブラウザ Internet Explorer 7 の設定について 第3版

Team Foundation Server 2018 を使用したバージョン管理 補足資料

<8B9E93738CF092CA904D94CC814090BF8B818F B D836A B B B816A2E786C73>

インテル(R) Visual Fortran コンパイラ 10.0

モバイル統合アプリケーション 障害切り分け手順書

ことばを覚える

MOS_Windows8

注 ) CDをセットしてから プログラムが起動するまでの時間はパソコン CDドライブの性能によって差がありますが 概ね10 秒程度です 1 分間待ってもプログラムが起動しない場合は もう一度 CDをセットしなおしてください それでも起動しない場合 CDからの自動起動が無効になっている可能性があります

Maple 12 Windows版シングルユーザ/ネットワークライセンス

ライセンス認証ガイド Windows 10 Pro 本書は Download Station から Windows10 のライセンス情報をダウンロ ドし インストール済みの Windows 10 に適用する手順を記載しています 本手順は学内ネットワークに接続した状態で行う必要があります 認証プログラ

ClientManager ユーザズマニュアル

印刷アプリケーションマニュアル

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

Cuoreテンプレート

はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します 但し前提条件として Sandbox 本番環境共に SkyVisualEditor がインストールされ

V-Client for Mac ユーザーズガイド

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal

CubePDF ユーザーズマニュアル

Delphi/400:帳票開発ノウハウ公開

PALNETSC0184_操作編(1-基本)

「ビジネスサーバ」シリーズ設定マニュアル

外字インストーラユーザーズガイド Ver 1.20(2016 年 2 月改訂 )

パソコン決裁7 サービスリリース1 リリースノート

PowerPoint プレゼンテーション

Transcription:

セッション No.3 プログラミングテクニックセッション 開発者が知りたい実践プログラミングテクニック! ~ 明日から使えるテクニック集 ~ 株式会社ミガロ. RAD 事業部営業 営業推進課 尾崎浩司

今回のテーマ 課題を解決する為に工夫したテクニックを厳選してご紹介! スマートデバイス対応の Web アプリを構築したい PC 前提の Web 画面のままだと スマートデバイスでの使い勝手がわるい タッチ操作で使いやすい画面を構築したい 1.IntraWeb におけるスマートデバイス向け Web アプリ作成テクニック プログラムの品質を向上したい 仕様にもとづくテストを正しく実施したい プログラムを修正した際に デグレートを発生させたくない 2. ユニットテストフレームワークの活用方法 Delphi/400 の運用環境を効率よく導入したい 多数の PC に Delphi/400 の運用環境を導入しないといけない 3.Delphi/400 サイレントインストーラ作成方法

1.IntraWeb におけるスマートデバイス向け Web アプリ作成テクニック

スマートデバイスに最適な Web アプリの検討 PC ブラウザを前提とした Web アプリをスマートフォンで実行 PC ブラウザ スマートフォンブラウザ 幅が足りなく 画面が切れている スマートデバイスで使いやすい Web アプリとはどんなものか?

スマートデバイスに最適な Web アプリの検討 スマートデバイスの特徴 スマートフォンやタブレットなど 種類や端末により サイズや解像度がマチマチ 操作は タッチやスワイプなど指を使用 ( 細かな入力などは不向き ) スマートデバイスに最適な Web アプリとは? デバイスにかかわらず レイアウトがきちんと表示されるのが理想 スマートフォンタブレット スマートデバイス Web アプリ作成には jquery Mobile が使用されることが多い

スマートデバイスに最適なWebアプリの検討 jquery Mobile フレームワークとは? スマートデバイス用の画面デザインや部品を提供するJavaScriptライブラリ デバイスやブラウザの違いをフレームワークが吸収 スマホやタブレットでのタッチ操作に最適化 公式サイト 使用されているサイト例 http://jquerymobile.com/ (2016/06 現在最新版は Ver.1.4.5) ASCII.jp jquery Mobile を使った国内スマホサイトまとめ より IntraWeb アプリで jquery Mobile を活用できないか?

スマートデバイスに最適な Web アプリの検討 IntraWeb と jquery Mobile との連携 jquery Mobile に用意されている画面デザインや部品は HTML で記述可能 IntraWeb は 通常 IW フォームにコンポーネントを配置して画面作成するが 画面デザインを HTML で作成して IW フォームと連携する方法も用意されている IntraWeb 開発画面 jquery Mobile (HTML) 実行画面 + jquery Mobile の組み合わせでスマートデバイスに最適な画面を実現可能!

サンプルプログラム IntraWeb アプリを jquery Mobile を使用してスマートデバイスに最適化 商品マスター照会プログラム 変更前 ( PC ブラウザで実行 ) MITEMP ( 商品マスター ) IBM i 一覧画面 明細画面 完成イメージ ( スマートフォンブラウザで実行 ) 一覧画面 明細画面

サンプルプログラム プロジェクト構成 明細画面 TIWDBEdit DataSoure に関連したデータセットを表示 一覧画面 TIWDBGrid DataSoure に関連したデータセットをグリッド表示 dbexpress データモジュール ( セッション単位 ) TIWDBGrid Columns の OnClick イベントセルのリンククリック TClientDataSet メモリ上のデータセット

jquery Mobile 基本ページレイアウト jquery Mobile 公式サイトより基本ページの HTML ソースを取得 トップページから [Demos] をクリックし [jquery Mobile 1.4.5 Demos] をクリック Pages & Navigation 内の [Pages] をクリック Putting it together: Basic single page template 内にある HTML ソースをコピーして メモ帳等のテキストエディタを起動して貼り付け HTML ソース内の [version] 部分を最新版である 1.4.5 に全て置換 [version] 部分を 1.4.5 に置換 リンク先にある HTML ソースをメモ帳等に貼り付け

jquery Mobile 基本ページレイアウト 基本ページレイアウトの HTML 構成 Basic single page template ページ幅 拡大率の設定 ページ全体 ヘッダ領域 コンテンツ領域 ヘッダ コンテンツ フッタ領域 フッタ

明細画面の作成 テンプレート用フォルダに HTML ファイルを保存 メモ帳にて [ 名前を付けて保存 ] を選択 IntraWeb アプリ実行フォルダの中に [templates] フォルダを作成 [templates] フォルダの中に html を保存 ( 明細画面用として ここではファイル名を detail.html として保存 ) 保存の際 文字コードは UTF-8 とする detail.html というファイル名で UTF-8 形式で保存 [templates] フォルダを作成し その中に HTML を保存

明細画面の作成 HTML と IntraWeb コンポーネントとの関連付け HTML の中に {% コンポーネント名 %} と記述 ID 属性はコンポーネント名の大文字となる detail.html ui-btn jquery Mobile のボタン ID 属性により関連付け ui-field-contain ラベルとテキスト部品のレイアウトを画面サイズにより調整 DetailFrm.pas btnback: TIWButton IWDBEdit1: TIWDBEdit IWDBEdit2: TIWDBEdit IWDBEdit3: TIWDBEdit IW コンポーネントの関連付け IWDBMemo1: TIWDBMemo

明細画面の作成 IWTemplateProcessorHTML コンポーネントを使用 Templates プロパティの Default サブプロパティに HTML ファイル名を指定 RenderStyles プロパティを False に指定 Form の LayoutMgr プロパティと関連付け DetailFrm.pas frmdetail と IWTemplateProcessorHTML1 とを関連付け RenderStyles を False に指定 作成した html ファイルを指定

明細画面の作成 実行 jquery Mobile で作成された HTML 画面に IWEdit や IWMemo の値がセットされて出力 明細画面 明細画面 タブレットでは ラベルとテキスト部品が 横並びで表示 スマートフォンでは ラベルとテキスト部品が 縦並びで表示

一覧画面の作成 一覧画面もテンプレート HTML で動作するように変更 detail.html をコピーして list.html を作成 ListFrm.pas に IWTemplateProcessorHTML を追加して HTML と紐づけを実施 list.htmlのコンテンツ領域に {%IWDBGrid1%} を指定 実行一覧画面 IWGrid がそのまま表示されるため グリッドが画面からはみ出していて 商品名が見えない jquery Mobile の一覧部品であるリストビューが使用できないか?

一覧画面の作成 ListView リスト形式の一覧表示を行う jquery Mobile の UI 部品 公式サイト ( デモページ ) list.html 様々なタイプのリストビューサンプルが記載 リンク先にある html ソースをコンテンツ領域に貼り付け スマートフォンのタッチ操作に最適なリスト形式で出力 プログラムから動的にタグが作成できないか?

一覧画面の作成 IWTemplateProcessorHTML コンポーネントの OnUnknownTag イベントを使用 HTML 上で {% 名前 %} で定義された部分に対して ロジックでタグを作成可能 ListFrm.pas list.html タグを埋め込みたい箇所に {% 名前 %} と定義 AName にセットされた名前より タグ文字列を VValue にセット

一覧画面の作成 データにもとづく動的なListViewの作成 ListFrm.pas タグ文字列を作成するための文字列リスト変数 データセットをループでまわしながら リスト項目 (<li> タグ ) 文字列を作成 完成した文字列リストの文字列を VValue にセット

一覧画面の作成 実行 商品マスタより取得した商品名をもとに動的に作成したリストを表示 応用例 次のような形式でタグを作成すれば より使い勝手の良いリストも作成可能 ( 例 ) <img src= 画像ファイル > <p> 商品コード </p> <h1> 商品名 </h1> <h4> 単価 </h4> 動的に作成したリストビューには クリックイベントが定義されていない為 タッチしても画面が遷移しない Delphi のイベントと関連付けることはできないか?

一覧画面の作成 IntraWeb で生成された HTML とイベントとの関連 リンクのクリックが SubmitClickConfirm サブルーチンを呼び出し Delphi のイベントが実行 IntraWeb フォームで実行した一覧画面のソースを表示 HTML ソース コンポーネント名 ( 大文字 ) 列番号 + キー値 ListFrm.pas 動的に作成する ListView に onclick 属性を追加すればよい!

一覧画面の作成 動的な ListView の改良 ListFrm.pas onclick 属性固定値 ( 可変部を %s で定義 ) 商品コードを可変部にセットし <a> 要素に onclick 属性の文字列を追加

一覧画面の作成 実行 jquery Mobile の活用で スマートデバイスに適した画面が作成可能!

( 参考 )IWCGjQuery Mobile について IntraWeb を拡張する市販コンポーネント jquery Mobile を使用したスマートデバイスに最適な Web アプリを HTML を使用せずに直接コンポーネントで作成可能 IWCGjQuery Mobile Suite http://www.cgdevtools.com/products/iwcgjquery-mobile-suite/

2. ユニットテストフレームワークの 活用方法

ユニットテストとは? ユニットテスト ( 単体テスト ) とは ソフトウェアやシステムのテスト手法の一つで 単一の部品 ( モジュール ) を対象に行うテスト Delphi の場合 procedure や function 単位にテスト実施 メソッドの宣言部 ユニットテストでは メソッド ( 関数や手続き ) 単位に仕様どおりに実行できるか確認する ユニットテストはどのように実施しているか?

一般的なユニットテストの実施方法 デバッグ実行 ブレークポイントを設定して デバッグすることで実際に動作させながら値の確認などが行える ブレークポイント デバッグ実行の課題 ユニットテスト結果を保管することができない 再テストの際 都度再設定して実行する必要がある 必要なテストパターンを考慮して画面から実行するのが困難なことがある

一般的なユニットテストの実施方法 デバッグプリント 実装コードの中に OutputDebugString 手続きを埋め込むことで 実行時にデバッグウィンドウに値を出力することができる デバッグ出力ロジック デバッグ実行時イベントログに結果が出力 デバッグプリントの課題 実装コードの中に直接デバッグ用コードを埋め込む必要がある ユニットテストの課題を解決する方法はないか?

テストフレームワーク DUnit ユニットテストを行うためのフレームワーク 実装コードとは 別にテスト用コードを用意し テスト実施を自動化可能 仕様にもとづくテストケースを用意しておけば 何回でもテストを繰り返すことができる 仕様書の入出力内容にもとづき テストケースを検討し テストコードを作成 ソース作成テストコード作成テスト実施 完成 仕様書の記述にもとづき 実装コードを作成 DUnit プロジェクト ( ) テストコードを実行することで テストを実施し 結果を確認 DUnit は Delphi/400 Ver.2005 以降に統合 テストケースとは この状態でこの入力を行えば この処理が行われてこの結果が期待される といった内容を記載したもの テストフレームワークでは これをプログラムで表現する

DUnit を使用するメリット ユニットテストが自動化できる テストコードを作成しておけば 何度でも再テストを行える ( コードを修正した際のデグレードを防ぐことができる ) ソースコード / プロジェクトに手を加えることなく テストコードを追加できる テストコード自体が テスト実施のエビデンスとなる ソース修正 DUnit : テスト実行 ソース作成 一度テストコードを作成しておけば ソースコードを変更した際 そのまま再テストが可能

サンプルプログラム 月末日取得サブルーチン ( メソッド ) の作成 ( 仕様 ) パラメータにセットした 年 月 の月末日を算出し 結果を返す 年 の有効範囲は 1900~2499 月 の有効範囲は 1~12 年 月 の有効範囲が正しくない場合 結果として -1 を返す ( 書式 ) function GetLastDay(AYear, AMonth: Integer): Integer;

サンプルプログラム GetLastDay メソッドのコーディング パラメータが対象範囲となっているかのチェック パラメータの月により 月末日を返す 実行 うるう年の考慮がないので 今年 (2016 年 ) は 2 月は 29 日のはずが 28 日と表示 ( メソッドの修正が必要 ) GetLastDay メソッドをテストする方法を検討!

ユニットテストプロジェクトの作成方法 テストプロジェクトの新規作成 (1/2) [ ファイル ] [ 新規作成 ] [ その他 ] を選択 新規作成ダイアログの左側ツリーより [ ユニットテスト ] を選択 [ テストプロジェクト ] を選択し [OK] を押下

ユニットテストプロジェクトの作成方法 テストプロジェクトの新規作成 (2/2) ソースプロジェクト選択 ユニットテスト用プロジェクト名を指定して [ 次へ ] を押下 テストランナーを指定して [ 完了 ] を押下 テスト対象のプロジェクトがデフォルト表示される GUI でテストするか コンソールでテストするかを選択 テスト用プロジェクトが追加作成

テストケースの作成方法 テストケースの新規作成 新規作成ダイアログの [ ユニットテスト ] より [ テストケース ] を選択し [OK] を押下 テストを行うユニットを選択し テスト対象のサブルーチン ( メソッド ) を選択 ファイル名を指定して [ 完了 ] を押下

テストケースの作成方法 実装部 テストケースのユニットが追加 テスト開始前に実行 ( テストに必要な初期化 ) テスト終了後に実行 ( 終了処理を記述 ) 宣言部 テストパラメータ変数 ここにテスト用ロジックを追加 published のメソッドに実行したい条件のテストを記述する!

テストケースの作成方法 例 )2016 年 2 月が正しく動作するかのテストケースを作成 データモジュールやフォームのメソッドを対象とする場合 オーナーの指定が必要 テスト結果として想定される期待値を保持する変数を定義 テストケース : 2016 年 02 月 期待したい値 : うるう年の為 29 日 メソッド実行 テスト結果の確認 CheckEquals 手続き : 2 つの値が等しいことを確認

テストケースの作成方法 テストプロジェクトを [ 実行 ] 実行結果が色分けで表示 : テスト成功 : テスト失敗 テストケースを選択し 実行 テスト失敗の原因が表示期待値 29 に対し 28 が結果であった 仕様書に基づき 必要なテストケースを同様に追加すればよい!

仕様にもとづくテストケースの作成 仕様にもとづくテストケースの作成 ブラックボックステスト ( 入出力仕様に合わせたテスト仕様を作成 ) 同値分割と限界値分析 同値分割 境界値分析 正常に処理される有効同値クラスと エラー処理される無効同値クラスに分けてそれぞれの代表的な値をテストデータにする 有効値と無効値の境界値をテストデータにする 必要なテストケースのパターンを検討 年の境界値 1899, 1900 2499, 2500 月の境界値 0, 1 12, 13 年の同値分割 2015 年 2 月 ( 平年 : 年が 4 で割り切れない ) 2016 年 2 月 ( うるう年 : 年が 4 で割り切れる ) 2100 年 2 月 ( 平年 : 年が 100 で割り切れる ) 2000 年 2 月 ( うるう年 : 年が 400 で割り切れる )

仕様にもとづくテストケースの作成 宣言部 P.36 の宣言部を修正 テストケースを汎用化するために 引数を追加 published public に変更 テストケースに沿ったメソッドを追加で宣言 実装部 (P.37 のソースを修正 ) テスト実行と結果の評価

仕様にもとづくテストケースの作成 テストケース実装部 ( 一部抜粋 ) 1899 年は有効範囲外の為 -1 となる 1900 年は有効の為 大の月の 31 となる 2000 年はうるう年の為 29 となる テスト実施 うるう年の判定パターンが NG なことが結果としてわかる テスト結果 : 12 件中 2 件 NG

GetLastDay メソッドのロジック修正 うるう年判定ロジックを追加 うるう年の判定ロジック ( 年が 4 で割り切れる ) かつ (100 で割り切れないあるいは 400 で割り切れる ) うるう年 配列を使用し処理を簡略化

GetLastDay メソッドのロジック修正 ロジック修正後も 容易に再テスト可能 すべてのテストケースに合格 テスト結果 : 12 件中 12 件 OK 必要なテストケースがあれば 何度でも再テスト可能でデグレードを防止!

( 参考 )DUnitX について 新しいテストフレームワーク DUnitX Delphi/400 10 Seattle からは DUnitX が推奨テストフレームワークとなっている (DUnit も使用可能 ) DUnitX <DUnitX の概要 > DUnit http://docwiki.embarcadero.com/radstudio/seattle/ja/dunitx_ の概要 DUnitX は Delphi/400 Ver.2010 以降であれば 下記よりダウンロードして使用可能 https://github.com/vsofttechnologies/dunitx DUnit で作成したテストプロジェクトは DUnitX に変換可能 http://docwiki.embarcadero.com/radstudio/seattle/ja/dunit_ テストを _DUnitX_ に変換する方法

3.Delphi/400 サイレントインストーラ 作成方法

Delphi/400 運用環境のセットアップ 運用版 CD-ROM よりインストール SETUP.exe を実行 ウィザードに従って インストール条件を指定 1. 使用許諾同意 2. インストール先の指定 3. セットアップタイプ カスタムの場合セットアップ機能を指定 4. インストール開始 インストール実行 終了後完了画面が表示 [ 完了 ] を押下 Configration 設定 接続する IBM i (AS/400) の定義を登録接続名 IP アドレス コードページ 接続テスト 保存 終了 Setup.exe をダブルクリックして実行 Configration で接続情報を定義 効率よく運用環境を導入する方法はないか?

運用版サイレントインストール サイレントインストールとは? インストール実行時のダイアログによるインストール指示や Configration の初期設定を自動化するインストール方法 ミガロ.Delphi/400 メンテナンスページより取得可能 サイレントインストールは 運用版のみ ( 開発版は通常のセットアップで導入 ) 運用版メンテナンスページ サイレントインストールプログラムをダウンロード

運用版サイレントインストール ファイルの内容 説明資料 ( 使用方法 iss ファイル設定方法 ) セットアップ応答ファイル ( ひな形 ) サイレントインストール用モジュール サイレントインストーラ使用方法 1. iss ファイル ( 応答ファイル ) にインストールの指定や Configration の定義を登録 2. サイレント用インストーラ (XE7_Silent.exe) に応答ファイルを指定して実行 実行コマンド例 C: Temp XE7_Silent.exe SETUPFILE="C: Temp setuppck.iss"

起動用バッチプログラムの作成 サイレントインストーラ起動バッチプログラムを Delphi で作成 プログラム化することにより インストール前後に独自の処理を追加可能 例 旧バージョンをアンインストールする処理を追加 アンインストーラの実行処理 旧バージョンフォルダの削除や Win.ini のクリア処理等 Configration に複数の接続先を指定可能 ALIASES.CFG ファイル ( 接続先定義 ) を CO420 フォルダにコピー 実行環境 バッチプログラムと サイレントインストーラを同じフォルダに配置して バッチプログラム (D400Install.exe) を実行 3 つのファイルを同じフォルダに配置

起動用バッチプログラムの作成 MainDM.pas ( データモジュール ) 一部抜粋 メインルーチン 実行中メッセージフォームを表示 コマンドを実行 付録の CD-ROM に全ソースを収録

起動用バッチプログラムの作成 マニフェストファイルの作成 UTF-8 形式で下記ファイルを作成 ( [ プロジェクト名 ].manifest としてファイル保存 ) 実行時 管理者 への昇格が必須となる プロジェクトに対し マニフェストファイルを指定 [ ツール ] [ オプション ] よりプロジェクトオプションを開き [ アプリケーション ] のランタイムテーマを カスタムマニフェストを使用する に変更 マニフェストファイルを指定

起動用バッチプログラムの作成 バッチプログラムの実行 D400Install.exe を実行 管理者に昇格して実行してよいかの確認画面が表示 管理者としてバッチプログラムが実行できる Delphi 起動バッチプログラム サイレントインストーラにより実行された経過画面 ( 応答不要 )

まとめ

まとめ モバイル対応した Web アプリを構築したい IntraWeb と jquery Mobile との連携によるスマートデバイス画面の作成 動的なリストビューの作成 リストビューとイベントの割り当て プログラムの品質を向上したい ユニットテストフレームワーク DUnit の概要とメリット ユニットテスト手順 Delphi/400 の運用環境を効率よく導入したい サイレントインストールの使用方法 Delphi を使用した起動用バッチプログラムの紹介

ご清聴ありがとうございました