入门篇(一)发布后,有人提出如何获得可供学习、开发使用的Delphi平台的问题,至少有三种方法可以获取:

1、直接去Embarcadero公司的网站(https://www.embarcadero.com/cn/)获取免费版本,试用期一个月;

2、去Embarcadero公司的网站下载并安装Delphi 10.4.2社区版(Community Edition),5人以下的开发团队可向Embarcadero公司申请授权,一次授权可用一年,到期后,可再次申请授权。社区版编译的Delphi代码可用于商业应用,几乎没有什么限制,除非当用于商业用途时,收入超过$5000或团队人数超过5人时,授权无效,需申请正式授权。

3、买一套正式授权Delphi版本或去网上下载一个注册器,原则上不建议使用盗版软件。因为,我们学习使用Delphi是希望用自己编写的软件去挣钱的,我们肯定不希望别人盗版自己的软件,将心比心,也应该尊重其他软件公司的辛苦,支持正版。可以算一笔账,假设某软件公司获得一个开发安卓和IOS移动端应用的订单,项目周期4个月,配置Android、IOS开发人员各2人,若用Delphi开发人员2人即可达到相同效果,则可省下2个开发人员,每人每月工资1-2万,一个不大的项目省下的成本就有8-16万,足够用于支持Delphi正版了。

综上,方法2是最理想的获取Delphi平台的方法,网上有Delphi CE(社区版)的安装教程,大家可以参考"Delphi 10.3.2 社区版的安装 - pchmonster - 博客园 "。

好了,在解决Delphi平台的问题后,下面继续我们今天要讲的内容:“界面布局”。程序专业不专业,界面很重要。甚至有时为了使界面更加美观还会使用很多第三方组件,这里我们先讨论一下Delphi提供的界面布局。一般布局多离不开Tpanel和Tlayout组件,Ttoolbar、TStatusBar也经常会用到,下面是以Tpanel为主的布局示例图(界面上文字部分是放了几个Tlabel组件),主窗体Form1的Fill--color设置为yellow,Fill--Kind设置为Solid:

delphi开发知识点(Delphi跨平台开发入门篇)(1)

windows风格Tpanel组件布局设计窗体

delphi开发知识点(Delphi跨平台开发入门篇)(2)

Android风格Tpanel布局设计窗体

delphi开发知识点(Delphi跨平台开发入门篇)(3)

panel布局--windows下运行效果

delphi开发知识点(Delphi跨平台开发入门篇)(4)

Android下运行效果

把Tpanel组件更换为Tlayout,可以获得相似的布局,主窗体Form1同样设置Fill--color为yellow,Fill--Kind为Solid:

delphi开发知识点(Delphi跨平台开发入门篇)(5)

layout布局--Windows下运行

delphi开发知识点(Delphi跨平台开发入门篇)(6)

layout布局--Android下运行

比较一下,黄色为主窗体的背景色,Tpanel组件是不透明的,Tlayout组件是透明的,其他很相似,都可在上面随意放置各种可视化的组件,如:Tlabel、Tbutton、Tmemo、Timage、Tlistbox、TScrollbar等;

本人建议,窗体布局尽量多用layout方式,panel方式是最初Delphi平台提供的模式(用过Delphi7的伙伴都有体会),layout方式是新版本Delphi推荐的模式,并且layout模式并非只有一个类似panel的组件,它是一系列的组件,每个不同的组件都有各自不同的特点,以方便大家更好应用,具体的,将在下一节讲解。

delphi开发知识点(Delphi跨平台开发入门篇)(7)

layout系列的组件

大家也许会发现,在delphi开发平台上设计的程序窗体和最终运行的窗体是极其相似的,而且相同代码可很好运行在Windows、Android等不同平台上(当然,本示例又是没有一句代码)。所以,我们开发时,可以在Windows平台上进行开发和调试,基本就绪后,再在Android或其他平台上进行最终的调试测试运行。至于程序界面在不同平台上显示有所不同,可以在设计界面时,通过设置不同的view参数,以获得设计时窗体在不同平台的显示效果。

delphi开发知识点(Delphi跨平台开发入门篇)(8)

设计窗体windows显示状态

delphi开发知识点(Delphi跨平台开发入门篇)(9)

设计窗体Android显示状态

所以,在以后的文章中,将以windows下的讲解为主,只在必要时提供Android平台下的运行截图,如果有需要注意的地方也会加以重点标示。【希望对Delphi及跨平台开发感兴趣的人多加关注,谢谢大家!,未来会将示例源代码统一打包,免费提供给所有感兴趣的朋友们】

,