[电子书] Delphi 跨平台开发 《Cross-Platform Development with Delphi XE10.2 & FireMonkey for Windows & MAC OS X》共214页

chinacodegear 5月前 2307

2017年 出版的 以 Delphi 10.2 为开发环境的介绍 跨平台开发的 新书,非常值得 研究阅读。唯一的遗憾是 英文版。

主要是面向 Windows / MacOS / Linux 的。

The book is a help to all Delphi programmers who want to develop their programs for Windows, MAC OS X (macOS) and Linux for the first time with FireMonkey, and also suitable for developers who want to go deeper into the FireMonkey framework. Note:The book is not intended for developers who are just starting to program with Delphi. 

上传的附件:
最新回复 (14)
  • ustone 5月前
    引用 2
    已下载~谢谢
  • magic 5月前
    引用 3
    谢谢分享!
  • 非常好!!!
  • 4月前
    引用 5
    多谢
  • xzjl 4月前
    引用 6
    真是不错。找了好久了。
  • 谢谢分享
  • orange 2月前
    引用 8
    感谢分享
  • 不知道是否有人有空翻译一下?
  • bjabc 2月前
    引用 10
    谢谢分享 
  • zsl_ak 2月前
    引用 11

    有没有读了这本书的人出来给指点以下:  
    我按照书中的第一个例子做,,发现两个问题:
    1,数字(小时)没有被复制并显示出来;
    2,把下载的demo程序与自己的程序同时运行,发现时针指向不一样.单步调试发现FormCreate中对TLAYOUT的复制好像有问题

    左边的是下载的DEMO,右边的是我自己写的.

    第一次做的时间,运行时出现访问非法地址之类的错.全部删掉重做了以后,不报错,但是却有上面说的问题.

    我的对象结构:

    代码如下:

    unit Unit_main;

    interface

    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects,
      FMX.Layouts, System.DateUtils,FMX.Controls.Presentation;

    type
      TForm1 = class(TForm)
        Circle1: TCircle;
        Layout1: TLayout;
        Text1: TText;
        rrHour: TRoundRect;
        rrMin: TRoundRect;
        rrSec: TRoundRect;
        Circle2: TCircle;
        Timer1: TTimer;
        Text2: TText;
        procedure FormCreate(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.fmx}

    procedure TForm1.FormCreate(Sender: TObject);
    var
      L: Integer; LA : TLayout; T: TText;
    begin
      for L := 1 to 11 do
      begin
    // create a copy of the layouts, with child-objects included
        LA := TLayout (circle1.FindStyleResource('demo_clocknumber', true));
        if LA <> NIL then
        begin
          LA.Parent := circle1;
          LA.RotationAngle := L * 3;
    // We have only one child, the TText-component
          T := TText (LA.Children[0]);
          if T <> NIL then
          begin
            T.Text := L.ToString;
            T.RotationAngle := (L*30) * -1;
          end;
        end;
      end;
    end;


    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      rrHour.RotationAngle := HourOf(Now) + MinuteOf(Now)/ 2;
      rrMin.RotationAngle := 6 * MinuteOf(Now);
      rrSec.RotationAngle := 6 * SecondOf(Now);
    end;

    end.

  • zsl_ak 2月前
    引用 12
    把本机的时间随意调整后进行测试发现,时针永远指向2点
  • zsl_ak 2月前
    引用 13
    好吧...对比源代码解决了时针指向错误的问题
  • 引用 14
    谢谢,下载了
返回