【B4】 Delphi/C++Builderテクニカルセッション
D l hi/C B ild テク カルセ シ ン

株式会社ドリームハイブ
代表取締役 ITコンサルタント 山本 悟

Web/モバイル系アプリでの帳票を考える自己紹介


会社：株式会社 ドリームハイブ



名前：山本
名前山本 悟 (やまもと さとる)

 会社URL ：http://www.dreamhive.co.jp/
h //dhij / お得なコンテンツ配信サイト：http://dhive.jp/

ドリームハイブ 代表取締役 & ITコンサルタント
ブログ：http://dhive.jp/blog/yama/
facebook ：http://www.facebook.com/kryu2
twitteri：http://twitter.com/kryu2
h // i/k 2

 山本はこんな感じの人：○ 17歳からIT業界へ
歳
業界○ Delphi は1.0からの親友○ テレビ埼玉に出たり○ ドリームハイブの経営、ITコンサルティング、システム開発、スピーカーなどが主な仕事
事34

本日の流れ
 モバイル・スマートフォンに対応するイォ
対応するアプリの開発方法とは？
 RAD Studio XE3を利用した
W bアプリの開発手法を紹介
Webアプリの開発手法を紹介
 デモ
 まとめ
 このセッションは、テクニカル・セッションです Delphi/C++ Builder製のWebアプリケ
Builder製のWebアプリケーションの構築方法についてションの構築方法について、私の主観と経験に基づいてお話しいたします あなたにとって最適解では無いかもしれませんが、参考になると思いますモバイル スマ トフォンに対応するには？
モバイル・スマートフォンに対応するには？
C1,C2セッションで ネイティブアプリで対応する方法
説明がありました メリット○ アプリが動くデバイスの機能をほぼ全て使うことができる デメリット○ 各デバイスごとにアプリ開発をする必要があり、多くの場合データ保存などで互換性が無い
本セッションで Webアプリで対応する方法
W b プリ 対応する方法
説明いたします メリット○ 全てのモバイル・スマートフォンでWebブラウザが利用できるので、開発の手間が少ない○ イントラネットなどの特定ドメイン内での展開が簡単
 デメリット○ ネイティブアプリに比べて機能制限があり、動作速度が低下する
ネイティブアプリに比べて機能制限があり 動作速度が低下する

モバイル・スマートフォンの動作確認環境はどうする？
実機
 一番確実な確認環境であり、最終的には行わなければならない
番確実な確認環境 あり 最終的には行わなければならな



仮想環境

 iPhoneシミュレーター
○ 取得元
取得元：AppStoreAppStore - Xcode Androidエミュレーター
○ 取得元：http://developer.android.com/sdk/
 Windows Phoneエミュレーター
○ 取得元：http://www.microsoft.com/ja-jp/download/details.aspx?id=27570
取得元：http://www microsoft com/ja jp/download/details aspx?id 27570

参考：シミュレーターとエミュレーターの違い
 シミュレーター
ソフトウェアを模倣する、再現性はそこそこ、動作速度は速い、バイナリ互換が無い
 エミュレーター
ハードウェアを模倣する、再現性は完璧、動作速度は遅い、バイナリ互換がある

RAD StudioのWeb対応技術
WebBroker

 URIに関連づけたイベントハンドラを作成できる、イベント駆動型Webサー

バーアプリケーション作成用フレームワーク
 Web Application
 Web Module (WebSnap：廃止予定であり、サポートは終了している)
 WebBrokerを拡張したデータ駆動型Webサーバーアプリケーション作成
用フレームワーク

IntraWeb(VCL for Web) RADスタイルでWebサーバーアプリケーションを作成できるGUIフレームワーク Atozed社が提供しているAd社が提供している

DataSnap JSON/REST形式のWebサーバーアプリケーションを作成できるフレーム

ワ クワークデモ WebBrokerによるWebサーバーアプリケーションの作成1
る
サ
リケ ショ
作成
WebBroker
TWebModule
リクエスト

TW bR
TWebRequestt
Actions

レスポンス

TWebResponse
Content<html>〜</html>

PathInfoに割り当てられたURLに応じてWebActionItem毎にHTMLデータを⽣成「プログラムでHTMLを⽣成」パターンデモ WebBrokerによるWebサーバーアプリケーションの作成2
る
サ
リケ ショ
作成
WebBroker
TWebModule
リクエスト

TW bR
TWebRequestt
Actions

レスポンス

TWebResponse
Content<html>〜</html>Pathinfoに割り当てられたURLに応じてWebActionItem毎にHTMLデータを⽣成「外部のファイルを読み込む」パターンデモ WebBrokerによるWebサーバーアプリケーションの作成3
る
サ
リケ ショ
作成
WebBroker
TWebModule
リクエスト

TW bR
TWebRequest
t

レスポンス

Actions

WebActionItemActionイベント

TWebResponsepTPageProducergContent

Content<html><html>

2013/04/23
14:45:00

2013/04/23
14:45:00</html>/</html>

HTMLDoc<html><#NOW></html>

外部のテンプレートファイル<html><#NOW></html>デモ IntraWebによるWebサーバーアプリケーションの作成1
る
サ
リケ ショ
作成
IntraWeb
TIWAppForm
リクエスト

レスポンス

IW Controlなど
••••
•
•

TIWButton
TIWListTIWImage
TIWEditi
TIWFile…

TIWUserSession
ユーザー用セッション

デモ IntraWebによるWebサーバーアプリケーションの作成2
る
サ
リケ ショ
作成
IntraWeb
TIWAppForm

DataModule

リクエスト

レスポンス

TIWUserSession
ユーザー用セッション

dbdemos.
gdb

デモ IntraWebによるWebサーバーアプリケーションの作成3
る
サ
リケ ショ
作成
IntraWeb
TIWAppForm
リクエスト

レスポンス

TIWForm.Create(WebApplication).Show

TIWAppForm

Self.Release参考リンク jQuery Mobile http://jquerymobile.com/ ThemeRoller for jQuery Mobile http://jquerymobile.com/themeroller/
 TMS IntraWeb iPhone Controls Pack

 http://www.tmssoftware.com/site/tmsiwiphone.asp

FastReportで帳票を作成する


FastReportとは

UNICODEをサポートしUNICODEをサポトし、バイナリへの埋め込みが可能な多機能レポ
バイナリへの埋め込みが可能な多機能レポーティングソリューション
ティングソリュ ション

主な特徴













Delphi 4〜XE3,C++ Builder 6〜XE3をサポート
Mono版・FMX版も存在する
UNICODEをサポート
競合製品に比べて安め
Delphiの実行用バイナリにライブラリごと埋め込むことが可能
埋め込みでも外部ファイル参照でもデザインしたレポートを利用可能
バンドによるレポート構成なのでバンドによるレポト構成なので、Quick
Quick ReportやRave Reportから移行しやすい縦型バンドもあります
テキスト、画像、線・図形はもちろん、チャート、バーコード、クロステーブル、OLEオブジェクト、リッチテキスト、などが使用可能
ランタイムデザイナを搭載、しかもロイヤリティフリー
レポート内にデータセット(ADO BDE,レポート内にデータセット(ADO,BDE DBX,DBX IBX,IBX FIB)を組み込み事が可能
Script(FastScript)に対応(PascalScript, C++Script, BasicScript, JScript)
プリンタ以外にも出力先が指定可能(PDF, RTF, XLS, XML, HTML, JPG, BMP, GIF, TIFF, TXT, CSV, ODF)
レポートの継承関係を作成することが可能
ク スタブタイプ ドリルダウンタイプのレポ トの作成が可能
クロスタブタイプ、ドリルダウンタイプのレポートの作成が可能

16

Editionによって使えない機能
Embarcadero RAD Edition

Enterprise Edition

RunTime end-userdesigner

×○Vertical Bands

×○

Cross Tabs

×○

Dialog forms designer

×○Interbase Express (IBX),
IBOjects, ActiveX Data
Objects (ADO),(ADO) dbExpress
support×○

Excel Binary×○

Excel XML×○

E-Mail×○

Script×○Components for web
webapplications

×○デモ FastReportによるレポ
FastReportによるレポートの生成1
トの生成1
FastReport
Tf PDFE
TfrxPDFExportt
PDF

frxReport1.Export(frxPDFExport1);
外部のレポートデザインの利⽤も可能

TfrxReportデザイン.fr3

ちょっとだけFireDACの説明

デモ FastReportによるレポ
FastReportによるレポートの生成2トの生成2FastReport
TfrxPDFExport

PDF

frxReport1.Export(frxPDFExport1);

Tf R
TfrxReporttData
デザイン

デ タベデータベース
DatasetTfrxDBDataset

デモ IntraWeb + FastReportによるレポ
FastReportによるレポート生成
ト生成

I t W bIntraWeb

FastReport

TIWAppForm

リクエスト
WebApplication.SendStream()TM
TMemoryStreamSt

Tf PDFE
TfrxPDFExport
t

レスポンス
PDF
Tf R
TfrxReport
t
デザイン

まとめ
 モバイルモバイル・スマートフォンへの対応方法は2種類ある
スマ トフォン の対応方法は2種類ある

 ネイティブアプリを作り、パフォーマンスを優先する方法
 Webアプリを作り、スケラービリティを優先する方法
Webアプリを作り、スケラ ビリティを優先する方法
 Webアプリ対応の開発方法は2種類ある

 IntraWebによるRADスタイルで開発する方法
 DataSnapによってビジネスロジックをWebサービスで公DataSnapによってビジネスロジックをWebサ ビスで公開し、それを利用するアプリを開発する方法

メルマガもご登録ください(※期間限定)
メガもご登録くださ期間限定↓↓↓
p //
jp//
http://www.dreamhive.co.jp/25thdc/
パスワード：25thdc