Lazarus代码区域详解

unit Unit1; 

// 单元声明(必须与文件名一致)
// 例如:文件保存为 Unit1.pas,这里就必须是 unit Unit1;


{$mode objfpc}{$H+}  

// 编译器指令(类似C语言的宏定义)
// {$mode objfpc} → 启用对象Pascal扩展语法(类、继承等面向对象特性)
// {$H+} → 使用长字符串(默认设置,支持超过255字符的字符串)


interface  

// 【接口部分开始】
// 这里声明的内容可以被其他单元访问(相当于公开的API)


uses  

// 引用其他单元(类似C的#include或Java的import)
// 注意:Lazarus会自动添加窗体设计器需要的单元

  Classes,     // 基础类(包含TComponent等核心类)
  SysUtils,    // 系统工具(含文件操作、字符串处理等函数)
  Forms,       // 窗体核心(TForm类和相关功能)
  Controls,    // 控件基类(所有可视化控件的父类)
  Graphics,    // 绘图相关(画布、字体、颜色等)
  Dialogs,     // 对话框(ShowMessage、InputBox等)
  StdCtrls;    // 标准控件(按钮、输入框等)

const

// 【公开常量声明】
// 其他单元通过 Unit1.常量名 访问

  MAX_RETRY = 3;       // 最大重试次数
  APP_NAME = '我的应用'; // 应用程序名称

type

// 【类型声明】
// { TForm1 } 是Lazarus特殊标记,关联窗体设计器(不要删除!)

  { TForm1 }
  TForm1 = class(TForm)  // 主窗体类(继承自TForm)
    // ▼▼▼ 控件声明(由Lazarus自动生成,与窗体设计器同步)▼▼▼
    Button1: TButton;    // 按钮控件
    Edit1: TEdit;       // 文本输入框
    // ▲▲▲ 不要手动修改这些声明(设计器会自动维护)▲▲▲

    // ▼▼▼ 事件处理方法声明 ▼▼▼
    procedure Button1Click(Sender: TObject); // 按钮点击事件

  private
    
    // 【私有成员】
    // 仅限本单元内部使用(其他单元即使引用本单元也无法访问)
    // 命名建议:字段以F开头,例如 FUserName
    // 当前 .pas文件 所有位置都可以使用,其他单元 即使 uses 了当前单元,也不能使用  
    
    FUserName: string;          // 用户名
    FLoginCount: Integer;        // 登录次数计数器
    
    procedure InternalCheck;     // 内部校验方法(外部不可调用)
    // 用途:校验用户输入合法性
    // 调用条件:仅在数据提交前调用
    // 异常:可能抛出EInvalidInput
    
  public
    
    // 【公共成员】
    // 其他单元可通过 Unit1.Form1.成员名 访问
    // 当前 .pas文件 可以使用,以及 其他单元 uses 了当前单元 也可以使用  
   
    procedure SaveSettings;      // 保存配置方法
    property UserName: string read FUserName write FUserName; // 用户名属性
  end;

var

// 【全局变量声明】
// 当前单元所有代码均可访问(慎用全局变量!)

  Form1: TForm1;  // 主窗体实例(Lazarus自动创建)
  b : String; // 全局字符串变量B,在当前 .pas文件 的所有代码部分可使用  

implementation // 实现部分开始

// 【实现部分】
// 包含具体的代码实现


const  // 私有常量声明

// 【私有常量】
// 仅限本单元内部使用

  K: set of char = ['A'..'Z', 'a'..'z', '0'..'9']; // 合法字符集
  SECRET_KEY = 'ABC123'; // 加密密钥(外部不可见)

{$R *.lfm}

// 特殊指令:链接Lazarus窗体资源文件(.lfm)
// 重要:必须保留!否则窗体设计会丢失


{ TForm1 }

// 类方法实现


procedure TForm1.Button1Click(Sender: TObject);

// 按钮点击事件处理
// 参数 Sender 表示触发事件的对象(可用于区分多个按钮)

begin
  if Edit1.Text <> '' then
  begin
    ShowMessage('你好:' + Edit1.Text);
    FUserName := Edit1.Text;  // 保存到私有字段
  end;
end;

procedure TForm1.InternalCheck;

// 私有方法示例(外部无法调用)

begin
  // 校验逻辑...
end;

initialization

// 【初始化代码】
// 程序启动时自动执行(适合初始化全局资源)

  Randomize;  // 初始化随机数种子

finalization

// 【终结代码】
// 程序退出时自动执行(必须释放初始化分配的资源)

  if Assigned(GlobalConfig) then
    GlobalConfig := ''; // 清理全局变量

end.

本文由 减速带 niecu.com 提供

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值