
delphi开发
文章平均质量分 71
fyl_077
这个作者很懒,什么都没留下…
展开
-
DBGridEh(增强型表格组件)功能详解
DBGridEh(增强型表格组件)功能详解EXT中国移动DelphiBorlandExcel DBGRIDEH 是Enlib 3.0组件包中的组件之一。Enlib 3.0组件包是一位俄国人为增强Borland系列开发工具功能而开发的第三方组件,它具有界面友好、功能强大、开发效率高、、快速制作预览/打印简单中国式报表等特点。因此,一推出即受到广大Borland程序员的青睐。目前这转载 2017-03-11 20:53:22 · 795 阅读 · 0 评论 -
初学者如何理解网络协议(一)
初学者如何理解网络协议(一)FYL 2013-12-25网络协议是什么?协议分层是怎么回事?什么是协议的实现?回想当年初识网络协议,被一张网络层次模型图中的“物理层、数据链路层、网络层、传输层……”搞得云里雾里。花了很长时间才搞明白网络协议大概是怎么回事,甚至己经做出了几个网络程序,但仍感觉对网络协议的本质认识还不够清楚。一直在思考这些问题,突然有一天,我发现我对网络协议的认识已经变得明朗。直到今天,我心血来潮写下这篇文章,希望对初学网络编程的朋友有所帮助。原创 2013-12-25 16:26:53 · 2603 阅读 · 0 评论 -
初学者如何理解网络协议(二)
说到底:协议是人规定的一套通信规范,所以任何人都可以规定自己的协议,只要通信的双方能够共同遵守,你就实现了你的协议。事实上协议本身是可以无所谓分层的概念,分层只是为了方便人们处理复杂的协议而人为做出的划分。所以,初学者请不要网络协议深遂的面孔吓倒,更不要被网络分层的假相所迷惑。你只要认清了网络协议的本质,大胆得去实践,你完全可以创造出属于你自己的网络协议。原创 2013-12-25 16:28:42 · 1587 阅读 · 0 评论 -
Delphi 的接口(1) - 前言
之前, 有朋友夸过我: 博文通俗易懂, 能把复杂的问题简单化; 希望我对接口的理解也能对大家有所帮助; 不过其中个人理解的成分多些, 错误之处万望指出."接口" 的概念和 "类" 特别是 "抽象类" 近似, Delphi 之初并没有接口, 后来(Delphi 3)为了支持 COM 引入了接口, 再后来发展成为 Delphi 重要的语言特性.应该先简单了解点 COM, 说转载 2013-12-22 19:54:37 · 455 阅读 · 0 评论 -
Delphi 的接口(4) - 接口的属性
代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton;转载 2013-12-22 19:51:08 · 477 阅读 · 0 评论 -
Delphi 组件渐进开发浅谈(一)——由简入繁
最近业余时间在写游戏修改器玩,对于Delphi自带的组件总觉得差强人意,需要书写大量冗余代码,如果大量使用第三方组件,在以后的移植和与他人交互时也不是很方便,因此便产生了自己封装组件的想法。 实际上这个想法在很久以前(大概04年写第一个修改器的时候)就有了,一直没有闲暇时间去做,而工作上类似的组件也会很实用,虽然不见得有第三方组件设计的那么规范、强大,但小巧、灵活是自主开发的优点。 很转载 2013-12-22 18:11:19 · 724 阅读 · 0 评论 -
简单实现系统托盘
使用 Delphi 提供的 TTrayIcon 类, 两三行程序甚至不写程序(设计时选择几下)即可实现.设计时的准备工作:1、添加 TTrayIcon、TPopupMenu 控件, TPopupMenu 用于托盘的右键菜单.2、随意给 TPopupMenu 添加些菜单项.代码文件:unit Unit1;interfaceuses Win转载 2013-12-22 19:55:39 · 570 阅读 · 0 评论 -
Delphi 的接口(3) - 关于接口的释放
代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton;转载 2013-12-22 19:50:24 · 518 阅读 · 0 评论 -
Delphi TStringList的用法
Delphi TStringList的用法TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。TStringList 常用方法与属性:var List: TStringList; i: Integer;begin List := TStringList.Create; List.Add('Strings1'); {转载 2013-12-23 03:34:27 · 571 阅读 · 0 评论 -
Delphi 的接口(2) - 第一个例子
第一个例子的操作实况录像: Interface_Test.rar代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm转载 2013-12-22 19:49:17 · 423 阅读 · 0 评论 -
Delphi 组件渐进开发浅谈(二)——双简合璧
2.双简合璧2.1.带有T[x]Label的T[x]Edit组件 请允许我用[x]的书写方式来表示不同的对象。因为随后将大量提及TLabeledEdit与TTntLabeledEdit、TCustomLabeledEdit与TTntCustomLabeledEdit这样及其雷同的类。2.2.分析T[x]LabeledEdit组件结构 现在要设计一个类似TLabeledEdit的转载 2013-12-22 18:12:07 · 517 阅读 · 0 评论 -
Delphi 组件撰写常问问题
1.1 此份文件的目的为何? 这份文件的目的是为了解答有关撰写 Delphi组件时常见或文件上找不到的问题。我曾经花了一段很长的时间来了解探索 TDataLink 类别,这让我觉得应该将撰写组件时常遇到的问题及经验心得写下来,分享给大家。不过我并不能保证写在这份文件里头的解答完全正确。如果你对其中的任何问题有更好的解决方法,或认为有什么信息适合放在这份文件里的话,请告知作者。有任何错误或缺漏也转载 2013-12-20 22:12:46 · 654 阅读 · 0 评论 -
Delphi 的持续机制浅探
目 录===============================================================================⊙ DFM 文件与持续机制(persistent)⊙ ReadComponentResFile / WriteComponentResFile 函数⊙ Delphi 持续机制框架简述⊙ 一个 TForm 对象的创建过转载 2013-12-20 21:28:49 · 446 阅读 · 0 评论 -
怎样调试delphi写的服务程序-com对象及hook程序
作者:呆呆(abingle.com)我只会用delphi,也深感于delphi的灵气。1.调试delphi 写的服务程序,有这么一个办法。原来每次都是用attach to process方法,很麻烦。并且按照服务线程的执行线路,可能会停不到想要的断点。笨办法是,在procedure TsvcFrm.ServiceExecute(Sender: TService);中想要下断的语句前加个转载 2014-01-02 18:09:58 · 720 阅读 · 0 评论 -
网络传输工作原理的通俗理解
本文结合生活中的实例,说明网络传输的基本原理我们以甲对乙表达“大家好!”为例。甲乙两人一个只会讲中文,一个只会讲法文,两人如何交流呢?我们把不同层次的翻译当做通信协议的实现来看。网络层次图:甲(讲中文) 乙(讲法文)<英语翻译协议> <英语翻译协议><英语单词分解协议> <英语单词传输协议><字母传输协议>----------真正的网络传输-------><字母传输翻译>原创 2013-12-25 16:31:16 · 1591 阅读 · 1 评论 -
delphi获取windows系统版本信息,大全,准确
很多时候从网上找到的取操作系统版本的代码都不是很准确,有些信息也不全面。为此,在msdn上找到全面的信息整理成代码,共享!unit WindowsSysVersion;interfaceuses windows ;{$IFDEF CONDITIONALEXPRESSIONS}{$IF Defined(TOSVersionInfoEx)}{$DEFINE TOSVER转载 2013-12-26 23:49:00 · 911 阅读 · 0 评论 -
DELPHI 将TBitmap与TGPImage转换
uses GDIPOBJ, GDIPAPI;procedure TForm1.FormPaint(Sender: TObject);const ImgPath = 'c:\temp\test.bmp';var img: TGPImage; bit: TBitmap; g: TGPGraphics;begin bit := TBitmap.Creat转载 2014-01-11 12:55:21 · 2394 阅读 · 0 评论 -
表达式求值
利用VBScript的直接计算unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,StrUtils, Spin,comobj;type TForm1 = class(TForm)转载 2015-11-19 16:16:47 · 612 阅读 · 0 评论 -
表达式计算器
表达式计算器, 支持四则混合运算, 常量代入扩展后可实现表达式嵌套引用, 防循环调用等功能//公式解析单元[delphi] view plaincopyunit utFormula; interface uses SysUtils, Generics.Collections; type转载 2015-11-19 16:00:11 · 603 阅读 · 0 评论 -
Delphi连接Oracle控件ODAC的安装及使用
Delphi连接Oracle有很多种方式,但大多要在客户机上安装Oracle那庞大的客户端,比较不方便,使用ODAC控件连接Oracle则免去了这些麻烦。ODAC也是Oracle公司载发的控件。有for Delphi 6–Dephi 2007的版本。 Oracle数据访问组件(ODAC),全称:Oracle Data Access Components,Oracle数据存取组件(ODAC)库为Bo转载 2015-07-22 14:23:03 · 2667 阅读 · 0 评论 -
关于 Delphi 中流的使用(6) 用流读写结构化文件
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; {添加 Memo 显示内容} Bu转载 2014-12-20 23:03:29 · 636 阅读 · 0 评论 -
关于 Delphi 中流的使用(5) 组件序列化
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton;转载 2014-12-20 23:02:32 · 638 阅读 · 0 评论 -
关于 Delphi 中流的使用(9) 分割与合并文件的函数
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton;转载 2014-12-20 23:05:40 · 645 阅读 · 0 评论 -
关于 Delphi 中流的使用(8) 压缩与解压缩的函数
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton;转载 2014-12-20 23:04:46 · 531 阅读 · 0 评论 -
关于 Delphi 中流的使用(4) 遍历读取流中的所有数据
关于 Delphi 中流的使用(4) 遍历读取流中的所有数据unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) M转载 2014-12-20 22:53:08 · 783 阅读 · 0 评论 -
关于 Delphi 中流的使用(1) 用 TMemoryStream(内存流) 入门
关于 Delphi 中流的使用(1) 用 TMemoryStream(内存流) 入门前言:所谓"流", 就是一段数据或是一块内存;在进行流操作时, 我们不必关心流中的数据到底是什么; 只需要知道流的大小和当前的指针位置. 所以流只有两个属性: Size、Position.对流的操作, 不过就是读取和写入. 所以流最主要的方法就是 Read 和 Write.在转载 2014-12-20 22:52:03 · 1074 阅读 · 0 评论 -
关于 Delphi 中流的使用(7) 压缩与解压缩(TCompressionStream、TDecompressionStream)
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton;转载 2014-12-20 23:04:16 · 456 阅读 · 0 评论 -
关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:TFileStream: 文件流TStringStream: 字符串流TMemoryStream: 内存流TResourceStream: 资源文件流THandleStream: 是 T转载 2014-12-20 22:51:32 · 542 阅读 · 0 评论 -
关于 Delphi 中流的使用(3) 通过内存流读取文件
关于 Delphi 中流的使用(3) 通过内存流读取文件unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Mem转载 2014-12-20 22:52:36 · 570 阅读 · 0 评论 -
GDI+ 在Delphi程序的应用 -- GDI+图像与GDI位图的相互转换
Delphi的TBitmap封装了Windows的GDI位图,因此,TBitmap只支持bmp格式的图像,但是在Delphi应用程序中,常常会遇到图形格式的转换,如将Delphi位图TBitmap的图像转换为其它格式保存,或者将其它图像格式转换为TBitmap等。这时候,我们往往借助一些第三方组件或代码,Delphi自带的TJPEG.pas就是jpeg格式图像转换的第三方代码单元。转载 2014-01-11 19:49:54 · 1861 阅读 · 0 评论 -
Delphi 变体类型(Variant)的介绍(流与变体类型的相互转换、变体类型常用的函数)
一、变体类型常用的函数介绍: Variant: 一种可以拥有各种数据类型; 也可以告诉目前存储的数据是什么类型(通过使用VarType函数); 可以给相同的Variant分配不同的数据类型,只要Variant包含数字值就可以执行算法; variant数组只不过是variant型的数组,不必包含同类型的数据;1、 VarArrayOf函数:更快捷的创建一维变体数组,可以创转载 2014-01-01 11:17:29 · 548 阅读 · 0 评论 -
一个使用特殊符号分割的字符串解码方法(Delphi版)
function DecodeString(Str, deStr: string ): TStringList;var StringList:TStringList;begin StringList:=TStringList.Create; stringList.Text := StringReplace(Str, deStr,#13, [rfReplaceA转载 2013-12-17 13:00:56 · 814 阅读 · 0 评论 -
DELPHI判断是否64位操作系统
function IsWin64: Boolean;var Kernel32Handle: THandle; IsWow64Process: function(Handle: Windows.THandle; var Res: Windows.BOOL): Windows.BOOL;stdcall;GetNativeSystemInfo : procedure(var转载 2013-12-29 20:29:44 · 884 阅读 · 0 评论 -
关于WM_NCHITTEST消息
我为了移动一个无标题栏的窗体,使用了WM_NCHITTEST消息,这个消息大概如下:通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口。一个容易想到的方案是,处理鼠标消息WM_LBUTTONDOWN和WM_LBUTTONUP。在OnLButtonUp函数中计算鼠标位置的变化,调用MoveWindow实现窗口的移动。注意,拖动标题栏移动窗口的时候转载 2013-09-17 19:41:24 · 488 阅读 · 0 评论 -
DELPHI中函数、过程变量的声明与应用
Procedure型变量: 在DELPHI中,函数、过程的地址可以赋给一个特殊类型的变量,变量可用如下方式声明: var p : procedure(num:integer); //过程 或: var f : function(num:integer):integer; //函数 也可定义一个过程(或函数)类型,再定义该类型的变量,如: type TMyProc = Pro转载 2013-10-02 16:09:42 · 1190 阅读 · 0 评论 -
Delphi 消息实现窗口最小化,最大化,关闭(delphi)
var hwnd: hwnd;//句柄PostMessage(hwnd,WM_SYSCOMMAND, SC_MINIMIZE,0); //最小化PostMessage(hwnd,WM_SYSCOMMAND, SC_MAXIMIZE,0);//最大化PostMessage(hwnd,WM_SYSCOMMAND, SC_CLOSE,0);//关闭窗口最小化时将释放占用的资源转载 2013-09-16 17:00:36 · 2559 阅读 · 0 评论 -
Delphi 数据类型列表
Delphi 数据类型列表分类范围字节备注简单类型序数整数Integer-2147483648 .. 21474836474有符号32位Cardinal0 .. 42949672954无符号32位Shortint-128 .. 1271有符号8位Smallint-32转载 2013-10-01 11:07:22 · 534 阅读 · 0 评论 -
delphi的copy函数在复制字符数组时的问题
delphi的copy函数在复制字符数组时对不同起始下标的数组会有完全不同的处理结果.分析如下:当下标从0开始时,无论设置复制长度是多大,copy的结果都会自动以0字符结尾,而下标从1开始时,一切正常.例:var buff:array [0..255] of char;var recbuff:string;var len,i:integer;procedure TF原创 2013-10-01 10:36:29 · 1882 阅读 · 0 评论 -
FastMM使用详解
FastMM使用详解一、引言 FastMM 是适用于delphi的第三方内存管理器,在国外已经是大名鼎鼎,在国内也有许多人在使用或者希望使用,就连 Borland 也在delphi2007抛弃了自己原有的饱受指责的内存管理器,改用FastMM. 但是,内存管理的复杂性以及缺乏 FastMM中文文档导致国内许多人在使用时遇到了许多问题,一些人因此而放弃了使用,转载 2013-09-06 09:06:58 · 895 阅读 · 0 评论 -
DELPHI SOCKET 通信编程要点小结
//先贴几个实用函数//16 进制 转 整形,这个在消息解码的时候经常要用到Function HexToInt(sTemp : String) : Integer ;VarV, i : Integer ;BeginHexToInt := 0 ;If sTemp = '' Then Exit ;If (sTemp[1]='0') And ((sTemp[2]=转载 2013-08-29 11:34:19 · 480 阅读 · 0 评论