10th Developer Camp - B5

Similar documents
CodeGear Developer Camp

CodeGear Developer Camp

CodeGear Developer Camp

PowerPoint Presentation

Embarcadero Developer Camp

5th CodeGear Developer Camp [B6]

20th Embarcadero Developer Camp

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

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

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - tutorial3-dbreverse.docx

8th CodeGear Developer Camp

PowerPoint Presentation

CodeGear Developer Camp

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

intra-mart Accel Platform — 招待機能プログラミングガイド   初版  

Blue Asterisk template

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

S2Pradoの紹介

Indyを利用したメール送信機能開発

データベースアクセス

スライド 1

Webシステム授業資料

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web

Enterprise Architect 12.0 機能ガイド

GUIプログラムⅣ

JavaScript 演習 2 1

Java言語 第1回

PowerPoint プレゼンテーション

Calendar Plus JavaScript API リファレンス ラジカルブリッジ Ver

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

プログラミング基礎I(再)

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

ミガロ.製品 最新情報

25th Developer Camp

CodeGear Developer Camp

24th Embarcadero Developer Camp

21st Embarcadero Developer Camp T9

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

情報システム設計論II ユーザインタフェース(1)

HeartCoreインストールマニュアル(PHP版)

HeartCore(PHP 版 ) インストール手順について説明いたします なお 本資料は 例として下記内容を前提として説明しております 環境情報 対象 OS: Linux ( ディストリビューション : Red Hat Enterprise Linux Server) APサーバ : Apache

Taro php.jtdc

WordPress Go Go

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

7th CodeGear Developer Camp

14th Developer Camp

Prog2_12th

ビジネスサーバ設定マニュアル_Standard応用編

プレポスト【問題】

CodeGear Developer Camp

JC/400でポップアップウィンドウの制御&活用ノウハウ!

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

JC/400でWebAPI活用 Google Chart APIでグラフを作成しよう!

モデリング操作ガイド (データベースモデリング編)

JavaScript演習

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

(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

「DataSnapユースケース研究」 多層技術の概要と最適化、実践テクニック

Base によるアプリケーション開発とサポート 鎌滝雅久 /OpenOffice.org 日本ユーザー会 OSC2007 Hokkaido 2007 年 6 月 30 日土曜日 10:55-11:40 北海道大学学術交流会館第 4 会議室

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

intra-mart Accel Platform

1,.,,,., RDBM, SQL. OSS,, SQL,,.

Web Performer V2.0 カタログ

WebReportCafe

システム設計書 システム名 : 居酒屋検索システム 教育情報システム学講座 岩淵直人 プロクター鎌田奉訓 1. 要求仕様書に関する内容 システム機能の概要 居酒屋の新規登録および削除 編集が行えること 検索機能は人数 料金 場所 ジャンル( 和 洋 中 ) で検索できること 検

1 目次 1 目次 機能一覧 概要 認証関係 機能設計関係 カスタマイズ関係 プログラミング関係 レイアウト関係 自動採番関係 バッチ実行関係

ウェブデザイン技能検定 1 級実技 平成 28 年度 第 4 回 ウェブデザイン技能検定 1 級 実技試験概要 試験にあたっての注意事項 試験者は本試験の留意事項 注意事項に留意して作業を行うこと ペーパー実技試験は 課題 1 から 5 までの 5 課題を 60 分間で行うこと 作業実技試験は 課題

Web プログラミング 1 JavaScript (3) (4 章 ) 2013/7/3( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5/

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

スライド 1

目次 更新履歴... 1 画面設計書の目的... 3 必要な内容... 3 画面一覧... 4 必要な内容... 4 画面遷移... 5 画面レイアウト... 6 入力パラメータ... 7 必要な内容... 7 項目定義... 8 必要な内容... 8 部品の種類... 9 ( 参考 ) 部品指定と

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

Microsoft Word - wpphpmysql.doc

◎phpapi.indd

WEBシステムのセキュリティ技術

TALON Tips < 親子関係のある構成データを TALON で表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

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

XNA Framework

KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ <HTML> <HEAD> <TITLE>show_book</TITLE> </HEAD> <BODY> <DI

XAMPP で CMS のお手軽 テスト環境を手に入れよう 2011/5/21 上村崇 1

Microsoft Word 基_シラバス.doc

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

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

PowerPoint プレゼンテーション

Web データ管理 JavaScript (3) (4 章 ) 2011/12/21( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/18

Windowsユーザでも 手軽に作れるiPhoneアプリ

8th CodeGear Developer Camp

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

HARTING Node.js Environment for HAIIC MICA 日本語 HARTING Node.js Environment for HAIIC MICA HARTING IT Software Development Marienwerder Str. 3, E

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ

PowerPoint プレゼンテーション


(Microsoft PowerPoint - HP\227pWASABI\217\320\211\356\216\221\227\277.ppt)

Si 知識情報処理

Microsoft Word - J-jdev_dba_db_developers.doc

Webプログラミング演習

Transcription:

B5 PHP テクニカルセッション Delphi for PHP で作るリッチコンテンツブログ エンバカデロ テクノロジーズエヴァンジェリスト高橋智宏 アジェンダ コンポーネントをフル活用しよう お馴染み データモジュール Blog データの表示用ページ Blog データの登録用ページ 2

コンポーネントをフル活用しよう 開発環境の進歩と退化 80 年代の IDE が登場エディタ + コマンドライン型の開発から脱却 IDE( 統合開発環境 ) ビジュアル RAD Visual Basic Delphi C++Builder 90 年代の開発の主流マウスでドラッグ & ドロップ しかしツールや OS に 100% 依存 Turbo C++ OOP Windows GUI Java Linux OSS Eclipse 2000 年代の開発の主流フリーのツールやオープンソースの活用 でも 開発スタイルは 80 年代型!! 1980 1990 2000 4

これまでの PHP 開発環境に欠けていたもの Web デザイン WYSWYG であること AJAX が簡単に利用できる あくまでも目的ではなく手段 オープンソースを簡単に活用 再利用できる プロプライエタリな世界に留まっていてはいけない コンポーネントアーキテクチャ 重厚長大ではいけない しかもオープンソースを活用して こうした点に配慮しつつ 90 年代型の開発生産性を Web 開発にも もたらすことが重要 VCL for PHP 5 VCL for PHP 今回利用する VCL for PHP のコンポーネント VCL for PHP JSCalendar 6

お馴染み データモジュール データベースのセットアップ RDBMS には MySQL 5.0 を利用 テーブル構造 : create table blog( ID INTEGER NOT NULL AUTO_INCREMENT, BLOGDATE VARCHAR(10) NOT NULL, TITLE VARCHAR(255) NOT NULL, ARTICLE TEXT NOT NULL, PRIMARY KEY(ID), UNIQUE KEY(BLOGDATE)); 主キーは 自動インクリメントを利用する ADOdb をラップした Table コンポーネントでは 行追加 (INSERT) 時に主キーを明示的に指定しなくてよい仕様 データベース / テーブルの文字コードは utf8 8

データモジュール!! Database Table CharSet Active Connected LimitCount 9 データモジュールの実装 Database コンポーネントの OnAfterConnect イベント DB 接続を utf8 にする データモジュールのインスタンスを返す関数 function GetDBModule() { } $global を忘れずに Blog データを保存 (INSERT or UPDATE) するメソッド public function SaveBlog($date, $title, $article) { } GetDBModule()->SaveBlog( 2008/8/20, タイトル, <HTML> ); Blog データを取得 (SELECT) するメソッド public function LoadBlog($date) { } $blog = GetDBModule()->LoadBlog( 2008/8/20 ); ある月の Blog 日の日付の配列を返すメソッド public function GetBlogDays($year, $mon) { } $blogdays = GetDBModule()->GetBlogDays( 2008, 8 ); 10

データモジュールの実装 ( 続き ) Database, Table - オープンソースライブラリ ADOdb をコンポーネント化 11 Blog データの表示用ページ

カレンダ機能を追加する MonthCalendar オープンソースライブラリ JSCalendar をコンポーネント化 OnUpdate Javascript イベント 日付をクリックしたタイミング OnBeforeShow イベント カレンダの表示形式をカスタマイズ 今回 Javascript コードを記述しますが MonthCalendar コンポーネントを継承した拡張コンポーネントを作成して隠蔽すれば 再利用可能です Label x 3 個 日付 タイトル HTML データ 13 Blog データの登録用ページ

BASIC 認証の機能を追加する BasicAuthentication BASIC 認証 をコンポーネント化 ErrorMessage プロパティ OnAuthenticate イベント 戻り値 true or false Execute() メソッド ページの OnCreate イベントで呼び出す ページの OnShow イベントなどでは遅すぎる!! なぜ? 15 カレンダ機能と隠しフィールド MonthCalendar - Blog データの表示用ページと同じ HiddenField HTML の <input type= hidden > をコンポーネント化 編集中のページの日付を HTML に埋め込む [ 保存 ] ボタンをクリック時に 編集する Blog の日付をサーバ側で取得 16

Blog を HTML データとして編集する RichEdit オープンソースライブラリ Xinha をコンポーネント化 HTML データを編集可能 Text プロパティで HTML データを文字列として取得 Label - 日付 Edit - タイトル 17 [ 保存 ] ボタンを Ajax 対応にするには VCL for PHP は オープンソースライブラリ Xajax を内蔵 Button の ButtonType プロパティを btnormal にする Button の OnClick イベントは使わない!! Button の OnClick Javascript イベントを使う!! echo で Ajax 用の JavaScript コードを出力 echo $this-> コンポーネント ->ajaxcall( メソッド名 "); Page の UseAjax プロパティを true にセット 18

画像ファイルのアップロードと Ajax Upload コンポーネントをページに配置してみる <input type= file > をコンポーネント化 しかし Button の OnClick イベントであれば ファイルデータを取得できるが Ajax を使うと ファイルデータは送信されない!! 一般的なデザインでは 画像ファイルのアップロード専用のページを作成 インラインフレームを使って 画面の一部として表示 <iframe id="keniframe1_iframe" src="uploadunit.php" width="185" height="41"></iframe> 19 画像ファイルのアップロードと Ajax( 続き ) VCL for PHP には iframe をラップしたコンポーネントは無い 簡単にカスタムコンポーネントを自作できます!! QC#61977 - http://qc.codegear.com/wc/qcmain.aspx?d=61977 20