More Related Content Similar to Delphi のダメな所 (6) Delphi のダメな所1. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
Delphi の残念なとこ!
2014/08/23 @pik
Happy Creation, Play the Development!
4. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
\ /
\ 丶 i. | / ./ /
\ ヽ i. .| / / /
\ ヽ i | / / /
\
-‐
ー
__ わ た し で す --
二 / ̄\ = 二
 ̄ | ^o^ |  ̄
-‐ \_/ ‐-
/
/ ヽ \
/ 丶 \
/ / / | i, 丶 \
/ / / | i, 丶 \
5. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
普段は
Android/iOS のアプリを組んだり、
Win/OSX の開発したりしてます。
Delphi で!
twitter: @pik
7. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 7
Happy Creation, Play the Development!
はじめに
Delphi
大好き
8. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 8
Happy Creation, Play the Development!
あくまでも
個人的な
見解です!
9. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 9
Happy Creation, Play the Development!
★★ Delphi ランキング ★
10. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 10
Happy Creation, Play the Development!
11. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 11
Happy Creation, Play the Development!
12. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 12
Happy Creation, Play the Development!
無名関数定義がめんどい!
type
TFoo = reference to procedure of object;
procedure Bar(Foo: TFoo);
begin
end;
begin
Bar(
procedure
begin
// DO SOMETHING
end;
);
end;
長ぇwww
訂正
of object いりませんでした!むしろ書けない!
短くなった!?……いや、そういう事でなく、
reference to 構文が長いって話です。
lyna 氏、ご指摘ありがとうございます。
https://twitter.com/lynatan/status/503193343338094593
13. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 13
Happy Creation, Play the Development!
14. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 14
Happy Creation, Play the Development!
循環参照めんどい!
unit A;
interface
uses B;
implementation
end.
unit B;
interface
uses A;
implementation
end.
15. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 15
Happy Creation, Play the Development!
16. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 16
Happy Creation, Play the Development!
文字列インデックスが!
// 今まで
Str := 'ABC';
Writeln(Str[1]) // 結果:A
// NEWGEN コンパイラ
Str := 'ABC';
Writeln(Str[1]) // 結果:B
0 based に!
17. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 17
Happy Creation, Play the Development!
18. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 18
Happy Creation, Play the Development!
プリミティブがあるよ!
// プリミティブ
var
Int: Integer; // 整数型
Car: Cardinal; // 符号無し整数
Chr: Char; // 文字型
Str: String; // 文字列型
Bol: Boolean; // 真理値
Set: set of TAnsiChar; // 集合型 などなど
19. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 19
Happy Creation, Play the Development!
レコードヘルパ!
// プリミティブにメソッドを加える小手先技!
type
TStringHelper = record helper for String
public
property Chars[Index: Integer]: Char read GetChars;
end;
TIntegerHelper = record helper for Integer
public
function ToString: String;
end;
20. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 20
Happy Creation, Play the Development!
21. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 21
Happy Creation, Play the Development!
ローカル変数定義がめんどい!
var
Foo: Integer;
begin
// こんな風に書きたい!
var Foo: Integer = 0;
end;
22. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 22
Happy Creation, Play the Development!
23. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 23
Happy Creation, Play the Development!
名前が揺らいでる!
Object Pascal
↓
Delphi Language
↓
Object Pascal 戻ったwww