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

2025年(4)

我的朋友
最近访客

分类: LINUX

2025-07-16 12:30:22

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

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


  MAX_RETRY = 3;       // {BANNED}最佳大重试次数
  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 提供
阅读(39) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~