当前位置: 首页 > article >正文

Object Pascal 基本数据类型

Object Pascal 基本数据类型


注:以下标红的表示最常用的数据类型

整数类型

类型大小
Integer有符号32位
Cardinal无符号32位
Shortint有符号8位
Smallint有符号16位
Longint有符号32位及以上,具体取决于编译器和平台
Byte无符号8位
Word有符号16位
LongWord有符号32位及以上,具体取决于编译器和平台

实数类型

类型大小
RealDelphi 中通常等同于 Double,表示双精度浮点数
Single单精度浮点数,精度较低但占用空间小
Extended扩展精度浮点数,精度高于 Double,但与其他平台的兼容性较差
Currency专门用于处理货币值的类型,保证至少4位有效小数位

字符类型

类型大小
Char标准的字符类型,存储单个字符,占用一个字节,与 AnsiChar 等同
AnsiChar主要存放 ANSI 字符,占用一个字节
WideChar主要存放 Unicode 字符,占用两个字节在 Delphi 7 中实现为 16 位

字符串类型

类型大小
String默认情况下String是AnsiString的别名
ShortString在0到255个字符之间
AnsiString它是动态分配的,长度没有限制
WideString用于存储Unicode字符,每个字符占用两个字节(在UTF-16编码下)

布尔类型

类型大小
Boolean标准的布尔类型,取值为 False 和 True
ByteBool1个字节
WordBool2个字节
LongBool4个字节

其他基本类型

  • Enumerated 枚举类型(定义一系列有序值的集合,元素一般从 0 开始连续索引)
  • Subrange 子界类型(也是定义了一系列有序值的集合,但子界的有序值必须是在别的有序类型中定义过的)

示例代码

	program BasicDataTypesDemo;  
  
type  
  TMyEnum = (FirstValue, SecondValue, ThirdValue);  
  TMySubrange = 1..100;  
  
var  
  i: Integer;  
  f: Real;  
  c: Char;  
  b: Boolean;  
  e: TMyEnum;  
  s: TMySubrange;  
  n: String;
  
begin  
  i := 10;  
  f := 3.14;  
  c := 'A';  
  b := True;  
  e := SecondValue;  
  s := 50;  
  n:= ’HelloWorld‘;
  
  // 在这里可以进行更多的操作,比如输出这些变量的值  
end.


Object Pascal 中的保留字


注:只列举了一部分

一、控制结构:

  1. ifthenelse:用于条件判断
  2. caseof:用于多分支选择
  3. fortodowntowhilerepeatuntil:用于循环控制

二、数据类型:

  1. integerrealcharstringboolean等:用于声明基本数据类型

三、声明和定义:

  1. var:用于声明变量
  2. const:用于声明常量
  3. type:用于定义新的数据类型
  4. classinterfaceobject:用于面向对象编程中的类、接口和对象声明

四、异常处理:

  1. tryexceptfinallyraise:用于异常处理

五、访问修饰符:

  1. publicprivateprotected:用于控制类或对象的成员访问权限

六、其他:

  1. procedurefunction:用于定义过程和函数
  2. beginend:用于定义代码块的开始和结束。
  3. asm:用于内嵌汇编语言代码。
  4. constructordestructor:用于类的构造和析构函数。


变量的声名


var 表示下面将定义一个或多个变量,多个以逗号分割

procedure 下声名的变量为局部变量

	procedure TMainForm.ShowProcessListButtonClick(Sender: TObject);
var
  resu,resu2: integer; 
begin
	// 作用域只在这部分
end;  

在单元 implementation 部分声名的变量是单元级变量

	procedure TMainForm.ShowProcessListButtonClick(Sender: TObject);
var
  resu: integer;
begin
	// 作用域只在这部分
end;  

implementation
var 
  resu: integer;
	// 作用域在之后都有效

interface 部分定义的变量是全局变量,其他引用该单元的单元也可以使用

interface
var
  resu: integer; 

http://www.kler.cn/news/302417.html

相关文章:

  • 宝马销量崩了,自己作死拦都拦不住
  • 压测服务器并使用 Grafana 进行可视化
  • (不用互三)AI绘画工具大比拼:Midjourney VS Stable Diffusion该如何选择?
  • 【JUC】16-Java对象内存布局和对象头
  • C和指针:指针
  • 超越博士水平:OpenAI o1模型在科学和编程领域的卓越表现
  • 【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)
  • SpringBoot学习(11)MongoDB使用
  • 栈和队列的算法题目(C语言)
  • 8月更新速递丨秋风送爽,EasyTwin产品能力升级不停~
  • 叉车智能ai防撞系统解决方案
  • TS 常用类型
  • 小程序的右侧抽屉开关动画手写效果
  • Linux网络服务只iptables防火墙工具
  • 网络编程day04(UDP、Linux IO 模型)
  • Hive SQL基础语法及查询实践
  • Linux网络:网络套接字-TCP回显服务器——多进程/线程池(生产者消费者模型)
  • “区块链积分系统:支付安全与效率的新篇章
  • 内外网文件安全交换如何做到?
  • 春日美食汇:基于SpringBoot的订餐平台
  • windows vscode ssh 连接远程服务器
  • 工厂模式(二):工厂方法模式
  • 使用Python或者GO实现OTP令牌的获取
  • <Linux> 基础IO
  • 利用物化视图刷新同步表记录
  • 从概念到现实,国际数字影像产业园如何打造数字文创产业标杆?
  • Android 开发避坑经验(2):深入理解Fragment与Activity交互
  • 宽哥之家小程序任务脚本
  • 服务器深度解析:五大关键问题一网打尽
  • CentOS 7 上安装 Docker