Delphi 基础语法

本文详细介绍了Delphi编程的基础知识,包括Pascal语言特性、变量和常量定义、循环与条件语句、过程与函数、枚举与记录类型、字符串处理、TStringList和TList使用、动态与静态数组,以及一些常用函数的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

      Delphi 基于Pascal语言,VCl可视化组件开发,采用拖动控件的形式实现,设置对应的属性绑定对应的事件,实现高效快速开发的效果。

2、语法基础

    可参照Pascal语法精要进行学习。

   1、如何定义变量

       

2、如何定义常量

3、循环语句

 1、for var i := 0 to 100 do

2、for var i := 100  downto 1 do

3、var icount :=0;

 while(icount<=100)do

         begin

            inc(icount);

        end;

4、条件语句

   if  条件 then

  begin

  end;

  case  字符变量/整型变量  of

   begin

   条件1:

   条件2:

   条件3:

   end;

5、简化代码语句

如  with query do

begin

  close();

  sql.text :='';

  open();

end;

6、过程与函数

 过程是没有返回值的:如 Procedure Add(a,b: integer);

Procedure Add(a,b: integer);

var 

c: integer;

begin

c :=a+b;

showmessage(c.tostring());

end;

函数是有返回值的: 如: function Add(a,b: integer):integer;

function Add(a,b: integer):integer;

begin

resullt :=a+b;

end;

procedure Main.btnClick(Sender);

begin

var c :=Add(a+b);

showmessage(c.tostring()) ;

end;

7、枚举类型和记录类型

枚举类型
Job =(doctor,engineer,teacher,student);

var

 jobs: job;

begin

jobs :=student;

jobs :=teacher;

end;

记录类型

type
  ThresholdParam = ^PThresholdParam;

  PThresholdParam = record
    isChkV: Boolean;
    isChkA: Boolean;
    MaxLimitV, MinLimitV, MaxLimitA, MinLimitA: Double;
  end;

 procedure Tfrm_item.btnSaveClick(Sender: TObject);
var
  rec: ThresholdParam;
begin
  rec.isChkV :=True;
  rec.MaxLimitV :=2.00;
  rec.isChkA :=True;
  rec.MaxLimitA :=3.00;
end;

8、string、TstringList、TList<T>的运用

string 的用法

var str :='hello word,你好,Delphi';

判断是否包含或它的下标位置

if pos("hello",str)>0 then showmessage("包含");

index := pos("hello",str);

字符串分割

var arrstr :=str.split([',']);

var str1 :=arrstr[0];//hello word

var str2 :=arrstr[1];//你好

字符串替换

str :=str.replace("hello",'''');

字符串截取

str :=str.substring(0,length(str)-1);

字符串去掉空格

str := trim(str);

字符串换行

str :=str+#13#10;

TstringList的用法

var

list :TstringList;

begin

 try

  list :=Tstringlist.create;

 list.add('添加')//添加元素

 list.Delete(0);//删除索引0下表元素

 list.indexof("你好")//获取该字符串的下标

list.values['nihao'] :='12344';

键值对存储

格式为:’nihao=12344‘

  listmap.LoadFromFile(文件路径);加载文件中的字符

  finally

 list.free;

end;

end;

Tlist<T>的用法,泛型集合应用    单元Generics.Collections,

  TmyTime = class(TUniThreadTimer)//定义一个定时器类

var

    listTime: TList<TmyTime>;

   myTime: TmyTime;

begin

listTime :=TList<TmyTime> .create;

myTime := TmyTime.create;

listTime.add(myTime );

listTime[0]可以调用TmyTime方法属性;

调用完需要释放

for var i:=0 to listTime.count-1

begin

listTime[0].free;

end;

listTime.free;

end;

如果用到Tlist的话

 listTime: TList;

myTime := TmyTime.create;

   listTime.Add(Pointer(myTime ));

listTime.indexof(TmyTime(myTime ));获取下标;

9、动态数组与静态数组

静态

var   arr: array[0..2] of Integer;

begin

arr[0] :=10;

arr[1] :=10;

arr[2] :=10;

for var i :=0 to length(arr)-1 do

begin

  showmessage(arr[i].tostring);

end;

end;

动态

var   arr: arrayof Integer;

begin

setlength(arr,2);//需要手动设置长度

arr[0] :=10;

arr[1] :=10;

arr[2] :=10;

for var i :=0 to length(arr)-1 do

begin

  showmessage(arr[i].tostring);

end;

end;

10、常用函数

str :="20";

strtoint(str);//字符串转int   

inttostr(2)//int转字符串

copy(原字符串,起始下标,终止下标);

FileExists(文件)//判断文件是否存在;

length(str)//获取字符串长度

FloatToStr//浮点转字符串

只列举个别,实际用到参考

   

  

### Delphi 基础语法教程 #### 1. 工程文件结构 Delphi 的项目通常由两个主要部分组成:`.dpr` 文件和 `.pas` 文件。 - **DPR 文件** 是项目的入口点,定义程序的初始化过程以及主窗体的创建逻辑[^1]。 ```delphi program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end. ``` - **PAS 文件** 定义单元(unit),其中包含类声明和其他代码逻辑[^1]。 ```delphi unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} end. ``` --- #### 2. 标识符与变量 在 Delphi 中,标识符用于命名变量、常量、函数等。以下是基本规则: - 只能包含字母、数字和下划线 `_`。 - 必须以字母开头。 - 不区分大小写。 示例: ```delphi var MyVariable: Integer; // 整型变量 AnotherVar: Double; // 浮点数变量 ``` --- #### 3. 数据类型 Delphi 支持多种数据类型,常见的有以下几种: | 类型 | 描述 | |------------|--------------------------| | `Integer` | 有符号整数 | | `Double` | 浮点数 | | `String` | 字符串 | | `Boolean` | 布尔值 (`True`, `False`) | 示例: ```delphi var Age: Integer; // 年龄 Name: String; // 名字 IsStudent: Boolean; // 是否学生 ``` --- #### 4. 过程与函数 过程(Procedure)和函数(Function)是实现功能的核心组件。区别在于函数可以返回值,而过程不能。 ##### (1) Procedure 示例 ```delphi procedure Greet(Name: String); begin ShowMessage('Hello, ' + Name); end; ``` ##### (2) Function 示例 ```delphi function Add(A, B: Integer): Integer; begin Result := A + B; end; ``` 调用方式: ```delphi Greet('John'); // 调用过程 ShowMessage(IntToStr(Add(5, 7))); // 调用函数并显示结果 ``` --- #### 5. 控件事件处理 控件事件通过绑定到特定的过程来响应用户的操作。例如按钮点击事件: ```delphi procedure Tfrm_item.btnSaveClick(Sender: TObject); var rec: ThresholdParam; begin rec.isChkV := True; // 设置布尔值 rec.MaxLimitV := 2.00; // 设置最大电压限制 rec.isChkA := True; // 设置电流检测标志 rec.MaxLimitA := 3.00; // 设置最大电流限制 end; ``` --- #### 6. 集合类型的使用 集合类型如 `TStringList` 和泛型容器 `TList<T>` 提供了强大的数据管理能力。 ##### (1) TStringList 使用 ```delphi var List: TStringList; begin List := TStringList.Create; try List.Add('Item 1'); List.Add('Item 2'); for i := 0 to List.Count - 1 do Writeln(List[i]); finally List.Free; end; end; ``` ##### (2) TList<T> 使用 ```delphi uses Generics.Collections; var Numbers: TList<Integer>; begin Numbers := TList<Integer>.Create; try Numbers.Add(10); Numbers.Add(20); for Number in Numbers do Writeln(Number); finally Numbers.Free; end; end; ``` --- #### 7. 条件语句与循环 条件判断和循环控制是编程中的重要组成部分。 ##### (1) If 判断 ```delphi if Age >= 18 then ShowMessage('Adult') else ShowMessage('Minor'); ``` ##### (2) For 循环 ```delphi for I := 1 to 10 do Write(I, ' '); ``` ##### (3) While 循环 ```delphi while Count < 5 do begin Inc(Count); WriteLn(Count); end; ``` --- #### 8. 异常处理 异常处理机制能够捕获运行时错误并优雅地应对它们。 ```delphi try StrToInt('NotANumber'); except on E: Exception do ShowMessage('Error: ' + E.Message); end; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值