PowerPoint プレゼンテーション

Similar documents
新バージョンDelphi/400 XE7ご紹介 - マルチデバイスデザイナ機能で開発効率アップ! -

テクニカルセミナーベストセレクション

ステップアップ! モバイルアプリケーション開発

Delphi/400 XE5 -こんなに簡単!IBM iスマートデバイスネイティブ開発-

Windows開発者のためのFireMonkeyモバイル開発入門

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

知って得する!現役ヘルプデスクが答えるDelphiテクニカルエッセンス 9.0

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

知って得する!現役ヘルプデスクが答えるDelphiテクニカルエッセンス 8.0

目 次 1. 概要 ホームアプリの主な機能 操作方法 初期設定 初期画面 診断 ( 車両情報選択画面 ) 車両情報の登録 編集 登録した車両を削除する...

25th Developer Camp

1 シミュレーションとは何か?

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

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

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

目次 1. 教育ネットひむかファイル転送サービスについて ファイル転送サービスの利用方法 ファイル転送サービスを利用する ( ひむか内 ) ファイル転送サービスへのログイン ひむか内 PCでファイルを送受信する

Microsoft Word - 補足説明_Win7_Server2008R2__R1.doc

地図 SD カードを取り外す 最初に ナビゲーション本体から地図 SD カードを取り外します 本操作は地図 SD カードを初めて ROAD EXPLORER Updater に登録するときや パソコンにダウンロードしたデータを地図 SD カードに保存するときに実行してください 1 ナビゲーション本体

[Unifinity]運用マニュアル

初 めての ios アプリケーション iphone Form TLabel TButton. 図. コントロールの 配 置 Button OnClick Button. 00

目次 1. AOS ユーザー登録サイト AOS ユーザー登録 AOS ライセンスキー登録 ios 版アプリ インストール 起動と新規登録 初期設定とバックアップ Andro

10th Developer Camp - B5

ミガロ.製品 最新情報

SmartBrowser_document_build30_update.pptx

G800SE HTMLdocument update

KEW Smart for KEW3441BT 取扱説明書

Microsoft PowerPoint - Skype for business の概要.pptx

PowerPoint プレゼンテーション

Microsoft Word - Qsync設定の手引き.docx

FlashAir 設定ソフトウエア株式会社東芝セミコンダクター & ストレージ社 Copyright 2012 TOSHIBA CORPORATION, All Rights Reserved. 対応 OS: Windows XP SP3 / Vista SP2 / 7 (32bit/64bit)

Windows用タブレットドライバー簡易ガイド

アプリケーションの使い方 ios 対応バージョン ios : 6.0 以降 準備 事前に液晶モニター本体のネットワークパスワード及びネットワークアドレスの設定を行う ( 取扱説明書 7ページ ) 液晶モニター上でインターネットの接続状況を確認する メインメニューの システム ネットワーク ネットワー

ヘルスアップWeb 簡単操作ガイド

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

3. クラスリンク ( 先生の IP アドレス >:< ポート >) を生徒と共有して生徒がブラウザーから接続できるようにします デフォルトのポート番号は 90 ですが これは [Vision 設定 ] から変更できます Netop Vision Student アプリケーションを使

25th Developer Camp

_ワイヤレスカメラアプリ取説.indd

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」

ファームウエアアップデート手順書 EOS C500/EOS C500 PL

Microsoft Word - XPC4ソフトマニュアル.doc

ファームウェアアップデート手順書 EOS C300 Mark II

開発者が知りたい実践プログラミングテクニック!

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

ArcGIS for Server での Web マップの作成方法

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

ギョロモガイガー Ⅱ 操作ガイド ギョロガイガー Ⅱ 操作ガイド 本書では ギョロガイガー Ⅱ の操作方法についてご説明いたします 目次 1. 概要 コンセプト 主な機能 基本仕様 インストール 使い方...

Cards R Connector(v1.4.2)_ja.pptx

ヘルスアップWeb 簡単操作ガイド

Microsoft Edge の場合 (1) Mizdori 無料体験版ダウンロード画面の [ 体験版ダウンロード ] ボタンをクリックします (2) Edge の下部に mizdori_taiken_setup.zip について行う操作を選んでください と表示され ますので [ 開く ] をクリッ

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

NFC EXPRESS ASUS NFC Express は Windows 8 対応の外付けデバイスです NFC 対応のスマートデバイス または付属の NFC タグをタッチするだけで 簡単に様々なアクションを実行することができます NFC Express をインストールする NFC Experss

ixpand Transfer クイックガイド ixpand Transfer は サンディスク ixpand フラッシュドライブ専用の Android アプリケーションです 本アプリケーションは Android スマートフォンやタブレットに接続したサンディスク ixpand フラッシュドライブを使

すると メインメニューと呼ばれる DC さくらのメインウィンドウ部が表示されます ( 下の画面がスクリーンシ ョットです ) メインメニューは ウィンドウ右上の ボタンを押すと閉じます リスト内のアイテムは ダウンロードのタスクを表します ダウンロード状況を把握できます メニュー項目やボタンの説明は

CX6_firmup

Delphi/400開発ノウハウお教えします 情報を守ろう!安全性を高めたWebシステムの構築

Dahua DMSS操作手順書

変更履歴 版数変更日変更内容 /11/1 初版設定 /9/1 名称変更

リコーイメージング株式会社 RICOH WG-6 ファームウェアアップデート手順説明書 本説明書では ホームページからダウンロードしたファームウェアを利用し アップデートを行う方法を説明しています 用意するもの RICOH WG-6 本体 RICOH WG-6 でフォーマットされた SD メモリーカ

Proselfの利用方法

事前実機トレーニング

SDP Generator

KDDI ペーパーレスFAXサービス

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

スマートフォンアプリケーション DRD Viewer 取扱説明書

Diginnos PC 初期化方法 初期化操作を行うと ストレージ ( ハードディスク / SSD)( 以降ストレージと記載します ) 内のデータが全て初期化されます 必要なデータは他のメディア等にバックアップのうえ作業してください 初期化とは Windows 10 のプッシュボタンリセットの機能の

KEW Smart for KEW3552BT 取扱説明書

PowerPoint プレゼンテーション

内容 MD00Manager とは?... MD00Manager をインストールする.... ソフトのインストール... MD00Manager の使い方.... 起動をする... 機能説明...7 機能説明 ( メニューバー )...8 機能説明 ( ステータスバー )...8 機能説明 ( コ

症状原因対処方法 電源が入らない 電源が入ると ブザー 音が 1 回 ピ と鳴った あと Cyclops 本体の中 央の LED が緑または赤 に 1 回点滅します 充電されない 正常に充電できている 場合 Cyclops 本体の左 側の LED が赤点灯し 満充電で緑点灯しま す 電源が切れる 故

f5

RS-MS1A ~オフライン地図について~

SHOFU SureFile for DentalX Manual

Windows用タブレットドライバー簡易ガイド Ver.5.06版

どこでも写真管理 Plus (Android 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明であ

目次 1. はじめに 準備 機器構成 やさしく名刺ファイリング Pro v.14.0 セットアップと動作確認 やさしく名刺ファイリング Pro v.14.0 セットアップ... 5 Windows Windows 8.

PowerPoint プレゼンテーション

SureFile for 達人プラスインストールマニュアル V1.7 本マニュアルでは アイスペシャル C-Ⅱ C-Ⅲ 専用画像振り分けソフト SureFile for 達人プラスについて 下記に示した項目を説明しています SureFie( 標準版 ) のアンインストール インストール 起動 設定の

VB.NET解説

2 ログイン ( パソコン版画面 ) Web サイトのログイン画面が表示されます 通知メールに記載されている ID と仮パスワードを入力して ログイン ボタンをクリックしてください ID パスワードを連続して 5 回間違うと 当 I D はロックアウト ( 一時的に使用不可 ) されるので ご注意く

UMLプロファイル 機能ガイド

内容 Softimage のスタンドアロンライセンスのインストールとライセンス取得 Softimage セットアッププログラムを実行 エンドユーザ使用許諾契約 (EULA) に同意 インストール先のパスを指定 パッケージの選択... 6

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

SoftBank 202SH for Biz 補足説明書

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint - Skype for business プラン2 .pptx

Transcription:

セッション No.3 Delphi/400 技術セッション 実践!iOS / Android ネイティブ機能開発 ~ バーコード読み取り 署名 オフライン処理 ~ 株式会社ミガロ. RAD 事業部技術支援課吉原泰介

アジェンダ 1. スマートデバイスのネイティブ機能 2.Delphi/400 ネイティブ機能の開発テクニック 2-1. カメラを使ったバーコード読み取り機能 2-2. タッチ操作を使った画面署名機能 2-3. オフラインでのローカルデータ保存 3. まとめ

1. スマートデバイスのネイティブ機能

1. スマートデバイスのネイティブ機能 スマートデバイスが持つデバイスネイティブ機能スマートデバイスは PC と違い デバイス自体が様々な機能 ( ネイティブ機能 ) を搭載しています カメラ撮影 タッチ操作 GPS といった機能が代表的ですが Delphi/400 ではこうしたネイティブ機能を活用したアプリケーションを簡単に開発することができます カメラ撮影タッチ操作 GPS

1. スマートデバイスのネイティブ機能 スマートデバイスが持つデバイスネイティブ機能またスマートデバイスは PC と違い 持ち運びに優れた携帯性が特徴です しかし 稼働環境としては移動を前提とすることが多く 常にネットワークに接続されている保証がないことも大きなポイントです 圏外 ネットワーク Web アプリケーションであれば オフラインで Web サーバにアクセスできなくなりますが ネイティブアプリケーションであれば デバイスの内部ファイルにデータを保存することも可能です

1. スマートデバイスのネイティブ機能 スマートデバイスが持つデバイスネイティブ機能本セッションでは こうしたデバイスネイティブ機能を応用した実践で役立つプログラミングテクニックをご紹介します カメラ タッチ操作 内部ファイル カメラを使ったバーコード読込 タッチ操作による画面署名 オフラインでのローカルデータ保存 - GPS 位置情報を使った地図連携は XE5 の標準サンプルに付属しています

2.Delphi/400 ネイティブ機能の開発テクニック 2-1. カメラを使ったバーコード読み取り機能

2-1. カメラを使ったバーコード読み取り機能 カメラ機能を使ったバーコード読み取りの仕組みスマートデバイスではカメラ機能を利用して バーコードや QR コードを読み取り 値を取得します (PC のように バーコードリーダーの外部接続は不要 ) A. 起動 カメラ機能 B. スキャン C. 結果取得 ネイティブアプリ

2-1. カメラを使ったバーコード読み取り機能 バーコード読み取り機能の実装に便利なコンポーネント TMSSoftWare 社のバーコード読み取りコンポーネント ( 無償 ) ZBarSDK ios 専用 http://www.tmssoftware.com/site/blog.asp?post=280 ただし ZBarSDK コンポーネントは ios 専用です Android で使用する場合は これをカスタマイズしたフリーソースとして公開されている TKRBarCodeSanner コンポーネントが便利です TKRBarCodeSanner ios / Android 可能 (ios 使用時は ZBarSDK もインストールが必要 ) この TKRBarCodeSanner コンポーネントはフリーソースです

2-1. カメラを使ったバーコード読み取り機能 TKRBarCodeSanner コンポーネントのインストール 1 TKRBarCodeSanner.zip をダウンロードして展開します [ ファイル プロジェクトを開く ] より TKRBarCodeSannerPkgDXEX5.dpk を開きます プロジェクトマネージャで右クリックからコンパイルとインストールを実行

2-1. カメラを使ったバーコード読み取り機能 TKRBarCodeSanner コンポーネントのインストール 2 [ ツール オプション ] のライブラリでライブラリパスに TKRBarCodeSannerPkgDXEX5.dpk を開いたパスを追加します TKRBarCodeSannerPkgDXE X5.dpk のパスを追加 ポイント 使用するプラットフォームを選択しておく必要があります コンポーネントの登録が完了!

2-1. カメラを使ったバーコード読み取り機能 バーコード機能の実装手順 1 フォームに次のコンポーネントを配置 TKRBarCodeSanner TEdit TButton TKRBarCodeSanner TButton TEdit

2-1. カメラを使ったバーコード読み取り機能 バーコード機能の実装手順 2 TButton のクリックイベントにプログラムを実装 A. カメラ起動 B. スキャン OnClick 処理 ( バーコードスキャン ) procedure TForm1.Button1Click(Sender: TObject); begin TKRBarCodeScanner1.Scan; // バーコードスキャンを実行 end;

2-1. カメラを使ったバーコード読み取り機能 バーコード機能の実装手順 3 TKRBarCodeSanner のスキャン結果イベントにプログラムを実装 C. 結果取得 OnScanResult 処理 ( スキャン結果 ) procedure TForm1.TKRBarCodeScanner1ScanResult(Sender: TObject; AResult: string); begin Edit1.Text := AResult; // 読み取ったコードをEditにセット end;

2-1. カメラを使ったバーコード読み取り機能 バーコード機能の実行 A. カメラ起動 B. スキャン C. 結果取得

2-1. カメラを使ったバーコード読み取り機能 補足もちろん Android での実行や QR コードの読み取りも可能です QR コード マトリクス型 2 次元コードで Quick Response コードという名の通り 高速読み取りを重視した 2 次元コードです 情報量が多いので URL などに使われたりもします

2. スマートデバイスアプリケーションの種類 バーコード機能の応用取得したバーコード値を使えば バーコードと IBM i のデータの連携が可能 A. カメラ起動 IBM i D.IBM i 連携 C. 結果取得 B. スキャン

2.Delphi/400 ネイティブ機能の開発テクニック 2-2. タッチ操作を使った画面署名機能

2-2. タッチ操作を使った画面署名機能 タッチ操作を利用した署名の仕組みスマートデバイスではディスプレイのタッチ操作の機能を利用して 署名を行う場合 描画領域を用意してタッチの軌跡で表現します 描画領域 1 タッチ操作でマウスのように軌跡を表現 マウスとしてハンドリング可能 2 署名が終わったらスクリーンショットで画像に保存

2-2. タッチ操作を使った画面署名機能 タッチ操作を利用した署名機能実装のポイント機能の実装としては 軌跡情報制御 描画制御 初期 終了制御 タッチ操作制御 署名画像生成で構成を組み立てます 描画領域 A. 軌跡情報制御 B. 描画制御 C. 初期 終了制御 D. タッチ操作制御 E. 署名画像生成 座標を管理する座標から描画する変数を生成 破棄する操作で座標登録する軌跡から画像生成する

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 1 フォームに次のコンポーネントを配置 TTRoundRect Timage TButton 描画領域 TRoundRect 画像生成確認用 ( 実際の実装では不要 ) TImage 署名画像生成 TButton 署名クリア TButton

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 2 必要なクラス 変数 手続きの宣言 A. 軌跡情報制御 軌跡情報クラスの宣言 type // 座標クラス TSigCapRec = Record CurPos : TPointF; PosState : Byte; end; グローバル変数 手続きの宣言 private { private 宣言 } Signature : TList<TSigCapRec>; // 軌跡情報持用 ( 座標クラスの配列 ) DrawFlg : Boolean; // 描画制御用 procedure Addpoint(const ax, ay: Single; const astate:byte); // 座標追加手続き

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 3 座標位置手続きの実装 A. 軌跡情報制御 座標位置追加手続き procedure TForm1.Addpoint(const ax, ay: Single; const astate: Byte); var P :TSigCapRec; // H,M,S,Sm:Word; begin // カーソル位置とステータスを軌跡クラスに保持 P.CurPos := PointF(aX, ay); P.PosState := astate; // 軌跡情報が空であればステータスを 0 に変更 if Signature.Count - 1 < 0 then P.PosState := 0; 描画領域 座標位置の管理 // ステータスが 1 以外であれば座標を追加 if P.PosState <> 1 then begin Signature.Add(P); end

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 4 座標位置手続きの実装 A. 軌跡情報制御 座標位置追加手続き ( 前ページ続き ) // ステータスが 1 で軌跡距離が規定より大きければ座標を追加 else if P.CurPos.Distance(Signature.Last.CurPos) > 8.0 then begin Signature.Add(P); end; // 軌跡情報を使って描画領域に描画 RoundRect1.Repaint; end; 描画領域 座標位置の管理

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 5 軌跡描画処理イベントの実装 B. 描画制御 OnPaint 処理 ( 軌跡描画 ) procedure TForm1.RoundRect1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); var P : TSigCapRec; P1, P2 : TPointF; begin // 軌跡情報が空であれば描画しない if not (Signature.Count - 1 > 0) then Exit; // 描画設定 Canvas.Stroke.Dash := TStrokeDash.sdSolid; // 実線 Canvas.Stroke.Thickness := 4; // 太さ Canvas.Stroke.Color := TAlphaColorRec.Red; // 色 描画領域 軌跡情報を描画

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 6 軌跡描画処理イベントの実装 B. 描画制御 OnPaint 処理 ( 軌跡描画前ページ続き ) // 軌跡情報の配列を回して描画 for P in Signature do begin case P.PosState of // ステータスが 0 であれば初期値に設定 0: P1 := P.CurPos; // ステータスが 1 であれば初期位置から描画して 次の初期位置に設定 1: begin P2 := P.CurPos; Canvas.DrawLine(P1, P2, 1, Canvas.Stroke); P1 := P.CurPos; end; // ステータスが 2 であれば初期位置から描画のみ 2: begin P2 := P.CurPos; Canvas.DrawLine(P1, P2, 1, Canvas.Stroke); end; end; end; end; 描画領域 軌跡情報を描画

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 7 画面初期処理 終了処理の実装 C. 初期 終了制御 OnCreate 処理 ( 画面初期 ) procedure TForm1.FormCreate(Sender: TObject); begin Signature := TList<TSigCapRec>.Create; // 軌跡情報の生成 end; OnDestroy 処理 ( 画面終了 ) procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil(Signature); // 軌跡情報の破棄 end;

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 8 タッチ操作 ( マウス ) の制御実装 A D. タッチ操作制御 OnMouseMove 処理 ( タッチ操作制御 ) procedure TForm1.RoundRect1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); begin // タッチ操作状態のときだけ処理 if ssleft in Shift then begin // 描画フラグが OFF であれば ステータス 0 で座標を追加して // 描画フラグを ON に設定 if not DrawFlg then begin Addpoint(X, Y, 0); DrawFlg := True; end // 描画フラグが ON であれば ステータス 1 で座標追加 else begin Addpoint(X, Y, 1); end; end; end; タッチを移動したとき

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 9 タッチ操作 ( マウス ) の制御実装 B D. タッチ操作制御 OnMouseUp 処理 ( タッチ操作終了 ) procedure TForm1.RoundRect1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin // 描画フラグを OFF に設定 DrawFlg := False; // ステータス 2 で座標追加 Addpoint(X, Y, 2); end; タッチを離したとき

2-2. タッチ操作を使った画面署名機能 署名機能の実装手順 10 各 Button クリックイベントの実装 OnClick 処理 ( 署名画像生成 ) E. 署名画像生成 画像生成 procedure TForm1.Button1Click(Sender: TObject); begin // スクリーンショットで画像を生成して // 確認用 Image に表示 Image1.Bitmap := RoundRect1.MakeScreenshot; end; OnClick 処理 ( 署名初期化 ) < 補足 > procedure TForm1.Button2Click(Sender: TObject); begin Signature.Clear; // 軌跡情報の初期化 end;

2-2. タッチ操作を使った画面署名機能 署名機能の実行 タッチで署名ができる 署名画像が生成できている! ボタンを押すと画像ファイルを生成して下部に表示 ( 実際の実装では必要ありません )

2-2. タッチ操作を使った画面署名機能 タッチ操作を利用した署名の仕組みの応用応用すれば 写真や画像に対して署名やメモをする機能としても実装できます 画像はスクリーンショットとして生成しているので特別な 制御も不要です 描画領域 画像 (TImage) 例 ) 1 撮影した画像を重ねて表示 2 タッチ操作でマウスのように軌跡を表現 3 メモが終わったらスクリーンショットで画像に保存

2.Delphi/400 ネイティブ機能の開発テクニック 2-3. オフラインでのローカルデータ保存

2-3. オフラインでのローカルデータ保存 スマートデバイス内にローカルデータを保存する仕組みスマートデバイスは無線で接続するため ネットワークに接続できない場合があります ネイティブアプリケーションならデバイス内のファイルを操作できるので ローカルデータとして保存しておくことができます 圏外 デバイス内にデータを一時保存 ネットワークに繋がったら IBM i へアップロード

2-3. オフラインでのローカルデータ保存 ネイティブデバイスのローカル内でファイル管理 Delphi/400 ではアプリケーションとセットでネイティブのファイルを配置して利用することができます ( 画像 動画 音源 データ Ini ファイルなど ) ただし注意点もあります スマートデバイス上では Windows のエクスプローラのように 自由な場所にファイルを作成 操作できるわけではありません 基本的には 操作できる領域は限定されています 使用できる領域 ( パス ) はデバイス ( ios や Android) によって異なるので考慮が必要です

2-3. オフラインでのローカルデータ保存 iosでのファイル配置パス [ プロジェクト 配置 ] から必要なファイルを追加することができます ios. StartUp Documents のパスに配置します プログラム上でのネイティブファイルパス指定方法 (ios) GetHomePath +PathDelim + Documents + PathDelim + ファイル名 '

2-3. オフラインでのローカルデータ保存 Androidでのファイル配置パス [ プロジェクト 配置 ] から必要なファイルを追加することができます Android assets internal のパスに配置します プログラム上でのネイティブファイルパス指定方法 (Android) TPath.GetDocumentsPath + ファイル名 補足 )SD カードなど外部ストレージで扱う場合 TPath.GetSharedDocumentsPath + ファイル名 ' 外部ストレージに保存しているファイルは PC との USB 転送などで便利です

2-3. オフラインでのローカルデータ保存 ローカルデータ保存の実装例 1IBM i からデータを取得 2 ローカルでデータの編集 & 保存 3 ローカルのデータを IBM i へ反映 IBM i のデータ取得 オフラインでの編集 保存 IBM i へ反映

2-3. オフラインでのローカルデータ保存 ローカルデータ保存の実装例 A.IBM i データ取得 B. ローカルデータ保存 C. ローカルデータ確認 D.IBM i アップロード

2-3. オフラインでのローカルデータ保存 ローカルデータ保存の実装 1 各ボタン処理の実装 OnClick 処理 1(IBM i データの取得 ) A.IBM i データ取得 procedure TForm1.Button1Click(Sender: TObject); begin // 一度切断 ClientDataSet1.Close; SQLConnection1.Connected := False; // 表示切替 BindSourceDB1.DataSet := ClientDataSet1; //IBM i へ接続 SQLConnection1.Connected := True; // データを開く ClientDataSet1.Open; //DB ラベルの変更 Label1.Text := 'DB:IBM i'; // 完了メッセージ ShowMessage('IBM i からデータを取得しました '); end;

2-3. オフラインでのローカルデータ保存 ローカルデータ保存の実装 2 各ボタン処理の実装 OnClick 処理 2( ローカルデータの保存 ) B. ローカルデータ保存 procedure TForm1.Button12Click(Sender: TObject); var sfolder: string; begin //ios の場合のパス設定 {$IFDEF IOS} sfolder := GetHomePath + PathDelim + 'Documents'; {$ENDIF IOS} //Android の場合のパス設定 {$IFDEF ANDROID} sfolder := TPath. GetDocumentsPath; {$ENDIF ANDROID} ポイント デバイス毎に違うコーディングをする場合は {$IFDEF デバイス } {$ENDIF デバイス } の構文を使用します

2-3. オフラインでのローカルデータ保存 ローカルデータ保存の実装 3 各ボタン処理の実装 B. ローカルデータ保存 OnClick 処理 2( ローカルデータの保存前ページ続き ) // パスが存在しなければディレクトリを作成 if not DirectoryExists(sFolder) then MkDir(sFolder); デバイス内の指定パスを使用 // 保存ファイル名の指定 (pfilename はグローバル変数 ) pfilename := sfolder + PathDelim + 'Sample.cds'; // デバイスのファイルを保存 ClientDataSet1.SaveToFile(pFileName, dfbinary); // 完了メッセージ ShowMessage(' デバイス内に保存しました '); end;

2-3. オフラインでのローカルデータ保存 ローカルデータ保存の実装 4 各ボタン処理の実装 OnClick 処理 3( ローカルデータの確認 ) C. ローカルデータ確認 procedure TForm1.Button3Click(Sender: TObject); begin // 一度切断 ClientDataSet1.Close; // 参照先をローカルファイルに設定 ClientDataSet2.FileName := pfilename; // 表示を切り替え BindSourceDB1.DataSet := ClientDataSet2; // データを開く ClientDataSet2.Open; //DB ラベルの変更 Label1.Text := 'DB: ローカル '; // 完了メッセージ ShowMessage(' デバイス内からデータを取得しました '); end;

2-3. オフラインでのローカルデータ保存 ローカルデータ保存の実装 5 各ボタン処理の実装 OnClick 処理 4(IBM i へのデータの反映 ) procedure TForm1.Button4Click(Sender: TObject); Begin // データを開く際にローカルデータをコピー ClientDataSet1.Close; ClientDataSet1.CreateDataSet; ClientDataSet1.Data := ClientDataSet2.Data; //IBM i へ変更データを一括反映 ClientDataSet1.ApplyUpdates(-1); // 完了メッセージ ShowMessage('IBM i にデータを反映しました '); end; D.IBM i アップロード

2-3. オフラインでのローカルデータ保存 ローカルデータ保存機能の実行 IBM i からのデータ取得 NEXSUS7: 13,596 でデータ取得

2-3. オフラインでのローカルデータ保存 ローカルデータ保存機能の実行データを変更してデバイスローカルへ保存 NEXSUS7: 99,999 に変更

2-3. オフラインでのローカルデータ保存 ローカルデータ保存機能の実行デバイスローカルからデータを再取得 ( 保存内容確認 ) NEXSUS7:99,999 で内部保存できている

2-3. オフラインでのローカルデータ保存 ローカルデータ保存機能の実行デバイスローカルからIBM i へデータのアップロード NEXSUS7:99,999 で IBM i に反映できている

3. まとめ

3. まとめ バーコード読み取りはカメラ機能を連動して実現できる 画面署名や画像メモはタッチ操作の軌跡をトレースして実現できる オフライン時のデバイスローカルへのデータ保存はデバイス毎の内部領域を利用して実現できる Delphi/400 では様々なスマートデバイスネイティブ機能の連携が実現できる ( 他にも録音 再生や通知など多くの機能が利用できます )

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