鱼C论坛

 找回密码
 立即注册
查看: 6119|回复: 12

[学习笔记] 一个程序 - 零基础入门学习Delphi 001

[复制链接]
发表于 2017-6-9 23:25:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
开场白:
不瞒你说,我是被小甲鱼的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来保存,下次启动就会安装自己的设置来改变了。
1.png
                              
从代码编辑器可以看出已有一些程序代码了,也就是说程序的框架已经给你搭好了。直接点击F9运行就出现了一个窗口,移动、放大缩小和退出一应俱全。同时在C:\Program Files (x86)\Borland\Delphi7\Projects下可以找到一个300多k的exe文件:Project1.exe,就是刚刚运行的程序。这个可是完全脱离delphi独立运行的程序,这也就是编译型语言与python那样的解释型语言的最大差异了。
好像学所有的程序都要从Helloworld!开始的。delphi不用写代码就可以实现,神奇吧!,让我们看看如何实现。在窗体中添加一个label控件,并在对象观察器将其caption属性改为Hello world!就行了,当然为了美观写,再把字体改大些,一切OK了。
2.png
在窗体设计器可以放置各种控件,如按钮,标签等,基本上涵盖了windows标准界面的绝大多数控件。放置控件的方法:按下控件,在窗体设计器单击或拖动;双击控件,在窗体设计器中心位置添加;shift单击控件,可以连续单击或拖动。同样的控件的命名会加上数字后缀。控件的name可以改成自己想要的,同时程序中相应的部分也会自动修改。
这是小甲鱼第一个程序,设计了一个label和2个button,可以通过对象观察器改变caption来改变显示的内容,用font改变字体、大小和颜色等。
双击按钮1进入代码编辑器,子程序名是:procedure TForm1.Button1Click(Sender: TObject);,可以看出是Form1的Button1的事件Click,即点击鼠标的事件。输入Label1.visible:=True;。与python不同的是赋值用“:=”,而把“=”给了相等,且行尾要有“;”,缩进也不是必须的。关闭程序的语句是close或更标准的Application.Terminate。
2b.PNG

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

评分

参与人数 2荣誉 +14 鱼币 +14 贡献 +14 收起 理由
不二如是 + 6 + 6 + 6 支持楼主!
小甲鱼 + 8 + 8 + 8 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-10 23:50:33 | 显示全部楼层
哈哈,Delphi版块复兴有望!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-10 23:55:15 | 显示全部楼层
小甲鱼 发表于 2017-6-10 23:50
哈哈,Delphi版块复兴有望!

刚刚开始学,不知能学到什么程度?希望能使更多的鱼油了解和喜欢上Delphi。
另,看到 @不二如是 的帖子,TIOBE编程语言社区发布了2017年6月排行榜中Delphi/Object Pascal还能排到13位,看来用的人还是不少的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

Delphi 的话目前是往更专业化和闭源的方向发展,国内现在玩的人很少了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-11 06:14:36 | 显示全部楼层

哇塞~雪冬大神开讲了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-11 08:43:16 | 显示全部楼层
不二如是 发表于 2017-6-11 06:14
哇塞~雪冬大神开讲了!

初学乍练,跟着小甲鱼的课程,一点一点的学。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-11 08:59:32 | 显示全部楼层
冬雪雪冬 发表于 2017-6-11 08:43
初学乍练,跟着小甲鱼的课程,一点一点的学。


跟着小甲鱼BOSS有肉吃~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2017-6-11 09:19:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-11 11:11:26 | 显示全部楼层
aishenwang 发表于 2017-6-11 09:19
支持delphi。虽然我已经基本不怎么用了。

学delphi求职作用不大,但自己玩玩还是挺好的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-23 20:12:26 | 显示全部楼层
仿佛发现了新大陆
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 20:02:18 | 显示全部楼层
老师 辛苦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-1 10:15:04 | 显示全部楼层
这个笔记对我有用,谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-18 11:00:58 | 显示全部楼层
感谢分享,学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-21 22:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表