DELPHI
文章平均质量分 78
lwjghhh
这个作者很懒,什么都没留下…
展开
-
抓屏的技巧
这里有一些抓屏的技巧汇总,是本人平时编程积累下来的。在这里写出来,希望对大家有用。其实其技巧也不难,只要知道几个API函数,再加一些设备描述表的操作,你几乎可以做出非常好的抓屏软件。废话少说,现在开始介绍吧:一,抓取全屏:这个几乎可以说是抓屏中最简单的一个了,相信很多人都会,但为了讲述完整,这里也列举出来。思想很简单,取得屏幕的设备描述表,赋值给一个Canvas的句柄,这时该Canvas就相当于有转载 2004-10-22 16:25:00 · 1041 阅读 · 0 评论 -
如何取得別支程式的輸入游標位置?
內文】http://delphi.ktop.com.tw/topic.asp?topic_id=47386function GetCaretPosition(var APoint: TPoint): Boolean;var w: HWND; aID, mID: DWORD;begin Result:= False; w:= GetForegroundWindow;转载 2004-11-07 20:11:00 · 824 阅读 · 0 评论 -
如何簡單的將目前這筆資料再複製一筆
我是將 TDataSet.AppendRecord Method 變形一下:須注意 Unique Key 重複的問題喔procedure MyAppendRecord(CD: TDataSet; KeyValues: Variant);var KeyArray : Array of TVarRec; i,aCount : Integer;begin if VarIsArray(KeyVal转载 2004-11-07 20:04:00 · 851 阅读 · 0 评论 -
try ... except 用法
【內文】http://delphi.ktop.com.tw/topic.asp?topic_id=53541 shinhrn tryADOConnection1.BeginTrans;//資料處理ADOConnection1.CommitTrans;EXCEPTADOConnection1.RollbackTrans;SHOWMESSAGE(存檔失敗!);END;若發生錯誤转载 2004-11-07 20:09:00 · 2028 阅读 · 0 评论 -
呼叫event的sender討論
內文】http://delphi.ktop.com.tw/topic.asp?topic_id=55494 試著剖析一下TForm1.PageControl1Change(Sender: TObject):先看看OnChange是什麽?它是一個改變事件(Event)。事件是一種特殊的屬性。那既然OnChange是屬性,它肯定屬於某種特殊的資料類型,這個資料類型又是什麽呢?按下F1在De转载 2004-11-07 20:10:00 · 1031 阅读 · 0 评论 -
Delphi程序设计之--经验技巧
http://www.7880.com/Info/Article-20ce7000.html//对于记录类型Record的分析。实例:type TBaseRec = record rStr: Integer; rStr2: String; rStr3: String; end; TStrRec = record rStr: Integer; rStr2: String; r转载 2005-06-02 16:29:00 · 925 阅读 · 0 评论 -
内存映射文件的使用
library Project1;{ Important note about DLL memory management: ShareMem must be the first unit in your librarys USES clause AND your projects (select Project-View Source) USES clause if your DLL e转载 2005-06-10 16:39:00 · 1239 阅读 · 1 评论 -
后台调用外部程序的完美实现
最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本矿设置一些文字,再点击一个按钮就可以了。说到这里,相信你也有了对该功能的一些初步设想了,没错,其基本思路就是:1)调用CreateProcess()打开目标程序。2)用FindWindow()找到目标程序转载 2005-06-10 20:36:00 · 1349 阅读 · 0 评论 -
用Delphi编写安装程序
当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步,同时也是很重要的一步,因为运行安装程序往往是用户做的第一步操作。 很多报刊文章介绍了许多如何利用installshield等工具软件来制作安装程序的方法,这种办法可以很快建立起较常见的安装模式,但用这种办法也有一些不足,如做成的安装程序一般较大;风格较单一;不能灵活的控制启动方式和快捷方式。其实安转载 2005-06-10 20:47:00 · 1143 阅读 · 0 评论 -
檔案複製時如何得知已複製的檔案大小?
程式來源:http://www.swissdelphicenter.ch/en/showcode.php?id=330{ 1. } { You need a TProgressBar on your form for this tip. Für diesen Tip wird eine TProgressBar benötigt. } procedure转载 2004-11-07 20:08:00 · 894 阅读 · 0 评论 -
delphi 与XML实例
(*) uses msxml,XMLIntf,XMLDoc;(1)//从文件存取function writeXML(XMLName,nodeName,nodeValue:string;proID:integer):integer;var xmlDoc:IXMLDocument; rootNode,CNode,NNode:IXMLNode; iValue,iReturn:integer;转载 2004-10-23 09:32:00 · 1054 阅读 · 0 评论 -
创建IXMLDOMDocument对象的三种方法
1)[方法1] 直接创建 IXMLDOMDocument? , 例(1)?? uses msxml; ?? var DOC:IXMLDOMDocument;?? doc := CoDOMDocument.create;?? .....?? Doc := nil;?A)doc.load(C:/temp.xml);? //从文件载入?B) 动态创建?? var aElement,aElement2转载 2004-10-23 09:31:00 · 3537 阅读 · 0 评论 -
取得TBitMap图像缓冲区
使用Dephi进行图像处理可以有多种方法,最常用的应该算是TBitmap,它提供方便的图像存取能力,结合Canvas可进行画线、画圆、图像拷贝等操作。不过在进行大量的图像处理操作时,为了获得更高的速度,我们希望能够直接对图像缓冲区进行读写。查阅Dephi的帮助手册没有发现直接取得整个图像缓冲区的功能,但提供的ScanLine属性可以取得指定行图像数据的指针,比较接近我们的要求,先看看ScanLin转载 2004-10-22 16:33:00 · 944 阅读 · 0 评论 -
文件分割存储用例的实现过程(2)
在第二天早上的开发中我们扩展了第一天迭代开发的用例,我们考虑增加了压缩流的功能,减少数据的存储负担。迭代2:用例:对向数据库提交的二进制流进行压缩;那么从数据库提取的时候要进行解压操作,以获得原始图档数据。通过查询资料我们找到Delphi的ZLib库支持对字节流的压缩和解压缩功能,这样我们只要使用该类的TCompressionStream和TDecompressionStream就可以转载 2004-10-22 17:01:00 · 690 阅读 · 0 评论 -
文件分割存储用例的实现一
摘 要 本文详细描述了在尝试使用极限编程在软件开发中的一个实现例子,在小步迭代开发中逐步的实现用例需要的功能,同时每个迭代都能集成实现的功能。关键字 极限编程 在一次项目开发中我们开发组遇到了一个需求,该需求的要使用的技术是我们所不熟悉的,就是说在开发过程中我们必须逐步的掌握该项技术,同时希望能够尽可能的保持代码有好的结构,因为在不断增加功能的过程中,会让代码逐渐的变得复杂降低可阅读转载 2004-10-22 16:59:00 · 861 阅读 · 0 评论 -
How to execute a method (procedure/function) by name
Heres a simple trick to execute a Delphi objects method by name: ~~~~~~~~~~~~~~~~~~~~~~~~~type牋 TForm1 = class(TForm)牋牋 Button1: TButton;牋牋 procedure Button1Click(Sender: TObject) ;牋牋 procedure Ca转载 2004-10-25 10:06:00 · 839 阅读 · 0 评论 -
格式化函数的用法
一。Format的用法Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要转载 2004-10-22 16:21:00 · 730 阅读 · 0 评论 -
分析DFM文件生成界面
近回答了一个问题,是关于根据DFM文件来生成程序的界面的,花了数天的研究,对于一般的程序界面基本可以还原了。不敢自留,在这里将代码贴出来,里面没有多少解释,可能阅读不大方便,在这里表示抱歉,本人没有多少时间,所以就请各位有兴趣地自己分析代码了。其主要思路是用递归的方式来分析DFM文件,再用流化技术将类生成出来。以下是代码://////////////////////////////////////转载 2004-10-22 16:26:00 · 1112 阅读 · 1 评论 -
文件分割存储用例的实现过程(3)
上午的迭代2完成后,我们获得了一个有完整压缩流功能的实现代码,这次迭代完成的代码是可用的,我们在迭代2中完成了我们既定的任务。在下午的小组讨论中,我们继续考虑下一阶段的迭代目标,由于没有决定图档文件的格式,我们决定先不考虑图片格式的问题,先实现文件的分割功能。文件的分割主要是考虑当图档文件太大的时,数据库提交性能会变得非常慢,分割的目的就是改进提交的性能。迭代3:对向数据库提交的二进制流进转载 2004-10-22 17:02:00 · 910 阅读 · 0 评论 -
Introduction to XSTL with Delphi
Introduction to XSTL with DelphiXSLT stands for eXtensible Stylesheet Language (XSL) Template, and is generally used to transform an XML document to another XML document (for example a HTML compliant转载 2004-10-25 10:01:00 · 2214 阅读 · 0 评论 -
常用函数、过程汇总
得到Access97的密码:function GetAccessPassword(FilePath:string):string;const xorString:array[0..12]of byte= ( $86, $FB, $EC, $37, $5D, $44, $9C, $FA, $C6, $5E, $28, $E6,$13 );var p转载 2005-06-10 20:39:00 · 1168 阅读 · 0 评论