摘要: 编写Delphi应用程序时,经常会遇到一些ActiveX控件[注:扩展名为OCX的控件或DLL的类型库],它们为应用程序的开发提供了简单的操作途径。然而,这些程序在发布的同时,面临ActiveX控件注册问题。解决途径:一、用安装程序制作打包文件,往往会给增加程序本身的大小,系统重装时,则必须重新安装它;二、用程序本身进行代码编写函数的形式处理它。使用方法分为两种:一、直接把可视化的ActiveX控件放到程序中;二、运行时根据需要实时建立。如果是直接使用,则应用程序在初始化的过程中会自动寻找、创建所需的ActiveX控件,如果控件没有注册,初始化程序会产生一个异常,捕捉并处理这个异常。在程序Fo 阅读全文
posted @ 2011-05-12 11:07 星星的学习小志 阅读(400) 评论(0) 推荐(0)
摘要: 这里为读者提供一些实用的开发技巧和某些常见问题的解决途径。很多程序设计人员都有这样的体会,那就是往往自己冥思苦想某个问题的时候,旁人的一句点拨就可以拨云见日,灵感突现。因此下面以FAQ的形式列举了在开发过程中可能会遇到的问题,以飨读者。1.1 关于Delphi的BDEDelphi操作数据库主要是利用BDE来进行。BDE是基于32位Windows内核的数据库引擎和连接工具,支持现有的大多数数据库。它具有如下一些特点:1. 为多种数据库格式提供统一的应用程序接口,包括任何ODBC数据源。2. 适应C/S数据库应用的开发,程序设计人员可以访问所有本地和服务端的数据,并且很容易实现应用的向上兼容性。3 阅读全文
posted @ 2011-05-12 10:31 星星的学习小志 阅读(1460) 评论(0) 推荐(0)
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Label3: TLabel; label1: TLabel; Label2: TLabel; Labname: TLabel; Labhp: TLabel; Labmp: TLabel; Button1: TButton; Label4: TLabel; Lablevel: TLabel; procedur 阅读全文
posted @ 2011-05-12 10:29 星星的学习小志 阅读(391) 评论(0) 推荐(0)
摘要: Socket服务端编程中最重要的也是最难处理的工作便是客户请求的处理和数据的接收和发送,如果每一个Socket服务器应用程序的开发都要从头到尾处理这些事情的话,人将会很累,也会浪费大量时间。试想,如果有一个通用的程序把客户请求处理和数据的接收、发送都处理好了,程序员只需要在不同的应用中对接收到的数据进行不同的解析并生成返回的数据包,再由这个通用程序将数据包传回客户端,这样,程序设计的工作将会轻松许多。 用Delphi进行过三层数据库应用开发的程序员一定对Borland公司的Borland Socket Server(ScktSrvr.exe)不陌生。这是一个典型的Socket服务器程序,认真读 阅读全文
posted @ 2011-05-12 10:29 星星的学习小志 阅读(757) 评论(0) 推荐(0)
摘要: 一、WSAStartup函数int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData );使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二个参数返回请求的Socket的版本信息。当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。以后应用程序就可以调用所请求的Socket库中的其它Socket函 阅读全文
posted @ 2011-05-11 18:32 星星的学习小志 阅读(292) 评论(0) 推荐(0)
摘要: function GetBiHua(chnstr:string):integer;constBiHuaTable=#10#7#10#10#8#10#9#11#17#14#13#5#13#10#12#15+#10#6#10#9#12#8#10#10#8#8#10#5#10#14#16#9+#12#12#15#15#7#10#5#5#7#10#2#9#4#8#12#13+#7#10#7#21#10#8#5#9#6#13#8#8#9#13#12#10+#13#7#10#10#8#8#7#8#7#19#5#4#8#6#9#10+#14#14#9#12#15#10#15#12#12#8#9#5#15#1 阅读全文
posted @ 2011-05-11 18:29 星星的学习小志 阅读(457) 评论(0) 推荐(0)
摘要: 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:typeTMsg = packed recordhwnd: HWND; / /窗口句柄message: UINT; / /消息常量标识符wParam: WPARAM ; // 32位消息的特定附加信息lParam: LPAR 阅读全文
posted @ 2011-05-11 18:27 星星的学习小志 阅读(792) 评论(0) 推荐(0)
摘要: {=========================================================================功 能: 网络函数库时 间: 2002/10/02版 本: 1.0=========================================================================}unit Net;interfaceusesSysUtils,Windows,dialogs,winsock,Classes,ComObj,WinInet;//得到本机的局域网Ip地址Function GetLocalIp(var Loc 阅读全文
posted @ 2011-05-11 18:27 星星的学习小志 阅读(406) 评论(0) 推荐(0)
摘要: ClientDataSet组件支持很多特性,其中一些与三级结构有关,而且还可以用在其他环境中。该组件说明了一个数据库完全映象在内存中,这使得可以进行动态的操作,如建立一个索引,其他数据集合通常不支持该特性。例如,为了对查询分类,我们通常是重新执行它。为了索引一个局部表格,需要定义索引。只有ADO数据集合有一些与ClientDataSet一样的动态索引功能。索引并不是ClientDataSet提供的全部功能。当我们拥有了索引之后,可以基于它定义组,可能是多级别的分组。对于确定一个记录在组中的位置(头、尾或中间位置),甚至有专门的支持。在组或整个数据表格中,我们可以定义总计;也就是说,可以动态计算 阅读全文
posted @ 2011-05-11 18:26 星星的学习小志 阅读(553) 评论(0) 推荐(0)
摘要: 在Dephi中提供了一个抽象的数据类型TStream来支持对流式数据的操作。这些数据通常来自文件、数据库、内存对象、OLE对象等,TStream提供了统一、简洁的方法来进行数据的读写。在通常情况下,我们并不需要直接使用TStream类,对流式数据的读写封装在VCL控件的方法中。但是如果这些方法无法满足我们的要求,就需要自己手动控制数据的读写。 一、 TStream的常用的方法和属性:1. function Read(var Buffer; Count: Longint): Longint; virtual; abstract 2. function Write(const Buffer; Co 阅读全文
posted @ 2011-05-11 18:26 星星的学习小志 阅读(434) 评论(0) 推荐(0)