随笔分类 - 软件开发:Delphi
摘要:program GetCommandLineExDemo;uses Windows;constSystemHandleInformation = 16;ProcessBasicInformation = 0;STATUS_SUCCESS = cardinal($00000000);SE_DEBUG_PRIVILEGE =20;STATUS_ACCESS_DENIED = cardinal($C0000022);STATUS_INFO_LENGTH_MISMATCH = cardinal($C0000004);SEVERITY_ERROR = cardinal($C0000000);TH32CS
阅读全文
摘要:一、Delphi中各种文件的介绍,及其关系。OXC: ActiveX控件。会被安装到某一个组件包DPK中,在Imports中会创建PAS、DCU、DCR三个文件。DLL: 动态链接库文件,它的Exports exports既可以写在工程文件里面,也可以写在Unit里面,没有区别。DPK: 组件包文件,它是由多个组件(PAS)集合而成的。BPL: 包裹文件,其实就是DLL文件,只是在DLL的基础上添加了一些特性:比如检查重复Unit之类。它是DelphiIDE集成开发环境需要的,是DPK编译产生的文件。其中Run-Time类型供运行用的EXE使用,Design-Time类型供Delphi使用。不
阅读全文
摘要:unit Unit5;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Generics.Collections;type TForm5 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(S...
阅读全文
摘要:Recently I needed a way of concerting back and forthISO 8601 DateTime values used in XMLfrom Delphi.Thoug the DelphiDateUtils unithas some ISO 8601 features for calculating week numbers, you actually need to theXSBuiltIns unitfor converting back and forth to ISO 8601 text representation of a DateTim
阅读全文
摘要://VC++6外衣1OEPCODEFIVE:THEAD=($55,$8B,$EC,$6A,$FF,$68,$00,$00,$00,$00,$68,$00,$00,$00,$00,$64,$A1,$00,$00,$00,$00,$50,$64,$89,$25,$00,$00,$00,$00,$83,$EC,$68,$53,$56,$57,$58,$58,$58,$83,$C4,$68,$58,$67,$64,$A3,$00,$00,$58,$58,$58,$58,$8B,$E8,$E9,$07,$B9,$FE,$FF,$00,$00,$00,$00,$00,$00);//VC++6外衣2OEPC
阅读全文
摘要:1 unit unit2; 2 3 interface 4 5 // 冒泡排序 6 procedure BubbleSort(var abc: array of Integer); 7 8 // 摇动排序 9 procedure ShakerSort(var abc: array of Integer); 10 11 // 梳子排序 12 procedure CombSort(var abc: array of Integer); 13 14 // 选择排序 15 procedure SelectionSort(var abc: array of Integer)...
阅读全文
摘要:一、string转为ansistring1、直接赋值 (有警告)2、ansistring()类型强制转换。(无警告)二、ansistring 转为string1、直接赋值 (有警告)2、string()类型强制转换。(无警告)三、string 转为Tbytes1、bytes:= bytesof(str) 已转为ansi编码2、bytes:= widebytesof(str) UNICODE 编码四、ansistring 转为Tbytes1、bytes:= bytesof(str) ansi编码2、bytes:= widebytesof(string(str)) UNICODE 编码五、Tbyt
阅读全文
摘要:最近用delphi xe做了个东西,因为以前一直使用Delphi 7做开发,delphi 7 到delphi XE有了很大的变化,最大的变化就是对Unicode的支持,所以刚开始使用DELPHI XE时还有些不太习惯,尤其在字符串处理的时候。DELPHI XE 增加了UnicodeString 类型,这在Delphi 7中是没有的,默认的String字符串为UnicodeString,而String在Delphi 7中是AnsiString类型,在新版的DELPHI中,字符串的存储格式也发生了变化:在DELPHI7中,字符串的存储格式是这样子的:【引用计数位(-8byte)】【字符串长度(-4
阅读全文
摘要:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, uPSComponent, StdCtrls, uPSCompiler, uPSUtils, uPSRuntime;typeTTestFunction = function (Param1: Double; Data: string): LongInt of object;TForm1 = class(TForm)st: TPSScript;Button1: TButton;Butt
阅读全文
摘要:摘自RemObjects Wiki本文提供RemObjects Pascal Script的整体概要并演示如何创建一些简单的脚本.Pascal Script包括两个不同部分:编译器 (uPSCompiler.pas)运行时 (uPSRuntime.pas)两部分彼此独立.可以分开使用,或通过TPSScript控件使用他们,这个控件定义在uPSComponent.pas单元,对这两个部分进行简易封装.要使用控件版本的Pascal Script,首先要将控件放在窗体或data module上,并设置script属性,调用Compile和Execute方法.编译的错误,警告,提示可在Compiler
阅读全文
摘要:翻譯這篇文章源於我的一個通用工資計算平台的想法,在工資的計算中,不可避免的需要使用到自定義公式,然而對於自定義公式的實現,我自己想了一些,也在網上搜索了很多,解決辦法大致有以下幾種:1.自己寫代碼去解析公式。這種方法的缺點是,解析的代碼很難實現,如果公式的功能比較完整,如增加條件判斷或自定義函數。不亞於實現了一個簡單的語言編譯囂或解釋囂。所以,只能實現一些諸如加減乘除之類的簡單公式。2.打包成SQL傳給數據庫去執行。這顯然不是一種好辦法。而且需要與特定的數據庫和表結構進行適應。3.我想到在foxpro中有宏替換功能&,那不如就借用它的這個功能,即利用foxpro寫一個dll,在這個dl
阅读全文
摘要:关于向Windows窗口发送Alt组合键的问题,这个真是经典问题啊,在网上找了一下,问的人N多,方法差不多,但就是没有很好解决问题。之前找到一个能正确发送的code:(Alt+A)PostMessage(hWnd,WM_SYSKEYDOWN,VK_MENU,0);PostMessage(hWnd,WM_SYSKEYDOWN,0x41,0);Sleep(50);PostMessage(hWnd,WM_SYSKEYUP,0x41,0);PostMessage(hWnd,WM_SYSKEYUP,VK_MENU,0);有人解释说,按下组合键的时候系统是发两条消息的但是看到Win32 SDK,感觉上就发
阅读全文
摘要:最近发现手机的时间不是很准了,便到网上下了一个同步时间的小程序,简单了看了一下它的原理,是通过NTP协议来实现校时的,就顺便学习了一下NTP协议,用C#写了个简单的实现。NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP工作原理NTP的基本工作原理如下图所示。Device A和Device B通过网络相连,它们都有自己独立的系统时钟,需要通过NTP实现各自系统时钟的自动同步。为便于理解,作如下假设:在Device A和Device B的系统时钟同步之前,Device A的时钟设定为10
阅读全文
摘要:已经进入Internet网络时代了,许多新出的软件都拥有网络功能。其实,在这些软件背后所依靠的技术基础就是一系列的Inernet网络协议标准,亦即TCP/IP系列协议。 下面本人简要介绍一下在Delphi环境下,直接采用winsock套接字编程,应用SNTP协议开发出具有网络时间校准功能的应用,以此来说明如何在编程实践中实现应用层网络协议,相信感兴趣的读者能从中举一反三。 一、程序原理: 1、 SNTP协议的运作机制 SNTP(简单网络时间协议)是在UDP协议基础上发展出来的应用协议,目前广泛应用于整个INTERNET上计算机时钟的同步,依据同步源的性能及网络路径的差异,提供1~50m...
阅读全文
摘要:Delphi新版本虽然集成了PngImage但是分割复制什么的却非常难用.稍微封装了一下.可以把一张PNG横向分割成N张.透明通道什么的都可以保持不变.typeTPngArray = array of TPngImage;procedure CopyPng(const Src: TPngImage; dest: TPngImage;const sOffset: Integer);vari, j, s: Integer;p1, p2: PByteArray;pa1, pa2: PByteArray;beginfor i := 0 to Src.Height - 1 dobeginp1 := Sr
阅读全文
摘要:Graphics 单元新增了 TWICImage 类, 该类的功能源于新增的 Wincodec.pas 单元.WIC 支持的图像有 BMP、PNG、ICO、JPEG、GIF、TIFF、HDP(HDP 是微软随 Vista 推出的新的图像格式).TWICImage 的大多功能都非常容易使用, 它最强大的功能是 ImagingFactory: IWICImagingFactory 属性, 这是个类工厂的接口.通过 TWICImage.ImagingFactory 获取类工厂后, 再调用 CreateBitmapFlipRotator 建立旋转变换接口(IWICBitmapFlipRotator).
阅读全文
摘要:参考:http://www.delphibbs.com/delphibbs/dispq.asp?lid=2190768Windows2000后,为了支持类似MAC界面的Alpha通道混合效果,提供了GDI+,提供了很多的界面功能函数,可以实现很好的界面效果。例如可以使用UpdateLayeredWindow来实现窗体的颜色透明。但是一旦Form被定义为利用LayeredWindow,窗口的绘图不再响应沿用多年的WM_Paint消息。UpdateLayeredWindow(hwnd:HWND;//窗口句柄hdcDst:HDC;//目标DCptDst:pPoint;//目标的TopLeftSize
阅读全文
摘要:引 言:在日常中,我们一定使用过WINZIP、WINRAR这样的出名的压缩软件,就是我们开发软件过程中不免要遇到数据加密、数据压缩的问题!本文中就这一技术问题展开探讨,同时感谢各位网友的技巧,在我每次面对问题要解决的时候,是你们辛苦地摸索出来的技巧总是让我豁然开朗,问题迎刃而解。本篇文章主要是运用DELPH的强大的流处理方面的技巧来实现的数据加密压缩,并用于实际的软件程序开发中,将我个人的心得、开发经验写出来与大家分享。1、系统功能1)、数据压缩使用DELPHI提供的两个流类(TCompressionStream和TDecompressionStream)来完成数据的压缩和解压缩。2)、数据加
阅读全文
摘要:快捷方式减少了系统的重复文件,是快速启动程序或打开文件或文件夹的方法,快捷方式对经常使用的程序、文件和文件夹非常有用。在Windows系统中,充斥着大量的快捷方式,那么如何操作这些快捷方式就是一个很头疼的问题,在Windows的编程中,无疑会经常碰到操作快捷方式文件的问题,例如为程序创建快捷方式,修改程序的快捷方式等等。为了操作快捷方式,本人封装了两个函数,而且给出了一个详细的例子。1.快捷方式文件的基本信息 快捷方式包含的信息有:目标文件名、程序运行时的参数、快捷键、运行窗口的状态、描述、工作目录(起始位置)、图标文件名和图标索引等等。我们在操作快捷方式时,就要考虑到这些信息。2.数据结..
阅读全文
摘要:Borland出品的Delphi,有着闪电般的编译速度,但是在界面控件使用较多、工程项目较大的时候,编译一个工程仍需要一段时间,打开庞大的Delphi IDE,也需要时间。其实,在一个工程开发结束,调试完成之后的Release编译,完全可以用命令行来执行,因为Delphi的编译器参数不像C++编译器那样复杂。笔者把Delphi联机手册中关于命令行编译(command-line compiler)的几篇主题作了翻译,希望对Delphi开发人员有帮助。目录1. Command-line compiler 命令行编译器2. Command-line compiler options 命令行编译器..
阅读全文
浙公网安备 33010602011771号