当前位置:文档之家› Delphi典型例子

Delphi典型例子

Delphi典型例子
Delphi典型例子

procedure TForm1.Button1Click(Sender: TObject);

begin

if (edtName.Text='admin')and(edtPass.Text='123456') then begin

showmessage('豋录成功。');

end

else

showmessage('姓名戓密码错。');

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

iname='user';

ipassword='00000';

procedure TForm1.Button1Click(Sender: TObject);

begin

if ( edit1.text=iname)and(edit2.text=ipassword) then

ShowMessage( '欢迎使用学生管理系统')

else

MessageDlg( '用户名或密码不正确,请重新输入!',mtError,[mbOk],0); end;

习题3

var

r,c,s:real;

const pi=3.14159; // 常量的定义

begin

r:=strtofloat(edit1.Text);

c:=2*pi*r;

s:=pi*sqr(r);

label2.Caption:='该圆的周长为:'+floattostr(c)+' '+chr(13)+'面积为:'+floattostr(s); end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

习题4

if 2 > 1 then

begin

a:=A;

end

else

c:=C

end;

求分段函数的值:

procedure TForm1.Button1Click(Sender: TObject); var

x,y:real;

begin

x:=strtofloat(edit1.text);

y:=x^2+x*x-x+2;

edit2.Text:=floattostr(y);

end;

procedure TForm1.Button2Click(Sender: TObject); begin

close;

end;

(*"清除"按钮的OnClick事件处理代码*) procedure TForm1.Button2Click(Sender: TObject); begin

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Edit4.Text:='';

end;

procedure TForm1.Button3Click(Sender: TObject); begin

Close;

begin

if Label1.Visible then

begin

Label1.Visible:=False; //如果是显示的,则隐藏Button1.Caption:='显示';

end

else

begin

Label1.Visible:=True; //如果是隐藏的,则显示

Button1.Caption:='隐藏';

end;

end;

procedure TForm1.Button1Click(Sender: TObject); var

year:Integer;

flag:Boolean;

begin

year:=StrtoInt(Edit1.text); //将字符串转变为整型if year mod 4 = 0 then

begin

if year mod 100 =0 then

begin

if year mod 400=0 then

flag:=true

else

flag:=false;

end

else

flag:=true;

end

else

flag:=false;

if flag then

Label2.Caption:=Edit1.text+'年是闰年。' else

Label2.Caption:=Edit1.text+'年不是闰年。';

end;

procedure TForm1.Button1Click(Sender: TObject); var

n,i,p:integer;

begin

n:=strtoint(Edit1.Text);

i:=1;

p:=1;

if n>0 then

begin

while i<=n do

begin

p:=p*i;

i:=i+1;

end;

Label2.Caption:=inttostr(n)+'!='+inttostr(p);

end

else

messageDlg('数据无效!',mtError,[MbOk],0);

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var i,count:integer;

begin

count:=0;

Edit1.Text:='';

for i:=1 to GroupBox1.ControlCount

do

if TCheckbox(GroupBox1.Controls[i-1]).checked then

begin

count:=count+1;

Edit1.Text:=Edit1.Text+' '+TCheckbox(GroupBox1.Controls[i-1]).Caption;

end;

if count>RadioGroup1.ItemIndex+1

then

Edit1.Text:='只能选'+IntTostr(RadioGroup1.ItemIndex+1)+'个城市';

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end

unit Unit4_3;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst, ComCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

ListBox1: TListBox;

Label2: TLabel;

CheckListBox1: TCheckListBox;

Label3: TLabel;

ComboBox1: TComboBox;

RichEdit1: TRichEdit;

Label4: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var

Item:integer;

begin

RichEdit1.Lines[0]:='我最喜欢的PC机品牌有:';

RichEdit1.Lines[1]:=''; //PC机品牌

for Item:=0 to ListBox1.Items.Count-1 do

if ListBox1.Selected[Item] then

RichEdit1.Lines[1]:=RichEdit1.Lines[1]+ListBox1.Items.Strings[Item]+' ';

RichEdit1.Lines[3]:='我最喜欢的手机品牌有:';

RichEdit1.Lines[4]:=''; //手机品牌

for Item:=0 to CheckListBox1.Items.Count-1 do

if CheckListBox1.Checked[Item] then

RichEdit1.Lines[4]:=RichEdit1.Lines[4]+CheckListBox1.Items.Strings[Item]+' ';

RichEdit1.Lines[6]:='我最近想买'+ComboBox1.Text;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

Item:integer;

begin

for Item:=0 to ListBox1.Items.Count-1 do

ListBox1.Selected[Item]:=false;

for Item:=0 to CheckListBox1.Items.Count-1 do

CheckListBox1.Checked[Item]:=false;

for Item:=0 to RichEdit1.Lines.Count-1 do

RichEdit1.Lines[Item]:='';

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

是WIN7吗,权限问题。

1. 程序右键,以管理权限运行。

2. 将Delphi7目录只读取消。

WIN7以上的操作系统正常运行程序不是以管理员方式运行的。

DELPHI 中WEBBROWSER控件详解实例

Delphi中WebBrowser控件详解实例 2008-10-18下午06:58 很久都没有原创了,前几天帮朋友做了个网址发布程序,主要应用到了WebBrowser控件。今天主要给大家演示一下过程,让大家学习一下Delphi工具。 WebBrowser功能: 1。自动加载网页 2。去除WebBrowser滚动条 3。WebBrowser自身打开页面 4。禁止右键 1。首先,新建一个FROM窗体: 2。加入一个WEBBROWSER控件

3。调整后如下: 4.这样一个webbrowser就完成了,下一步我们来让程序打开后自动加载一个网页。 核心代码:WebBrowser1.Navigate('https://www.doczj.com/doc/6c2585852.html,'); 双击窗体灰色处,对窗体进行初始化,在代码窗口中输入(Begin与End间输入核心代码): procedure TForm1.FormCreate(Sender:TObject); begin WebBrowser1.Navigate('https://www.doczj.com/doc/6c2585852.html,');//窗体初始化完成WEBBROWSER加载一个网页end; 5。下面我们来实现禁止WEBBROWSER控件的滚动条功能:

核心代码:WebBrowser1.oleobject.Document.body.Scroll:=‘no’; 利用这个代码去掉滚动条的前提是webbrowser中必须有打开的网页,也就是在网页加载完完毕后再去掉滚动条。所以首先要判断页面是否加载完毕,如果加载完毕,就执行上面的语句 去掉滚动条。这时就要引入一个按扭控件来触发程序 加入SPEEDBUTTEN 调整形后:

Delphi如何使用基本的绘图函数绘制统计图

一个windows自带的画图工具是无论如何也不能满足我们的画图需要的,很多效果都需要我们在另外的工具中来实现。这些高级的功能是如何实现的呢,如何操纵一些基本的属性和函数,让它们最终能作出我们想要的效果呢?这里我们以绘制统计图来说明这些问题。 解决思路―― 这里,我们暂且先撇开具体的问题,综合地一下讨论画图的问题。 画图工具是基本元素的具体实现,对于我们初学者来说,还是有很好的参考价值的,在delphi 5中有一个自带的工程例子“……Borland\Delphi5\Demos\Doc\Graphex”,这个例子可以实现一些基本的绘图功能。对这个例子多加修改,一定会有所收获的。这里就不列出它的详细代码了,有心的读者可以自己找到这个例子。我这里只是想综合地讨论这方面的问题。使用DELPHI编写绘图软件的灵魂就在于操作画布,画笔和刷子,尽可能地挖掘它们的属性和相关参数的设置。 (一)画布 画布,画笔和刷子之间的关系很明了.其实,画笔和刷子都是画布的一个属性.而画布也只是TForm,TImage,TShape等组件对象的一个属性,专门负责与图象相关的信息打交道.它的主要作用可以概括如下几点: 1.指定使用画笔,刷子和字体的使用类型; 2.绘制和填充指定形状的线或图形; 3.修饰和改变图象; 画布的主要属性有: Brush--指定填充图形和背景的样式 CanvasOrientation--指定画布的定位类型,有coLeftToRight, coRightToLeft两个属性; ClipRect--指定剪切矩形的边界; CopyMode--指定图形图象的复制模式; Font--指定画布上使用的字体; Handle--为画布指定窗口GDI对象的设备描述表; LockCount--指定画布被别的线程锁定的次数; Pen--指定画布上使用的画笔,具体见下面描述; PenPos--指定画笔当前的位置; Pixels--指定当前剪切矩形的象素颜色; TextFlags--指定字体在画布上的显示方式,有ETO_CLIPPED,ETO_OPAQUE,ETO_RTLREADING,ETO_GL YPH_INDEX,ETO_IGNORELANGUAGE,ETO_NUMERICSLOCALETO_NUMERIC SLATIN等值可选; 画布相关的API函数及其注释如下: Arc--按指定方式画一条弧; BrushCopy--把位图复制到指定的画布的矩形中,用画布刷子颜色替换位图的颜色; Chord--按指定方式画弦; CopyRect--从一个矩形区域复制部分图象到另一个矩形区域; Draw--用指定参数在指定位置画图; DrawFocusRect--按指定焦点风格,通过异或操作来绘制一焦点矩形; Ellipse--按指定参数画一椭圆; FillRect--按指定的刷子填充一矩形; FloodFill--使用当前选定的刷子填充指定设备描述表中的一块区域;

【VIP专享】delphi 三层架构CS简单例子一步步做

delphi 三层CS架构一步步建立的简单例子 所谓三层: (1) 客户端 (2) 服务器端 (3) 数据库 在数据访问时,使得客户端必须通过服务器来访问数据库。提高了系统的安全性。 在Delphi中可以使用Socket或者Dcom组件来连接他们相互间的通讯。 本例使用SOCKET组件. DCOM用在局域网, SOCKET用在互联网. 环境为windows xp+ delphi 7 + access2000 创建过程: 1、请用ACCESS2000新建一个数据库database02.mdb. 2、请在delphi7执行file-new- application, 新建一个桌面, 上面放一个label, label.caption =’服务器端已运行….’

3、接下来在delphi7执行file --new--other,选择"Multitier"--"Remote data module"。在跳出来的对话框里面输入名称(任意),例如: AppSqlConn。选择确定,进入remote data module窗口。 界面如下图所示

4、加入组件:adodataset,点击connectionstring属性,点击后面的…,进 入设定连接窗口。在选择数据库中选择自己想要使用的数据库 database02.mdb。一般只要地址正确、用户名和密码无误,肯定可以连接通过。确定。 3、ADODATASET1在commandtext中点击后面的…,啥也不用设定,默认 配置; 4、ADODATASET1将active属性设置为false。

5、再加入组件:datasetprovider。设定其dataset属性为上面的adodataset1。 5.1 接着设置datasetprovider1的属性,poallowcommandtext=true, 其他的参数默认即可. datasetprovider1的属性如下图所示

delphi数学模块函数、过程大全

function ArcCos(const X : Extended) : Extended; overload; function ArcCos(const X : Double) : Double; overload; function ArcCos(const X : Single) : Single; overload; function ArcSin(const X : Extended) : Extended; overload; function ArcSin(const X : Double) : Double; overload; function ArcSin(const X : Single) : Single; overload; function ArcTan2(const Y, X: Extended): Extended; procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register; function Tan(const X: Extended): Extended; function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 } function Secant(const X: Extended): Extended; { 1 / cos(X) } function Cosecant(const X: Extended): Extended; { 1 / sin(X) } function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) } function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI } function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI } function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI } function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180} function DegToGrad(const Degrees: Extended): Extended; function DegToCycle(const Degrees: Extended): Extended; function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 } function GradToDeg(const Grads: Extended): Extended; function GradToCycle(const Grads: Extended): Extended; function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI } function CycleToDeg(const Cycles: Extended): Extended; function CycleToGrad(const Cycles: Extended): Extended; { Hyperbolic functions and inverses } function Cot(const X: Extended): Extended; inline; { alias for Cotan } function Sec(const X: Extended): Extended; inline; { alias for Secant } function Csc(const X: Extended): Extended; inline; { alias for Cosecant } function Cosh(const X: Extended): Extended; function Sinh(const X: Extended): Extended; function Tanh(const X: Extended): Extended; function CotH(const X: Extended): Extended; inline; function SecH(const X: Extended): Extended; inline; function CscH(const X: Extended): Extended; inline; function ArcCot(const X: Extended): Extended; { IN: X <> 0 } function ArcSec(const X: Extended): Extended; { IN: X <> 0 } function ArcCsc(const X: Extended): Extended; { IN: X <> 0 } function ArcCosh(const X: Extended): Extended; { IN: X >= 1 } function ArcSinh(const X: Extended): Extended;

delphi面试题及答案

delphi面试题及答案 【篇一:delphi程序期末试题答案】 一、单选题(每小题2分,共30分) 1.在 radiogroup 组件中有 4 个单选框,当选中第 2 个单选框时,radiogroup 组件中的 itemindex 属性值应为(b)。 a.0 b.1c.2d.3 2.函数和过程的区别为(a)。 a.函数执行后返回一个值,而过程不需返回值b.过程执行后返回一个值,而函数不需返回值c.过程在被调用时,能执行某种特殊功能并能返回到调用它的地方d.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方3.32 and 27 的值是(b)。 a.59b.0c.27d.32 4.窗体与数据模块的扩展名是(b)。 a..dcu b..dfm c..pas d..dpr 5.delphi 中用什么函数来析构一个组件(c)。 a.constructor b.destroy c.free d.create 6.一个指针变量ptr 的域成员 fs 访问的方法是(c)。 a.ptr-fs b.ptr.fsc.ptr^fs d.ptr@fs 7.type aarrays=[1?8,1?5] of integer ,该类型定义了多少个下标元素(d)。 a.45 b.54 c.48 d.40 8.delphi 的所有类都是从什么类继承下来的(b)。 a.tcomponent b.tobject c.tstream d.tnull 9.定义构造函数时用到的保留字是(c)。 a.class b..implementation c.create d.construction 10.下列组件中属于可视组件的是哪一个(d)。 a.tdatasource b.topendialog c.ttable d.tscrollbar 11.设有过程 procedure pro(var x,y:integer); 变量 a , b 为整型 变量,其值分别为 5、6,则合法的过程调用语句是(a.pro(5,6) b.pro(5,b) c.pro(a,6)d.pro(a,b) 12.下列组件中不能获取焦点的是(b)。 a.tedit b.tlabelc. trichedit d.ttreeview13.定义抽象类必 须使用的指令字是(a)。 a.abstractb.virtualc.dynamicd.override” 14.delphi是哪个公司的产品(c)。 a. microsoft b.ibm c.borland d.dom

DELPHI常用函数说明

一、数据类型转换函数1 在我们编写程序当中,根据不同情况,会使用到多种数据类型。当要对不同的类型进行操作时,必须要将不同的类型转换成同样的类型。因此熟练地掌握数据类型的转换是非常重要的。 1.FloatToStr 功能说明:该函数用于将“浮点型”转换成“字符型”。 参考实例: Edit1.Text := FloatToStr(1.981); 2.IntToStr 功能说明:该函数用于将“整数型”转换成“字符型”。 参考实例: S := IntToStr(10);(注:S为String类型变量。) 3.IntToHex 功能说明:该函数用于将“十进制”转换成“十进制”。该函数有二个参数1。第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。 参考实例: Edit1.Text := IntToHex('100', 2);

执行结果,Edit1.Text等于64。 注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('S\' + '64'); 这时I等于100。加上一个'S\'即可将“十六进制”转换为“十进制”。 4.StrToInt 功能说明:该函数用于将“字符型”转换成“整数型”。 参考实例: I := StrToInt('100'); 注意:不能转换如StrToInt('ab')或StrToInt('好')这样的类型,因为他们并不存在数字型。 5.StrToFloat 功能说明:该函数用于将“字符型”转换成“浮点型”。 参考实例: N := StrToFloat(Edit1.Text); 注意:Edit1.Text中的内容为1.981(凡在Edit 控件中显示的文本均为字符串)。N为Double类型,用于保存转换后的浮点型数据。

delphi常用函数大全

delphi常用函数大全(转) Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中 Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块 AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写) AnsiCompareText函数比较字符串(不区分大小写) AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程 BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符 CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数 CompareStr函数比较字符串(区分大小写) Concat函数合并字符串 Continue命令继续for、while、repeat的下一个循环 Copy函数返回一字符串的子串 Cos函数余弦函数 Ctl3D属性是否具有3D效果 Cursor属性鼠标指针移入后的形状 Date函数返回当前的日期 DateTimeToFileDate函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr函数将日期时间格式转换为字符串DateTimeToString函数将日期时间格式转换为字符串 DateToStr函数将日期格式转换为字符串

Delphi调用WebService的实例(非常经典)

Delphi 调用webservice 经典实例 Dispatch: 派遣,分派 Invoke: 调用 Invokable: 可调用接口 TReomtable: WebService中自定义类都是继承自该类 TSOAPAttachment: Attachment:附件,一种流类型,可以返回流数据 CGI:(EXE) ISAPI:(DLL) Base64编码: uses EncdDecd; s := EncodeString(s); //加 base64 编码 s := DecodeString( str ); //解码 UTF8: UTF8 是8位的UNICODE字符,而ASCII是7位 ,gb2312和unicode是2字节/字,utf8是3字节/字utf8类似以前的8位转7位的编码,是为了在网络间不同系统的通讯方便而作的转换。几乎所有用.Net写的WebService只支持DOC方式、Delphi写的只支持RPC方式;J2ME目前对Web Service的支持仅限于RFC172,而 RFC172要求必须为DOC方式(sun怎么偏袒MS?)! 为了在设计中减少障碍,下面还介绍几个概念。 1) SOAP:SOAP是一种简单有效的数据传输协议,用于分布式网络环境下数据信息交换,它以XML 作为数据传输的格式,搭配Internet上标准的传输协议HTTP、SMTP、TCP等来传送信息。从本质上看,SOAP事实上只是将Request和Response经由XML格式把数据打包,达到双方沟通的目的。 2) WSDL:WSDL(Web Service Description Language)是一种以XML格式描述的Web Service语言,当Web Service Provider 要对外公布提供的 Web Service,就需要通过WSDL来构建描述语言。在WSDL中有两个非常重要的要素::此WSDL文件所要描述的Web Service集合;每一个Port代表外界Client可以和此Service沟通的一个进入点,一个Port会指定一个Binding方式。 3):处理中文乱码的问题: 将HttpRio的 Converter 的 Options 的 soUTF8InHeader 设为 True 将生成soap消息的HTTPSoapDispatcher控件,添加encoding为gb2312 https://www.doczj.com/doc/6c2585852.html,eUTF8InHeader := True; 4)在Delphi中,能够传递的自定义类型的对象要继承TRemotable, 5:修正一个服务器端的一个Bug:将ISAPIThreadPool和ISAPIApp的次序变一下:ISAPIApp必须在 ISAPIThreadPool之前: uses ... ISAPIApp, ISAPIThreadPool 解决如下错误: Received content of invalid Content-Type setting:text/html -SOAP"expects"text/xml" 6:"XML document must have a top level element. Line: 0" 错误,我该如何解决??哈纳斯 (2002-08-05 17:26:00) 我也曾碰到同样的问题解决方法是:别设httprio的wsdllocation,设它的url 如http://localhost/mydir/project1.exe/wsdl/IFIRST mydir是你的可执行的虚拟目录,IFIRST是你定义的接口名 ********************************************************************* **************************

Delphi函数大全

Delphi函数大全 首部function Languages: TLanguages; $[ 功能返回系统语言对象 说明通过此函数可以得到系统的语言环境 参考type 例子 12a12c12a12c. 参考 例子:= IsValidIdent; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToStr(Value: Integer): string; overload; $[ 首部function IntToStr(Value: Int64): string; overload; $[ 功能返回整数Value转换成字符串 说明Format('%d', [Value]) 参考function 例子:= IntToStr; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToHex(V alue: Integer; Digits: Integer): string; overload; $[ 首部function IntToHex(V alue: Int64; Digits: Integer): string; overload; $[ 功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value]) 说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充 参考function 例子:= IntToHex, ; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToInt(const S: string): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时将引起异常 参考procedure 例子:= StrToInt; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToIntDef(const S: string; Default: Integer): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时则返回默认值Default 参考procedure 例子:= StrToIntDef, 0); ━━━━━━━━━━━━━━━━━━━━━ 首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[ 功能返回字符串S转换成整数V alue是否成功 说明字符串非整数表达时返回False并且Value将输出为0 参考procedure 例子 ..);打开失败则返回负数 参考function

delphi7串口通信(spcomm控件)实例

Delphi7串口通信(spcomm控件)实例 最近在用delphi7做串口通信,网上找了很多例程,复制粘贴运行就没有能通过的,再次鄙视一下列位先行者,你们帮人倒是帮到底啊,没一个是拿过来能用的,太坑了,在N天的努力下(鄙人比较笨)终于通过串口接收到数据,希望给后来人予以帮助,程序如下: 功能简介 功能比较简单,只是从串口接收单片机发送的数据,给memo1 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms,

Dialogs, SPComm, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Comm1: TComm; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word); procedure Comm1ModemStateChange(Sender: TObject; ModemEvent: Cardinal); private { Private declarations } public { Public declarations } end; var

Delphi程序设计复习题

《Delphi程序设计》复习题 一、单项选择题 1、下面哪句话对Delphi的描述是正确的()。 A.只能用于数据库客户端开发的工具B.Delphi的编程语言全部是面向过程的C.Delphi的编程语言是Java D.面向对象的可视化的开发环境 2、在Delphi中,建立一个文本编辑区域,可采用下列()。 A、命令按钮 B、文本标签控件 C、Edit控件 D、Timer控件 3、表达式60 +19 div 2 的值是() A.67 B.79 C.69 D.80 4、一个Delphi应用程序必有一个()文件和至少一个单元文件。 A) 执行程序B) 项目C) 数据D)图形 5、最适合于在工具栏上放置的工具按钮是() A.Button B.RadioButton C.SpeedButton D.BitBtm 6、Delphi应用程序设计基于()语言。 A) Basic B) C++ C) Pascal D) Object Pascal 7、下列表达式中()不是布尔表达式。 A) A=3 B) A div B C) A and B D) A>B 8、“x 是小于100的非负数”的Object Pascal表达式是()。 A.0 ≤x < 100 B.x >= 0, x<100 C.(x >=0) AND (x < 100) D.(x >= 0 ) OR (x<100) 9、利用Image对象的哪个属性设置,可以使加载的图像自动放大或缩小,以适应Image的显示区域() A.Stretch B.AutoSize C.Align D.Center 10、工具栏上的一个SpeedButton按钮如果要设置为状态按钮,则正确设置的方法是() A.将SpeedButton按钮的GroupIndex属性设置为0,且AllowAllUp属性设置为True。 B.将SpeedButton按钮的GroupIndex属性设置为0,且AllowAllUp属性设置为False。 C.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为True。 D.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为False。 11、要改变一个对象的高度,应使用属性()。 A、Font B、ForcColor C、Name D、Height 12、表达式30 +19 div 2 的值是() A.37 B.49 C.39 D.40 13、下列合法的变量名是()。 A、na + e B、e- 3r C、r_3 D、5we

delphi_三层架构简单例子.

delphi 三层架构简单例子(经测试成功2009-01-22 下午 02:45所谓三层: (1 客户端 (2 服务器端 (3 数据库在数据访问时,使得客户端必须通过服务器来访问数据库。提高了系统的安全性。在Delphi中可以使用Socket或者Dcom来连接他们相互间的通讯。如果使用Scocket在系统使用时必须提供Scocket连接器,而Dcom 则不用。客户端和服务器的连接需要Broker来联系。环境为winxp sp2 + delphi 7 + db7.(MSSQL2000 创建过程: 1、请不要新建application.file-new-activex-activex library,file --new--other,选择"Multitier"--"Remote data module"。在跳出来的对话框里面输入名称(任意),例如:AppSqlConn。选择确定,进入remote data module窗口。 2、加入组件:adodataset,点击connectionstring属性,点击后面的…,进入 设定连接窗口。选择:use connection string--build,在提供程序中选择:"Microsoft ole db provider for sql server",在连接中:服务器名称输入sql server的ip地址,登录信息中输入用户名和密码(sql server),在选择数据库中选择自己想要使用的数据库。一般只要地址正确、用户名和密码无误,肯定可以连接通过。确定退出。 3、在commandtext中点击后面的…,进入sql 语句设定,根据自己的要求设定。 4、将active属性设置为true。只要前面的设定是正确的,这里应该顺利通过。 5、加入组件:datasetprovider。设定其dataset属性为上面的adodataset。 6、到此服务器端已经设置完成。请保存并且运行一次,从而使服务注册。 7、运行delphi的bin目录下面的scktsrvr,因为下面要使用socket连接。运行后任务栏中出现socket server的图标。 8、新建程序(application),然后file--new--data module,会创建客户端的data module。 9、加入组件:socketconnection,在address中输入sql server的ip地址,然后在servername中输入刚才创建的remote data module的服务程序。程序会自动在serverguid中加入id。然后选择connected属性为true。只要 此处不报告错误,此程序基本成功了。 10、加入组件:clientdataset,选择remoteserver属性为socketconnection,选择providename为服务器程序的datasetprovider。然后选择active属性为true。 11、到程序的form窗口状态,首先选择file--use unit,选择上面创建的data module,确定。然后加入组件datasource 和dbgrid。选择datasourece的dataset属性为data module的clientdataset,选择dbgrid的datasource为这里的datasource组件。现在应该可以看到dbgrid的窗口中

(DELPHI)API函数大全

(DELPHI)API函数大全 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数 BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件

Delphi常见错误代码

Delphi常见错误代码及中文解释 ';' not allowed before 'ELSE' ElSE前不允许有“;” '' clause not allowed in OLE automation section 在OLE自动区段不允许“”子句 '' is not a type identifier 不是类型标识符 '' not previously declared as a PROPERTY 前面没有说明PROPERTY 'GOTO

delphi函数参考手册

delphi函数参考手册 名称类型说明 abort 函数引起放弃的意外处理 abs 函数绝对值函数 addexitproc 函数将一过程添加到运行时库的结束过程表中addr 函数返回指定对象的地址 adjustlinebreaks 函数将给定字符串的行分隔符调整为cr/lf序列align 属性使控件位于窗口某部分 alignment 属性控件标签的文字位置 allocmem 函数在堆栈上分配给定大小的块 allowgrayed 属性允许一个灰度选择 ansicomparestr 函数比较字符串(区分大小写)ansicomparetext 函数比较字符串(不区分大小写)ansilowercase 函数将字符转换为小写 ansiuppercase 函数将字符转换为大写 append 函数以附加的方式打开已有的文件 arctan 函数余切函数 assignfile 函数给文件变量赋一外部文件名 assigned 函数测试函数或过程变量是否为空 autosize 属性自动控制标签的大小 backgrounddi2001.jpg 属性背景色 beginthread 函数以适当的方式建立用于内存管理的线程bevelinner 属性控件方框的内框方式

bevelouter 属性控件方框的外框方式 bevelwidth 属性控件方框的外框宽度 blockread 函数读一个或多个记录到变量中blockwrite 函数从变量中写一个或多个记录borderstyle 属性边界类型 borderwidth 属性边界宽度 break 命令终止for、while、repeat循环语句 brush 属性画刷 caption 属性标签文字的内容 change 函数改变文件的后缀 chdir 函数改变当前目录 checked 属性确定复选框选中状态 chr 函数返回指定序数的字符 closefile 命令关闭打开的文件 color 属性标签的颜色 columns 属性显示的列数 comparestr 函数比较字符串(区分大小写)concat 函数合并字符串 continue 命令继续for、while、repeat的下一个循环copy 函数返回一字符串的子串 cos 函数余弦函数 ctl3d 属性是否具有3d效果

delphi1

一、单选 1)下列符号哪一个是Delphi中的合法变量名() A 6book B if C name[1] D count1 2)下列常量说明中哪一个是合法的() A const c:=(b>4.5); B const c:8.6; C const c=3.2; D const c:=”book ”; 3)下列实数中哪个是不合法的( ) A 0.45E+02 B .25+2 C 25E -3 D 24.67 4)设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 then if c then x:=34; else x:=15; 假设所有变量都已定义,程序段执行后x的值() A 15 B 20 C 34 D 30 6)有下面的程序段: ch1:= 'z'; ch2:= 'x'; if ch1 <>'x' then case 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 xy 7)有下面的程序段: i:= 1; repeat n:= i * i; i:=i+2; until n>2*i; 假设所有变量均已说明,循环体执行的次数()。 A 1 B 2 C 3 D 4 8)有下面的程序段: s:= 100; n:= 3; for ch:= 'a' to 'e' do if not odd(n) then s:=s-n; n:=n+5; 假设所有变量均已说明,s的值()。 A 100 B 97 C 61 D 74 9)以下正确的枚举类型定义是:( ) 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、.frm B、.pas C、.dfm D、.dpr

相关主题
文本预览
相关文档 最新文档