![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Delphi
文章平均质量分 55
yxp200402
111111
展开
-
Delphi之多线程编程(一)
Delphi之多线程编程(一)本文的内容取自网络,并重新加以整理,在此留存仅仅是方便自己学习和查阅。所有代码均亲自测试 delphi7下测试有效。图片均为自己制作。多线程应该是编程工作者的基础技能, 但这个基础我从来没学过,所以仅仅是看上去会一些,明白了2+2的时候,其实我还不知道1+1。开始本应该是一篇洋洋洒洒的文字, 不过我还是提倡先做起来, 在尝试中去理解转载 2014-08-03 16:57:04 · 1416 阅读 · 0 评论 -
Midas技术概述
MIDAS的全称是Multitier Distributed Application Services Suite(多层分布式应用程序服务包)。Delphi所有强大又奇妙的分布式多层能力都来自MIDAS的功能。 MIDAS是Delphi多层应用系统的技术核心,是Delphi用来开发多层应用系统所使用的中介透明引擎。通过MIDAS,程序员可以使用相同的组件存取不同的后端应用程序服务器转载 2012-07-23 10:23:12 · 2662 阅读 · 1 评论 -
Pascal 语言中的关键字及保留字
absolute //指令(变量)abstract //指令(方法)and //运算符(布尔)array //类型as //运算符(RTTI)asm //语句assembler //向后兼容(汇编)at //语句(异常处理)automated //访问类别符(类)begin //块标记case //语句cdecl //函数调用协定class //类型co转载 2012-07-24 14:16:41 · 617 阅读 · 0 评论 -
最大公约数与最小公倍数
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton;转载 2012-07-24 11:24:43 · 499 阅读 · 0 评论 -
链表与数组的异同
1、数组中的元素在内存中是连续的; 链表不是.2、数组的内存是一次性分配和释放的; 链表不是.3、链表定位元素是顺藤摸瓜; 数组是一步到位, 更快.4、链表可以方便的插入和删除元素; 用数组实现即麻烦有费时, 基本没人这样做.5、链表拥有更多扩展的潜力!转载 2012-07-24 11:20:18 · 526 阅读 · 0 评论 -
多线程编程
function CreateThread( lpThreadAttributes: Pointer; {安全设置} dwStackSize: DWORD; {堆栈大小} lpStartAddress: TFNThreadStartRoutine; {入口函数} lpParameter: Pointer;转载 2012-07-24 10:52:02 · 480 阅读 · 0 评论 -
斐波那契数列
{ 斐波那契数列: 1、2、3、5、8、13、21、34、55、89、144 ... 等于前两数之和 }{ 昂纳多·斐波那契(Leonardo Fibonacci, 1170-1240, 意大利数学家) }uses Types;{参数 2 是要获取的总数}procedure fbnc(var A: TInt64DynArray; Count: Integer);转载 2012-07-24 11:23:26 · 1187 阅读 · 0 评论 -
顺序查找与二分查找
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton;转载 2012-07-24 11:13:46 · 583 阅读 · 0 评论 -
Delphi设置某用户对文件(夹)的权限
以下在代码在D7+2003和D7+XP中调试通过unit NTSecurityU;interfaceUses Windows, AclApi, AccCtrl;ConstSECURITY_NULL_SID_AUTHORITY : _SID_IDENTIFIER_AUTHORITY = ( Value : (0,0,0,0,0,0));SECURITY_WOR转载 2012-07-19 15:59:44 · 5063 阅读 · 3 评论 -
Delphi中DLL的建立和调用
动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。由于DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可以实现一些一般程序所不能实现的功能,如实现windows的HOOK、ISAPI等。同时,DLL还为不同语言间代码共享提供了一条方便的途径。因而DLL在编程时应用较为广泛,本文将介绍如何在 Delp转载 2012-09-04 15:40:31 · 930 阅读 · 0 评论 -
Delphi中文与拼音
unit IMCode; interfacefunction MakeSpellCode(stText: string; iMode, iCount: Integer): string;{ iMode 二进制功能位说明 X X X X X X X X X X X X X X X X 3 2 1 1: 0 - 只取转载 2012-09-26 19:02:36 · 3212 阅读 · 0 评论 -
Delphi笔试汇总
Delphi基础1. Delphi 内置类型 string 和 WideString 的区别。2. 简要描述Delphi代码单元中,以下关键字的作用。interface:implementation:initialization:finalization:3. 将一周七天声明成枚举类型。4. 现有Integer 变量 A、B,在不声明其它变量的情况下,将它们的值交换原创 2012-07-09 15:42:22 · 2379 阅读 · 0 评论 -
GB2312简体中文编码表
const //GB2312 中文编码 CHpb = $B0; //首页码 CHpe = $F7; //尾页码 CHab = $A1; //首地址 CHae = $FE; //尾地址 GB_B = $B0A1; GB_E = $F7FE; ChCount = (chpe - chpb + 1) * (chae - chab + 1)转载 2012-09-26 19:20:49 · 44569 阅读 · 0 评论 -
DCOMConnection与SocketConnection
BORLAND的MIDAS主要是基于MS的技术(因为WINDOWS平台的缘故)。DCOMConnection是基于DCOM的ORPC的,SocketConnection/WebConnection其实只是一个代理,把ORPC通过TCP/HTTP转换为本地COM调用而已。所以本质上还是DCOM。包括早先MIDAS支持的CORBA,其实也是通过CORBA的DII来代理DCOM请求而已,不是真正的转载 2012-07-23 10:38:02 · 3850 阅读 · 0 评论 -
Delphi实现进制转化(2进制,8进制,10进制,16进制)
delphi中有直接把10进制转换成16进制的函数: function IntToHex(Value: Integer; Digits: Integer): string; overload; function IntToHex(Value: Int64; Digits: Integer): string; overload;原创 2013-04-15 13:51:00 · 1921 阅读 · 0 评论 -
Delphi发展历程
在delphi XE2发布之际,满足各位D迷得要求,跟大家分享一下从 Turbo Pascal 到 Delphi XE 2 各个版本历史。Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立. Turbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体 Pa转载 2012-08-21 21:51:56 · 2516 阅读 · 0 评论 -
Delphi7与Delphi2007
CodeGear(From Borland) 公司发布了最新的Delphi 2007 For Win32版本。作为一个 Delphi 的使用者,第一时间下载、安装并进行了体验,现将一些使用感受记录如下:注:以下的对比主要是针对Delphi7与Delphi2007,以下列出的部分功能可能在Delphi8/2005/2006中已存在。1、下载可在CodeGear官方网站下载试用版,转载 2012-10-22 13:48:41 · 6752 阅读 · 0 评论 -
Owner、Parent、Self、Sender
Owner和Parent的区别:Parent属性是指构件的包容器,构件只能在此范围内显示和移动。举例子如下: (1)在Form1的窗体上,放一个Panel1,并将Panel1拉大, (2)在Panel1上放一Button1; (3)在Form1上放一Button2。 现在如果移动Panel1,则Button1随着Panel1移动,这是因为Button1的Pare转载 2012-10-27 22:23:16 · 911 阅读 · 0 评论 -
Delphi获取中文拼音首字母
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit;转载 2012-09-26 18:58:35 · 1207 阅读 · 0 评论 -
TreeView和XML
本文将教您怎样保存树目录到XML文件及怎样从XML文档重建一个树型目录.如果您需要一个强大、易传输的格式来保存应用程序的配置, 使用TreeView与XML是一个非常好的选择, 接下来请看......保存TTreeView项目到XML首先, 我们新建一个简单的应用程序, 并放置几个组件: 一个TTreeView组件, 两个ImageList组件及一个TXMLDocument组件.转载 2012-07-13 15:32:50 · 2981 阅读 · 0 评论 -
clUseClient与clUseServer
需检查是否是以下这些情况:1.无主键2.字段允许为空3.字段类型不匹配4.字段是不是精度不够。5.ADO控件 CursorLocation的属性,默认值为“clUseClient”,应设为“clUseServer”。帮助文档资料如下:Use CursorLocation to indicate whether the cursors that转载 2012-07-12 13:33:07 · 2529 阅读 · 0 评论 -
Delphi与XML
{-----------------------------------------创建XML文档,以及节点------------------------------------------}procedure TForm1.CreateXMLClick(Sender: TObject);var pNode,cNode: IXMLNode;转载 2012-07-12 08:50:13 · 4615 阅读 · 0 评论 -
Delphi快捷键
CTRL+SPACE 代码补全,很好用的(先改了输入法热键) CTRL+SHIFT+C 编写申明或者补上函数 CTRL+SHIFT+↑(↓) 在过程、函数、事件内部, 可跳跃到相应的过程、函数、事件的定义(在INTERFACE和IMPLEMENTATION之间来回切换) CTRL+SHIFT+G 插入GUID CTRL+J (弹出DELPHI语句提示窗口,选择所需语句将自动完成一条转载 2012-07-09 16:06:54 · 520 阅读 · 0 评论 -
利用Delphi实现系统状态栏图标
下面以一个具体的例子,详细介绍一下利用Delphi实现系统状态栏图标的步骤和方法。 1.创建一个应用程序,在主窗体上增加一个TpopupMenu组件。并为该弹出选单组件增加选单项Exit,标题为“退出”。 2.在Uses中添加ShellAPI,因为在系统状态栏中增加图标时需调用ShellAPI中的函数Shell_NotifyIconA。该函数需要两个参数,其中一个是Tnoti转载 2008-11-06 16:46:00 · 620 阅读 · 0 评论 -
CnPack开发包基础库
unit CnCommon;{* |================================================================================* 软件名称:开发包基础库* 单元名称:公共运行基础库单元* 单元作者:CnPack开发组* 备 注:该单元定义了组件包的基础类库* 开发平台:PWin98SE + De转载 2012-07-09 15:50:14 · 3225 阅读 · 0 评论 -
在Delphi中使用动态图标
在应用程序的编写中,组合框(ComboBox)、列表框(ListBox)、等常见的部件,通常不仅要用于显示文字,而且还要显示其与文字相关的图标。在一般的Windows应用程序中,这些图标的显示都要随列出的显示文本的变化而变化,例如在组合框中列出当前目录下的所有文件时,在组合框左边就显示与文件名相关联的图标,这就是所谓的动态图标。在Delphi中使用动态图标的步骤如下:一、图标的获取转载 2008-11-06 16:42:00 · 876 阅读 · 0 评论 -
面向对象基本特征
面向对象的三个基本特征是:封装、继承、多态;封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下转载 2012-07-09 16:21:23 · 371 阅读 · 0 评论 -
Access Violation
Windows用户可能经常会看到类似于错误提示:“Error:Access violation at address 836556F8. Read of address 836556F8”。作为一个Delphi程序开发者,遇到这种错误的机会比其他用户更多(^_^)。 究竟什么是“Access Violation”?如何在设计期避免它的出现? Access Violation(非法访问)转载 2012-07-09 16:10:55 · 560 阅读 · 0 评论 -
RemObjects SDK
随着各家厂商的强力背书与推销,Web Services 俨然成为未来分布式系统开发的主流架构,但是Web Services 至今仍然存在一些问题,其中有些是属于规格的问题,有些则是先天上的限制,许多使用Web Services 开发系统的人都会有一个困扰,那就是效率不高,其原因很简单,XML 本身属于纯文字型态,加上必须依赖XML Parser 剖析XML 文件,在传输与解译上都是造成效率不彰的转载 2009-11-19 14:53:00 · 792 阅读 · 0 评论 -
Delphi 的编译指令
Delphi 的编译指令(1): $DEFINE、$UNDEF、$IFDEF、$ELSE、$ENDIF 一个程序从无到有的过程是这样的: 编辑代码 -> 预处理 -> 编译(成dcu等) -> 链接(为exe等).什么是预处理? 譬如 VCL 中有很多代码是兼容 Linux 的, 在 Windows 下就需要在编译之前预处理掉那些 for Linux 的代码. 1、判断操作系统:转载 2009-07-28 13:43:00 · 738 阅读 · 0 评论 -
ado连接字符串
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString; procedure CreateUDLFile(const FileName, ProviderName, DataSourceName: WideString);function DataLinkDir: str转载 2008-11-17 09:30:00 · 647 阅读 · 0 评论 -
Delphi 获取句柄 sendmessage
查找另外一个窗口的句柄: handle := FindWindow(nil,PChar('窗口的标题'));//查到窗体句柄查找子窗体:childHandle := FindWindowEx(handle,0,'子窗体类','子窗体标题'); 另外有个枚举子窗体的API,EnumChildWindows(主创体句柄,@回调函数,用户参数);用这个函数需要自己写一个回调的函数,比如:转载 2008-11-06 17:11:00 · 1330 阅读 · 0 评论 -
delphi 中字符串与16进制、10进制转换函数
//字符串转成16进制代码function strToHexStr(str:string):string;varc:char;ss:string;i:integer;beginwhile str c:=str[1]; ss:=ss+format('%0x',[ord(c)]); delete(str,1,1);end;strtohe转载 2012-07-12 08:45:12 · 4674 阅读 · 0 评论 -
Application.ProcessMessage作用
运行一个非常耗时的循环,那么在这个循环结束前,程序可能不会响应任何事件,按钮没有反应,程序设置无法绘制窗体,看上去就如同死了一样,这有时不是很方便,例如于终止循环的机会都没有了,又不想使用多线程时,这时你就可以在循环中加上这么一句,每次程序运行到这句时,程序就会让系统响应一下消息,从而使你有机会按按钮,窗体有机会绘制。所起作用类似于VB中DoEvent方法. Call ProcessMes转载 2012-07-11 13:05:14 · 7931 阅读 · 0 评论 -
DELPHI常用的VCL类简介
窗体和应用程序类表示Form和Application对象,这些类是从TComponent派生而来,它们实际也是组件,单独地把它列举出来,以示与拖到窗体上的控件加以区别。1、 TApplication类TApplication类封装了Windows程序的基本操作。TApplication所担负的任务有:管理图标、提供快捷帮助和基本消息处理。每个Delphi应用程序都有一个指向TApp转载 2012-07-11 12:50:15 · 9045 阅读 · 0 评论 -
BPL VS DLL
第一部分:有关包的介绍一般我们编写编译一个DELPHI应用程序时,会产生一个EXE文件,也就是一个独立的WINDOWS应用程序。很重要的一点:区别于Visual Basic,DELPHI产生的是预先包裹的应用程序是不需要大量的运行库(DLL's)。假设:打开Delphi默认的工程(只有一个空白form),F9她将编译生成一个大约295 KB (Delphi 5)的可执行文件。然后打转载 2012-07-11 12:21:06 · 842 阅读 · 0 评论 -
文件名函数
⑴ExpandFileName() 原型:extern PACKAGE AnsiString __fastcall ExpandFileName(const AnsiString FileName); 功能:返回文件的全路径(含驱动器、路径) 参数:FileName:要处理的文件名 例:ShowMessage(ExpandFileName(Applicat转载 2012-07-11 12:18:34 · 2265 阅读 · 0 评论 -
Delphi单元文件
1.库单元文件头:其中声明了库单元的名字.2.Interface部分: 由保留字interface开始,结束于保留字implementation,它用来声明引用的单元,常量,数据类型,变量,过程和函数.在Interface部分声明的变量,常量,数据类型,过程,函数都可以供外部引用,对整个程序而言是共有的.也就是说,对于所有引用该单元的单元来说,这些声明都是可见和可访问的.转载 2012-07-11 11:27:19 · 501 阅读 · 0 评论 -
string和WideString的区别
【Ansistring】为Delphi的缺省字符串类型,是单字节字符串;如:str1:string; //编译器认为str1的类型是Ansistring类型【wideString】由wideChar字符组成,功能类似于AnsiString,是双字节字符串;另:AnsiChar:标准的1字节ANSI字符;WideChar:2字节的Unicode字原创 2012-07-11 11:21:46 · 6582 阅读 · 0 评论 -
Delphi常用函数汇总
unit CommonProcs;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, Menus, Registry, DBTables;//寻找与目标字符串最匹配的字符串function MaxMatchStr原创 2012-07-09 15:47:25 · 1247 阅读 · 0 评论