冬雪雪冬 发表于 2017-6-9 23:25:39

一个程序 - 零基础入门学习Delphi 001

开场白:不瞒你说,我是被小甲鱼的python讲座吸引来鱼C论坛的,在这个互帮互助,学习气氛浓烈的集体中我学到了很多,也为能用自己学到的知识帮助其他鱼油而感到高兴和自豪。这回论坛开展“边做笔记边学习,还能赢取奖学金!”活动,我考虑了半天,以什么为锲入点展开学习呢?从python的学习中发现这是一门很易上手的语言,有很多第三方库,方便做各种的应用,但学习中总是感到对用户界面GUI的支持尚显薄弱,虽然有tkinter、qt等库,但总是觉得不是很方便,以前接也对delphi语言略知一二,觉得用它做个windows的UI易如反掌,用鼠标稍微画几下就有了。所以作为与python互补,就想再学学delphi。我也知道现在delphi属小众语言,学习和使用的人也越来越少,它的所有者也从Borland易手到Embarcadero,对delphi的支持也不尽给力,再者小甲鱼的视频也是2011年的了。但我想用它写些桌面的程序还是很适宜的,所以就下决心花点时间学习这门语言。同时也觉得论坛的delphi板块太冷清了,能不能给大家带个头,让更多的人关注delphi。 小甲鱼在教程中一开始就说“聪明的人使用Delphi, 真正的程序员使用C++!”,这句话在当初还是很流行的,只是这些年新的语言不断异军突起,而delphi则是不进则退,渐渐的落寞了。Delphi是以pascal语言为基础开发的,更准确的说是以OO(面向对象) pascal开发的可视化语言。而pascal则称为学院派语言,即它很古板,不像c那样的灵活,就像书法中的正楷,但也使初学者规规矩矩的编写代码,养成良好的编程习惯。虽然已经是2017年的,但我还是以delphi7的版本作为学习的工具,一则是小甲鱼的教程就是以此为蓝本的,二来新的delphi的内容我恐怕也用不到。 下面就开始第一个程序了,打开delphi就出现了这样的界面,包括4个窗口:主窗口(菜单栏、工具栏和组件板)、窗体Form设计器、对象观察器和代码编辑器。可以用鼠标调整这些窗口的位置和大小,并通过菜单view – Desktops – Save desktop来保存,下次启动就会安装自己的设置来改变了。
                              从代码编辑器可以看出已有一些程序代码了,也就是说程序的框架已经给你搭好了。直接点击F9运行就出现了一个窗口,移动、放大缩小和退出一应俱全。同时在C:\Program Files (x86)\Borland\Delphi7\Projects下可以找到一个300多k的exe文件:Project1.exe,就是刚刚运行的程序。这个可是完全脱离delphi独立运行的程序,这也就是编译型语言与python那样的解释型语言的最大差异了。 好像学所有的程序都要从Helloworld!开始的。delphi不用写代码就可以实现,神奇吧!,让我们看看如何实现。在窗体中添加一个label控件,并在对象观察器将其caption属性改为Hello world!就行了,当然为了美观写,再把字体改大些,一切OK了。
在窗体设计器可以放置各种控件,如按钮,标签等,基本上涵盖了windows标准界面的绝大多数控件。放置控件的方法:按下控件,在窗体设计器单击或拖动;双击控件,在窗体设计器中心位置添加;shift单击控件,可以连续单击或拖动。同样的控件的命名会加上数字后缀。控件的name可以改成自己想要的,同时程序中相应的部分也会自动修改。这是小甲鱼第一个程序,设计了一个label和2个button,可以通过对象观察器改变caption来改变显示的内容,用font改变字体、大小和颜色等。双击按钮1进入代码编辑器,子程序名是:procedure TForm1.Button1Click(Sender: TObject);,可以看出是Form1的Button1的事件Click,即点击鼠标的事件。输入Label1.visible:=True;。与python不同的是赋值用“:=”,而把“=”给了相等,且行尾要有“;”,缩进也不是必须的。关闭程序的语句是close或更标准的Application.Terminate。

程序的组成是:单元文件:标志性语句—unit。然后是接口部分interface,其中包括uses,大概相当于python的import;type,定义类型;var,定义变量,与python不同静态语言需先定义变量再使用。最后是实现部分implementation,程序的内容就写在这里。项目文件:标志性语句—program。说明体部分:uses和begin之间;程序体部分:begin和end之间。

小甲鱼 发表于 2017-6-10 23:50:33

{:10_256:} 哈哈,Delphi版块复兴有望!

冬雪雪冬 发表于 2017-6-10 23:55:15

小甲鱼 发表于 2017-6-10 23:50
哈哈,Delphi版块复兴有望!

刚刚开始学,不知能学到什么程度?希望能使更多的鱼油了解和喜欢上Delphi。
另,看到 @不二如是 的帖子,TIOBE编程语言社区发布了2017年6月排行榜中Delphi/Object Pascal还能排到13位,看来用的人还是不少的。

小甲鱼 发表于 2017-6-11 02:56:07

冬雪雪冬 发表于 2017-6-10 23:55
刚刚开始学,不知能学到什么程度?希望能使更多的鱼油了解和喜欢上Delphi。
另,看到 @不二如是 的帖子 ...

{:5_109:} Delphi 的话目前是往更专业化和闭源的方向发展,国内现在玩的人很少了~

不二如是 发表于 2017-6-11 06:14:36


哇塞~雪冬大神开讲了!

冬雪雪冬 发表于 2017-6-11 08:43:16

不二如是 发表于 2017-6-11 06:14
哇塞~雪冬大神开讲了!

初学乍练,跟着小甲鱼的课程,一点一点的学。

不二如是 发表于 2017-6-11 08:59:32

冬雪雪冬 发表于 2017-6-11 08:43
初学乍练,跟着小甲鱼的课程,一点一点的学。


跟着小甲鱼BOSS有肉吃~

aishenwang 发表于 2017-6-11 09:19:36

冬雪雪冬 发表于 2017-6-11 11:11:26

aishenwang 发表于 2017-6-11 09:19
支持delphi。虽然我已经基本不怎么用了。

学delphi求职作用不大,但自己玩玩还是挺好的。

不多太少 发表于 2018-2-23 20:12:26

仿佛发现了新大陆

john19997 发表于 2021-8-25 20:02:18

老师 辛苦了

trinityee 发表于 2024-8-1 10:15:04

这个笔记对我有用,谢谢分享

中尉大人 发表于 2024-11-18 11:00:58

感谢分享,学习{:5_109:}
页: [1]
查看完整版本: 一个程序 - 零基础入门学习Delphi 001