Lazarus是一个用于Free Pascal的快速应用开发(RAD)的面向对象的Pascal集成开发环境(IDE)。

Lazarus是一个用于Free Pascal的快速应用开发(RAD)的面向对象的Pascal集成开发环境(IDE)。Lazarus 对于窗口管理来说是中性的。可以工作在KDE(1.13版本)下,也可以工作在GNOME(1.23版本)或其他窗口管理器(MVM、WindowMaker)。Lazarus的设计目标是应用Free Pascal,所以所有凡是Free Pascal能运行的平台,Lazarus也可以运行。最新版本能运行于Linux,Win9x/2000/xp和FreeBSD。Lazarus的工作界面、外观和操作和Borland 的Delphi IDE非常相似,所不同的是Lazarus 是完全的自由软件。Lazarus 可以直接移植Delphi的代码。Lazarus的编程语言是以Pascal为基础的。Pascal语言具有可读性好、编写容易的特点,这使得它很适合作为基础的开发语言。同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal成为Lazarus这种先进开发环境的编程语言。

在Linux中,Lazarus的图形用户接口(GUI) 由以下几个部分组成:

窗口系统--组织显示屏上的图形输出并执行基本的文本和绘图功能。

窗口管理器--负责对窗口的操作(比如最小化、最大化、关闭按钮的形状,窗口边框外观等)以及输入焦点的管理。

工具包--带有明确定义的编程界面的常规库。

Lazarus对系统软件、硬件要求都不高:

硬件方面:Intel Pentium 200MHz、32MB内存、100MB硬盘空间。

软件方面:内核(Kernel)在2.2以上,Qt库1.44 以上,XFree86 3.6 以上。

在 下载,最新的版本为0.8.5 alpha, 文件大小3,445,052 字节。

以普通身份登陆, 启动X-Window ,打开一个终端。本文以RED-FLAG 3.0为例。

$tar -zxvf lazaruslinux.tar.gz

$mv lazaruslinux lazarus

$cd lazarus

$./configure;$make;$make install

$/usrs/ bin/lazarus

如果为了方便可以在桌面建立一个快捷方式。见图-1单击鼠标右键选择"Link To Application"在执行菜单内加入/usr/ bin/lazarus 。

图-1 为lazarus在桌面建立快捷方式

打开lazarus首先看到的是一只非洲猎豹,这也是lazarus的新标志:见图-2:而lazarus以前的标志是一只可爱的小企鹅。

lazarus的旧标识

图-2 lazarus的启动标志

图-3 lazarus 功能标注

1)、 主菜单括File、Edit、Serach、View、Project、Run、Tools、Environment、Help九个子菜单选项。

2)、 信息窗口(Message View)信息窗口在代码浏览器窗口和代码编辑器窗口的下部,在编译和链接过程中出现的一些信息将显示在信息窗口中。

3)、 Object Inspector(对象编辑器)  对象编辑器的功能是实现对象 (尤其是组件)的属性设置,创建事件处理过程并进行管理。对象编辑器分为下面的三个部分:

对象列表

对象列表是一个组合框,包含了当前窗体上的所有组件。有时一些组件因为太小或没有明显的标志,利用鼠标点击不容易选中,这时可以利用对象列表组合框来选择该组件。

属性页( Properties )

属性页中列举了当前被选中的对象 (比如说组件)的属性。可以在程序设计的过程中直接对这些属性进行修改,也可以在程序运行期间通过代码进行修改。在有些属性的前面有一个带有方框的加号标志,表明该属性是由一些子属性组成的。点击该加号标志就可以展开该属性,同时加号标志变成了一个带有方框的减号标志。

事件页( Event )

通常情况下,事件处理过程为空。可以双击事件右面的组合框来添加事件的处理过程。如果要共用已存在的事件处理过程,可通过下拉式组合框进行选择。

4)、 Syntax Highlighting (语法高亮)

5)、Souce Edit Code (代码编辑窗口)

代码窗口处于窗体窗口之下。因为在Lazarus中,设计用户界面直接在窗体中进行,运行结果和设计样板完全一致。当部件被放到窗体上时,会自动生成大部分的用户界面代码。您所应做的只是在它为您生成的框架中加入完成所需功能的程序段而已。点动Form1的状态行使代码窗口可见。 这个窗口中是代码编辑器。可以在其中书写Lazarus应用程序的源代码。当程序中含有不止一个窗口时,会有几个库单元的源程序出现在代码编辑器中。代码编辑器的标题条中显示了当前正在编辑的库单元文件名。要查看某一特定程序的源代码,只需用鼠标点动写有该库单元文件名的页标签,就可以对该库单元进行编辑了。

6)、Editor Options(编辑器选项)

包括Standard、Additional、Misc、System、Dialogs五部分,每个部分又有几个编译选项。代码编辑器为代码的输入和编辑提供了一个方便的环境。

7)、Form Designer (表单设计器)Forms窗口是编程中大部分设计的工作区域。可以把部件放在窗体中,通过移动位置、改变尺寸等操作随心所欲地安排它们,以此来开发应用程序的用户界面。您可以把窗体想象成一个可以放置其它部件的容器。一个真正的应用程序可能有不止一个窗口,您可以选用不同的窗体进行设计。其它窗体可以是对话框(Dialog Box)、数据录入框等。

Lazarus的IDE采用和Delphi VCL类似的LCL(Lazarus Class Libraries) 做成。LCL设计成与widget无关,可以在不同的API集下运行。Lazarus与Delphi一样是真正的"双向"工具,何谓"双向",即界面(form)的改变立即就会在代码(code)中反映出来,反之亦然。Lazarus拥有一个智能化的代码编辑器,具有语法加亮,函数及其参数自动完成(codel nslght),方便的代码内部查询功能(codeExplorer)等。Lazarus的开发环境是高度可定制的,工具条的位置和内容都可以根据自己需要进行修改,可以在IDE中增加第三方开发的工具。或者加入定制的向导。Lazarus中单元信息文件以".PP"结尾,表单设计文件是".LFM",这和Delphi的".DFM"文件一样,但是不同之处是编译之前必须先把.LFM转换为".LRS"文件(用Lazarus开发的文件扩展名为".LRS")。

下面我们举一个编程简例:

1)、 运行Lazarus

2)、 创建工程

通常在开发一个应用程序的过程中,会存在一些不同类型的文件,如 Pasca l代码文件、窗体文件、资源文件等。为了集中管理这些文件,可以创建一个"工程"进行统一管理。 创建工程目录如:root\ user\cao。

创建一个新的工程在Lazarus集成开发环境中通过菜单命令 Project | New Application 创建一个新的应用程序,Lazarus会自动创建工程文件及相关的其他文件。

通过菜单命令File | Save All将保存与工程有关的所有文件。此时首先会弹出 Save Unit1 As对话框,定位到目录root\ user\cao 后,按下"确定"按钮,接着会弹出 Save Project1 As对话框。这时目录自动定位到root\ user\cao 中。

3). 定制窗体

向窗体中添加组件

为了在 Form 1窗体中显示文字,可以添加一个标签 ( Label )组件。

设置组件属性

在Form 1窗体中选中标签组件,然后在对象编辑器窗口中将标签组件的主要属性设置: 标签组件的属性设置

属 性

属 性 值

Font

字体:Arial,大小:18

AutoSize

False

Caption

HAPPY NEWY YEAR

Name

Label 1

4). 添加代码

1) 在Form1 .Timer1Timer处理过程中添加以下代码:

...

procedure Form1.Timer1 Timer(Sender: TObject) ;

begin

Label 1 .Caption : = '

end ;

end

5). 运行程序

通过菜单命令Run | Run运行程序。如果程序没有编译和链接,则程序在运行前系统会自动进行编译和链接。运行结果如图 - 4所示。

运行结果如图-4

这里笔者只作了一个简单的程序,当然你还可以在程序加入声音动画等等。 Lazarus并不能满足每个开发者的要求,也不能解决程序开发的所有问题,但是它带给我们一种新的选择。Lazarus的官方网址是

lazarus生成Linux文件,Kylix的劲敌-开放源码的Lazarus[转]相关推荐

  1. goland 交叉生成linux文件

    生成后可能是.exe,但是是linux格式,改扩展名吧 转载于:https://www.cnblogs.com/ipub520/p/8026637.html

  2. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  3. linux 生成dll文件,Linux和Windows平台 动态库.so和.dll文件的生成

    Linux动态库的生成 1. 纯cpp文件打包动态库 将所有cpp文件和所需要的头文件放在同一文件夹,然后执行下面命令 gcc -shared - fpic *.c -o xxx.so: g++ -s ...

  4. linux如何生成javacore文件,如何产生javacore和heapdump文件》

    1. windows & Linux: 修改运行脚本的javaw 到java,并且添加参数-XX:+HeapDumpOnCtrlBreak. 运行程序后,按ctrl+break, 就可以得到h ...

  5. linux dd 截文件,Linux使用dd命令快速生成大文件(转)

    dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero ...

  6. ubuntu下wget下载Linux内核源码、make生成.config文件

    根据资料,如果要调试Linux内核源码,需要自己编译内核源码:原因是,一般下载的内核并不是为调试而编译的,要在编译时开启 "Compile the kernel with debug inf ...

  7. linux下开启程序崩溃生成core文件开关之ulimit详解

    运行服务器程序经常会出现崩溃,而我们不可能一天24小时都等着他出现.在实际运行中也不能总是使用gdb启动,毕竟gdb绑定运行会消耗很大一部分性能. 不过linux系统在程序崩溃时会生成一个coredu ...

  8. linux生成日志文件,linux实现按天生成日志文件并自动清理

    linux实现按天生成日志文件并自动清理 前篇文章中讲到如何在Linux crontab创建每秒执行的方法,高人可能早意识到日志文件没做处理,假如没人工处理久了日后越来越大肯定会出现问题,当然人工处理 ...

  9. linux 进程间通信 dbus-glib【实例】详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

最新文章

  1. Access把每一天的数据累加_如何设计 QQ、微信等第三方账号登陆 ?以及设计数据库表!...
  2. 计算机科学经典论文(zz)
  3. php curl post 文件_php curl文件上传$_FILES为空,只有$_POST有值,如何兼容php5.0~5.6各版本...
  4. [leetcode]Jump Game
  5. Codeforces Round #477 (rated, Div. 2, based on VK Cup 2018 Round 3)
  6. 80端口被占用了怎么办_如何查看端口占用情况
  7. SAP UI5 应用开发教程的学习目录
  8. 简单深入两个虚拟内存API VirtualAlloc及VritualCopy
  9. final 在 java 中有什么作用?
  10. java单精度实型_Java的八种基本类型及其各种数据类型的相互转换
  11. 微信小程序开发工具最新版本已更新下载(1.02.1804120)
  12. 刘挺 | 从知识图谱到事理图谱
  13. 报名倒计时 | 「TeaTalk」技术沙龙成都站再来袭!
  14. 【书摘001】android 底层开发技术实战详解 - 基础 - 进程管理的一些常用命令
  15. 单片机一个ADC口实现多按键检测功能
  16. 邮局只能寄指定大小的箱子
  17. 一个真实的Windows XP SP 3镜像包 571MB大小
  18. Eureka No active profile set, falling back to default profiles: default
  19. 蓝桥杯【学做菜】Java
  20. 在AWS Lambda上部署EC2编译的FFmpeg工具——自定义层的方案

热门文章

  1. linux使用域名访问web网站
  2. 浪花淘尽英雄 --《浪潮之巅》读书笔记壹
  3. 【全局地图mapping】三维全局地图的开源方案及对比--NDT、LOAM、LIO-SAM、ALOAM、FLOAM、Lego_loam、SC-Lego-LOAM.....
  4. 联咏科技Novatek替换海思选型参考
  5. 联咏系列平台编译器安装及配置
  6. 【cubase】cubase8快捷键
  7. 微服务技术初探:基于IDEA使用Maven构建SpringCloud项目
  8. java strem流
  9. CSS如何动态下拉div盒子、移动div盒子和展开div盒子
  10. UPS电源中的逆变电路与Simulink仿真