Delphi7.0资料

合集下载

DELPHI7.0及其串口通信

DELPHI7.0及其串口通信

Delphi7.0及其串口通信2.1Delphi7.0简介2.1.1Delphi7.0基本界面Delphi是由Borland公司于1995年推出的快速应用软件开发工具RAD (Rapid Application Development)。

Delphi使用了当今世界上比较先进的很多程序开发思想,使用Delphi开发软件无疑会大大提高软件开发的效率。

本文以Delphi7.0作为平台,进行软件开发。

Delphi7.0打开的主界面如图2.1所示。

图2.1Delphi7.0主界面2.1.2Delphi7.0的特点和优点Delphi7.0是Windows系统下的具有功能强大、简便易用和代码执行速度快等优点的可视化集成开发工具,它提供了强大的可视化组件VCL(Visual Component Library)功能,使程序员可以快速高效的开发出Windows系统下的应用程序。

和其他软件开发工具相比,Delphi在网络编程、数据库编程、程序界面方面更胜一筹,而且增加了对Linux平台下应用程序开发的更强大支持。

而且它在构架企业信息系统方面也发挥着越来越重要的作用,因此许多程序员愿意选择Delphi作为开发工具编制各种应用程序[2]。

(1)可视化的集成开发环境Delphi提供了可视化的集成开发环境IDE(Integrated Development Environment)。

可视化环境是指用户在设计程序界面的时候,无须为程序界面编写代码,只需将相应的组件添加到窗体上,调节其大小和位置即可,Delphi会自动生成相应的代码。

Delphi的集成开发环境不仅可以非常方便的设计出用户的程序界面,而且程序的界面设计、属性设计、代码编写、程序调试、运行、生成可执行文件等操作都可以在这个集成开发环境中进行,使得软件设计变得非常的快捷、高效。

(2)真正的面向对象面向对象的程序设计OOP(Object Oriented Programming)是Delphi诞生的基础。

delphi7教程总结

delphi7教程总结

delphi7教程总结delphi7教程总结Delphi7.0编程规范第一部分:软件安装与控件安装方法一、软件安装:光盘或网络安装后,将光盘CRACK目录下dent.slip 拷贝到安装路径下。

未注册信息将不再显示。

二、基本安装:1、对于单个控件,Componet-->install component..-->PAS 或DCU文件-->install; 2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可; 3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl 文件名即可; 4、如果以上Install按钮为失效的话,试试Compile按钮;5、是run time lib则在option下的packages下的runtimepackes加之。

如果编译时提示文件找不到的话,一般是控件的安装目录不在Delphi的Lib目录中,有两种方法可以解决: 1、反安装的源文件拷入到Delphi的Lib目录下;2、或者T ools-->Environment Options中把控件源代码路径加入到Delphi的Lib目录中即可。

注意:所安装的控件是否与你所用的Delphi版本相适应。

三、控件删除:在Component/Install Packages中删除。

选Component/configure Palette…有pages和components两个区域双击components区域,选中要删除得控件,下面有得Delete按钮但系统提供的控件只能Hide,不能delete。

打开控件所在的包文件(*.dpk),从中删除控件那个文件,再重新编译该包即可如果是整个控件包都要删除的话,project->Option->Packages,删掉那个packages 四、详细控件安装1、 Ehlib控件运行Ehlib.v3.4.for.Delphi5678\Ehlib v3.4\Delphi7\DclEhLib70.dpk文件,在弹出窗口中点击Conpile,再点击install,提示安装成功后在Delphi—Tools—Environment Options—Library—Library Path中添加路径Ehlib.v3.4.for.Delphi5678\Ehlib v3.4\Delphi7\2、 Fastreport 控件分别运行fastreport 2.53\source\fr7.dpk,fastreport 2.53\source\ado\ FRADO7.dpk,fastreport 2.53\source\BDE\FRBDE7.dpk,fastreport 2.53\source\DBX\FRDBX7.dpk fastreport2.53\QueryBuilder\Source\dclOQB70.dpk fastreport2.53\QueryBuilder\Source\ADO\dclOQBADO70.dpkfastreport2.53\QueryBuilder\Source\BDE\dclOQBBDE70.dpkfastreport2.53\QueryBuilder\Source\DBX\dclOQBDBX70.dpk,fastreport 2.53\QueryBuilder\Source\IBX\dclOQBIBX70.dpk 文件,在弹出窗口中点击Conpile,再点击install;安装完毕后,在Delphi—Tools—Environment Options—Library—Library Path中添加路径: fastreport 2.53\source fastreport 2.53\source\adofastreport 2.53\source\bdefastreport 2.53\source\dbxfastreport 2.53\source\ibx第 1 页共 22 页fastreport 2.53\QueryBuilder\Sourcefastreport 2.53\QueryBuilder\Source\ado fastreport2.53\QueryBuilder\Source\bde fastreport 2.53\QueryBuilder\Source\dbx fastreport 2.53\QueryBuilder\Source\ibx 3、Raize控件分别运行Raize\RC3\Source\Rz30Ctls_Dsgn70.dpk,Raize\RC3\Source\Rz30DBCtls_Dsgn70.dpk,在弹出窗口中点击Compile,再点击install;安装完毕后,在Delphi—Tools—Environment Options—Library—Library Path中添加路径:Raize\RC3\Source4、VirtualTreeview控件VirtualTreeview4.0.12\VirtualTreeview\Packages\VirtualTrees D7D.dpk文件,在弹出窗口中点击Compile,再点击install;安装完毕后,在Delphi—T ools—Environment Options—Library—Library Path中添加路径:VirtualTreeview4.0.12\VirtualTreeview\Packages 5、xlreport控件分别运行xlreport\xlr4pro123.exe和xlreport\xlr4dfull123.exe,注意安装过程中只保留delphi7和demo两个选项即可,安装完毕后将安装路径下的AfalinaSoft\XL Report 4\Source文件夹的所有文件拷到AfalinaSoft\XL Report 4\d7units中,运行d7XLR4_D.dpk文件;同样将AfalinaSoft\ProOptionPack\Source内的所有文件拷到AfalinaSoft\ProOptionPack\d7units中,运行d7OPack.dpk文件五、第三方控件的下载与安装:用到的第三方控件在了解其用途后,经主任审批后,方可进行安装。

Delphi7.0的常用函数与过程

Delphi7.0的常用函数与过程

Delphi7.0的常用函数与过程2.1.4 Delphi 7中的运算符与表达式Delphi 7 有8 类运算符,本章主要学习算术运算符、字符串运算符和位运算符。

其他运算符将在以后的章节中学习。

1.算术运算符算术运算符是用户最熟悉的,类似算术中的加减乘除等。

Delphi 7中有8个算术运算符,具体含义如下。

(1)取正运算符“+”:单目运算符,表示对一个数值型数据取正,例如+5的值为5。

另外,取正运算符可以省略。

(2)取负运算符“-”:也是单目运算符。

例如对5取负,其值为-5。

(3)加法运算符“+”:与数学上的加法相同。

加法运算符与取正运算符符号相同,但含义不同。

例如3+5的值为8。

(4)减法运算符“-”:与数学上的减法含义相同。

也请注意减法运算符与取负运算符的异同。

(5)乘法运算符“*”:表示对两个数值型数据相乘,与数学中的乘法相同。

例如:3*5 的值为15。

(6)除法运算符“/”:与数学上的除法含义相同。

例如3/5 的值为“0.6”。

另外,除法运算的结果总是实型数据。

(7)整除运算符“div”:只能对两个整数进行除法运算,结果为整型数据。

例如5 div 3 的值为1,而“5 div 2.0”是不合法的。

(8)取余运算符“mod”:对两个整数相除,结果为余数。

例如5 mod 3的值为2。

1,数学类函数包括绝对值函数,取整数函数,取小数函数,平方函数,平方根函数,三角函数,指数函数,对数函数和随机函数等。

(1)绝对值函数:Abs(x) 返回x的绝对值,x是整型或实型数据例:x := Abs(-1); //这是一个赋值语句,先计算赋值号右边函数的值(为1)再赋给x.(2)取整数函数例:(3)取小数函数返回x的小数部分,x为实型数据例:(4)平方函数返回实型数据x的平方值,x为实型数据(5)平方根函数返回非负实数x的算术平方根,x为非负实数,返回值也为非负实数例:(6)三角函数返回以弧度为单位的x的正弦函数值,x的单位为弧度返回以弧度为单位的x的余弦函数值,x的单位为弧度ArcTan(x):Extended;返回x的反正切函数值,x的单位为弧度例:(7)指数函数返回值为e x,参数x为实型数据例:(8)自然对数函数Ln(x) := Real;返回x的自然对数值,参数x为正实数,其它对数函数可以由换底公式导出。

Delphi7.0_预编译指令说明

Delphi7.0_预编译指令说明

Delphi7.0_预编译指令说明Delphi7.0 预编译指令说明Delphi快速高效的编译器主要来自Object PASCAL的严谨,使用Delphi随时都在与编译器交流,大部分情况下不需要干涉编译器的运行,但是有时也需要对编译器进行必要的设置。

*************************************************************** *******************************A.1 使用编译设置对话框编译器的编译指令是用于指定编译器对项目编译过程的动作和行为。

可以通过[Project]->[Options]->[Complier]选项页进行设置(快捷键:Crtl+Shift+F11),绝大部分的编译环境都可以通过这一对话框进行调整,他包含了对代码、语法、调试信息等的设置。

1.代码设置(Code Generation)Optimization: 是否优化代码。

包括防止变量到CPU寄存器、合并分解表达式、生成中间变量等,其作用域是局部的。

如果{$O+}或{$OPTIMIZATION ON},如下varI: Integer;beginI := 1; //不被编译,也就是说调试的时候,这行没有断点I := 2;end;如果{$O-}或{$OPTIMIZATION OFF},如下varI: Integer;beginI := 1; //被编译,也就是说调试的时候,这行有断点I := 2;end;缺省:{$O+}{$OPTIMIZATION ON}Stack frames: Windows 堆栈帧。

其作用域是局部的,他使编译器成为远端过程和函数生成特定的开头和结尾代码。

这个指令用于Windows 3.0的实模式,对所有Delphi 应用程序他应该是关闭的,一些调试工具需要此类信息。

如果{$W+}{$STACKFRAMES ON},强制每个过程或函数生成堆帧,查找错误时,编译器需要堆帧帮忙。

delphi7.0学习经验积累

delphi7.0学习经验积累

delphi7.0学习经验积累 [原]2006年开始学习delphi一路以来的经验积累吐血大公开。

若这些经验对你有所帮助,能使你少走些许弯路,恳请能告诉我,或若愿意和我分享经验,探讨vb、delphi、vc、asp问题请留下评论或email。

本人email:boythl@。

用得不多。

===================================================2006、10、11在制作DLL时,在最后一定要把要发布的函数列出来,不然调用时会程序初始化失败,无法进入;exports FunctionName;MKDir(Path) 函数创建文件夹;在创建数据库时,用户名需要设为Admin,改成txtx时发生了“无法启动应用程序。

工作组信息文件丢失”的错误。

2006、10、12StrUnits单元中DupeString 函数 = VB string函数重复N次某字符PosEx可以从某个特定位置开始查找某字符MidStr函数 = VB Mid函数ReverseString函数翻转字符串StuffString函数向一个字符串在某位置插入一个子字符串RightStr 函数,从字符串最后取字符StrRScan 字符最后次出现的指针只有有序的数字和字母才能作为集合(sets),且个数不能超过255个.TStrings对象的NameValueSeparator属性可以设置TStrings对象的文本包含Name和Value,如a=1,设置NameValueSeparator:='='可以使用getName等方法提取Name和Value2006、10、17ItemProps属性可以控制valueeditlist控件显示下拉框,在使用时需要注意self.vldFields.Row-1,因为表头的Key value行index=0procedure TForm1.vldFieldsClick(Sender: TObject);beginself.vldFields.ItemProps[self.vldFields.Row-1].EditStyle:=esPickL ist; //显示下拉框self.vldFields.ItemProps[self.vldFields.Row-1].PickList:= TargetFields;end;今天发现在SQL中,若两文本字段其中一个文本字段为null(非""),另一个文本字段非Null则两个字段可通过等号检索到(F1=F2),而若两个文本字段都为null时则等号检索不到,但用不等号也不能检索出来。

Delphi7.0常用函数

Delphi7.0常用函数
功能说明:返回指定范围内的字符串。该函数有三个参数。第一个参数为源字符串,第二个参数为起点,第三个参数为结束点。通过第二、第三个参数则可指定要复制字符串的范围。
Copy函数与此函数类似。MidStr主要用于处理含有中文字符的字符串。
参考实例:
var
S: String;
参考实例:
var
S: String;
arrText: array of Char; // 定义一个动态数组
begin
SetLength(S, 10); // 当设置后,S变量只能赋值长度为10的字符串。
SetLength(arrText, 10); // 只有使用SetLength为动态数组分配内存空间后才能使用动态数组。这句代码的作用相当于arrText: array[0..9] of Char
end;
14.StrPCopy
功能说明:将字符串复制到字符数组中。该函数有两个参数。第一个参数为“目标数组”,第二个参数为“字符串”。
参考实例:
var
arrChar: array[0..255] of Char; // 这里声明了长度为256的Char型数组
A := RightStr(S, 3); // 从最右边开始,获取右边的三个字符。因此A变量则等于ger。
end;
13.SetLength
功能说明:设置字符串或动态数组长度。该函数有两个参数。第一个参数为要设置的字符串变量或动态数组变量,第二个参数为指定的长度,其取值范围在0到255之间。
参考实例:
var
S: String;
MyStr: String; // 保存新的字符串
begin

Delphi7.0数据库应用教程详解

Delphi7.0数据库应用教程详解
以添加、修改和删除记录。要插入 记录则可以选择Record/Insert选项, 或者按下Insert键即可在当前记录前 插入一条记录;按下Ctrl+Delete键, 可以删除当前记录。
在编辑窗体中输入相关记录置 图7 数据记录编辑窗口
Delphi 7.0数据库桌面(5)
图9 数据库窗体向导Database Form Wizard
新建一个新工程项目Project1,选择主菜单 中的database(数据库)菜单下的Form wizard
(数据表向导)选项,弹出数据库窗体向导窗 口Database Form Wizard,如图9所示。在Form Options框架中选择Create a simple form选项, 即创建一个简单的表。(第二个选项Create a master/detail form是用来生成由主从表组成的维 护窗体的。);在DataSet Options框架中选择 Create a form using Ttable objects选项,即用 Ttable对象创建一个表,生成的窗体中用 TTable控件来访问数据库。(如果选择第二项 则是用Tquery组件访问数据库。)然后单击 Next按钮,进入下一步向导。
另外还要给数据表建立索引,即定
义关键字。索引分为主索引和次索引两
种。主索引关键字字段中的数据必须惟
一,而且每张数据表中只能建立一个主
索引。而次索引则没有这个限制,在次
索引字段中数据允许重复,且可以建立
多个次索引。
(1)建立主索引的方法
图4 创建数据表对 话框
在图4创建数据表对话框中,将光标移到要建
立主索引字段的Key列下面,双击鼠标左键或
话框
型(Type)时,要鼠标右击,这时会弹

Delphi7.0函数速查

Delphi7.0函数速查

c函数速查手册:Delphi7.0常用函数速查手册(2疯狂代码 / ĵ:http://Delphi/Article21850.html.EOF 功能说明:判断文件指针是否移动到了文件未尾。

当EOF函数返回值为True时,则不可以使用Readln函数进行读取文件了。

参考实例: var S: String; AllText: String; F: TextFile; begin AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。

Reset(F); // 打开文件 while not EOF(F) do begin // 使用While循环,一直判断是否到了文件未尾 Readln(F, S); // 读取一行文本 AllText := AllText + S; end; end; 10.Erase 功能说明:删除文件。

参考实例: var F: File; begin AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。

Reset(F); // 打开文件 CloseFile(F); // 关闭文件 Erase(F); // 删除文件。

在删除文件之前必须先关闭文件。

end; 11.FileExists 功能说明:检测指定的文件否存在。

如果存在则返回True,反之则为False。

参考实例: var IsExists: Boolean; begin IsExists := FileExists('C:\Test.txt'); if IsExists then ShowMessage('该文件存在!') else ShowMessage('该文件不存在!'); end; 12.FileSize 功能说明:获取文件大小。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Delphi7.0运行时全屏显示轮回显示图片1.0D elphi7.0运行时全屏幕2.0在创建窗体时的OnCreate事件时写入下列代码:BorderStyle := bsNone;WindowState := wsMaximized;或者BorderStyle := bsNone;Left := 0;Top := 0;Width := Screen.Width;Height := Screen.Height;或者BorderStyle:=bsNone;SetBounds(0,0,Screen.Width,Screen.Height);以上三种是全屏幕运行时不出现系统的最小化,最大化,关闭按钮,如果要出现,BorderStyle := bsNone;不写//不要保存上面的东西。

自己在一个Form里加两个按钮分别指向一个事件;加一个OpenDialog,设置一下OpenDialog 的Options ,将ofAllowMultiSelect := True;先执行LoadImage1Click,将一些图片文件。

去试试。

//Delphi7.0 中随机从一个范围中取整数在uses引用math,使用随机函数时的代码如下:randomize;//初始化内置的随机数生成器edit1.Text:=inttostr(randomrange(1000,9999));//randomrange(随机数起始范围,随机数结束范围)也可以不用在uses中引用math直接写下列代码bel1.Caption:=inttostr(random(10));执行后窗体名为form1的label1.caption 随机在0-10内变化;新建一个工程,保存在里面放入一些图片使得该程序运行时能够全屏幕随机选择图片显示添加一个Image1控件,在(Additional)中代码添加如下:procedure TForm1.FormCreate(Sender: TObject);beginBorderStyle := bsNone;WindowState := wsMaximized;end;procedure TForm1.Button1Click(Sender: TObject);beginapplication.Terminate;end;procedure TForm1.Timer1Timer(Sender: TObject);vari:string;begini:=inttostr(random(7))+'.jpg';bel1.Caption:=i;form1.Image1.Picture.LoadFromFile(i);end;end.(以上也是时钟控件的巧用,每隔一定的时间产生一个随机数,随机显示一张图片。

)共有8张图片下面讲述Delphi引用计算机声音:1:点击Button1时弹出以上对话框并带提示音procedure TForm1.Button1Click(Sender: TObject);beginmessagebox(handle,'添加成功','信息(i)',64);end;2:点击Button1时弹出以上对话框并带提示音可以用以下的程序:procedure TForm1.Button1Click(Sender: TObject);beginmessagebox(handle,'lpt1错误','错误',mb_iconExclamation);end;或者procedure TForm1.Button1Click(Sender: TObject); beginmessagebox(handle,'lpt1错误','错误',mb_iconwarning);end;3:点击Button1时弹出以上对话框并带提示音对话框是双向选择以下是程序form1是主程序,再新建一个form2在unit1中 File-→use unit →unit2在Button1.click事件中写入以下程序:procedure TForm1.Button1Click(Sender: TObject);beginif messagedlg('是否要把用户写入库中',mtconfirmation,[mbyes,mbno],0)=mryesthenbeginmessagebox(handle,'添加成功','信息(i)',64);form2.Show;end;end;该程序的意思是弹出双向选择的对话框中如果点击yes则弹出添加成功对话框,点击确定后form2显示,如果点击no则不作出任何反应说明:除了问号提示符没有声音提示,其他的符号都有提示音的伴随符号而改变的以下的程序类似可以尝试:procedure TForm1.Button1Click(Sender: TObject);beginmessagebox(handle,'添加成功','提示',64);end;procedure TForm1.Button1Click(Sender: TObject); beginmessagebox(handle,'添加成功','停止',16);end;或者procedure TForm1.Button1Click(Sender: TObject); beginmessagebox(handle,'lpt1错误','错误',mb_iconerror);end;..procedure TForm1.Button1Click(Sender: TObject); beginmessagebox(handle,'添加成功','poopp',32);end;16;32;48;64;这是几个特殊的数字以下讲述ADO连接数据库查询(ADO连接的数据库可以独立于Delphi的开发环境和数据库运行环境)下面是用Delphi7.0和access2003来讲述该功能的:1. file---→new----→other---→data module….如下图所示2. 点击ok后3.4. 向DataModule中添加ADOConnection1和ADOQuery15. 如图所示其中点击ADOConnection1的connectionstring连接所要到的数据库点击三点按钮进入点击Build…然后进入这里是access2003 所以选择Microsoft Jet4.0 OLE DB Provider 然后点击下一步进入点击三点按钮选择所连接的数据库可以点击测试连接看是否连接成功4.将ADOConnection1的connected的属性改为true;ADOQuery1的connection连接为ADOConnection1如果想要在查询时不出现请输入密码的对话框请将ADOConnection1的properties的Loginprompt 的属性改为false5.新建一个form1 并use unit1为form1 添加一个Button (在Standard)和一个表格DBGrid1(Data Controls)双击该按钮编辑按钮单击事件如果想表格显示数据表中的内容还应在DataModule添加一个Dataaccess(在Data Access中第一个)设置Datasource1的Dataset为ADOQuery1DBGrid1的Datasource为DataModule1.DataSource1 设置完后编写按钮单击事件代码:procedure TForm2.Button1Click(Sender: TObject);beginDataModule1.ADOQuery1.SQL.Clear;DataModule1.ADOQuery1.SQL.Add('select * from 表1') ; DataModule1.ADOQuery1.Open;end;运行结果为该程序可独立于开发环境和数据库环境运行下面讲讲delphi的stringlist与stringsTStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex先看第一个:CommaText。

怎么用呢?用代码说话:constconstr :String = 'aaa,bbb,ccc,ddd';varstrs :TStrings;i :Integer;beginstrs := TStringList.Create;maText := constr;for i := 0 to Strs.Count-1 doShowMessage(Strs[i]);end;执行了这段代码后,可以看到ShowMessage显示出来的分别是:aaa bbb ccc ddd。

也就是说,maText := constr这一句的作用,就是把一个字符串以','为分割符,分段添加到TStrings中。

那么如果不是以','来分割,又该怎么做呢?现在看第二个例子。

使用Delimiter和DelimitedText。

constconstr :String = 'aaa\bbb\ccc\ddd';varstrs :TStrings;i :Integer;beginstrs := TStringList.Create;strs.Delimiter := '\';strs.DelimitedText := constr;for i := 0 to Strs.Count-1 doShowMessage(Strs[i]);end;可以看到,显示的效果和第一个例子是一模一样的。

解释一下:Delimiter为分隔符,默认为:','。

DelimitedText就是按Delimiter为分隔符的一个串,得到赋值后回把这个字符串按Delimiter的字符添加到TStrings中。

说到这里,有想起一个属性,QuoteChar。

其默认值为:'"'(不包括单引号)有何用呢?看例子:constconstr :String = '"aaa"\"bbb"\"ccc"\"ddd"';varstrs :TStrings;i :Integer;beginstrs := TStringList.Create;strs.Delimiter := '\';strs.DelimitedText := constr;for i := 0 to Strs.Count-1 doShowMessage(Strs[i]);end;显示出来的仍然是aaa bbb ccc ddd。

相关文档
最新文档