SlideShare une entreprise Scribd logo
1  sur  23
© 2016 Embarcadero Technologies, Inc.
All rights reserved. Proprietary and confidential.
第2回
‟変数と型„
シーズン2:プログラミング言語をやさしく覚えよう
DELPHIの部
2© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
Delphi / C++Builder Starter チュートリアルシリーズ
シーズン2 :2017年1月23日 ~ 3月27日 全 9 回
時間 :毎週 月曜 17 時 00分~17時 50分
Delphi 17時00分~17時20分 / C++Builder 17時30分~17時50分
ねらい :プログラミング言語をやさしく覚えよう
シーズン2
第1回 2017年1月23日 シューティングゲームのプログラム
第2回 1月30日 変数と 型
第3回 2月6日 条件 とループ
第4回 2月13日 Function と Procedure (関数と手続き)
第5回 2月20日 配列 と レコード
第6回 2月27日 文字列 と オブジェクト
第7回 3月6日 オブジェクト指向
第8回 3月13日 作ってみよう(仮)
第9回 3月27日 コミュニティ と 勉強会
セミナー情報 : 下記のWebサイト
http://forms.embarcadero.com/starter-tutorial-webinar
3© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
第2回 「変数と型」
 今日のねらい
• 変数とは何か、型とは何かを知る
• 変数と型の使い方を知る
 実施内容
• 変数とデータ型の宣言
• 変数とデータ型の宣言場所と影響範囲
• 変数とデータ型の使用
• 演算子とは
• キャストと型変換
4© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
無料版 Delphi 10.1 Berlin Starter Edition 入手方法
• シリアルキーを知らせるメール内にも再ダウンロードリンク有
エンバ
Web
製品 Delphi
Starter
バナー
登録 Get
 無料で使える開発環境をダウンロード
EDN*に登録済の方はEDNアカウントでダウンロード可
登録完了後、自動でインストーラーのダウンロード開始
インストール時にシリアルキーを入力
登録時のメールアドレスにシリアルキーが配信される
5© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
変数と型
 型(データ型)
• どんな種類のデータを入れるかを決めてある形
• 数値なのか、文字なのか。これらの複合である場合もある
 変数
• データを記憶・保存(代入)させておく、識別子を持った 入れ物
• どんなデータ型を使用するか決めて、名前(識別子)を付けて使用する
 Delphiはプログラムで使用する変数をvar ブロックで宣言して使用
6© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
データ型
 整数データ型
• 整数(数値)を入れる
• Integer, Uint64 …
 浮動小数点データ型
• 小数点を含む数値を入れる
• Single, Double, Extended ...
 文字列データ型と文字データ型
• 文字や、文字の集合(文字列)を入れる
• Char, String …
 論理データ型
• 論理値(True / False -> 真か偽) を入れる・
表す
• Boolean …
 その他のデータ型
• Variant, Currency, Array …
Delphiのデータ型の一覧はDocwikiを参照
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/Delphi_のデータ型
7© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
宣言
 使う前に、変数(入れ物)として識別子を付けて使用する型を指定
• プログラム内の var 宣言のブロック内に記述
• 定数はプログラム内のconst 宣言ブのロック内に記述
 宣言する場所で利用可能(参照可能)な範囲が異なる
• interface部内varブロック内で変数の宣言をした場合
• 外部ユニットからも参照可能なグローバル変数となる
• implementation 部直下のvarブロック内で変数の宣言をした場合
• ユニット内で使用可能なグローバル変数
• procedure / function内のvarブロック内で変数の宣言をした場合
• 手続き、関数内でのみ有効な変数
8© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
宣言の例
グローバル変数は宣言時に初期値を代入できます
一方、手続き・関数内変数は宣言時に初期値を
入れることはできないので実装部で代入
9© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
代入
 変数にデータを入れる
 := (代入演算子)
 [代入される変数] := [代入したいデータ] の順序で書く
 変数の型に合うデータが代入可能
myString := myInteger.ToString //ヘルパーで整数を文字列変換して代入。これはOK
10© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
ヘルパー
 変数を扱う上で便利な機能 (数値を文字列化する等)
 Integer 型ヘルパー / 浮動小数点型ヘルパー
ToString 整数値を文字列に変換
ToBoolean 整数値をBoolean論理値に変換
ToSingle, ToDouble, ToExtended 整数値を各浮動小数点データ型へ変換
Size 変数が必要とするバイト数を返してくれる
Parse 文字列を数値に変換
TryParse 文字列を数値にするとともに成否をBoolean型で返してくれる
参考:
http://docwiki.embarcadero.com/Libraries/Berlin/ja/System.SysUtils.TIntegerHelper_Methods
http://docwiki.embarcadero.com/Libraries/Berlin/ja/System.SysUtils.TSingleHelper_Methods
11© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
ルーチン
 ヘルパー以外にも変数を扱う上で便利な関数
Dec 順序型の変数の値を一つ減らす
Inc 順序型の変数の値を一つ増やす
Odd 奇数の場合Trueを返してくれる
Low 順序型の変数の最小値を返してくれる
High 順序型の変数の最大値を返してくれる
Sqr / Sqrt 2乗 / 平方根 の値を返してくれる
参考 docwiki その他の標準ルーチン:https://goo.gl/PZRP5x
12© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
ユーザー定義データ型
 自分好みのデータ型を作るには、Typeブロックの宣言後に定義
• ある連続した範囲を入れられるデータ型を作れる「部分範囲」
• Type
TOomoji = ‘A’ .. ‘Z’; //大文字AからZだけを代入できる型を定義
TSuuji = 0..9; //0から9だけを代入できる型を定義
THyakuketa = 100..999 //100から999までの三桁だけを代入できる型を定義
• 特定の任意の値を保持するデータ型を作れる「列挙型」
• TColor = (Red, Yellow, Green, Cyan, Blue, Violet); //列挙している文字列(色)だけを保持できる型
• TFontStyle = (fsBold, fsNarrow, fsItalic, fsUnderline); //列挙しているフォントスタイルを保持できる型
• さらに、データ型を複数同時に保持できるようになる「集合型」 “Set of”
• TFontStyleSuite = set of TFontStyle; //複数のフォントスタイル (太文字 +イタリック)を同時保持
13© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
ユーザー定義データ型の使い方
 ユーザーデータ型はvar ブロックで識別子を付け型指定して使用
• var
myColor : TColor; //Typeブロックで定義したTColor の変数識別子を指定
myFontstyles : TFontStyleSuite; //集合型として定義したTFontStyleSuite を使用
 集合型 は複数のデータを保持可能で、集合演算子を使用して組み合わせ可能
• MyFontStyles := [TFontStyle.fsBold];
• MyFontStyles := MyFontStyles + [TFontStyle.fsItalic, TFontStyle.fsUnderline] - [TFontStyle.fsBold];
• Include / Exclude もある : Include(MyfontStyles, TFontStyle.fsBold);
14© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
ユーザー定義データ型の使用例
Typeブロックでユーザーデータ型を定義
varブロックで使用する変数の識別子と型を宣言
実装部で宣言した識別子に対して代入
集合型には演算子も利用して代入
15© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
式と演算子
 式とは値を返す構文
• 変数一つでも式 (変数の保持している値が返る)
• 関数も式 (関数の戻り値が返る)
• 算術式 10-5/2 も式 (計算の結果が返る)
• A := X; A := somefunction(); A := 10-5/2; //式は値を戻すのでこんな感じで代入して使える
• If A = X then~ : //この A=X も式。比較演算を使ってBoolean 型の値を返すので if 条件式に使える
 演算子は下記のような計算・演算、比較を行うための記号や記述
• +, -, *, / … などの計算を行うための算術演算子
• if 文などの条件式を複合的につかうための not, and, or, xor などの論理演算子
• if 文なの条件比較に使われる =, <>, <=, >= などの関係演算子
• := も代入演算子
 各演算子は優先度があります。詳しくはDocwiki参照
参考 docwiki :http://docwiki.embarcadero.com/RADStudio/Berlin/ja/式(Delphi)
16© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
演算子の一例
 算術演算子
 比較演算子
演算子 演算 結果の型 例
+ 加算 整数、実数 X + Y
- 減算 整数、実数 Result -1
* 乗算 整数、実数 P * InterestRate
/ 実数除算 実数 X / 2
div 整数除算 整数 Total div UnitSize
mod 剰余 整数 Y mod 6
演算子 演算 結果の型 例
= 等しい Boolean I = Max
<> 等しくない Boolean X <> Y
< より小さい Boolean X < Y
> より大きい Boolean Len > 0
<= 以下 Boolean Cnt <= I
>= 以上 Boolean I >= 1
17© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
日付 と 時刻 の型
 日付、時間を扱う便利な型
• TDateTime
 日付、時間操作に便利な関数
関数 ・ ルーチン 説明
Now 現在の日付と時刻を返します
Date 現在の日付を返します。
GetTime 現在の時刻を返します。
DateTimeToStr 日付/時刻を表示するローカル設定を使用
して、TDateTime 値を文字列に変換します。
DateToStr TDateTime 値の日付を文字列に変換します。
参考Docwiki: http://docwiki.embarcadero.com/RADStudio/Berlin/ja/日付および時刻のサポート
関数 ・ ルーチン 説明
TimeToStr TDateTime 値の時間を表す文字列を返します。
FormatDateTime 指定された書式設定で日付・時刻を文字列で
返します。
StrToDateTime 日付時刻情報を含む文字列をDateTimeに変換
します。
DayOfWeek Datetimeから曜日に相当する数値を返します
18© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
TDateTime の使用例
TDateTIme型の識別子宣言
Dateで今日の日付を代入
DateTimeToStrで
myDatetimeに入っている日付
情報を文字列化
19© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
型のキャスト と 型変換
 異なる型には代入できないが、あえて代入する際に使う方法
• 数値型においてより大きな入れ物に入れる場合や、整数値を実数型
(浮動小数点型)に入れる場合には、型キャストは必要なく安全に代入可能
• Int64型 (整数) := Integer (整数);
• Single型 (実数) := Integer (整数);
• 異なる型に物理的にデータをコピーする方法がキャスト
• 異なる型に関数やルーチンを使って戻される値を使うのが型変換
20© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
型のキャスト と 型変換
 キャスト :どの型に変化するか型名を書き、カッコでくくる
 型変換 : 関数、ルーチン、ヘルパーを使って変換
参考Docwiki :
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/型変換ルーチン
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/Delphi_組み込みルーチン
コンパイラによる型のエラーチェックが行われない弊害があり、エラー箇所の発見が行いにくくなります
21© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
本日のセミナー内容は
弊社ブログに掲載予定
[コミュニティ]
↓
[日本人ブログ]
実施内容の再視聴
 皆さんが見ているWebページの下に、順次アップロード
 エンバカデロWebサイト : http://forms.embarcadero.com/starter-tutorial-webinar
 [リソース] – [イベント]の「Delphi / C++Builder Starter チュートリアルシリーズ」ページ
 実施内容サマリー
• Community embarcadero (コミュニティ エンバカデロ)にWebリンク、サンプルコード情報等
http://community.embarcadero.com/
「エンバカデロ」で検索
22© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
第2回 「変数と型」まとめ
 今日のねらい
• 変数とは何か、型とは何かを知る
• 変数と型の使い方を知る
 実施内容
• 変数とデータ型の宣言
• 変数とデータ型の宣言場所と影響範囲
• 変数とデータ型の使用
• 演算子とは
• キャストと型変換
23© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
 次回のDelphiパートは
2月6日(月)17:00より
“条件 とループ„
 このあと
• リアルタイム放送限定 特別コンテンツ
• C++ パート

Contenu connexe

Tendances

【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„和弘 井之上
 
リテラルと型の話 #__swift__
リテラルと型の話 #__swift__リテラルと型の話 #__swift__
リテラルと型の話 #__swift__Tomohiro Kumagai
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指してbleis tift
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会Akihiko Matuura
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプKohsuke Yuasa
 
最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)Akihiko Matuura
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーmganeko
 
F#によるFunctional Programming入門
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門bleis tift
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話bleis tift
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編道化師 堂華
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4Shingo Inoue
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードShigenori Sagawa
 
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用までTemplate Meta Programming入門から応用まで
Template Meta Programming入門から応用までyoshihikoozaki5
 
C++ tips2 インクリメント編
C++ tips2 インクリメント編C++ tips2 インクリメント編
C++ tips2 インクリメント編道化師 堂華
 
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core GuidelinesBoost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core GuidelinesShintarou Okada
 

Tendances (20)

【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
 
リテラルと型の話 #__swift__
リテラルと型の話 #__swift__リテラルと型の話 #__swift__
リテラルと型の話 #__swift__
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指して
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
 
最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
 
ちょっと詳しくJavaScript 第3回【prototype】
ちょっと詳しくJavaScript 第3回【prototype】ちょっと詳しくJavaScript 第3回【prototype】
ちょっと詳しくJavaScript 第3回【prototype】
 
F#によるFunctional Programming入門
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話
 
C++ tips1 #include編
C++ tips1 #include編C++ tips1 #include編
C++ tips1 #include編
 
C++ tips4 cv修飾編
C++ tips4 cv修飾編C++ tips4 cv修飾編
C++ tips4 cv修飾編
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
 
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用までTemplate Meta Programming入門から応用まで
Template Meta Programming入門から応用まで
 
C++ tips2 インクリメント編
C++ tips2 インクリメント編C++ tips2 インクリメント編
C++ tips2 インクリメント編
 
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core GuidelinesBoost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
 

En vedette

Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Kaz Aiso
 
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼうDELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼうKaz Aiso
 
移行セミナー BDE to FireDAC 20161018
移行セミナー BDE to  FireDAC 20161018移行セミナー BDE to  FireDAC 20161018
移行セミナー BDE to FireDAC 20161018Kaz Aiso
 
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーション
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーションDELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーション
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーションKaz Aiso
 
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係Kaz Aiso
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」Kaz Aiso
 
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)Kaz Aiso
 
【U-22】Delphi / C++Builder / RAD Studio 概要
【U-22】Delphi / C++Builder / RAD Studio 概要【U-22】Delphi / C++Builder / RAD Studio 概要
【U-22】Delphi / C++Builder / RAD Studio 概要Kaz Aiso
 

En vedette (8)

Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
 
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼうDELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
 
移行セミナー BDE to FireDAC 20161018
移行セミナー BDE to  FireDAC 20161018移行セミナー BDE to  FireDAC 20161018
移行セミナー BDE to FireDAC 20161018
 
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーション
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーションDELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーション
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーション
 
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」
 
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)
 
【U-22】Delphi / C++Builder / RAD Studio 概要
【U-22】Delphi / C++Builder / RAD Studio 概要【U-22】Delphi / C++Builder / RAD Studio 概要
【U-22】Delphi / C++Builder / RAD Studio 概要
 

Similaire à 【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„

【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„和弘 井之上
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„和弘 井之上
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...Kaz Aiso
 
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションサイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションsn_monochr
 
ラボユース 最終成果報告会
ラボユース 最終成果報告会ラボユース 最終成果報告会
ラボユース 最終成果報告会shiftky
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„和弘 井之上
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„和弘 井之上
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化Taiji Tsuchiya
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Rubymitim
 
Active Support のコア拡張機能について
Active Support のコア拡張機能についてActive Support のコア拡張機能について
Active Support のコア拡張機能についてTomoya Kawanishi
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Tetsuya Morimoto
 
言語処理系入門3
言語処理系入門3言語処理系入門3
言語処理系入門3Kenta Hattori
 
広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っていますYoshitake Takata
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案yushin_hirano
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
flow による型のある世界入門
flow による型のある世界入門flow による型のある世界入門
flow による型のある世界入門sairoutine
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 

Similaire à 【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„ (20)

【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第7回 ‟オブジェクト指向„
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
 
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションサイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
 
ラボユース 最終成果報告会
ラボユース 最終成果報告会ラボユース 最終成果報告会
ラボユース 最終成果報告会
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第3回 ‟条件とループ„
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
Active Support のコア拡張機能について
Active Support のコア拡張機能についてActive Support のコア拡張機能について
Active Support のコア拡張機能について
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
 
Tokyor23 doradora09
Tokyor23 doradora09Tokyor23 doradora09
Tokyor23 doradora09
 
言語処理系入門3
言語処理系入門3言語処理系入門3
言語処理系入門3
 
講座C入門
講座C入門講座C入門
講座C入門
 
広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
flow による型のある世界入門
flow による型のある世界入門flow による型のある世界入門
flow による型のある世界入門
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 

【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„

  • 1. © 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 第2回 ‟変数と型„ シーズン2:プログラミング言語をやさしく覚えよう DELPHIの部
  • 2. 2© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp Delphi / C++Builder Starter チュートリアルシリーズ シーズン2 :2017年1月23日 ~ 3月27日 全 9 回 時間 :毎週 月曜 17 時 00分~17時 50分 Delphi 17時00分~17時20分 / C++Builder 17時30分~17時50分 ねらい :プログラミング言語をやさしく覚えよう シーズン2 第1回 2017年1月23日 シューティングゲームのプログラム 第2回 1月30日 変数と 型 第3回 2月6日 条件 とループ 第4回 2月13日 Function と Procedure (関数と手続き) 第5回 2月20日 配列 と レコード 第6回 2月27日 文字列 と オブジェクト 第7回 3月6日 オブジェクト指向 第8回 3月13日 作ってみよう(仮) 第9回 3月27日 コミュニティ と 勉強会 セミナー情報 : 下記のWebサイト http://forms.embarcadero.com/starter-tutorial-webinar
  • 3. 3© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 第2回 「変数と型」  今日のねらい • 変数とは何か、型とは何かを知る • 変数と型の使い方を知る  実施内容 • 変数とデータ型の宣言 • 変数とデータ型の宣言場所と影響範囲 • 変数とデータ型の使用 • 演算子とは • キャストと型変換
  • 4. 4© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 無料版 Delphi 10.1 Berlin Starter Edition 入手方法 • シリアルキーを知らせるメール内にも再ダウンロードリンク有 エンバ Web 製品 Delphi Starter バナー 登録 Get  無料で使える開発環境をダウンロード EDN*に登録済の方はEDNアカウントでダウンロード可 登録完了後、自動でインストーラーのダウンロード開始 インストール時にシリアルキーを入力 登録時のメールアドレスにシリアルキーが配信される
  • 5. 5© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 変数と型  型(データ型) • どんな種類のデータを入れるかを決めてある形 • 数値なのか、文字なのか。これらの複合である場合もある  変数 • データを記憶・保存(代入)させておく、識別子を持った 入れ物 • どんなデータ型を使用するか決めて、名前(識別子)を付けて使用する  Delphiはプログラムで使用する変数をvar ブロックで宣言して使用
  • 6. 6© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp データ型  整数データ型 • 整数(数値)を入れる • Integer, Uint64 …  浮動小数点データ型 • 小数点を含む数値を入れる • Single, Double, Extended ...  文字列データ型と文字データ型 • 文字や、文字の集合(文字列)を入れる • Char, String …  論理データ型 • 論理値(True / False -> 真か偽) を入れる・ 表す • Boolean …  その他のデータ型 • Variant, Currency, Array … Delphiのデータ型の一覧はDocwikiを参照 http://docwiki.embarcadero.com/RADStudio/Berlin/ja/Delphi_のデータ型
  • 7. 7© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 宣言  使う前に、変数(入れ物)として識別子を付けて使用する型を指定 • プログラム内の var 宣言のブロック内に記述 • 定数はプログラム内のconst 宣言ブのロック内に記述  宣言する場所で利用可能(参照可能)な範囲が異なる • interface部内varブロック内で変数の宣言をした場合 • 外部ユニットからも参照可能なグローバル変数となる • implementation 部直下のvarブロック内で変数の宣言をした場合 • ユニット内で使用可能なグローバル変数 • procedure / function内のvarブロック内で変数の宣言をした場合 • 手続き、関数内でのみ有効な変数
  • 8. 8© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 宣言の例 グローバル変数は宣言時に初期値を代入できます 一方、手続き・関数内変数は宣言時に初期値を 入れることはできないので実装部で代入
  • 9. 9© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 代入  変数にデータを入れる  := (代入演算子)  [代入される変数] := [代入したいデータ] の順序で書く  変数の型に合うデータが代入可能 myString := myInteger.ToString //ヘルパーで整数を文字列変換して代入。これはOK
  • 10. 10© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp ヘルパー  変数を扱う上で便利な機能 (数値を文字列化する等)  Integer 型ヘルパー / 浮動小数点型ヘルパー ToString 整数値を文字列に変換 ToBoolean 整数値をBoolean論理値に変換 ToSingle, ToDouble, ToExtended 整数値を各浮動小数点データ型へ変換 Size 変数が必要とするバイト数を返してくれる Parse 文字列を数値に変換 TryParse 文字列を数値にするとともに成否をBoolean型で返してくれる 参考: http://docwiki.embarcadero.com/Libraries/Berlin/ja/System.SysUtils.TIntegerHelper_Methods http://docwiki.embarcadero.com/Libraries/Berlin/ja/System.SysUtils.TSingleHelper_Methods
  • 11. 11© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp ルーチン  ヘルパー以外にも変数を扱う上で便利な関数 Dec 順序型の変数の値を一つ減らす Inc 順序型の変数の値を一つ増やす Odd 奇数の場合Trueを返してくれる Low 順序型の変数の最小値を返してくれる High 順序型の変数の最大値を返してくれる Sqr / Sqrt 2乗 / 平方根 の値を返してくれる 参考 docwiki その他の標準ルーチン:https://goo.gl/PZRP5x
  • 12. 12© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp ユーザー定義データ型  自分好みのデータ型を作るには、Typeブロックの宣言後に定義 • ある連続した範囲を入れられるデータ型を作れる「部分範囲」 • Type TOomoji = ‘A’ .. ‘Z’; //大文字AからZだけを代入できる型を定義 TSuuji = 0..9; //0から9だけを代入できる型を定義 THyakuketa = 100..999 //100から999までの三桁だけを代入できる型を定義 • 特定の任意の値を保持するデータ型を作れる「列挙型」 • TColor = (Red, Yellow, Green, Cyan, Blue, Violet); //列挙している文字列(色)だけを保持できる型 • TFontStyle = (fsBold, fsNarrow, fsItalic, fsUnderline); //列挙しているフォントスタイルを保持できる型 • さらに、データ型を複数同時に保持できるようになる「集合型」 “Set of” • TFontStyleSuite = set of TFontStyle; //複数のフォントスタイル (太文字 +イタリック)を同時保持
  • 13. 13© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp ユーザー定義データ型の使い方  ユーザーデータ型はvar ブロックで識別子を付け型指定して使用 • var myColor : TColor; //Typeブロックで定義したTColor の変数識別子を指定 myFontstyles : TFontStyleSuite; //集合型として定義したTFontStyleSuite を使用  集合型 は複数のデータを保持可能で、集合演算子を使用して組み合わせ可能 • MyFontStyles := [TFontStyle.fsBold]; • MyFontStyles := MyFontStyles + [TFontStyle.fsItalic, TFontStyle.fsUnderline] - [TFontStyle.fsBold]; • Include / Exclude もある : Include(MyfontStyles, TFontStyle.fsBold);
  • 14. 14© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp ユーザー定義データ型の使用例 Typeブロックでユーザーデータ型を定義 varブロックで使用する変数の識別子と型を宣言 実装部で宣言した識別子に対して代入 集合型には演算子も利用して代入
  • 15. 15© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 式と演算子  式とは値を返す構文 • 変数一つでも式 (変数の保持している値が返る) • 関数も式 (関数の戻り値が返る) • 算術式 10-5/2 も式 (計算の結果が返る) • A := X; A := somefunction(); A := 10-5/2; //式は値を戻すのでこんな感じで代入して使える • If A = X then~ : //この A=X も式。比較演算を使ってBoolean 型の値を返すので if 条件式に使える  演算子は下記のような計算・演算、比較を行うための記号や記述 • +, -, *, / … などの計算を行うための算術演算子 • if 文などの条件式を複合的につかうための not, and, or, xor などの論理演算子 • if 文なの条件比較に使われる =, <>, <=, >= などの関係演算子 • := も代入演算子  各演算子は優先度があります。詳しくはDocwiki参照 参考 docwiki :http://docwiki.embarcadero.com/RADStudio/Berlin/ja/式(Delphi)
  • 16. 16© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 演算子の一例  算術演算子  比較演算子 演算子 演算 結果の型 例 + 加算 整数、実数 X + Y - 減算 整数、実数 Result -1 * 乗算 整数、実数 P * InterestRate / 実数除算 実数 X / 2 div 整数除算 整数 Total div UnitSize mod 剰余 整数 Y mod 6 演算子 演算 結果の型 例 = 等しい Boolean I = Max <> 等しくない Boolean X <> Y < より小さい Boolean X < Y > より大きい Boolean Len > 0 <= 以下 Boolean Cnt <= I >= 以上 Boolean I >= 1
  • 17. 17© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 日付 と 時刻 の型  日付、時間を扱う便利な型 • TDateTime  日付、時間操作に便利な関数 関数 ・ ルーチン 説明 Now 現在の日付と時刻を返します Date 現在の日付を返します。 GetTime 現在の時刻を返します。 DateTimeToStr 日付/時刻を表示するローカル設定を使用 して、TDateTime 値を文字列に変換します。 DateToStr TDateTime 値の日付を文字列に変換します。 参考Docwiki: http://docwiki.embarcadero.com/RADStudio/Berlin/ja/日付および時刻のサポート 関数 ・ ルーチン 説明 TimeToStr TDateTime 値の時間を表す文字列を返します。 FormatDateTime 指定された書式設定で日付・時刻を文字列で 返します。 StrToDateTime 日付時刻情報を含む文字列をDateTimeに変換 します。 DayOfWeek Datetimeから曜日に相当する数値を返します
  • 18. 18© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp TDateTime の使用例 TDateTIme型の識別子宣言 Dateで今日の日付を代入 DateTimeToStrで myDatetimeに入っている日付 情報を文字列化
  • 19. 19© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 型のキャスト と 型変換  異なる型には代入できないが、あえて代入する際に使う方法 • 数値型においてより大きな入れ物に入れる場合や、整数値を実数型 (浮動小数点型)に入れる場合には、型キャストは必要なく安全に代入可能 • Int64型 (整数) := Integer (整数); • Single型 (実数) := Integer (整数); • 異なる型に物理的にデータをコピーする方法がキャスト • 異なる型に関数やルーチンを使って戻される値を使うのが型変換
  • 20. 20© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 型のキャスト と 型変換  キャスト :どの型に変化するか型名を書き、カッコでくくる  型変換 : 関数、ルーチン、ヘルパーを使って変換 参考Docwiki : http://docwiki.embarcadero.com/RADStudio/Berlin/ja/型変換ルーチン http://docwiki.embarcadero.com/RADStudio/Berlin/ja/Delphi_組み込みルーチン コンパイラによる型のエラーチェックが行われない弊害があり、エラー箇所の発見が行いにくくなります
  • 21. 21© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 本日のセミナー内容は 弊社ブログに掲載予定 [コミュニティ] ↓ [日本人ブログ] 実施内容の再視聴  皆さんが見ているWebページの下に、順次アップロード  エンバカデロWebサイト : http://forms.embarcadero.com/starter-tutorial-webinar  [リソース] – [イベント]の「Delphi / C++Builder Starter チュートリアルシリーズ」ページ  実施内容サマリー • Community embarcadero (コミュニティ エンバカデロ)にWebリンク、サンプルコード情報等 http://community.embarcadero.com/ 「エンバカデロ」で検索
  • 22. 22© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 第2回 「変数と型」まとめ  今日のねらい • 変数とは何か、型とは何かを知る • 変数と型の使い方を知る  実施内容 • 変数とデータ型の宣言 • 変数とデータ型の宣言場所と影響範囲 • 変数とデータ型の使用 • 演算子とは • キャストと型変換
  • 23. 23© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp  次回のDelphiパートは 2月6日(月)17:00より “条件 とループ„  このあと • リアルタイム放送限定 特別コンテンツ • C++ パート