lazarus视频控件,lazarus 中文教程

http://www.itjxue.com  2023-01-13 16:18  来源:未知  点击次数: 

怎样在Linux下用Lazarus 编写一个 IDE 程序

Lazarus 是基于 Free Pascal 的 Object Pascal 语言集成开发环境(IDE)。Lazarus 与 Delphi 高度兼容,是delphi的开源替代品。支持 FreeBSD,Windows,Mac OS X,以及几种 Linux 发行版。由于 Lazarus 支持多种操作系统,利用 Lazarus 创建的应用程序,特别是图形界面应用程序,也能被容易地移植到多种操作系统上。

用lazarus 编写IDE时会用到synedit 标签中的控件来高亮显示,另外可以下载lazarus 的源代码来学。

里面有一些范例和教程及源码的下载。

Delphi 6.0 与 Lazarus

不能直接编译运行,当项目中的控件在lazarus中有对应的时,需要稍加些改造。

当lazarus中缺少对应控件时,就困难了。

Lazarus怎么样

主要看你现在的项目第3方控件多不多(自己开发的不算),如果不多的话用Lazarus还是多不错的。

列举优点:

1.跨平台(Windows,iOS,Android)

2.免费

看起来优点并不多,却很实际.

列举缺点:

1.IDE功能不强大,用起始终感觉缺这样缺那样的,基本功能都有

2.底层技术不强大,比如:字符串处理转换,有些时候得自行处理

3.第3方组件相比而言少少少,但是基本的又都有(茅盾的话),自己开发也可以

4.调试器作得不好

5.得小心中文处理,默认是UTF8

6.陷阱不少,得自行总结(这个和经验有关)

我能总结的就这么多了,个人观点:如果用来作大型软件,有点悬,如果是作跨平台的功能不复杂的客户端,那这个就非常好了。

如果是堆组件的开发模式,不在讨论范围内

free pascal 和 lazarus 有什么区别?

本人已经离开软件行业多年了,现在主要是做做小生意,炒炒股票,但也经常关注一下软件业的发展,这几天心血来潮,下了个LAZARUS,玩了一下,一下子被它迷住了,感叹真是太牛了!现在把这几天玩的感受写下来,从各个方面比较,供大家看看。

先说下LAZARUS是个啥东西,它是一个OBJECT PASCAL的集成开发环境,其编译器用的是FREE PASCAL,跟DELPHI 几乎一个模样,很多基本的单元,类库,都是用同样的名字,会DELPHI 的人毫不费力就可以使用LAZARUS,凡是FREE PASCAL编译器能运行的平台,LAZARUS就能运行,口号是:“一次编写,到处编译”,官方网站是:

为了简单点,把FREE PASCAL/LAZARUS统称为FPC

1) 运行硬件平台:

DELPHI :仅仅在INTEL X86上运行。

FPC: INTEL、POWER PC、SPARC、ARM\ 、Motorola 680x0等,同时还支持64位

2)操作系统:

DELPHI: WINDOWS。

FPC: Linux, FreeBSD, Mac OS X, DOS, Win32, Win64, WinCE, OS/2, Netware (libc and classic) and MorphOS,其最新版本2.4还支持IPHONE、SymbianOS。看起来比DELPHI 多的多了。

更牛的是:可以为没有操作系统的一些微控制器开发程序!从这点上,可以与C平起平坐了。

3) 图形库接口

DELPHI(VCL) : WIN32:

FPC(LCL): WIN32/64、GTK、QT、WINCE、MAC OS X 的COCOA等等。

4) 第三方控件库:

相对来说,FPC要少些,但现在移植的工作非常快,很多重要的库都可以从DELPHI 那里移过来,比如著名的网络控件INDY 、数据库访问控件:ZEOSLIB都能在LAZARUS下使用了。

我做了下测试,在DELPHI 下创建一个窗体,上面堆满了很多控件,然后在LAZARUS下用它带的功能转换一下,一些最基本的控件(如STANDARD页和ADDTIONAL页的),不用任何修改就能用,其他的有可能用不了,随着以后移植的增多,相信大部分都能用,但在运行的时候,老会出现一个DOS窗口,不知道是啥原因,我还没搞清楚。

5)语言区别:

都是OBJECT PASCAL语言,高度兼容DELPHI ,其类,封装,关键字等都一样,但我发现,FPC在某些方面引用了C的风格,如:+=、 -= 、*=、/=。而在DELPHI中,这是不行的,从我个人角度看,不赞成这种写法,这会让代码变得复杂,破坏PASCAL语言的简明。RTL运行库的函数也几乎全部一样,真的很佩服那些牛人,要搞出这样的东西出来,确实要花不少心血的哦!

在FPC的2.4最新版本中,引进了FOR .. IN .. .DO循环,可以兼容DELPHI 2010了。其实我觉得PASCAL语言中,要把FOR … TO … DO 改进下,增加一个STEP,这样就可以加快某些情况下的循环,而现在只能每次加1个,效率有时候就低了。其他语言都可以的,比如 MODULA都有,不知道以前的BORLAND和现在的CODEGEAR为啥不加?很难吗?

在UNICODE支持方面,FPC早就支持了,DELPHI 直到2009才开始。FPC用的UTF8,DELPHI 用的UCS-2方式。

在测算的时候是不同的,比如一个字符串:“abcdefg程序”,如果在DELPHI 2010中,用LENGTH算出的长度是9,而在FPC中则是13。在UTF8中,非ASCII码用三字节编码,而在DELPHI 中,无论中文英文,都看成是一个字。所以才造成这样的区别。

所以同样的字符串在DELPHI 和FPC中得出不同的长度,千万不要大惊小怪。

在64位支持方面:FPC早就有了,而DELPHI 现在都还没点影,真搞不懂那么多专业工程师怎么干不过这些业余的呢?DELPHI 这几年确实太没落了,啥也没改进,整天跟MS后面玩.NET,结果玩到半途,发现这样玩下去,小命也没了,才又反回来。可惜浪费太多时间了。

6)代码编辑器:

我个人感觉,其编辑器要比DELPHI 7好用,风格跟DELPHI 2010差不多。

7)编译效率:

FPC比DELPHI 要慢一些

8)执行效率:

我写过一个对整数的快速排序算法,随机生成个数,存在数组中,数据规模是5000万,FPC比DELPHI 7要慢30%。

我又测试了浮点数计算:数据规模也是5000万,测试时候分成二个方面:

一个是只做基本的加减乘除:如这样的公式 sum := sqrt(sum+((arr_float[i] / arr_float[i-1]) / 7.7) * 0.056) ; FPC也是比DELPHI 7慢30%左右。

但在进一步测试科学计算时,FPC慢很多了,将近慢1.5倍。如增加了一条语句: sum := power(sum,random * 1.5)+sin(100 * 3.14/180)+cos(100 * 3.14 /180)+log10(sum * 100); 也就是说,FPC在进行POWER,SIN,COS,LOG等函数计算时,效率下降很快,我大致看了下,发现RTL中,FPC是用PASCAL写的函数,而DELPHI 很多使用汇编写的。但如果只是语言差异,效率应该也不会下降那么多,应该还跟一些算法有关。

在这方面,FPC应该还有很大的改善空间,一是提升编译器本身,二是改进RTL库。在RTL库方面,DELPHI 最新的版本中,都引进了开源的FASTCODE,我想FPC应该也可以引进,移植到FPC上面来,这样就可以利用开源的成果,快速提高RTL品质,如果什么都要自己造轮子的话,那效率就会太慢了。

如果FPC在整体效率上能与DELPHI 缩小到10%左右的差距时候,那FPC的实际应用领域就大大拓展了!会给DELPHI 造成极大的威胁。

顺便提一下,前几天下了个DELPHI 2010,跟DELPHI 7对比测试后,发现DELPHI 2010要比DELPHI 7慢那么一点点,大概在3-5%之间。当然,DELPHI 2010也加了很多花哨的东西,比如泛型模板、反射等,由于没有许可,只能用14天,还时不时弹出公司试用许可警告,要重新启动才能用,一怒之下,把它删除了。

9)程序体积:

不得不说,FPC编译后的程序体积太大了,当然,如果去掉调试信息后,体积可大幅度减少,但还是比DELPHI 大很多,这是非常需要改进的地方。

10)结论:

总体上,FREE PASCAL已经很不错了,做一些要求不是很高的软件开发,没啥问题。同时其发展速度很快,假以时日,应该会有很好的表现,特别对于需要做跨平台的开发,FPC是一个非常好的选择。

(责任编辑:IT教学网)

更多