注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

DELPHI XE7,开发代号Carpathia,一些新语法和新特  

2015-01-16 19:43:42|  分类: delphixe7 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

DELPHI XE7,开发代号Carpathia,一些新语法和新特!

D7保守党和Delphi黑粉,非喜勿看,请勿喷。
XE7 增加很多功能,升级了语法。个人觉得很期待。

1.Showmessage/msessagedlg/raise Exception 终于切换不卡死,虽然来晚了。以前做安卓用安卓的JNI解决对话框,现在可以用FMX对话框解决,但那个raise异常对话框还是无法替换。跨平台对话框终究才是出路。

2.ListView支持下拉刷新。ListView+各种风格,玩爆Listbox, 遐想无限。

3.加入了TMultiView和TDetailPanel ,,可以为做不同的分辨率。这个很重要。

4.FireMonkey Advertising support.The FireMonkey TBannerAd component now uses the Google Mobile Ads API from Google Play Services.

5.每个窗体都有 FireMonkey OnSaveState。SaveState而已保存和映射任意数据到本地,可以在不创建窗体下获取窗体数据。

procedure TForm1.FormCreate(Sender: TObject);
var
  R: TBinaryReader;
begin
  if SaveState.Stream.Size > 0 then
  begin
    // Recover previously typed text in Edit1 control.
    R := TBinaryReader.Create(SaveState.Stream);
    try
      Edit1.Text := R.ReadString;
    finally
      R.Free;
    end;
  end;
end;
 
procedure TForm1.FormSaveState(Sender: TObject);
var
  W: TBinaryWriter;
begin
  SaveState.Stream.Clear;
  // Save typed text in Edit1 control.
  W := TBinaryWriter.Create(SaveState.Stream);
  try
    W.Write(Edit1.Text);
  finally
    W.Free;
  end;
end;

6.增强改善:FireMonkey TWebBrowser。
·         EnableCaching – when set to False, if the file is updated and you try to reload it, the page will be updated.
·         Stop – to cancel the loading of a web page.
·         CaptureBitmap – will capture the currently visible web page as a bitmap.  The purpose of this feature is to allow you to hide the WebBrowser control, display the bitmap and overlay other components (such as buttons or popups) on top of the bitmap.

7.FireDAC 的一些增强功能。FDAC终究替代DBX/UNIDAC(除了直连)/CDS。

· New IBLite Driver for desktop and mobile deployment
· Support for Blob real streaming, without buffering on client side.  This includes the ability 
for an application to get an internal stream reference.  For example:

FDQuery.SQL.Text := 'select :p = BLOBField from tab where id = :id';

FDQuery.Params[0].DataType := ftStream;

FDQuery.Params[0].StreamMode := smOpenRead;

FDQuery.Params[1].AsInteger := 123;

FDQuery.OpenOrExecute;

// TFDParam.AsStream returns reference to internal low-level stream

FDQuery.Params[0].AsStream.Read(Buffer, Length(Buffer));
·         Support for MSSQL file streams.
·         TFDSchemaAdapter has been extended to support advanced serialization and delta processing:
o   To serialize several datasets related to each other on the server side.
o   To send the delta for these datasets from client to server.
o   To load and store the delta on the server side inside of the datasets without opening / executing the queries.
o   To apply the delta on the server side in the chronological order of the changes.
·         Support for DBMS API command native timeouts.
·          FireDAC connection parameters are now displayed in the Object Inspector as a record.

8.Delphi RTL Enhancements。核心RTL一些增强,个人觉得面向移动/互联网的单元功能整合更强了,当然也是基于跨平台。

Added System.NetEncoding unit in RTL.  This unit provides a new TNetEncoding class to unify all internet encoding/decoding:

TNetEncoding.Base64.EncodeString(S);
TNetEncoding.Base64.DecodeString(S);
TNetEncoding.URL.EncodeString(S);
TNetEncoding.URL.DecodeString(S);
TNetEncoding.HTML.EncodeString(S);
TNetEncoding.HTML.DecodeString(S);

o   This replaces EncodeString, DecodeString, EncodeBase64, DecodeBase64, HTTPEncode, HTTPDecode, HTMLEncode, HTMLDecode...and the AnsiString versions which are now deprecated.
·         Updated Zlib library version to 1.2.8.
·         OmniXML is included as a new provider for the XML framework.

9.FireMonkey Support for Immersive Full-Screen Mode of KitKat。


10.动态数组新语法,可以不用Setlength,赋值时候有点类似动态语言。这是我最喜欢的语法。每次新语法都是为了提高生产率。另外,,再劝那些用户则XE系列写着D7的同学,学点新东西,学点新语法吧,否则还是面对陌生的IDE。
  
  String-like operations on Dynamic Arrays
o   B := [1, 2, 3, 4];
o   B := B + [5, 6, 7];
o   Insert([6, 7, 8], B, 5); // inserts array [6, 7, 8], into B at index 5
o   Delete(B, 1, 3); // deletes 3 elements starting at index 1
o   Concat([1,2,3,4],[5,6,7])
o   var B: TBytes = [1, 2, 3, 4];
·         Improved initialization for Dynamic Arrays
o   B := [1, 2, 3, 4];
o   B := B + [5, 6, 7];


type
  TBytes = array of Byte;
  TBytesArray = array of TBytes;
  TStrDA = array of string;
 
resourcestring
  Sabc = 'abc';
  Sdef = 'def';
 
var
  B: TBytes = [1, 2, 3, 4];
  C: TBytesArray = [[1, 2, 3], [4,5,6]];
  D: TStrDA = ['ABC', 'DEF'];
  E: TStrDA = [ Sabc, Sdef ];

12.FMX一些重构和优化。不再列举。
13.还有其他,,关键还是beta1。

  评论这张
 
阅读(378)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017