delphi1
delphi自定义函数收集1

本文包含以下自定义函数:1、Base64编码函数。
2、Base64解码函数。
3、截取汉字子串函数,防止出现半个汉字现象。
4、人民币小写转换为大写函数。
1、Base64编码函数。
//Base64编码函数function Base64Encode(InputData: string): string;//; Var OutputData: StringconstBase64TableLength = 64;Base64Table: string[Base64TableLength] ='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+*'; Pad = '=';vari: integer;CurrentB, PrevB: byte;c: byte;s: char;InputLength: integer;OutputData: string;FilterDecodeInput: Boolean;function ValueToCharacter(value: byte; var character: char): Boolean;//******************************************************************// 将一个在0..Base64TableLength-1区间内的值,转换为与Base64编码相对应// 的字符来表示,如果转换成功则返回True//****************************************************************** beginresult := true;if (value > Base64TableLength - 1) thenresult := falseelsecharacter := Base64Table[value + 1];end;beginFilterDecodeInput := true;OutputData := '';InputLength := Length(InputData);i := 1;if (InputLength = 0) then begin// result := BASE64_OK;Exit;end;repeat// 第一次转换CurrentB := Ord(InputData[i]);i := i + 1;InputLength := InputLength - 1;c := (CurrentB shr 2);if not ValueToCharacter(c, s) then begin// result := BASE64_ERROR;Exit;end;OutputData := OutputData + s;PrevB := CurrentB;// 第二次转换if InputLength = 0 thenCurrentB := 0else beginCurrentB := Ord(InputData[i]);i := i + 1;end;InputLength := InputLength - 1;c := (PrevB and $03) shl 4 + (CurrentB shr 4);//取出XX后4位并将其左移4位与XX右移4位合并成六位if not ValueToCharacter(c, s) then{//检测取得的字符是否在Base64Table内} begin// result := BASE64_ERROR;Exit;end;OutputData := OutputData + s;PrevB := CurrentB;// 第三次转换if InputLength < 0 thens := Padelse beginif InputLength = 0 thenCurrentB := 0else beginCurrentB := Ord(InputData[i]);i := i + 1;end;InputLength := InputLength - 1;c := (PrevB and $0F) shl 2 + (CurrentB shr 6);//取出XX后4位并将其左移2位与XX右移6位合并成六位if not ValueToCharacter(c, s) then{//检测取得的字符是否在Base64Table内} begin// result := BASE64_ERROR;Exit;end;end;OutputData := OutputData + s;// 第四次转换if InputLength < 0 thens := Padelse beginc := (CurrentB and $3F); //取出XX后6位if not ValueToCharacter(c, s) then{//检测取得的字符是否在Base64Table内} begin// result := BASE64_ERROR;Exit;end;end;OutputData := OutputData + s;until InputLength <= 0;result := OutputData;end;2、Base64解码函数。
Delphi编程从入门到精通 01(共4册)

第1章Delphi使用概論第1章Delphi使用概論本書的第一章在內容上力求淺顯,其中甚至有一步接一步的操作說明,即使是從來沒有使用過Delphi的程式設計師,閱讀本章相信也不至於有任何問題。
我在這一章中示範性的完成一個簡單的應用程式,除了用以說明典型的Delphi的程式開發流程,並且也以這個實例探討Delphi專案是由哪些檔案所組成,接著是與寫作程式息息相關的工具,包括程式編輯器(Program Editor)、除錯器(Debugger)的使用等等。
Delphi程式開發流程典型的Delphi應用程式開發流程大致上可分為以下兩大步驟:☐設計包括視窗外觀、主選單、按鈕等等的使用者操作介陎。
☐撰寫使用者操作介陎引發的事件處理程序以及其他相關程式。
上述的兩大設計工作不論是介陎的設計或者程式的撰寫,都是在所謂的整合開發環境(IDE,Integrated Development Environment)中進行的,此環境不僅能在設計階段就對未來成品的外觀擁有立即的視覺效果,其他的開發工具如程式編輯器與除錯器等也都整合在同一個環境中隨手可得。
關於這些我在本章將會一一加以說明,首先,讓我們快速的瀏覽一遍Delphi的整合開發環11第一篇Delphi 與Object Pascal12境。
介紹Delphi的整合開發環境Delphi在啟動後,會自動幫我們建立一個新的專案,內含一個空白的視窗(按Delphi的說Code EditorCode ExplorerForm (Windows)在這裏進行設計Object Inspector1-1 / Delphi 4 的整合開發環境圖1-1中明顯看得到的工具還有:☐Speedbar,快速工具列。
☐Component Palette,元件盤。
☐Object Inspector,物件檢視器,用來檢視並調整Form或Form上頭各元件的屬性值。
第1章 Delphi 使用概論13 ☐ Code Editor 1,程式編輯器,我們在此編輯區編修程式。
Delphi第1章

调试测试
1.3.3 Delphi程序的编写,编译和运行
Delphi的集成开 菜单 工具栏 发环境包括:菜 单,工具栏,组 件面板,窗体设 对象树状视图 计器,代码浏览 器,代码编辑器, 代码编辑器 项目管理器,对 对象观察器 象观察器 (Object 代码浏览器 Inspector), 对象树状视图 (Object Tree View)等
1.2.2语言的类型
1. 机器语言
在机器语言中,指令被写成计算机能够直接令通常告诉计算机4件事情:
(1)到计算机主存储器(随机访问存储器)的哪个位 置去找一或两个数字或者简单的数据段; (2)要执行的一个简单操作,例如将两个数字加起来; (3)将这个简单操作的结果存放在主存储器的什么位 置; (4)到哪里找要执行的下一条指令.
组件面板
项目管理器 窗体设计器
1.3.3 Delphi程序的编写,编译和运行
Delphi创建应用程序的方法.
1. 创建项目 1) 在IDE的File菜单中选择菜单项New|Application, 系统将创建一个Windows应用程序框架,它包括了一 个空白的窗体.如果我们按快捷键Ctrl+Alt+F11后将 出现项目管理器,在这里我们可以看到系统为该项目 创建的一系列缺省文件. 2) 在IDE的File菜单中选择菜单项Save All,此时弹出 保存文件对话框.输入所要编写的项目名称(将来生 成可执行文件的主文件名与此相同)以及单元文件名 称. 3) 如果要选择其他项目类型,可以在IDE的File菜单中 选择菜单项New|Other...,此时会弹出New Items 对话框.这里有多种项目或应用程序类型可供选择.
delphi 一组字符串,返回任意种组合情况

Delphi是一种强大的编程语言,可以用于开发各种类型的应用程序,包括字符串操作。
在Delphi中,可以使用一组字符串来生成所有可能的组合情况。
在本文中,我们将探讨如何使用Delphi来实现这一功能,并给出具体的代码示例,以便读者能够清楚地了解该过程。
1. 我们需要创建一个Delphi项目。
打开Delphi集成开发环境(IDE),并选择“新建项目”->“VCL Forms 应用程序”来创建一个新的窗体应用程序项目。
2. 在新建的项目中,我们需要添加一个按钮和一个编辑框控件。
按钮用于触发生成组合的操作,而编辑框用于输入字符串。
3. 在按钮的单击事件中,我们将编写代码来实现生成所有可能的组合情况。
代码的具体实现如下:```pascalprocedure TForm1.Button1Click(Sender: TObject);varstr: string;i: Integer;perm: TStrings;beginstr := Edit1.Text;perm := TStringList.Create;try// 生成所有可能的组合情况repeatperm.Add(str);until not NextPermutation(str);// 输出所有组合情况for i := 0 to perm.Count - 1 doMemo1.Lines.Add(perm[i]);finallyperm.Free;end;end;```在上述代码中,我们首先获取用户输入的字符串,并将其保存到一个变量中。
我们创建一个TStringList对象来存储所有可能的组合情况。
接下来,我们使用一个循环来生成所有可能的排列组合,并将它们添加到TStringList对象中。
我们将所有的组合情况输出到Memo控件中。
4. 我们需要实现一个用于生成下一个排列组合的函数NextPermutation。
该函数的具体实现如下:```pascalfunction NextPermutation(var str: string): Boolean; vari, j, n: Integer;temp: string;beginResult := False;n := Length(str);// 找到最后一个递减的位置i := n - 2;while (i >= 0) and (str[i] > str[i + 1]) doDec(i);if i >= 0 thenbegin// 找到大于str[i]的最小值j := n - 1;while (str[j] < str[i]) doDec(j);// 交换str[i]和str[j]的值temp := str[i];str[i] := str[j];str[j] := temp;// 反转str[i+1]至末尾的部分ReverseString(Copy(str, i + 1, n - i));Result := True;end;end;```在上述代码中,NextPermutation函数实现了生成下一个排列组合的逻辑。
Delphi 第01章_XE8基础知识

第1章 Delphi XE8 基础知识
清华大学出版社 杨长春 主编
本章要点
熟悉并掌握Delphi XE8的集成开发环境 理解面向对象程序设计的概念 掌握设置对象属性、调用对象方法和触发事件的编码方法 掌握Delphi单元文件和项目文件的结构 掌握利用Delphi XE8开发应用程序的一般步骤
有的开发工具,如编辑器、调试器、对象管理器、编译器、实时分析器和图形信号分析器等。
1 2 3
菜单栏
Байду номын сангаас
工具栏
组件板
Delphi XE8 的窗体设计器
Delphi XE8 的对象观察器
代码编辑器和代码浏览器
Delphi 程序的基本组成:
① 标志性语句:unit;
② 接口部分:interface和implementation之间的部分;
类与对象:
类是对象的模板,它定义了对象的特征和行为规则,对象是通过类产生的, 类和对象都由唯一的名字进行标识,分别是类名和对象名。
对象的三要素:
属性是类或对象的一种成分,它反应类创建的对象的特征,如对象的名称、 大小、标题等。方法是对象具有的功能,而事件是对象能够响应的刺激。
3:IDE
集成开发环境( Integrate Development Environment )是指通过单一的控制面板访问所
1: 简介
Delphi XE8 是Embarcadero(英巴卡迪诺)公司推出的可视化软件开发工具,特别适合快速规范地开发 Windows应用程序。Delphi XE8被称为第四代编程语言,它具有简单、高效、功能强大的特点,使用了
Microsoft Windows GUI的许多先进特性和设计思想,采用了可重用的完整的面向对象的程序语言
delphi教程

delphi教程
Delphi 是一种基于 Pascal 的编程语言,用于创建窗体应用程序和控制台应用程序。
以下是一些Delphi的教程和指南,可以帮助您入门以及深入了解Delphi的各种功能和特性。
1. Delphi 简介和基础知识
- Delphi 是什么?它的历史和背景
- 安装和设置 Delphi 开发环境
- Delphi IDE 的界面和基本功能介绍
- Delphi 的 Pascal 语法和常用关键字
2. Delphi 窗体应用程序开发
- 创建一个简单的窗体应用程序
- 窗体的属性和事件
- 使用组件和控件设计用户界面
- 处理用户输入和事件响应
3. Delphi 数据库应用程序开发
- 连接和操作数据库
- 使用 SQL 查询和更新数据库
- 数据库表格和字段的创建和管理
- 数据集和数据绑定
4. Delphi 高级特性和技巧
- 使用面向对象编程技术
- 使用线程和并发处理
- 图形和图像处理
- 异常处理和调试技巧
5. Delphi 与其他技术的集成
- 使用外部 DLL 和动态链接库
- 与 Web 服务进行通信
- 与其他编程语言进行互操作
- 创建和使用自定义组件和控件
以上是一些Delphi教程的主要内容,在学习过程中,您可以通过搜索更多的资料来深入了解每个主题。
准备好了解Delphi 的强大功能和灵活性吗?开始学习吧!。
delphi快速入门(一、基本语法)
delphi快速⼊门(⼀、基本语法)1、⽂件构成delphi的主模块⽂件格式为.dpr(类似C++的.sln⽂件),其它模块⽂件为.pas(类似C++的.cpp⽂件)。
所以⼀个完整的程序由⼀个.dpr和若⼲个.pas组成(1).dpr程序结构⼀个dpr由程序头、[use从句]、主程序组成,另外源⽂件联系着unit单元,⼀个典型的⼯程⽂件如下所⽰:program Project;{$APPTYPE CONSOLE}useSysUnits; //unit名称与.pas⽂件名称⼀致,⼀个.dpr中不能应⽤两个名称想⽤的.pasbegin//....end.注意:良好的程序需在.dpr中代码尽量的少,代码最好分类在.pas中,然后在.dpr⾥调⽤⼯程⽂件红的全局标识符必须声明与begin之前。
(2).pas⽂件剖析程序的每个⼦模块称为⼀个单元,每个单元存储在⼀个.pas⽂件中。
每个.pas⽂件依次包括:单元名称、Interface关键字,implementation、[initalization]、[finalization]、关键字end。
⼀个完整的pas⽂件如下所⽰:unit Unit1; //单元名称interface //interface起始部分uses ...implementation //implementation起始处uses ...initialization //initalization起始处...finalization //finalization起始处...end. //单元⽂件结尾(end后必须以句号结尾)interface下⾯可定义变量、常量、例程等。
其它地⽅也能定义标识符,但是只有在这⾥定义的标识符才是全局标识符。
在这⾥定义的例程只是⼀个原型,具体的实现部分则放在implementation中.implementation下⾯可定义例程的具体代码,在此处定义的变量、常量、例程等,只能在本implementation单元使⽤,interface部分和其它单元⽆法使⽤initialization下⾯部分可选,此部分的代码在程序启动时运⾏。
第1章 Delphi集成开发环境
delphi程序设计基础教程
第1章 Delphi集成开发环境
图1.4 对象查看器窗口的属性选项卡 (a) (b) (c) (d)
delphi程序设计基础教程
第1章 Delphi集成开发环境
第二种情况是属性值由Delphi 提供可选项。这时,用鼠 标单击属性标题后,属性值马上变成一个下拉列表框。用户 可单击下拉按钮打开列表框,从中选择所需的属性值。可选 项分两种,一种是文字可选项,如Border Style、Enabled等 属性;另一种是图形加文字形式的可选项,如Color、 Cursor等属性。图1.4(b)、(c)显示了这两种可选项的属性值 形式。 第三种情况是通过对话框来设置属性值。对于Font、 Color等属性,单击属性标题后,属性值右端会出现一个带 “…”的按钮(以下简称省略号按钮),单击该按钮,即可打开 一个相应的对话框,在对话框中选择所需值,即可设置属性 值,如图1.4(d)所示。
delphi程序设计基础教程
第1章 Delphi集成开发环境
(2) 单元使用变量(Variables)和常量(Constants),在树形分 支中是单元中使用的变量和常量; (3) 单元链接的单元(Uses),在树形分支下是链接的单元名 称。 单元代码窗口即进行代码编辑的窗口。由于一个应用程 序可以有多个单元文件,所以单元代码窗口可以有多个选项 卡,每个选项卡标明一个被打开的单元文件名。 代码编辑窗口除了显示单元文件(.pas)外,也可以显示 当前项目的项目文件(.DPR)。 在启动Delphi 后代码编辑窗口通常被窗体覆盖,可以单 击【View】菜单中的【Toggle Form/Unit】命令,或单击工 具栏上的【Toggle Form/Unit】按钮,以切换代码编辑器窗 口和窗体窗口。
第1章Delphi基础知识
第1章Delphi基础知识第1节Borland公司与DelphiBorland公司于1983年由菲力浦·凯恩(Phillipe Kahn)创立。
Delphi于1995年由Borland公司推出,由Anders Hejlsberg主持设计。
Delphi语言的演变过程:Pascal→Object Pascal→Delphi。
2008年Borland公司将负责研发Delphi语言的CodeGear子公司出售给Embarcadero(易博龙)技术公司。
2010年发布Delphi 2011,新版本名称改为RAD Studio XE(包括Delphi XE、C++Builder XE、Delphi Prism XE和RadPHP XE)。
第2节Delphi的特点一、开发工具的选择程序员的核心能力是自身的编程修养、思想、理念等。
只要扎扎实实地打好基础,具备良好的编程思想,则无论选择何种开发工具均可成为软件开发高手。
二、Delphi的主要特点1. 可视化开发环境2. 丰富的VCL3. 面向对象特性4. 高效的编译器5. 强大的数据库开发功能6. 良好的分布式应用开发支持第3节Delphi集成开发环境主要组成:主窗口、窗体设计器、代码编辑器、对象查看器和对象树浏览器。
一、主窗口标题栏、菜单栏、工具栏、组件面板。
二、窗体设计器一个窗体对应一个单元。
三、对象树浏览器(Object TreeView)显示本模块对象的层次结构。
四、对象查看器(Object Inspector)包括对象列表、属性页、事件页。
事件页的左列为事件名,右列为事件处理程序。
双击右列的组合框可生成默认的事件处理程序。
五、代码编辑和浏览窗口左侧为单元管理器,右侧为代码编辑窗口。
六、代码洞察Delphi提供了与VB相似的代码洞察(Code Insight)技术,可以使代码的输入更加快捷,减少出错。
1. 代码完成(Code Completion)(1)自动完成关键字(补充)Delphi集成开发环境的代码编辑器与VB相似,具有自动完成关键字和标识符的功能,它的快捷键为Ctrl+空格键(与VB中文版中的Alt+→键相似)。
2024版Delphi程序设计[1]
数据库性能。
21
05
Delphi网络编程
Hale Waihona Puke 2024/1/2922
网络通信原理简介
客户端/服务器模型
网络通信通常采用客户端/服务器模型,其中 客户端发送请求,服务器响应请求并返回数据。
2024/1/29
套接字编程
网络通信基于套接字(socket)进行,套接字是不同 计算机之间进行通信的端点。
传输协议
常见的传输协议包括TCP和UDP。TCP提供可 靠的、面向连接的通信服务,而UDP提供无 连接的、不可靠的通信服务。
23
TCP/IP协议在Delphi中实现
2024/1/29
使用WinSock控件
Delphi中可以使用WinSock控件实现TCP/IP协议,通过设置控件 属性并调用相关方法即可建立客户端或服务器应用程序。
熟悉窗体的事件处理机制,如加载、关闭、大小改变 等事件。
2024/1/29
13
常用控件介绍
基本控件
学习Delphi中常用的基本控件,如按钮、标签、 文本框等。
高级控件
了解高级控件的使用,如列表框、树形视图、 表格等。
2024/1/29
控件属性与事件
掌握控件的常用属性和事件,如控件的名称、大小、颜色、单击事件等。
编译器异常
编译时检测到的错误,如语法错误或类型不匹配。通过编译器提 示信息进行修复。
自定义异常
用户自定义的异常类型,用于特定业务逻辑的错误处理。通过创 建自定义异常类实现。
33
自定义异常处理机制
创建自定义异常类
继承自Exception类或其子类,添加自定义 属性和方法。
抛出自定义异常
在适当的位置使用raise语句抛出异常,并传 递异常实例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选1)下列符号哪一个是Delphi中的合法变量名()A 6bookB ifC name[1]D count12)下列常量说明中哪一个是合法的()A const c:=(b>4.5);B const c:8.6;C const c=3.2;D const c:=”book ”;3)下列实数中哪个是不合法的( )A 0.45E+02B .25+2C 25E -3D 24.674)设n为整型变量,其值为4568,表达式(n mod 1000)div100 ( )A 分离出个位数字B分离出千位数字 C 分离出百位数字D分离出十位数字5)有下面的程序段:a:=false; b:=false; c:=true; x:=20;if a then x:=x-10; x:=30;if b thenif c then x:=34;else x:=15; 假设所有变量都已定义,程序段执行后x的值()A 15B 20C 34D 306)有下面的程序段:ch1:= 'z'; ch2:= 'x';if ch1 <>'x' thencase ch2 of'x': case ch1 of'z': s:= 'xy';'y': s:='xz';end;'y': s:='yy';end; 假设所有变量均已说明,程序段被执行后s的值是()。
A 'xz'B 'yy'C 'xy'D xy7)有下面的程序段:i:= 1;repeatn:= i * i; i:=i+2;until n>2*i; 假设所有变量均已说明,循环体执行的次数()。
A 1B 2C 3D 48)有下面的程序段:s:= 100; n:= 3;for ch:= 'a' to 'e' doif not odd(n) then s:=s-n;n:=n+5; 假设所有变量均已说明,s的值()。
A 100B 97C 61D 749)以下正确的枚举类型定义是:( )A type vowel=('a','e','i','o','u');B type num=(1..3,8..10);C type color=(red,blue,greeen);D type realtype=(1.5,2.5,3.5,4.5);10)集合表达式[1,2,3]+[4,5,6,1,2]的值为:( )A[1,2,3,4,5,6,1,2] B [1,2,3] C [4,5,6,1,2] D [1,2,3,4,5]11)Delphi没有用到的文件类型有()A、.frmB、.pasC、.dfmD、.dpr12)以下哪个组件不可以由用户输入编辑文本()A、TEditB、TcomboBoxC、TMaskEditD、Tlabel13)下列常量定义合法的是()A、CONST width=7B、CONST case=''7''C、CONST 1A=7.9D、CONST5<>714)下列哪种表达式不能作为while语句的循环条件()A、i=1 B.、i:=1 C、true D、i<>115)下列哪个可以作为集合变量的基类型()A、integer B 、word C、real D 、byte16)在修改数据前检查TQuery组件的状态,发现处于浏览状态,则调用该组件的什么方法可以将其状态该为可修改()A、postB、insertC、editD、setkey17)以下语句的循环体执行次数是()x:=37; y:=3while y<=x do y:=y+y;A、3B、4C、5D、618)下列函数头具有传地址参数的是()A、function total(x:real);B、procedure ab(a,b:real):real;C、function total(const x:real):real;D、function f(var f:real):integer;19)Delphi中取值范围0到255的数据类型是()A、ShortIntB、ByteC、SmallIntD、Word20)以下关于事件的说法不正确的是()A、不一定要响应某个组件所定义的所有事件B、多个组件可以共享同一个事件处理程序C、根据需要可以响应任何组件的事件D、单击Object Inspector中的事件处理程序名,Code Editor将自动进入该事件的代码段。
21)Delphi应用程序的执行入口为哪个文件()A、资源文件B、单元文件C、窗体文件D、工程文件22)以下哪个属性可以获得TEdit组件输入的文本内容() B、caption C、text D、Tag23)下列常量定义合法的是()A、CONST width:=8B、CONST case=''7''C、CONST 1A=7.9D、CONSTwidth=924)下列哪种变量类型不能作为For的循环变量()A、字符 B.、枚举C、子界D、实数25)集合类型的数据其序数范围()A、0..255B、0..65535C、0..63D、0..3126)Query组件没有Table组件哪个属性( )A、activeB、TableNameC、nameD、Database27)执行以下语句后s的值为()S:=0; n:=10while n>0 do n:=n-1; S:=S+n;A、0B、45C、55D、928)下列函数头合法的是()A、function total(x:real);B、procedure ab(a,b:real):real;C、procedure sum;D、function f(var f:real):integer;29)下列子界类型定义合法的是()A、TYPE a=10..10;B、TYPE b=10..5;C、TYPE c=0..SQRT(10);D、TYPEd=10.0..20.0;30)发生在鼠标左键双击控件时的事件是()A、OnkeyDownB、onClickC、OnDbClickD、OnEnter二、按要求写出程序结果1、设有一个自定义过程声明如下:procedure p(x: integer; var y: integer);beginx:=x-y; y:=y+x;end;执行下述程序段:a:=10;b:=4; p(a,b); p(a mod b ,a); 则a,b的值分别是什么?2、设有一个自定义过程声明如下:Var n: integer; y, z :real;procedure sub(m: integer; var s,z :real);beginy:=2*y; s:=s*y; z:=s/m;end;beginn:=4; y:=3; z:=0;sub(n,y,z);end; 则n,y,z的值分别是什么?3、设有一个自定义函数声明如下:function f(a,b,c: integer):integer;Var t: integer;begina:=3*a; t:=b div c;f:=a+4*t;end; 则f(1,2,f(1,2,3))的值?4、设有一个事件过程声明如下:procedure TForm1.Button1Click(Sender: TObject);beginif lowercase(edit1.Text) = 'abcd' thenpanel1.Caption := '欢迎使用本系统!'elsebeginedit1.Tag := edit1.Tag + 1;If edit1.Tag = 3 Thenbeginpanel1.Caption := '对不起,您无权使用';groupbox1.Enabled := False;endElsepanel1.Caption := '对不起,口令错!';end;end;edit1.text 的初值为空,edit1.Tag初值为0, 如果edit1中已连续输入hello 两次,每次分别点击Button1,又输入abc后点击Button1, 则此时edit1.Tag的值? panel1显示的内容?5、设有一个事件过程声明如下:procedure TForm1.Button1Click(Sender: TObject);vark, f1, f2, f3 : Integer;beginmemo1.Lines.Clear;memo1.Lines.Add(' 1 1');memo1.Lines.Add(' 2 1');f1 := 1; f2 := 1;For k := 3 To 5 dobeginf3 := f1 + f2;memo1.Lines.Add(format('%2d %3d',[k, f3]));f1 := f2; f2 := f3;end;end; 点击Button1后memo1显示的内容?4.Function check(n,k:Integer):Integer;Var m:Integer;BeginRepeatm:=n mod 10;n:=n div 10;K:=k-1Until k=0;Check:=m;End;若调用语句y:=check(3725,3)运行后y值为?5.有下面的程序段:ch1:= 'z'; ch2:= 'x';if ch1 <>'x' thencase ch2 of'x': case ch1 of'z': s:= 'xy';'y': s:='xz';end;'y': s:='yy';end; 假设所有变量均已说明,程序段被执行后s的值是?6.有下面的程序段:s:= 100; n:= 3;for ch:= 'a' to 'e' doif not odd(n) then s:=s-n;n:=n+5; 假设所有变量均已说明,s,n的值?7.设有一个自定义过程声明如下:Var n: integer; y, z :real;procedure sub(m: integer; var s,z :real);beginy:=2*y; s:=s*y; z:=s/m;end;beginn:=4; y:=3; z:=0;sub(n,y,z);end; 则n,y,z的值分别是什么?8.有下面的程序段:a:=false;b:=false;c:=true;x:=20;if a then x:=x-10; x:=30;if not b thenif c then x:=x+5;else x:=15;假设所有变量都已定义,程序段执行后x的值?9.设有一个事件过程声明如下:procedure TForm1.Button1Click(Sender: TObject);beginif lowercase(edit1.Text) = 'abcd' thenpanel1.Caption := '欢迎使用本系统!'elsebeginedit1.Tag := edit1.Tag + 1;If edit1.Tag = 3 Thenbeginpanel1.Caption := '对不起,您无权使用';groupbox1.Enabled := False;endElsepanel1.Caption := '对不起,口令错!';end;end;edit1.text 的初值为a,edit1.Tag初值为0。