• 在MAC安装Lazarus & 起点 - 我们的第一个Lazarus程序!


    安装Lazarus

    首先到Lazarus官网,找到合适的版本下载页面,比如Mac的版本:

    https://sourceforge.net/projects/lazarus/files/Lazarus%20macOS%20x86-64/Lazarus%203.4/

    将三个文件都下载到本地,需要安装这三个文件:

    下载后双击安装,如果因为安全原因不允许安装,那么按住shift之后双击进行安装。

    启动后,就进入了Lazarus的IDE主界面。

    下面开始我们的第一个Lazarus程序!

    Lazarus Tutorial/zh CN - Lazarus wiki

    起点 - 你的第一个Lazarus程序!

     启动后的界面

    启动后,桌面上将出现很多窗口:顶部是主菜单,左面是对象观察器,Lazarus源代码编辑器将占据大部分的桌面,而一个预置的Form1窗体将覆盖在源代码编辑器的上面。

    如果是中文系统的话,那么默认将是中文界面。如果使用GTK库的话,注意使用GTK2,因为GTK1对中文的支持不好。

    创建按钮

    在顶部的主菜单上,菜单分隔线的下面有一排标签。如果Standard标签还未被选中,单击选中它。然后找到TButton图标(一个有OK字样的矩形),单击Tbutton图标,然后在Form1窗体上找个宽敞的地方单击一下。一个有着"Button1"标题的矩形按钮就出现了。重复一次,你将获得"Button2"按钮,建议你把它放到Button1的右面。

    现在单击Button1选中它,左侧的对象观察器上将出现Button1对象的所有属性。找到名为Caption的属性(你可以在"收藏夹"标签下更方便地找到它),现在这个属性的值是"Button1"。单击显示着"Button1"的方格,把里面"Button1"文本改成"Press",当你按下Enter(或者单击别的方格)后,你会看见Form1窗体上的Button1按钮上的文本变成了"Press"。然后找到对象观察器上的"事件"标签,你会看见可以给Button1关联很多事件(Event),包括OnClick,OnEnter,OnExit等等。选择OnClick右边的空白方格,将出现一个显示"..."(三个点,也就是省略号)的小方格,在这个方格上单击,你将自动跳转到源代码编辑器,同时你的光标会处于一段过程(procedure)代码中:在其中输入:

    Button1.caption := 'Press again';

    按下F12选中Form1窗体。(发现MAC下按F12无法选中From1窗体,可以在窗口里选择From1窗体)

    然后我们来编辑Button2的属性,将Caption修改为"Exit",然后选择OnClick事件,单击那个显示"..."的小方格,你又回到了源代码编辑器,光标位于另一段过程代码的中间:

     procedure TForm1.Button2Click(Sender: TObject);
     begin
       {输入:}
       Close;
     end;

    由于中间出现问题,重新新建项目

    重新新建项目

    按前面的步骤创建按钮

    运行程序

    现在可以尝试编译这个程序了。最简单的方法是在顶部主菜单中选择"运行",在弹出的子菜单中选择"运行"(你也可以使用快捷键F9,在MAC下是Commond R)。如果一切顺利,你的程序将被编译执行。

    所有的编译信息都会出现在底部的"消息"窗口中。最终,一个没有刻度标记(编辑状态下才会出现)的Form1窗口将出现在屏幕上。这是你的应用程序的主窗口,它正等着你去按按钮(以及其他操作)。

    尝试下点击Press按钮,你会发现按钮的标签变成了"Press again"。之后你再怎么按,它依然显示"Press again"。

    现在点击Exit按钮,窗口将关闭,程序也就终止了(在MAC下按了两次才关闭。。。)。编辑状态下有着丑陋刻度标志的Form1又回到了屏幕上,准备接受更多的修改完善。

    现在你应该保存你的工作了(你应该经常这么做!),选择顶部主菜单上的" 工程 > 保存工程 "来保存工程文件。

    修改项目

    在Form1窗体上选择Press按钮("Button1")。

    在"事件"标签中选择OnClick,点击出现的"..."方格,来回到源代码编辑器。

     procedure TForm1.Button1Click(Sender: TObject);
    {这段代码使用了Button1的Tag属性,使Tag属性在0和1之间转换}
     begin
       if Button1.tag =0 then
       begin
         Button1.caption := 'Press again';
         Button1.tag := 1
       end else
       begin
         Button1.caption := 'Press';
         Button1.tag := 0
       end
     end;

    这样按钮1可以来回在Press again和Press之间切换。

     调试项目

    第三步 常用调试方法

    有时候需要一些直接有效的打印出调试内容,比如像VB 下的 Debug.print 可直接在立即窗口中打印出调试内容

    可以使用

     WriteLn('XXXX ', XXX); 
    
     Write('XXXXXX');   
    

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

    异常通知

    只需要在文件头部加入预编译指令(Mac下不需要加这句)

     {$APPTYPE CONSOLE}
    

    这样调试时会弹出一个类dos对话框,输出调试的内容

    (这里没有测试成功,没有找到调试输出的内容)

    常用技巧

    lazaurs的编辑器蛮强大的,支持代码补全,自动完成,模板编辑,多行缩进注释,选定代码后批量更改里面的单词!

    1.代码补全

    按下键盘的Ctrl+W键!输入变量后按下这个键就OK啦~

    MAC下不行。

    2.自动完成

    自动完成的快捷键大多数都冲突了,解决方法是打开 工具(T)->选项...->编辑器->键盘映射->CodeTools命令->标识符自动完成 上右键 编辑 ,然后根据实际情况修改吧,我的是再勾选Alt,也就是说,我的热键是Ctrl+Alt+Space!

    MAC下是在Lazarus-选项-编辑器-键盘映射-Code Tools-标识符自动完成 上面编辑,默认是Ctrl+Space

    3.模板编辑

    这个也蛮简单,按下键盘的Ctrl+J,然后输入class,回车!是不是很酷!

    Mac下是“代码模版”?

    4.多行缩进注释

    缩进的:向左 -> Ctrl+U

    向右 -> Ctrl+I(选中多行代码更爽)

    多行注释:Ctrl+/

    5.选定代码后批量更改里面的单词

    先选中几行代码(需要修改的代码段),然后点击编辑器左边显示行号左边的那支笔。

    这个时候你可以输入b,变量a就全部改为b,还可以按下tab跳到下一个单词。

    6.编辑器的高亮

    
    
     
       
         
       
       
         
           
           
             
           
         
       
       
       
         
       
       
         
           
           
             
             
             
             
             
             
             
             
             
             
           
         
         
           
             
           
         
         
           
             
             
             
             
             
             
             
             
             
             
             
           
         
       
       
       
         
       
       
         
           
             
           
           
             
           
           
             
           
           
             
           
           
             
             
           
         
       
     
    

    总结

    通过本次实践,对Laraus有了初步了解,可以做一个带按钮的窗体,并在按钮触发代码。

    现在存在的问题就是跟踪信息还看不到。另外MAC下窗体布局有点问题。

    调试

    放置按钮的时候发现按钮位置变动

    按钮和鼠标配置不匹配,不明白什么原因,而且后面发现点中按钮2还是现实按钮1的属性,并且无法进入按钮2的事件。总之全乱了。

    可以在对象查看器选择按钮1或2。

    在按钮Caption里面写的时候报错

    每写一个字母,都会弹出一个报错对话框

     

    结合前面那些错误,关闭项目,重新新建项目

     在Mac下点击Exit按钮,按了两次才关闭程序

    不知道什么原因。好像每个按钮都需要按两次。。。。是不是设定的双击? 大约就是双击,在Mac下。

    破案了,是鼠标的问题,用MAC的触摸板就没这个问题了。

    小技巧:Laraus里面用大括号来注释

    除了用双斜线注释外,还可以用大括号来注释,大括号里可以放多行。

    调试时报错expected but "identifier WRITELN" found

    编译项目,目标:/Users/skywalk/Documents/project1: 退出代码1,错误: 1
    unit1.pas(57,2) Error: Syntax error, ";" expected but "identifier WRITELN" found

    前面一句话需要‘;’加上,问题解决。

    Free Pascal里面有些语句后面带分号,有些不带,不太明白。。。。

    laraus 调试write没有输出怎么办?  

    暂时没解决。

  • 相关阅读:
    Java基础
    ssm+java+vue家乡农产品特产销售商城小程序#毕业设计
    VSCode导出markdown为网页时带有目录
    tomcat跨域问题CORS踩坑点
    零基础html学习/刷题-第二期
    虚拟数字人简介
    【Kyuubi】Apache Kyuubi 1.8 特性解读
    flink操作hudi数据表
    Redis的事务管理
    SpringBoot 项目实战 ~ 7. 短信验证码登录
  • 原文地址:https://blog.csdn.net/skywalk8163/article/details/140992238