摘要:
----在一个应用程序内部菜单、部件都可以设置敏感键。如在菜单中一般用Alt+F进 入“文件”之类的子菜单。另外我们在桌面上设置的快捷方式里的快捷键,无论你任何 时候按下你所设置的快捷键就会启动相应的应用程序。在多个正在运行的应用程序中如 何利用一个按键动作迅速地回到你所需要的应用程序呢?这就需要利用敏感键 (HOTKEY)的技术来实现。本文利用Delphi3.0开发工具来阐述该技术在应用程序的实... 阅读全文
摘要:
---- 在网络管理中,有时需要通过监视远程计算机屏幕来了解网上微机的使用情况。虽然,市面上有很多软件可以实现该功能,有些甚至可以进行远程控制,但在使用上缺乏灵活性,如无法指定远程计算机屏幕区域的大小和位置,进而无法在一屏上同时监视多个屏幕。其实,可以用Delphi自行编制一个灵活的远程屏幕抓取工具,简述如下。 ---- 一、软硬件要求。 ---- Windows95/98对等网,用来监视的计算机... 阅读全文
摘要:
定义 1、在Interface的Uses节增加IniFiles; 2、在Var变量定义部分增加一行: MyIniFile:Tinifile; 打开INI文件 MyIniFile:=Tinifile.create('program.ini'); 当地: Filename := ExtractFilePath(Paramstr(0)) + 'data.ini'; sysini := Tinifile... 阅读全文
摘要:
uses StrUtils; 【字符串函数大全】 首部 function AnsiResemblesText(const AText, AOther: string): Boolean; $[StrUtils.pas 功能 返回两个字符串是否相似 说明 ANSI(American National Standards Institute)美国国家标准协会;不区分大小写 参考 function St... 阅读全文
摘要:
两种方面都是运行在project/view source里编辑。一个是利用Windows系统的全局原子,另一个是利用API函数比较同类同名窗体。 1.全局原子 利用向系统添加全局原子的方法,全局原子由Windows 系统负责维持,它能保证其中的每个原子都是唯一的,管理其引用计数,并且当该全局原子的引用计数为0时,从内存中清除。我们用GlobalAddAtom 函数向全局原子添加一个255... 阅读全文
摘要:
大多数Delphi程序员都像使用Visual Basic 那样使用他们手头上开发工具,而丝毫没有意识到Delphi的强大功能,更谈不上使用这些功能了。(写到这里,编辑惶恐的举起了手,怎么可能呢?)Delphi和Visual Basic不同,Delphi完全建立在面向对象结构上,这不仅影响到VCL的结构,而且影响到使用Delphi开发的每一个程序。 在本文中,我不想涉及到面向对象编程... 阅读全文
摘要:
在写程序的时候,遇到了创建文件的问题,比如一个pp.bat文件,可以用来运行。API的操作很全面,但是也相当复杂,要处理很多错误之类的。所以查了简单的方法供大家参考: var f:textfile;//与TP中text类型相同 begin assignfile(f,'c:\pp.bat');//TP中的assign rewrite(f); append(f);//TP中如不存在p... 阅读全文
摘要:
一.编写 RC 脚本文本 用记事本或其它文本编辑器编写一个扩展名为“.rc”的文件。格式如下: AVI 无声动画 BITMAP 位图文件 CURSOR 光标文件 ICON 图标文件 WAVE 声音文件 以上所列均为标准资源类型,也可以给资源自定义一个类型,如:“mytype”。不过两者在调用方式上有些不同(在后面示例“存取资源文件中的位图”中有详细描述)。 二.根据 RC 脚本文件编译成 RES ... 阅读全文
摘要:
在Windows下有一个未公开函数SHChangeNotifyRegister可以吧你的窗口添加到系统的系统消息监视链中,该函数在Delphi中的定义如下 Function SHChangeNotifyRegister(hWnd,uFlags,dwEventID,uMSG,cItems:LongWord;lpps:PIDLSTRUCT):integer;stdcall;external 'She... 阅读全文
摘要:
TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。 一、针对TTreeNodes,也就是 TreeView.Items,有这些属性: 1、count,节点个数。 2、item[index] ,通过index得到节点。 二、针对TTreeNodes,也就是 TreeView.Items,常用的添... 阅读全文
摘要:
每新建一个窗件都要改默认字体,不方便.通过添加注册值可更改Delphi系统的默认字体 修改注册表: HKEY_CURRENT_USER\Software\Borland\Delphi\5.0\FormDesign Delphi 5: HKEY_CURRENT_USER\Software\Borland\Delphi\5.0 Delphi 6: HKEY_CURRENT_USER\Software... 阅读全文
摘要:
使用Excel最好用Comobj方式,它能够达到完全控制excel的目的。 不过这种方式在Delphi中没有代码提示,而使用Server控件的方式有! 下边是使用comobj的,使用Server 的就不放进来了!另外用完Variant要释放掉 这样比较好(ExcelApp:=Unassigned;) use Comobj (一) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj... 阅读全文
摘要:
一、异常的来源。 在Delphi的应用程序中,下列的情况都比较有可能产生异常。 (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二、异常的处理。 (1)try…except…end; 在try体内的代码发生异常时,系统将转向except部分进行异常的处理。这是Delphi处理异常的最基本的方式之一。 (2)try…... 阅读全文
摘要:
TThread是一个抽象类,可以创建几个独立的线程。 类关系 TObject 在一个多线程的应用程序中创建一个TThread的后子类代表一个线程。每一新子类的TThread对象的实例是一个新的线程。从TThread派生的多线程实例可以构成Delphi的多线程应用程序。 当一个应用程序运行时,应用程序就被载入内存准备执行。此时,它成为包含一个或多个线程的进程,每个线程含有数据、代码和系统资源。线程执... 阅读全文
摘要:
Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。 线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。当一个进... 阅读全文