Delphi入门

2024-09-04 00:04
文章标签 入门 delphi

本文主要是介绍Delphi入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Delphi入门

  • 一、初识
    • 1.单元文件
      • 1.1 interface部分
      • 1.2 implementation部分
      • 1.3 initialization部分
      • 1.4 finalization部分
  • 二、基本数据类型
    • 1.定义一个变量
      • 1.1 变量的声明
      • 1.2 变量的赋值
      • 1.3 变量的定义
    • 2.定义一个常量
    • 3.定义一个枚举类型
    • 4.定义一个子界
    • 5.定义一个集合
      • 5.1 集合的赋值
      • 5.2 集合的并交差运算
      • 5.3 集合的关系运算
    • 6.定义一个记录类型
    • 7.定义一个指针类型
  • 三、运算符

一、初识

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.单元文件

在 Delphi 中,单元(Unit)是组织代码的基本结构。每个单元通常包括接口部分、实现部分以及可选的初始化和结束部分。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个 Delphi 单元文件(.pas 文件)通常分为四个主要部分:

  • interface:接口部分,声明对外可见的常量、类型、变量和过程/函数。
  • implementation:实现部分,定义接口部分声明的过程/函数的具体实现。
  • initialization:初始化部分,包含单元初始化时要执行的代码(可选)。
  • finalization:结束部分,包含单元结束时要执行的代码(可选)。

1.1 interface部分

用途:

interface 部分声明单元对外公开的内容,包括常量、类型、变量、过程和函数等。这些声明可以被其他引用此单元的单元或程序使用。

组成

  • uses:声明此单元依赖的其他单元。任何放在 uses 子句中的单元都将被引入并可用于当前单元的接口部分。
  • 声明的常量、类型、变量、过程和函数等。

1.2 implementation部分

用途implementation 部分包含了 interface 部分中声明的过程和函数的实现细节。这部分的内容对于使用该单元的其他单元或程序是不可见的。

组成

  • uses:如果需要在实现部分引用其他单元,这里可以再次使用 uses 子句声明。这部分的 uses 子句仅对实现部分有效。
  • 具体的过程和函数的实现代码。

1.3 initialization部分

用途initialization 部分用于定义单元初始化时要执行的代码。当单元被加载时,这部分代码会自动执行。

注意:在 initialization 部分中,你可以执行一些初始化操作,如变量的初始赋值、对象的创建等。

1.4 finalization部分

用途finalization 部分定义了在单元卸载时要执行的代码,通常用于清理资源、释放内存等操作。

注意:这部分的代码在程序退出时自动执行。

二、基本数据类型

  • 整型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 实数:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 字符类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 布尔类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.定义一个变量

1.1 变量的声明

var 变量名:数据类型;

1.2 变量的赋值

变量名:=变量的值;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.3 变量的定义

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.定义一个常量

  • 不指定常量类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 指定常量类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.定义一个枚举类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.定义一个子界

“子界”(Subrange)是 Pascal 语言中的一个概念,它允许程序员定义一个变量的取值范围,以确保该变量只接受特定范围内的值。这在编写安全和高效的代码时非常有用,因为它通过限制值的范围来减少错误的发生。子界类型可以用于整数、字符和枚举类型等。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

type子界名 = 下界..上界;

5.定义一个集合

在 Pascal 语言中,集合(Set)是一种非常有用的数据结构,它可以存储一组同一类型的元素,并且提供了方便的操作来检查元素是否属于集合、添加或删除元素、以及进行集合的并集、交集和差集操作。

语法

typeSetName = set of ElementType;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.1 集合的赋值

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.2 集合的并交差运算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.3 集合的关系运算

6.定义一个记录类型

在 Pascal 中,记录类型(Record)是一种非常有用的数据结构,用于将不同类型的多个数据元素组合在一起,形成一个逻辑上的整体。这种类型特别适合表示复杂的数据结构,比如表示学生信息、员工信息、点的坐标等。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 实现一个学生信息管理系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7.定义一个指针类型

指针是一个变量,它存储另一个变量的内存地址。通过指针,你可以访问、修改该地址中的数据。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

varP: ^Integer; // 声明一个指向 Integer 类型的指针X: Integer;
beginX := 42;P := @X; // P 指向变量 X 的地址Writeln(P^); // 输出 42,即通过指针访问 X 的值
end;

在这个例子中,P 是一个指向 Integer 类型的指针。@X 取得变量 X 的内存地址,然后将其赋值给 PP^ 表示指针 P 指向的地址所存储的值,即 X 的值。

指针在动态内存分配中非常重要。Delphi 提供了 NewDispose 过程来分配和释放内存。

  • New:为指针分配内存。
  • Dispose:释放指针所指向的内存。
varP: ^Integer;
beginNew(P);       // 分配内存P^ := 100;    // 给指针指向的内存赋值Writeln(P^);  // 输出 100Dispose(P);   // 释放内存
end;

三、运算符

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 算术运算符: + - / * div(整除) mod(求模、求余数)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 关系运算符

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于Delphi入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134420

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

C语言指针入门 《C语言非常道》

C语言指针入门 《C语言非常道》 作为一个程序员,我接触 C 语言有十年了。有的朋友让我推荐 C 语言的参考书,我不敢乱推荐,尤其是国内作者写的书,往往七拼八凑,漏洞百出。 但是,李忠老师的《C语言非常道》值得一读。对了,李老师有个官网,网址是: 李忠老师官网 最棒的是,有配套的教学视频,可以试看。 试看点这里 接下来言归正传,讲解指针。以下内容很多都参考了李忠老师的《C语言非

MySQL入门到精通

一、创建数据库 CREATE DATABASE 数据库名称; 如果数据库存在,则会提示报错。 二、选择数据库 USE 数据库名称; 三、创建数据表 CREATE TABLE 数据表名称; 四、MySQL数据类型 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串类型 4.1 数值类型 数值类型 类型大小用途INT4Bytes整数值FLOAT4By

【QT】基础入门学习

文章目录 浅析Qt应用程序的主函数使用qDebug()函数常用快捷键Qt 编码风格信号槽连接模型实现方案 信号和槽的工作机制Qt对象树机制 浅析Qt应用程序的主函数 #include "mywindow.h"#include <QApplication>// 程序的入口int main(int argc, char *argv[]){// argc是命令行参数个数,argv是