Enviar búsqueda
Cargar
VCL ユーザーのための FireMonkey 入門
•
1 recomendación
•
2,894 vistas
Jun Hosokawa
Seguir
2015/12 に開催された 31st Developer Camp の資料です
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 69
Descargar ahora
Descargar para leer sin conexión
Recomendados
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
Toshiaki Maki
Guide To AGPL
Guide To AGPL
Mikiya Okuno
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
PFD(Process Flow Diagram)の書き方紹介
PFD(Process Flow Diagram)の書き方紹介
Noriyuki Mizuno
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実
IIJ
いまさら聞けないDockerコンテナ超入門
いまさら聞けないDockerコンテナ超入門
VirtualTech Japan Inc./Begi.net Inc.
Recomendados
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
Toshiaki Maki
Guide To AGPL
Guide To AGPL
Mikiya Okuno
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
PFD(Process Flow Diagram)の書き方紹介
PFD(Process Flow Diagram)の書き方紹介
Noriyuki Mizuno
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実
IIJ
いまさら聞けないDockerコンテナ超入門
いまさら聞けないDockerコンテナ超入門
VirtualTech Japan Inc./Begi.net Inc.
20191115-PGconf.Japan
20191115-PGconf.Japan
Kohei KaiGai
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
Hideki Takase
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
Satoshi Kubo
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier_IV
30分で分かる!OSの作り方
30分で分かる!OSの作り方
uchan_nos
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
MLOpsはバズワード
MLOpsはバズワード
Tetsutaro Watanabe
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
Mori Ken
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方
Recruit Lifestyle Co., Ltd.
paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺
paiza
RedmineとGitとスクラム
RedmineとGitとスクラム
Takashi Okamoto
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)
Jun Hosokawa
「誰でも始められるカンタンFireMonkey 3D入門」
「誰でも始められるカンタンFireMonkey 3D入門」
Embarcadero Technologies
Más contenido relacionado
La actualidad más candente
20191115-PGconf.Japan
20191115-PGconf.Japan
Kohei KaiGai
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
Hideki Takase
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
Satoshi Kubo
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier_IV
30分で分かる!OSの作り方
30分で分かる!OSの作り方
uchan_nos
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
MLOpsはバズワード
MLOpsはバズワード
Tetsutaro Watanabe
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
Mori Ken
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方
Recruit Lifestyle Co., Ltd.
paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺
paiza
RedmineとGitとスクラム
RedmineとGitとスクラム
Takashi Okamoto
La actualidad más candente
(20)
20191115-PGconf.Japan
20191115-PGconf.Japan
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
DockerとPodmanの比較
DockerとPodmanの比較
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
30分で分かる!OSの作り方
30分で分かる!OSの作り方
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
MLOpsはバズワード
MLOpsはバズワード
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方
paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺
RedmineとGitとスクラム
RedmineとGitとスクラム
Destacado
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)
Jun Hosokawa
「誰でも始められるカンタンFireMonkey 3D入門」
「誰でも始められるカンタンFireMonkey 3D入門」
Embarcadero Technologies
CnPack の紹介
CnPack の紹介
Jun Hosokawa
Delphi Debut Tokyo #1 - FireMonkey HD の基本
Delphi Debut Tokyo #1 - FireMonkey HD の基本
Jun Hosokawa
CROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッション
Masahiro Tanaka
Dev camp25 lt
Dev camp25 lt
Jun Hosokawa
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
Jun Hosokawa
知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識
Jun Hosokawa
TImageList / TGlyph の使い方
TImageList / TGlyph の使い方
Jun Hosokawa
「FireMonkeyの仕組み」
「FireMonkeyの仕組み」
Embarcadero Technologies
「基礎から学ぶビジュアルAndroidアプリ開発。今日からあなたもAndroidデベロッパー」
「基礎から学ぶビジュアルAndroidアプリ開発。今日からあなたもAndroidデベロッパー」
Embarcadero Technologies
「開発者が知りたいDelphi実践テクニック!明日から使えるテクニック集」
「開発者が知りたいDelphi実践テクニック!明日から使えるテクニック集」
Embarcadero Technologies
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
Embarcadero Technologies
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
Jun Hosokawa
DelphiでWin/Macクロスコンパイル
DelphiでWin/Macクロスコンパイル
Tomonori Ohba
「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」
Embarcadero Technologies
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
Shinya Okano
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
Embarcadero Technologies
Titanium 最近の動向 (2016年)
Titanium 最近の動向 (2016年)
忠利 花崎
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Jun Hosokawa
Destacado
(20)
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)
「誰でも始められるカンタンFireMonkey 3D入門」
「誰でも始められるカンタンFireMonkey 3D入門」
CnPack の紹介
CnPack の紹介
Delphi Debut Tokyo #1 - FireMonkey HD の基本
Delphi Debut Tokyo #1 - FireMonkey HD の基本
CROSS 2015 モバイル開発環境セッション
CROSS 2015 モバイル開発環境セッション
Dev camp25 lt
Dev camp25 lt
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識
TImageList / TGlyph の使い方
TImageList / TGlyph の使い方
「FireMonkeyの仕組み」
「FireMonkeyの仕組み」
「基礎から学ぶビジュアルAndroidアプリ開発。今日からあなたもAndroidデベロッパー」
「基礎から学ぶビジュアルAndroidアプリ開発。今日からあなたもAndroidデベロッパー」
「開発者が知りたいDelphi実践テクニック!明日から使えるテクニック集」
「開発者が知りたいDelphi実践テクニック!明日から使えるテクニック集」
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
DelphiでWin/Macクロスコンパイル
DelphiでWin/Macクロスコンパイル
「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
Titanium 最近の動向 (2016年)
Titanium 最近の動向 (2016年)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Similar a VCL ユーザーのための FireMonkey 入門
「VCL ユーザーのためのFireMonkey入門」
「VCL ユーザーのためのFireMonkey入門」
Embarcadero Technologies
Eclipse xtext 紹介
Eclipse xtext 紹介
Akira Tanaka
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5
Tomo Mizoe
5分程度で分かる? Appceleratorの方のAlloy
5分程度で分かる? Appceleratorの方のAlloy
Masato Kitao
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。
Manato KAMEYA
Lt 20130302 1
Lt 20130302 1
Tomoyuki Obi
Visual Studio で TeX 編集
Visual Studio で TeX 編集
Satoshi Mimura
mobylet ケータイサイト30分クッキング
mobylet ケータイサイト30分クッキング
Shin Takeuchi
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
健一 茂木
I phoneアプリ入門 第4回
I phoneアプリ入門 第4回
Sachiko Kajishima
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
yoshikawa_t
Flash Builder4 と FlashCatalyst を使ってみた
Flash Builder4 と FlashCatalyst を使ってみた
guest0ba46c3
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
ゲーム開発講座1
ゲーム開発講座1
takanori uoi
2019 05-19.overview
2019 05-19.overview
Shin-ya Koga
2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinig
Tom Hayakawa
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
Similar a VCL ユーザーのための FireMonkey 入門
(17)
「VCL ユーザーのためのFireMonkey入門」
「VCL ユーザーのためのFireMonkey入門」
Eclipse xtext 紹介
Eclipse xtext 紹介
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5
5分程度で分かる? Appceleratorの方のAlloy
5分程度で分かる? Appceleratorの方のAlloy
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。
Lt 20130302 1
Lt 20130302 1
Visual Studio で TeX 編集
Visual Studio で TeX 編集
mobylet ケータイサイト30分クッキング
mobylet ケータイサイト30分クッキング
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
I phoneアプリ入門 第4回
I phoneアプリ入門 第4回
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
Flash Builder4 と FlashCatalyst を使ってみた
Flash Builder4 と FlashCatalyst を使ってみた
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
ゲーム開発講座1
ゲーム開発講座1
2019 05-19.overview
2019 05-19.overview
2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinig
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Más de Jun Hosokawa
Delphi Community Edition Meet up !
Delphi Community Edition Meet up !
Jun Hosokawa
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
Jun Hosokawa
Sencha & Delphi Ready Studiy
Sencha & Delphi Ready Studiy
Jun Hosokawa
ソースコードの共通化
ソースコードの共通化
Jun Hosokawa
2016/11/21 社内LT Android TV
2016/11/21 社内LT Android TV
Jun Hosokawa
31st DevCamp Eve
31st DevCamp Eve
Jun Hosokawa
Delphi のダメな所
Delphi のダメな所
Jun Hosokawa
Más de Jun Hosokawa
(7)
Delphi Community Edition Meet up !
Delphi Community Edition Meet up !
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
Sencha & Delphi Ready Studiy
Sencha & Delphi Ready Studiy
ソースコードの共通化
ソースコードの共通化
2016/11/21 社内LT Android TV
2016/11/21 社内LT Android TV
31st DevCamp Eve
31st DevCamp Eve
Delphi のダメな所
Delphi のダメな所
Último
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Último
(11)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
VCL ユーザーのための FireMonkey 入門
1.
【T1】Delphi/C++テクニカルセッション 「VCL ユーザーのための FireMonkey入門」 株式会社シリアルゲームズ アプリケーション第3開発部 取締役 細川淳
2.
アジェンダ • はじめに • 画像付きエディットを作る •
アニメーションを見る • まとめ 2 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。
3.
はじめに 3 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。
4.
はじめに • 今回の資料は後から見ても解るように詳しい操作手順 が書いてあります! • 時間が余った場合、複数行の
TListBoxItem を作ります – ですが、このセッションを最後まで見れば、誰でも作成できるよ うになっているはずです!
5.
はじめに • VCL と
FMX – VCL - Visual Component Library • Windows の進化とともに発展してきたコンポーネント群 – FMX - FireMonkey • マルチプラットフォームに対応したコンポーネント群
6.
はじめに • VCL の考え方 Windows
のコントロールがベース 見た目は Windows が用意したものになる 最近は Style によって見た目を変更できる
7.
はじめに • FMX の考え方 それぞれの
OS でコントロールの見た目が違う …めんどくさいから全部自分で描いちゃおうZE! Style で見た目をコントロール OS ごとに DirectX / OpenGL / OpenGL ES で描画する
8.
9.
画像付きエディットを作る 9 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。
10.
画像付きエディットを作る • VCLでは 1. TEdit
継承したエディットを作る→TImageEdit とします 2. TImage を作成し、Parent を TEdit にする 3. TEdit のテキストエリアを変更する 実際に作ってみます。
11.
TImageEdit unit uImageEdit; interface uses Winapi.Windows, Winapi.Messages,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.StdCtrls, Vcl.ExtCtrls; type TImageEdit = class(TEdit) private FImage: TImage; procedure ImageChange(Sender: TObject); protected procedure DoImageChanged; virtual; procedure SetParent(iParent: TWinControl); override; procedure WndProc(var Message: TMessage); override; procedure Resize; override; 11 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 Windows に特化しているので Winapi をそのまま uses に TEdit を継承 画像用 TImage
12.
TImageEdit public constructor Create(iOwner: TComponent);
override; destructor Destroy; override; published property Image: TImage read FImage; end; implementation uses Vcl.Imaging.Jpeg, Vcl.Imaging.PngImage; 12 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 外から変更できるように property として公開 Jpeg と Png を表示するために uses
13.
TImageEdit { TImageEdit } constructor
TImageEdit.Create(iOwner: TComponent); begin inherited; FImage := TImage.Create(Self); FImage.SetBounds(1, 1, 16, 16); FImage.Stretch := True; FImage.Picture.OnChange := ImageChange; FImage.Parent := Self; end; destructor TImageEdit.Destroy; begin FImage.DisposeOf; inherited; end; 13 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 画像用 TImage を生成 画像用 TImage を廃棄
14.
TImageEdit procedure TImageEdit.DoImageChanged; begin if Parent
= nil then Exit; SendMessage( Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MakeLong(FImage.Width + 2, 0)); Invalidate; end; procedure TImageEdit.ImageChange(Sender: TObject); begin DoImageChanged; end; 14 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 画像が変更されたときに、EDIT の テキストマージンを設定 テキストが入力できるエリアの 左右のマージンを指定できる マ ー ジ ン マ ー ジ ン
15.
TImageEdit procedure TImageEdit.Resize; begin inherited; if Parent
<> nil then FImage.SetBounds(1, 1, ClientHeight, ClientHeight); end; procedure TImageEdit.SetParent(iParent: TWinControl); begin inherited; DoImageChanged; end; 15 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 TImage の大きさを ClientHeight 四方の正方形に
16.
TImageEdit procedure TImageEdit.WndProc(var Message:
TMessage); begin case Message.Msg of CN_CTLCOLORSTATIC, CN_CTLCOLOREDIT: if FImage.Picture.Graphic <> nil then ExcludeClipRect( Message.WParam, 1, 1, 1 + ClientHeight, 1 + ClientHeight); end; inherited; end; end. 16 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 TImage の部分を描画しないように クリッピング (クリッピングしないと Text の背景 色で塗りつぶされてしまう)
17.
TImageEdit を使う側 type TForm1 =
class(TForm) procedure FormCreate(Sender: TObject); private FImageEdit: TImageEdit; public end; implementation procedure TForm1.FormCreate(Sender: TObject); begin FImageEdit := TImageEdit.Create(Self); FImageEdit.Image.Picture.LoadFromFile('C:¥temp¥luna6.jpg'); FImageEdit.SetBounds(10, 10, 250, FImageEdit.Height); FImageEdit.Parent := Self; end; 17 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。
18.
実行結果 読み込んだ画像が確かに 表示されている
19.
画像付きエディットを作る • FMX では… コードは 書かない!
20.
画像付きエディットを作る • FMX では、どうするか? スタイルを使います! 実際に作ってみます。
21.
画像付きエディットを作る マルチデバイスアプリケー ションを新規作成 TEdit をドロップします。
22.
画像付きエディットを作る TEdit を右クリックして 「カスタムスタイルの編集」 を選びます。
23.
画像付きエディットを作る TEdit の標準スタイルが コピーされます。 これに修正をしていきます。
24.
画像付きエディットを作る TImage を edit1style1
に ドロップ!
25.
画像付きエディットを作る ドロップされた TImage ドロップされた TImage のプロパティ MultiResBitmap 画像を選ぶ
26.
画像付きエディットを作る TImage の表示をマイナス座標に置く(※) ※本来なら親レイアウトに TAlignLayout.Left
などで置きますが、 TEdit がプレゼンテーションレイヤーなどに分かれており、正しく作らないとキャレット位置がずれたりします。 そのため、ここでは簡単にこのようしています。
27.
画像付きエディットを作る 適用して閉じる、を押します。 すると! 画像が表示されたエディットが できています! StyleBook も自動的に 作成され追加されます
28.
画像付きエディットを作る 実行すると、正しく画像が表示され たエディットになっています。
29.
画像付きエディットを作る VCL と違って FMX
版は 画像を変えられない?? VCL 版は TImage がプロパティとして出ていたので Image.Picture.LoadFromFile などが使えた!
30.
画像付きエディットを作る スタイルを編集するた めには StyleBook1 を ダブルクリックします。 心配無用じゃ!! スタイルをもう一度 開くんじゃ _人人人人人人人_ >
突然のDavid I. <  ̄Y^Y^Y^Y^Y^Y^Y^Y ̄
31.
画像付きエディットを作る TImage の StyleName
を image に 設定します そして、適用して閉じる、で閉じます。
32.
画像付きエディットを作る OnApplyStyleLookup イベントハンドラを書きます
33.
画像付きエディットを作る implementation {$R *.fmx} uses FMX.Objects; procedure TForm1.Edit1ApplyStyleLookup(Sender:
TObject); var Image: TImage; begin Image := Edit1.FindStyleResource('image') as TImage; Image.Bitmap.LoadFromFile('C:¥temp¥LunaGiro.jpg'); end; 33 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 TImage は FMX.Objects に 宣言されているので uses します StyleName で指定した名前で スタイル中のコントロールを 取り出します。
34.
画像付きエディットを作る 実行時画像が変わっています
35.
画像付きエディットを作る TStyledControl の子孫は全て OnApplyStyleLookup を持ちます。 FindStyleResource メソッドでスタイル内のコントロールを 取得できます。
36.
画像付きエディットを作る 注意したいのは、OnApplyStyleLookup イベントより前で はスタイルのコントロールは生成されていない!ということ です。 たとえば、TForm.OnCreate で
FindStyleResource を呼 んでも値はとれません。
37.
画像付きエディットを作る StyleLookup と StyleName …? Style
を理解する前、StyleLookup と StyleName の 2つが存在する理由がわかりませんでした。 いかがでしょう?
38.
画像付きエディットを作る • StyleName – その名の通り、スタイルの名前 –
StyleLookup や FindStyleResource で指定します • StyleLookup – 適用したいスタイルの名前を指定します
39.
画像付きエディットを作る もう1つの冴えたやり方を紹介します …たった1つではない!!
40.
画像付きエディットを作る2 パネルを置いて カスタムスタイルの編集をクリックして、 スタイルエディタを開きます。 枠線は要らないので Stroke プロパティの Kind
を None にします
41.
画像付きエディットを作る2 TImage, TLayout, TEdit
を上のように置きます。 TEdit は TLayout の子供に! FMX は全てのコントロールが親(コンテナ)に なれます!! TEdit も普通にスタイルにおける!!! TLayout は何もしないコンテナ
42.
画像付きエディットを作る2 Image の Align を
Client に
43.
画像付きエディットを作る2 Layout の Align を
Right に Layout の Margins.Left に 4 を指定
44.
画像付きエディットを作る2 Edit の Align を
VertCenter に
45.
画像付きエディットを作る2 TImage と TLayout
の HitTest プロパティは Flase にする! HitTest プロパティが True の場合 マウスの押下がコントロールに 通知されます。 親には通知されません。 特に必要ではない時は False に します。
46.
画像付きエディットを作る2 TImage TEdit TLayout ここまでの操作で、次のようになります。 ついでに、TImage.MultiResBitmap
に画像を読み込んでおきます。 Margins.Left による空隙
47.
画像付きエディットを作る2 設計時 実行時 TPanel なのに! 文字が入力できている!
48.
TPanel のスタイルにする利点は コントロールのリサイズに追随し 画像のサイズも変わるところ
49.
画像付きエディットを作る2 • FMX にとってコントロールとは「素体」でしかない •
スタイルが変わると「機能」も変わってしまう – TPanel のスタイルに TEdit を付与できる • VCL のコントロールは機能そのものであった!
50.
画像付きエディットを作る2 ここで冒頭のスライドを思い出してください
51.
52.
画像付きエディットを作る2 FireMonkey.Style は 見た目だけでなく 機能を持たせられる!
53.
アニメーションを使う 53 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。
54.
アニメーションを使う • 最近のリッチなアプリケーションでは当たり前のマウス オーバーで色が変わる仕組みはどうやっているので しょうか?
55.
アニメーションを使う • VCL では 1.
TTimer を置く 2. OnEnter 1. Brush.Color を初期カラーに変更し描画 2. Timer.Enabled := True にする 3. Timer.OnTimer で Brush.Color を計算し描画 4. OnLeave で TTimer.Enabled := False このような手順が必要になります。
56.
アニメーションを使う • FMX では!! これもスタイルでやります!!
57.
アニメーションを使う ここでは、マウスオーバーで色が変わるパネルを作ります。 1. 新規にマルチデバイスアプリケーションを作ります 2. TPanel
をます。 3. TPanel のカスタムスタイルを編集します
58.
アニメーションを使う TColorAnimation を panel1style の下にドロップします。 ドロップ後 Animation
クラスは 全て親に対して働きます
59.
アニメーションを使う TColorAnimation のプロパティ値を PropertyName Fill.Color StartValue
Black Trigger IsMouseOver = True TriggerInverse IsMouseOver = False に設定します たったこれだけで! MouseOver 時に色を変更可能です!
60.
アニメーションを使う MouseOver で 色がふわっと変わる!
61.
アニメーションを使う • TAnimation – PropertyName •
親のプロパティ名が自動的にリストアップされて表示される • そのアニメーションクラスで適用可能なもの • TColorAnimation では、Fill.Color / Stroke.Color がリス トアップされていた
62.
アニメーションを使う • TAnimation – StartValue
/ StopValue • アニメーション開始時の値と、終了時の値 • StartValue はトリガーが掛かったときだけ指定されるので、 親コンポーネントの対象を StartValue と同じ値にしておく と良い – 今回は TPanel.Fill.Color を Black にしておく
63.
アニメーションを使う • TAnimation – Trigger
/ TriggerInverse • アニメーションを開始するきっかけ • 親コントロールの Is~ プロパティが表示されている • こちらは親コントロールに適用可能かどうかは判断されな い • TPanel には IsPress プロパティは存在しないが指定できる
64.
はじめに • FMX の考え方 それぞれの
OS でコントロールの見た目が違う …めんどくさいから全部自分で描いちゃおうZE! Style で見た目をコントロール OS ごとに DirectX / OpenGL / OpenGL ES で描画する Style は見た目だけではない! 色々な機能を持たせられる!!
65.
まとめ 65 本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。
66.
まとめ • VCL を使っていると勘違いしやすいポイント –
VCL ではこうやる、を FMX のコントロールに求めがち – その多くはスタイルで実現する – FMX のスタイルは VCL スタイルと違い、見た目だけ ではない! – スタイル側に機能を持たせるため、FMX ではカスタム コントロールを作る事はほぼ無くなった
67.
まとめ • FMX スタイルを上手に使うには –
Shape カテゴリのコントロールを使う • Shape カテゴリのコントロールは Style を作るため(といって もいい)のコントロール群 – TLayout を使う • TLayout ごとに Align を指定できる • TLayout を複数使うと、複雑な Align も実現できる – 今回の例でいえば、TLayout には Right で右端に寄るようにし、 TEdit は VertCenter で垂直方向の真ん中に表示できた。
68.
付録 • FMX でカスタムコンポーネントを作る場合とは? –
コンポーネントのユーザーに選択権を与える場合 – たとえば、画像付きエディットでは • 画像の選択 • 画像の位置の選択 など – ユーザーの意思が入る場合、スタイルで何とかするのは難しい – こういった場合にはカスタムコンポーネントを作成します
69.
Thank you!
Descargar ahora