(delphi11最新学习资料) Object Pascal 学习笔记---第3章第一节(简单语句与复合语句)
Object Pascal 学习笔记,Delphi 11 编程语言的完整介绍 作者: Marco Cantu 笔记:豆豆爸
3.1 简单语句与复合语句
编程指令通常称为语句。一个程序块可以由多个语句组成。有两种类型的语句,简单语句和复合语句。当语句不包含任何其他子语句时,称为简单语句。在 Object Pascal 中,简单语句用分号分隔:
X := Y + Z; // 赋值语句
Randomize; // 过程调用
要定义复合语句,您可以在 begin 和 end 关键字之间包含一个或多个语句,这对关键字充当多个语句的容器,其作用类似于 C 及其衍生语言中的花括号,但并不完全相同。复合语句可以出现在一个简单 Object Pascal 语句可以出现的任何地方。以下是一个示例:
beginA := B;C := A * 2;
end;
复合语句的最后一条语句(即 end 之前)后面的分号不是必需的,就像下面这个例子中一样:
beginA := B;C := A * 2
end;
以上两个版本都是正确的。第一个版本有一个无用(但无害)的最后的分号。实际上,这个分号是一个空语句,即没有代码的语句。这与许多其他编程语言(如基于 C 语法的语言)非常不同,其分号是语句终止符号(而不是分隔符),并且始终在语句的末尾,而且是必需的。
请注意,有时候在循环内或其他特殊情况下,可以特定地使用空语句代替实际语句,例如:
while condition_with_side_effect do; // 空语句
尽管这些最终的分号没有任何作用,但大多数开发人员倾向于使用它们,我建议您也这样做。有时,在编写了几行代码后,您可能想要添加一条或多条语句,如果最后一个分号不见了,你就必须记得添加它;因此,通常最好在一开始就添加它。我们马上就会看到,添加额外分号的规则有一个例外,那就是当下一个元素是条件语句中的 else 语句时。
相关文章:
(delphi11最新学习资料) Object Pascal 学习笔记---第3章第一节(简单语句与复合语句)
Object Pascal 学习笔记,Delphi 11 编程语言的完整介绍 作者: Marco Cantu 笔记:豆豆爸 3.1 简单语句与复合语句 编程指令通常称为语句。一个程序块可以由多个语句组成。有两种类型的语句,简单语句和复合语句。当语句不包含任何其他子语…...
Unity - 简单音频
“Test_04” AudioTest public class AudioTest : MonoBehaviour {// 声明音频// AudioClippublic AudioClip music;public AudioClip se;// 声明播放器组件private AudioSource player;void Start(){// 获取播放器组件player GetComponent<AudioSource>();// 赋值…...
SpringCloud中服务间通信(应用间通信)-亲测有效-源码下载-连载2
1、微服务概述 本案例主要解决微服务之间的相互调用问题 如果已经理解什么是微服务,可以直接跳到实战。 本案例采用springBoot3.1.7springCloud2022.0.4版本测试 本案例使用springboot2.7.x版本测试代码相同 1、微服务是分布式架构,那么为什么要需要…...
Axios取消请求:AbortController
AbortController AbortController() 构造函数创建了一个新的 AbortController 实例。MDN官网给出了一个利用AbortController取消下载视频的例子。 核心逻辑是:利用AbortController接口的只读属性signal标记fetch请求;然后在需要取消请求的时候࿰…...
【江科大】STM32:(超级详细)定时器输出比较
文章目录 输出比较单元特点 高级定时器:均有4个通道 PWM简介PWM(Pulse Width Modulation)脉冲宽度调制输出比较通道PWM基本结构基本定时器 参数计算捕获/比较通道的输出部分详细介绍如下: 舵机介绍硬件电路 直流电机介绍ÿ…...
Go 复合数据类型
1. 数组(array)(OK) 数组数组的概念数组是具有固定长度且拥有零个或多个相同数据类型元素的序列 i. 元素的数据类型相同 ii. 长度固定的序列 iii. 零个或多个元素的序列 与 slice 对比 由于数组的长度固定,所以在 G…...
Redis(01)——常用指令
基础指令 select 数字:切换到其他数据库flushdb:清空当前数据库flushall:清空所有数据库dbsize:查看数据库大小exists key1[key2 …]:判断当前的key是否存在keys *:查看所有的keyexpire key 时间ÿ…...
基本语法和 package 与 jar
3.基本语法 1.输入输出 // 导入 java.util 包中的 Scanner 类 import java.util.Scanner;// 定义名为 ScannerExample 的公共类 public class ScannerExample {// 主方法,程序的入口点public static void main(String[] args) {// 创建 Scanner 对象,用…...
本地读取Excel文件并进行数据压缩传递到服务器
在项目开发过程中,读取excel文件,可能存在几百或几百万条数据内容,那么对于大型文件来说,我们应该如何思考对于大型文件的读取操作以及性能的注意事项。 类库:Papa Parse - Powerful CSV Parser for JavaScript 第一步…...
【开源】基于JAVA的停车场收费系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…...
基于java+Springboot操作系统教学交流平台详细设计实现
基于javaSpringboot操作系统教学交流平台详细设计实现 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统…...
Nginx 基础使用
目录结构 进入Nginx的主目录我们可以看到这些文件夹 client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp其中这几个文件夹在刚安装后是没有的,主要用来存放运行过程中的临时文件 client_body_temp fastcgi_temp proxy_temp scg…...
JavaEE:多线程(2):线程状态,线程安全
目录 线程状态 线程安全 线程不安全 加锁 互斥性 可重入 死锁 死锁的解决方法 Java标准库中线程安全类 内存可见性引起的线程安全问题 等待和通知机制 线程饿死 wait notify 线程状态 就绪:线程随时可以去CPU上执行,也包含在CPU上执行的…...
Flutter 自定义AppBar实现滚动渐变
1、使用ListView实现上下滚动。 2、使用Stack:允许将其子部件放在彼此的顶部,第一个子部件将放置在底部。所以AppBar,写在ListView下面。 3、MediaQuery.removePadding:当使用ListView的时候发现,顶部有块默认的Padd…...
编程语言MoonBit新增矩阵函数的语法糖
MoonBit更新 1. 新增矩阵函数的语法糖 新增矩阵函数的语法糖,用于方便地定义局部函数和具有模式匹配的匿名函数: fn init {fn boolean_or { // 带有模式匹配的局部函数true, _ > true_, true > true_, _ > false}fn apply(f, x) {f(x)}le…...
Angular:跨域请求携带 cookie
新建拦截器,设置 XMLHttpRequest:withCredentials 属性 1. 新建文件夹 http-interceptors 该文件夹下可有多个不同用途的拦截器2. 新建拦截器 common.interceptor.ts import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from "an…...
【C++】list容器迭代器的模拟实现
list容器内部基本都是链表形式实现,这里的迭代器实现的逻辑需要注意C语言中指针的转换。 list容器如同数据结构中的队列,通常用链式结构进行存储。在这个容器中,我们可以模仿系统的逻辑,在头结点后设置一个“ 哨兵 ”,…...
Docker镜像操作
镜像名称 镜名称一般分两部分组成:[repository]:[tag]。 在没有指定tag时,默认是latest,代表最新版本的镜像。 这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。 镜像…...
【Java-框架-SpringSecurity】单点登录(认证和授权)- 随笔
项目文件; 【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】...
大数据开发之Scala
第 1 章:scala入门 1.1 概述 scala将面向对象和函数式编程结合成一种简洁的高级语言 特点 1、scala和java一样属于jvm语言,使用时都需要先编译为class字节码文件,并且scala能够直接调用java的类库 2、scala支持两种编程范式面向对象和函数式…...
Taotoken助力初创团队以可控成本构建AI应用原型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken助力初创团队以可控成本构建AI应用原型 对于资源有限的初创团队而言,快速验证AI功能是产品创新的关键一步&…...
DuClaw智能体:DuClaw接入钉钉
本文主要介绍如何为DuClaw配置钉钉消息渠道,配置后即可通过对应的钉钉机器人与DuClaw进行对话。 钉钉侧配置 步骤一:创建钉钉应用。 前往钉钉开发者平台(需有管理员权限),点击“创建应用”。 在左侧目录中选择“钉钉…...
嵌入式Linux CPU频率固定:原理、方法与ElfBoard实战
1. 项目概述:为什么需要固定CPU频率?在嵌入式开发领域,尤其是像ElfBoard这样的ARM开发板上进行应用开发或性能调优时,CPU频率的动态调整(DVFS,动态电压频率调整)有时会成为一把双刃剑。对于追求…...
Taotoken Token Plan套餐为高频用户带来的长期成本优势感知
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken Token Plan套餐为高频用户带来的长期成本优势感知 对于高频使用大模型API的开发者或团队而言,项目开发中的模…...
Nacos生产级集群部署实战:从架构设计到高可用验证
1. 项目概述:为什么Nacos集群部署是微服务架构的“定海神针” 在微服务架构的实践中,服务注册与发现、配置管理是两块基石。Nacos作为Spring Cloud Alibaba生态的核心组件,集这两大功能于一身,其重要性不言而喻。当你的业务从单机…...
隐私优先的本地数据处理:浏览器Cookie逆向工程解密
隐私优先的本地数据处理:浏览器Cookie逆向工程解密 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 🔍 颠覆性认知ÿ…...
Python开发被内网卡脖子?5分钟用Docker搭个Pypiserver救急(含避坑指南)
Python内网开发救星:Docker化Pypiserver极速搭建指南 当你在客户现场调试代码时,突然发现内网环境无法连接PyPI官方源;当你在保密项目部署时,发现所有外网访问都被严格限制——这种"被卡脖子"的困境,相信不少…...
从零开始将个人小项目的大模型API切换至Taotoken的过程与感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从零开始将个人小项目的大模型API切换至Taotoken的过程与感受 1. 迁移前的项目状态与动机 我维护着一个用于内容摘要和分类的个人…...
告别手动!用Allegro Testprep脚本批量处理测试点,效率提升200%
Allegro Testprep脚本自动化:高密度PCB测试点优化实战指南 在高速PCB设计领域,测试点布局常常成为制约项目进度的隐形瓶颈。当面对超过500个网络的高密度主板时,传统手动调整测试点的方式会让工程师陷入无尽的重复劳动——据统计,…...
告别手动复制粘贴!用Matlab脚本一键搞定A2L与ELF文件合并(附完整.m文件)
汽车电控标定工程师的自动化利器:Matlab脚本实现A2L与ELF文件智能合并 在汽车电子控制单元(ECU)开发过程中,标定工作是不可或缺的关键环节。传统的手动操作方式不仅效率低下,还容易引入人为错误。本文将详细介绍如何利…...
