从Delphi到Lazarus——Lazarus开发环境使用入门教程
0.前言
曾经有过更换开发环境体验的编程爱好者都会有同样的感受:打开新更换的开发环境后,看到陌生的界面无从下手。想写一段小程序试一试,却你找不到自己需要的组件在哪里。
其实,我们每到一个新地方,首先要找点资料熟悉周围的环境。编写程序也是这样,使用一个新的开发环境首先要熟悉这个环境。熟悉开发环境的方法是什么呢?学习!除此之外没有其他的方法。
在这篇文章里,我主要给大家介绍我觉得需要首先了解的内容,我觉得了解了这些内容就可以算是入门了。入门之后更进一步的了解需要随着使用的过程逐步积累。当然,我只是说需要学习的内容在哪里,具体的学习还是需要你自己去做。
在这篇文章里将会介绍以下内容:
- 了解Lazarus的操作界面
- Lazarus的帮助文件
- Lazarus的组件介绍
- Lazarus编辑快捷键
- 结束语
1.了解Lazarus的操作界面
1.1 Lazarus开发环境界面总览
由于是介绍从Delphi过渡到Lazarus,所以我主要参照Delphi介绍Lazarus,了解其相同和不同点。大家都是同行,能在图中看明白的我就不再用文字描述,说多了都是废话。
先看一个界面截图,关注其中我标注了①到⑨ 的地方,如果看不懂的就看下面的介绍,看懂了的就想一下这个界面与Delphi有什么不同。

1.2网上对Lazarus的介绍
在网上我看到一些介绍Lazarus的文章,下面这一篇是比较完善的,介绍的Lazarus的方方面面,是入门的好文章。也许你看了这篇文章就觉得没有必要再看我写的东西了。
Lazarus Tutorial/zh CN - Lazarus wiki:按Delphi 7的样式介绍的Lazarus 2.0.0版本的开发环境,包括编辑、设置、编译、等等,很全面。
如果你想有更全面的了解,可以看下面这一个。这个页面可以说是网上关于Lazarus的丰富资源的总的入口,你可以看到基础的介绍,也可以看到进阶的知识,适合于所有想使用Lazarus的人。
Lazarus Documentation/zh CN - Lazarus wiki:网页是中文的,不过它的链接跳转后可能是中文,也可能是英文。
1.3Lazarus的主菜单
界面中标注①的地方就是主菜单。点开下面的链接你将看到你需要的,很详细,我就不多说了。
Main menu/zh CN - Lazarus wiki
1.4工具栏
界面中标注②的地方就是工具栏。工具栏里有经常使用的快捷按钮,所以也叫按钮栏。其中的每一个按钮的功能在主菜单里都有对应的菜单项。你把鼠标指针移动到按钮上,稍微等一会儿就会弹出一个小窗口,提示这个按钮的用途,有一些除了有对应的菜单项,还有快捷键(也叫加速键)。
1.5组件面板和组件列表
界面中标注③和④的地方分别是组件面板和组件列表。
组件面板是按着Delphi 7的样式,而组件列表则是跟Delphi XE及以后的版本相似,只是Lazarus的组件列表提供了比Delphi更丰富的表达形式。
Lazarus的组件分组尽可能模仿了Delphi,但他们的组件是不同的。Delphi有更加丰富的适合Windows的组件,而Lazarus为了跨平台的支持,它的组件就少了很多,但它采用了优秀的Delphi第三方组件。
Lazarus组件的详细介绍在以下网址中你会看到:
Lazarus Tutorial/zh CN - Lazarus wiki:这个网页中的组件面板图解下有每个组件的链接(只有常用组件的),点击链接会看到组件的详细介绍。
我在查看资料的时候记得有一个更加全面的,不过到了我写这篇文章的时候忘记是在什么地方看到的了。感觉非常抱歉,以后想起来了会补上。有人看到了也可以分享一下。
1.6设计时表单(窗体)和组件列表
界面中标注⑤⑥的地方分别是设计时窗体和使用的组件列表。
在Delphi中想在编辑界面和窗体之间切换很直观方便,使用鼠标操作就行,而Lazarus似乎不那么直观,不过也不算很不方便。
切换编辑界面和窗体界面有两种途径:
第一种:主菜单->视图->在穿窗体与单元中切换。这个操作有时需要点击两下才能出来。
第二种:使用快捷键F12切换。
Lazarus的窗体总是隐藏在编辑界面之下的,向窗体中添加组件的时候,如果看不到窗体很令人沮丧,不过不用担心,当你在组件面板或者组件列表里选择了要添加的组件时,这个窗体就会弹出来。
使用Delphi的人都习惯用鼠标点击窗体中的组件,然后在属性列表中查看或者修改组件的属性、添加事件,你除了用F12显示出窗体来,还可以从组件列表中选择组件,不过这种方式不如在窗体中直观。
1.7开发环境界面中的其他部分
图中标有⑦⑧⑨的部分根Delphi中一样,很直观,没有什么可说的了。
2.Lazarus的帮助文件
Lazarus的帮助文件分为在线文件和离线文件,通过以下途径可以找到入口:
主菜单->帮助->在线帮助(网上的)或帮助(离线帮助,本机的chm文件中)。
2.1Lazarus的在线帮助文件
点击帮助菜单中的[在线帮助],打开的是一个本地网页,其中包含网上的在线帮助文件的链接,内容如下(原文是英文的,翻译不当的地方请包含):
欢迎来到 Lazarus
Lazarus 是免费 Pascal 的快速应用程序开发工具,目前可在 Linux、Mac OS X、BSD 和 Windows 上运行。
它是免费提供的、开源的,并且完全用 Free Pascal 编写。
Lazarus 官方网站是 https://www.lazarus-ide.org/。
http://wiki.lazarus.freepascal.org/ 有一个 wiki 提供了很多关于 Lazarus 的信息。
Free Pascal 可以在 https://www.freepascal.org/ 上找到。
Lazarus 组件库根据修改后的 GNU 宽通用公共许可证获得许可。
Lazarus IDE 根据 GNU 通用公共许可证获得许可。
免费的 Pascal 在线文档。
RTL - 免费 Pascal 运行时库
FCL - 免费组件库
LCL - Lazarus 组件库
LazUtils - Lazarus 实用程序包
许多帮助文件都以 chm 和 inf 格式提供下载。
chm 文件的查看器:请参阅在 IDE
中安装 CHM 帮助inf 文件的查看器:请参阅 DocView IDE 集成。
2.2Lazarus的离线帮助文件
点击主菜单中的帮助菜单中的[帮助]打开本地chm文件,操作界面与Delphi中基本一致,不同的是Lazarus的帮助分在多个文件中,每个文件对应一个选项卡。点击帮助窗口下边的选项卡可以选择相应的帮助文件。这里的资料很丰富,你可以选择你感兴趣的学习。如果你没有找到你需要的内容,可以更换一个选项卡试一试。
当然,这里的内容很多,不可能一次全部学习,可以在需要的时候查阅。
有一点需要说明:离线帮助查阅比在线帮助要方便,但内容是英文的,如果看不懂英文的会感觉不方便。在线帮助也是英文的,但是网页翻译可以用于在线帮助的网页。

3.Lazarus的组件介绍
熟悉Delphi的编程爱好者都会因为Delphi丰富的组件和丰富的第三方组件而感到方便,在Lazarus中可以使用Delphi的所有组件,但Lazarus提供这些组件的方式与Delphi有所不同。
Lazarus提供的组件分为两组:
LCL - Lazarus 组件库
LazUtils - Lazarus 实用程序包
另外还有Free Pascal FCL可以直接使用:
以上三个链接中提供了组件的详细介绍,你可以选择感兴趣的学习,也可以看一下目录,知道有哪些组件,在使用的时候便于选择。
除此之外,还有大量第三方组件,这些可能是因为不成熟,也可能是因为没有提供跨平台支持或者其他原因,没有被Lazarus选入,但你可以使用,他们的相关介绍你只能通过别的途径查找,Lazarus没有提供。
4.Lazarus的编辑快捷键
对于一个编程人员来说,编辑代码的方便程度是最关心的问题之一,是否选择的决定可能吧编辑器的方便程度列为第一要素,至少我是这样认为的。
目前流行的软件开发环境都为编写代码提供了很多方便的快捷键和辅助完成代码的系统,Lazarus也提供了相应的功能,或许是为了方便使用Delphi的人转换到Lazarus后能够快速上手,Lazarus大多数的快捷键的设置跟Delphi是相同的,不过也有不一样的地方,这需要你去熟悉。
Lazarus的快捷键与Delphi一样,系统预设了大量的快捷键。当预设的快捷键与操作系统发生冲突的时候,你可以将快捷键更换成你喜欢的任何一个按键组合。
我没有找到Lazarus关于快捷键的介绍,不过有一个途径可以知道有哪些快捷键可以使用:
主菜单->工具->选项,打开[IDE选项]窗口,在窗口左边栏目中选择[编辑器->键盘映射],在右边的栏目中翻看快捷键的设置,你会看到你感兴趣的所有快捷键设置。
当然,你也看到有很多条目下没有预设的快捷键。或者有些快捷键因为与操作系统的快捷键冲突而无法使用。不用担心,你把鼠标移动到这个条目上,点击鼠标右键,从弹出菜单中选择[编辑],打开一个编辑窗口,在这个窗口中你可以很方便地修改快捷键的设置。
除了键盘映射[CodeTools命令]中也会有你感兴趣的快捷键设置。比如说,我比较感兴趣的就有:
- 代码模板补全[Ctrl+J]
- 补全代码[Ctrl+Shift+C]
- 查找过程定义[Ctrl+Shift+Up]
- 查找过程方法[Ctrl+Shift+Down]
除了快捷键,你还会看到其他与代码编辑有关的选项,有时间可以多看一看。

5.结束语
说了这么多只是想起到抛砖引玉的效果,能不能达到目的可能会因人而异,读者的需求是不同的,如果你觉得我说的不好,我们可以交流,但千万别骂我。哈哈哈!
从Delphi到Lazarus——Lazarus开发环境使用入门教程的更多相关文章
- Delphi XE-Windows下配置开发环境 (Android版/IOS)
Delphi XE-Windows下配置开发环境 (Android版/IOS) http://www.52jike.com/thread-1-1-1.html Delphi XE5的Androi ...
- 使用Android Studio搭建Android集成开发环境(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- QT开发环境安装配置教程
QT开发环境安装配置教程 分类: QT2012-11-29 23:31 35366人阅读 评论(12) 收藏 举报 Linux版的直接在ubutnu软件中心输入QT,安装响应的Designer,Cre ...
- PyCharm Django Python 开发环境配置 详细教程
PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...
- VSCode Java 开发环境配置 详细教程
VSCode Java 开发环境配置 详细教程 配置java 下载 用于现在大多数使用者用的是java 8,小白的我先安装java 8好了,^ w ^. 下载地址:Java 8 | Java SE 打 ...
- VSCode PHP 开发环境配置 详细教程
VSCode PHP 开发环境配置 详细教程 这篇文章主要介绍了VScode+PHPstudy配置PHP开发环境的步骤,整理了官方以及优秀第三方的内容,对于学习和工作有一定借鉴意义. 配置过程 第一步 ...
- Qt5 C++ GUI界面 开发环境配置 详细教程
本博客已暂停更新,需要请转新博客http://www.whbwiki.com/333.html Qt 下载 Qt 体积很大,有 1GB~3GB,官方下载通道非常慢,相信很多读者会崩溃,所以建议大家使用 ...
- 要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放
要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放 大师主讲 经验难得 由逐浪CMS首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...
- RAD DELPHI XE5的android开发环境配置
RAD XE5 支持本地化跨平台编译(IOS,OS-X,WIN 64,WIN32,ANDROID) 对于android的开发环境,XE5支持模拟器,和真机设备两种模式: 1. 模拟器:(支持4.0.3 ...
- 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
随机推荐
- 解锁Java线程池:实战技巧与陷阱规避
专业在线打字练习网站-巧手打字通,只输出有价值的知识. 一 前言 线程池作为初学者常感困惑的一个领域,本次"巧手打字通课堂"将深入剖析其中几个最为普遍的误区.为了更清晰地阐述这些知 ...
- 致敬传奇 Kruskal 重构树题硬控我三小时
NOI2018 归程 存边的数组拿来干两件事,忘了清空了,其实最好开两个的 dfs 没开 vis 导致不知道为什么出现的绕圈 倍增的 fa[i][j] 定义的时候前面是 \(2^{i}\) 写着写着记 ...
- [rCore学习笔记 028] Rust 中的动态内存分配
引言 想起我们之前在学习C的时候,总是提到malloc,总是提起,使用malloc现场申请的内存是属于堆,而直接定义的变量内存属于栈. 还记得当初学习STM32的时候CubeIDE要设置stack 和 ...
- USB LFPS是什么?
USB LFPS:低功耗状态下的高速数据传输 什么是USB LFPS? USB LFPS(Low-Power Signaling)指的是USB接口在低功耗状态下的一种高速数据传输技术.传统上,USB接 ...
- 高通ADSP USB流程
在高通平台上,ADSP(Audio Digital Signal Processor,音频数字信号处理器)可以通过 USB 接口与主机进行数据传输,以下是大致的 ADSP USB 流程: 主机发起 U ...
- 进程D 状态的产生及原因解释
在 Linux 系统中,进程的 D 状态表示进程处于不可中断的睡眠状态 (Uninterruptible Sleep).这种状态通常由进程等待某些资源或事件引起,这些资源或事件无法立即可用.以下是一些 ...
- Java日期时间API系列33-----Jdk8中java.time包中的新的日期时间API类应用,格式化常用模板大全,新增Excel常用格式。
从Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter中可以知道常用字符有超过20几种,各种组合结果非常多.但常用的组合就 ...
- Vue的nextTick的原理
知识储备:事件循环有宏任务和微任务,宏任务所处的队列就是宏任务队列,队列可以有多个,第一个队列只有一个任务就是执行主线程的js代码,剩余队列任务有setTimeout setInterval微任务所处 ...
- How To Remove the Oracle OLAP API Objects From 9i and 11g Databases (Doc ID 278111.1)
How to remove the Oracle OLAP API objects from a 9i database We can consider like olap api objects: ...
- 一些新奇的玩意【php篇--持续更新】
人不进步就等于退步! 接触越多的人以及事就能学到更多的东西. 以下仅为本人记录的一些新奇的东西,不喜勿喷! 1.??运算符号,在新的项目中突然发现很多红线报错,还以为是错误!看了下,是??运算的问题, ...