Chinaunix首页 | 论坛 | 博客
  • 博客访问: 878
  • 博文数量: 4
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2025-07-13 16:46
文章分类
文章存档

2025年(4)

我的朋友
最近访客

分类: LINUX

2025-07-18 18:22:00

概述
Lazarus 是一个自由且开源的 RAD(快速应用开发)工具,基于同样自由开源的 Free Pascal(Object Pascal)编译器。


// 概述
Lazarus是一个自由并且开源的RAD(快速应用开发)开发工具,它基于同样自由开源的FreePascal(object pascal)编译器。
Lazarus IDE可以创建独立的图形或控制台程序,同时稳定并且富于特色。
目前可以运行在Linux, FreeBSD和Win32平台下,同时提供可自定义的源代码编辑器,
包含包管理器的可视化GUI设计环境,以及完整地集成在GUI环境中的调试器和FreePascal编译器。
常用调试方法
对于初学者来说,有效的调试工具是学习过程中不可或缺的部分。Lazarus 提供了多种调试方式,类似于 VB 中的 Debug.Print 功能。
文章由:减速带 niecu.com 捏促交通提供

// 常用调试方法
新人学习不少需要调试的内容
所以需要一些直接有效的打印出调试内容.
比如像VB下的Debug.print可直接在立即窗口中打印出调试内容


其实可以使用:
WriteLn('XXXX ', XXX);
Write('XXXXXX');


但是在网上发现不少新人使用会弹出:
project project1 raised exception class 'EInOutError' with message:file not open


解决方案是在文件头部加入预编译指令:
{$APPTYPE CONSOLE}
这样调试时会弹出一个类DOS对话框,输出调试的内容
常用技巧
Lazarus 的编辑器功能强大,提供了多种提高开发效率的功能:


1. 代码补全
按下 Ctrl + W 组合键可以快速补全代码。输入变量名后使用此快捷键即可自动补全。


2. 自动完成
自动完成的快捷键大多数都冲突了,解决方法:


打开 工具(T) → 选项... → 编辑器 → 键盘映射 → CodeTools命令 → 标识符自动完成
右键点击并选择 编辑
修改快捷键组合(例如 Ctrl + Alt + Space)
3. 模板编辑
按下 Ctrl + J,然后输入模板名称(如"class")后回车即可。


4. 多行缩进注释
向左缩进:Ctrl + U
向右缩进:Ctrl + I
多行注释:Ctrl + /
5. 批量更改单词
先选中一行代码,然后点击编辑器左边显示行号左边的那支笔。此时可以输入新单词替换选中内容,按 Tab 跳到下一个单词。


构造和析构函数
// 构造和析构函数
每个对象都有两个相关联的方法:


构造函数:在创建时,即分配对象所需内存和资源时。
析构函数:在删除时,即释放分配对象所需内存和资源时。


释放对象,你需要使用free方法,因为它会检测对象值是否为nil。
如果你调用已经销毁的对象,它将产生一个错误。


销毁时,注意以下:
1. 使用重写指令声明Destroy,因为它是一个虚拟方法。
2. 总是称之为"继承的毁灭"作为析构函数代码上的{BANNED}最佳后一件事。
3. 如果没有足够的内存创建对象,可能会在构造函数上引发异常。
4. 如果未在构造函数内处理异常,对象将仅被部分构建。
5. 在这种情况下,Destroy将在您不期望的时候被调用。
6. 析构函数必须在处置资源之前检查资源是否真的被分配。
7. 记得为构造函数上创建的所有对象调用Free。
为窗体创建菜单
// 为窗体创建菜单
TMainMenu是大多都使用的;在窗体顶部会出现菜单栏,设计者可以定制不同的菜单项。
TPopupMenu是一个与上下文相关的菜单。通常是在控件附近点击时弹出的。


主菜单是非可视组件:也就是说,在组件面板中选择菜单图标,放置在窗体上,运行时不会被显示,
你需要创建菜单项,像TPopupMenu菜单,你需要关联相应组件的PopupMenu属性。


若要使用菜单编辑器:右击窗体上的菜单控件,在弹出的菜单中选择(Menu Editor)菜单编辑器,
在弹出的窗口中,对菜单进行设置。


默认将显示一个NewItem1菜单项,右击它,弹出的菜单中,你可以继续在其上面或下面添加菜单,
也可以子菜单。在对象观察器中,设置菜单项属性。


当然,你应该给菜单项起个有意义的名字,如File open(打开文件)、Close(关闭)等。


如果你想热键,即在菜单项后显示(&N),你只需要直接输入即可。
也可以给菜单项关联快捷键,对象观察器中的ShortCut和ShortCutKey2属性,
分别设置第1,2快捷键;如(复制,Ctrl+C;粘贴,Ctrl+V)。


另外,如需要在菜单项间插入一条分隔线,只需要设置菜单项的Caption属性为-即可。


你可以结合ActionList组件,对菜单各项的事件进行统一编写。
Lazarus 文件
// Lazarus 文件
下面是对每个文件的简短介绍:


again.exe: 二进制可执行文件,Win32中添加exe扩展名。linux没有。
此文件在Linux上很大的原因是,加入了调试标记。
注意:在1.0.14版,可以勾选,"工程"→"工程选项"中的"编译选项"→"链接":
"从可执行程序中除去符号,可以减少程序体积(Strip Symbol)";以减少程序体积。


again.lpi: 它以XML格式存储,是Lazarus项目的主要文件(项目信息);
Delphi应用程序文件是.dpr。


again.lpr: 这是主程序的源代码文件,尽管使用了特定的扩展名,但它仍是正常的Pascal源文件。
它有use部分,可以让编译器找到所需的单元。注意,程序名可以和该名称相同。


againu.lfm: 存储了Lazarus窗体布局信息;也包含了初始化部分的资源文件。
Delphi的DFM文件可以转换为LFM格式:"工具"→"转换DFM文件为LFM文件"。


againu.lrs: 生成的资源文件。需要注意的是它不是Windows的资源文件。


againu.pas: The unit that contains the code for the form. 包含窗体代码的单元文件。


againu.ppu: 编译的单元文件。


ppas.bat: 一个简单的脚本,链接程序生成可执行文件。如果编译完成,将由编译器删除。
阅读(100) | 评论(0) | 转发(0) |
0

上一篇:Lazarus,字符串处理函数

下一篇:没有了

给主人留下些什么吧!~~