linyawen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年1月17日

摘要: TURLLabel = class(TLabel) procedure WndProc(var Message : TMessage); override; end; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} { TURLLabel } procedure TURLLabel.Wn 阅读全文
posted @ 2011-01-17 00:08 linyawen 阅读(616) 评论(0) 推荐(0) 编辑

摘要: 每一个VCL都有一内在的消息处理机制,其基本点就是构件类接收到某些消息并把它们发送给适当的处理方法,如果没有特定的处理方法,则调用缺省的消息处理句柄。 其中mainwndproc是定义在Twincontrol类中的一个静态方法,不能被重载(Override)。它不直接处理消息,而是交由wndproc方法处理,并为wndproc方法提供一个异常处理模块。 Wndproc是在Tcontrol类中定义的一个虚拟方法,由它调用dispatch方法来进行消息的分配。 dispatch方法是在Tobject根类中定义的,而Dispatch方法会根据消息号码调用构件的最后代类中处理此消息的句柄方法.如果此构 阅读全文
posted @ 2011-01-17 00:00 linyawen 阅读(716) 评论(0) 推荐(1) 编辑

2011年1月5日

摘要: 一)初识HTTP消息头 但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对 方怎么干。HTTP传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两部分,后者是可选的,而前者是必须的。每当我们打开一个网 页,在上面点击右键,选择“查看源文件”,这时看到的HTML代码就是HTTP的消息体,那么消息头又在哪呢?IE浏览器不让我们看到这部分,但我们可以 通 阅读全文
posted @ 2011-01-05 00:24 linyawen 阅读(1097) 评论(0) 推荐(0) 编辑

2011年1月4日

摘要: 哈希算法目录简介 计算方法 哈希算法 点对点协议 (PPP) 几个比较著名的哈希算法简介 计算方法 哈希算法 点对点协议 (PPP) 几个比较著名的哈希算法展开编辑本段简介  哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。   哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中 阅读全文
posted @ 2011-01-04 18:05 linyawen 阅读(963) 评论(0) 推荐(0) 编辑

摘要: 4.2.函数(Functions)4.2.1.ComponentCreateFromXmlFile  unit NativeXmlObjectStorage  function ComponentCreateFromXmlFile(const FileName: string; Owner: TComponent; const Name: string): TComponent;  从文件名称为FileName的XML文件读取并创建组件。为了成功地从头开始创建组件,组件的类必须事先调用RegisterClass进行登记。添加到指定Owner组件的子组件列表。这通常是一个形式。指定Name作为创 阅读全文
posted @ 2011-01-04 17:47 linyawen 阅读(746) 评论(0) 推荐(0) 编辑

2010年12月23日

摘要: unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;typeTForm1=class(TForm)Button1:TButton;Button2:TButton;Button3:TButton;Button4:TButton;procedureButton1Click(Sender:TObject);procedureButton2Click(Sender:TObject);procedureButton3Click(Sender:T 阅读全文
posted @ 2010-12-23 23:32 linyawen 阅读(5208) 评论(0) 推荐(0) 编辑

摘要: Object Pascal的指针一、类型指针的定义。对于指向特定类型的指针,在C中是这样定义的:int *ptr;char *ptr;与之等价的Object Pascal是如何定义的呢? varptr : ^Integer;ptr : ^char; 其实也就是符号的差别而已。二、无类型指针的定义。C中有void *类型,也就是可以指向任何类型数据的指针。Object Pascal为其定义了一个专门的类型:Pointer。于是,ptr : Pointer;就与C中的void *ptr;等价了。三、指针的解除引用。要解除指针引用(即取出指针所指区域的值),C 的语法是 (*ptr),Object 阅读全文
posted @ 2010-12-23 22:32 linyawen 阅读(2169) 评论(0) 推荐(1) 编辑

2010年12月16日

摘要: DELPHI下的SOCK编程 本文是写给公司新来的程序员的,算是一点培训的教材。本文不会涉及太多的编程细节,只是简单讲解在DELPHI下进行Winsock编程最好了解的知识。 题外话:我认为学习编程就如同学习外语一样,最好的方式是你先学会如何去运用它,然后才是了解它的语言特性、语法之类的东西。不过很可惜,我们以前的外语教育使用了相反的过程。软件编程也是一样,在很多人的大学阶段,你更多的是学习那些理论知识,学习“语法”,这里,我丝毫没有贬低理论知识重要性的意思。理论知识和实践是相辅相成的,但一个恰当的学习方式,很多时候可以让学习者得到事半功倍的效果。例如你学习《数据结构》中排序的概念,我们假设对 阅读全文
posted @ 2010-12-16 20:15 linyawen 阅读(3506) 评论(0) 推荐(1) 编辑

2010年12月15日

摘要: 前面3个小节介绍了socket机制对TCP协议三次握手的实现,需要强调的是,与协议独立于实现类似,TCP的三次握手是独立于socket体系的理论。在TCP协议中,三次握手是通过3个TCP格式的IP数据报来实现的。TCP格式的IP数据报中包含着TCP首部,TCP首部信息中包含着对每一个数据报具体内容的描述。我们这里需要介绍的首部位(bit)标志只有3个:SYN:同步序号用来发起一个连接。因为TCP协议要求数据传送是可靠的,他的实现方式就是对传输的数据的每一个字节(byte)按顺序编号。但是初始序列号(ISN:Initial Sequence Number)并非从0开始,而是一个随时间周而复始变化 阅读全文
posted @ 2010-12-15 20:18 linyawen 阅读(1083) 评论(0) 推荐(0) 编辑

摘要: 1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。 2、连接终止协议(四次挥手)  由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收 阅读全文
posted @ 2010-12-15 00:06 linyawen 阅读(1776) 评论(0) 推荐(0) 编辑