
Delphi编程
onebigday
这个作者很懒,什么都没留下…
展开
-
postman测试调用WebService时不会自动添加命名空间
找了很久,才明白,Postman 不会自动为请求添加命名空间,得手动在请求的 XML 数据中添加。在Postman中调用成功后,想着用delphi10写个程序测试调用,delphi10导入了wsdl后,直接使用postman中测试成功的xml数据又会返回xml格式错误的问题。后来用wireshark抓包,发现delphi编写的程序所发送的数据比postman发送的数据多了一层<SOAP-ENV:Envelope包裹的数据。这两天在学习调用webservice,发现Postman直接调用时,返回。原创 2025-03-27 23:10:26 · 274 阅读 · 0 评论 -
Never-build package ‘a‘ requires always-build package ‘b‘
Never-build package requires always-build package转载 2023-01-11 11:04:02 · 472 阅读 · 0 评论 -
Delphi开发Windows服务程序
Delphi开发Windows服务程序教程开发步骤:1、New->Other->Service Application2、现在一个服务程序的框架已经搭起来了,打开Service1窗口,有几个属性说明一下:AllowPause:是否允许暂停AllowStop: 是否允许停止Dependencies: 设置服务的依存关系,服务的启动是否依赖于某个服务或者组DisplayName: 在“服务”窗口显示的名称Interactive: 设置为true时可以和Windows桌面进行交互,如转载 2020-07-29 09:05:25 · 1051 阅读 · 0 评论 -
在DELPHI中SQL存取JPEG方法 (转)
D7自带的DBIMAGE只支持BMP文件,要实现JPG才行,不然数据库太大。/ /SQL存储JPEG方法(以D7自带的image控件进行存取,注意此时窗体上不要使用任何dbimage控件,不然总是报jpeg error #53这类的错。代码如下:procedure TForm1.Image1DblClick(Sender: TObject); //image1控件双击调入图像varmy转载 2010-03-29 21:11:00 · 4102 阅读 · 0 评论 -
QuickReport的使用(只有链接)
优快云上董维春写的教材,版权声明很清楚,同时也是对原创作者的尊敬,就不转过来了。QuickReport的的参考和例子都有,写得很好,怕以后忘记了,留个链接。:深入QuickReport(一):http://blog.youkuaiyun.com/ch_builder/archive/2004/07/05/34483.aspx深入QuickReport(二):http://blog.youkuaiyun.com/原创 2010-03-28 17:14:00 · 1691 阅读 · 0 评论 -
网络字节序与主机字节序
虽然不是DELPHI的代码,不过对于理解内存中数据的存放有帮助,比如为什么在利用文件头判断图片格式一文BMP的头是424D,在比较的时候要用把读到的两个字节用和$4D42来比较,而不是和$424D来比较。http://blog.youkuaiyun.com/onebigday/archive/2010/04/13/5483028.aspx。 ----以下是转载回来的文章---- 不同的C转载 2010-04-13 23:40:00 · 1321 阅读 · 0 评论 -
ASCII码表 (转)
ASCII码表信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。 八进制转载 2010-03-29 21:17:00 · 875 阅读 · 0 评论 -
VC转Delphi的几个问题
1在delphi中,一个窗体对象的实例化可以有两中方法: Tform.create 2.application.createform() ,这两种方法有什么不同吗?2.我们使用C++的时候,创建窗口分两步,创建C++对象、创建窗口,在delphi中是不是对象实例化后,窗口就同时创建了?在C++中销毁窗口也分两步:Destroy窗口、销毁c++对象;在Delphi中是不是销毁对象后,窗口也自动转载 2010-03-29 21:10:00 · 1078 阅读 · 0 评论 -
DataSet 间快速拷贝一条记录(转)
在一个数据库应用程序中,我们经常要将记录从一个 dataset 拷贝到另一个 dataset。通常,你完成此项任务时使用 TBatchMove 构件。但 TBatchMove 也有不合适的情况:- 你并不希望拷贝所有的记录,也不想使用过滤器。- 你希望用到目的 DataSet 的有效事件(如 BeforPost,OnValidate,等)。- 或者更坏的情况,两 DataSet 的转载 2010-03-29 21:05:00 · 2148 阅读 · 0 评论 -
Delphi 操作部分快捷键 (转)
下面的快捷键大部分在Delphi的菜单中找不到,其中有一些还是非常有用的。 Ctrl+PageUp 将光标移至本屏的第一行,屏幕不滚动。 Ctrl+PageDown 将光标移至本屏的最后一行,屏幕不滚动。 Ctrl+↓ 向下滚动屏幕,光标跟随滚动不出本屏。 Ctrl+↑ 向上滚动屏幕,光标跟随滚动不出本屏。 Ctrl+Shift+NUM 在光标行设置最多九个临时标志号,对临时切换非转载 2010-03-29 21:08:00 · 1096 阅读 · 0 评论 -
Delphi 源程序格式书写规范 (转)
Delphi 源程序格式书写规范1.规范简介 本规范主要规定Delphi源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使公司软件开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码,以便于源代码的二次开发记忆系统的维护。2.一般格式规范 2.1缩进 缩进就是在当源程序的级改变时为增加可读性而露出的两个空格。缩进的规则为每一级缩进两转载 2010-03-29 21:10:00 · 750 阅读 · 0 评论 -
字母和数字键的键码值 (转)
字母和数字键的键码值(keyCode)按键键码按键键码按键键码按键键码A65J74S83149B66K75T84250C67L76U85351D68M77V86452E69N7转载 2010-03-29 21:15:00 · 1049 阅读 · 0 评论 -
常用正则表达式大全 (转)
网上找到的常用正则表达式,留着以后可能用得上,正则表达式实在是不好写,只好拿来主义了,在Delphi中没有自己带有正则表达式的组件,靠第三方了,都说PerlRegEx 是首选, 去这里下载,官方网站:http://www.regular-expressions.info/delphi.html。另外,万一老师在他的博客上写了PerRegEx的使用,可以去看看:http://www.cnblog转载 2010-03-29 21:26:00 · 356089 阅读 · 7 评论 -
Delphi一超级函数代码库SRTL (转)
网上看到的,有很多pas的压缩文件,博客中不知放哪里下载。看看作为资源上传到优快云的下载频道行不行,如果能通过就写上下载链接。Win32.pasAPI函数的简单调用,如建立进程,建立文件映射,建立、读取管道(可以捕捉DOS程序输出)等。StrFuncs.pas 字符串处理单元,完全兼容宽字节处理(即使用wideString),特有的中文字符串处理函数(如简繁转换等等),经过多次优转载 2010-03-29 21:19:00 · 2093 阅读 · 0 评论 -
从图片的文件头判断文件格式(转)
以下内容是转回来的,图片的文件头格式:1.JPEG- 文件头标识 (2 bytes): $ff, $d8 (SOI) (JPEG 文件标识) - 文件结束标识 (2 bytes): $ff, $d9 (EOI) 2.TGA- 未压缩的前5字节 00 00 02 00 00- RLE压缩的前5字节 00 00 10 00 003.PNG- 文件头标识转载 2010-03-29 21:28:00 · 7698 阅读 · 0 评论 -
关于inherited这个关键字。
1、inherited;并不是完整的写法,完整的是在其后加上方法调用。例如: procedure TfrmMain.SXMyMessage(var Msg:TMessage); begin inherited SXMyMessage(Msg); //或者inherited 父类提供的任何可见的方法(需要的参数); end; 直接写in转载 2010-07-23 17:20:00 · 1176 阅读 · 0 评论 -
delphi 让ScrollBox响应鼠标滚轮事件
Delphi7中ScrollBox控件是不响应鼠标滚轮事件的,让其响应鼠标滚轮方法如下:procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);begin if Wheel转载 2012-06-26 16:55:31 · 12287 阅读 · 0 评论 -
Windows API 的数据类型与 Delphi 数据类型对照表(转)
Windows 数据类型 Delphi 数据类型 描述LPSTRPAnsiChar字符串指针LPCSTRPAnsiChar字符串指针DWORDLongWord整数BOOLLongBool布尔型PBOOL^BOOL指向布尔值的指针PByte^Byte指向字节值的指针转载 2010-03-29 21:31:00 · 702 阅读 · 0 评论 -
delphi数据类型(转)
分类范围字节备注简单类型序数整数Integer-2147483648 .. 21474836474有符号32位Cardinal0 .. 42949672954无符号32位Shortint-128 .. 1271有符号8位Smallint-32768 .. 327672有符号16位转载 2010-03-29 21:30:00 · 1279 阅读 · 0 评论 -
把图片缩小并保存
把图片缩小并保存: procedure ResizeBMP(BmpFile1,BmpFile2:String;w2,h2:Integer);{作用:将位图BmpFIle1调整大小为w,h并存盘于BmpFile2中}var Bmp1,Bmp2 :TBitmap; w1,h1:Integer;begin Bmp1 :=TBitmap.Create;转载 2010-03-29 21:14:00 · 943 阅读 · 0 评论 -
Delphi 调用 7zip 压缩算法
转自:https://blog.youkuaiyun.com/warrially/article/details/8039915 //7-zip Delphi API //这个API使用了 7z.dll 并支持所有7z所支持的压缩算法和格式 - Autor: Henri Gourvest <hgourvest@progdigy.com>- Licence: MPL1.1- Dat...转载 2018-07-21 08:47:38 · 4445 阅读 · 0 评论 -
Delphi 7 编译时出现 Internal error U1295 错误时的处理一例
这个描述挻乱的,可能对别人没有用,但对我还是有用的,so,记下来。今天编译一个以前的工程,竟然出现Internal error U1295。该工程以前是可正常编译的。麻烦,好一顿找,最后觉得可能是该工程用到了一个bpl包,该bpl包在另一个工程也有使用。会不会是工程option里路径的原因?打开Project -> Option里的Packages页签,在Runtime pack...原创 2017-08-09 08:48:11 · 1734 阅读 · 0 评论 -
delphi7 编译的程序在win7下请求获得管理员权限的方法
网上找到的,记下来方便查找,亲测此方法可用。附带把编译好的uac.res上传。首先,用记事本新建一文本文档,内容如下:1 24 UAC.manifest然后另存为uac.rc另外新建一文本档,内容如下,另存为UAC.manifes两文件放在同一文件夹下面,如:放在d:\testuac目录,开始->运行-> 输入cmd输入命令br转载 2017-06-09 22:27:52 · 3458 阅读 · 0 评论 -
一行代码设置本进程的oracle客户端字符集
一台电脑上运行多个程度,连接不同的oracle数据库服务器取数据,这不同的oracle数据服务器用的字符集又不尽相同,怎么办?下面这行代码可以为本进程设置自己所需要的字符集。SetEnvironmentVariable('NLS_LANG','AMERICAN_AMERICA.US7ASCII');原创 2017-06-03 00:24:10 · 465 阅读 · 0 评论 -
编码格式简介(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)
原文转自:http://blog.jobbole.com/30526/ 感谢原作者!编码一直是让新手头疼的问题,特别是 GBK、GB2312、UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚。但是编码又是那么重要,特别在网页这一块。如果你打出来的不是乱码,而网页中出现了乱码,绝大部分原因就出在了编码上了。此外除了乱码之外,还会出现一些其他问题(转载 2016-10-24 12:41:24 · 1524 阅读 · 0 评论 -
delphi带包编译详解 build with runtime package
build with runtime package勾上后,为动态编译,此时bpl包里的内容不会被编译进exe,发布时需要带上所用到的bpl。优点是exe小,方便分模块升级,缺点是总文件体积大。勾上后,下面的编辑框里会自动填上所有当前环境已安装的包,这些包,只要被此次exe用到,就不会编译进exe。这里可以根据需要,只带一部分包,将另一部分包的内容编译进exe。比如,只填自己写的为此次exe服转载 2016-08-29 14:50:22 · 2758 阅读 · 0 评论 -
可能你不知道的TClientDataset功能
keyLife富翁笔记 作者: shiningplus标题: delphi Midas SQLServer的自增字段的处理 关键字: delphi Midas 自增字段 分类: 个人专区 密级: 公开 (评分: , 回复: 0, 阅读: 1830) ?? delphi Midas SQLServer的自增字段的处理1.新增时,表中有自增字段,但是不希望用R转载 2016-02-29 08:59:44 · 2847 阅读 · 0 评论 -
网上找到的用xml传输图片
先记下来,试过后如果可用,就保留下来。用到ZLIB和base64Procedure StrToBmpStream(v: OleVariant; Var Stream: TMemoryStream);Var Str: String; MS1: TStringStream; MS2: TMemoryStream;Begin If VarIsNull(v)转载 2016-03-05 12:24:23 · 1765 阅读 · 0 评论 -
delphi 操作excel时使用的属性列表
/// 全部的请参看 Excel9.OLB 文件 ,下面只是一些常量定义!Excel; // Microsoft Excel 9.0 Object LibraryEnum Constants; xlAll = $FFFFEFF8; xlAutomatic = $FFFFEFF7; xlBoth = 1; xlCenter = $FFFFEFF4; xlChec转载 2016-01-29 16:42:37 · 2618 阅读 · 0 评论 -
delphi要控制EXCEL时用的,不错,转了。
定义变量 Excelid:variant; 1、创建OLE对象 try Excelid:=CreateOleObject( 'Excel.Application' ); except on Exception do raise exception.Create('无法创建Xls文件,请确认是否安装EXCEL') e转载 2016-01-29 15:29:40 · 5964 阅读 · 0 评论 -
delphi中DateTimePicker同时修改日期和时间的实现
第一种方法: 第一步: 修改属性 1、kind -> dtktime 也可以是dtkdate 但是在用dtkdate的时候需要将datemode属性修改成dmUpDown 2、parseinput -> true第二步:在onUserInput事件中写一句代码DateTimePicker1.DateTime:=DateAndTime; 注:以上方法虽然可转载 2013-11-30 21:50:28 · 10083 阅读 · 0 评论 -
Ehlib 3.0 DBGrideh使用技巧
=========================================================================Ehlib 3.0 DBGrideh ==============================================================================DBGRIDEH 是Enlib转载 2013-05-09 14:33:21 · 2975 阅读 · 0 评论 -
内存管理相关的函数
这里只作总结,其实都是从万一的博客转过来的,不想转代码,就只转总结了,原文地址:http://www.cnblogs.com/del/archive/2008/11/10/1330456.html 1。 New 是给已知大小的指针分配内存。2。 GetMem 主要是给无类型指针分配内存。3。 尽量使用 GetMemory 来代替 GetMem。4。AllocMem 分配内存后会原创 2010-03-28 17:15:00 · 607 阅读 · 0 评论 -
让TscrollBox响应鼠标滚轮的滚动事件
TscrollBox组件默认不响应鼠标的滚轮事件,如果要使它响应就要在它的OnMouseWheel事件中写入以下代码: if WheelDelta SendMessage(scrollBox1.Handle,WM_VSCROLL, SB_LINEDOWN, 0) //向下滚 else SendMessage(scrollBox原创 2011-06-07 17:04:00 · 4533 阅读 · 0 评论 -
Delphi 出现Never-build package 'a' requires always-build package 'b'错误的解决
<br />两个BPL包,如果A包requires B包,那么A包与B包的Build Control 必须一致,或者A包为Rebuild as needed(Always-build),B包为Explicit rebuild(Never-build)。原因是:如果A包为Explicit rebuild,B包为Rebuild as needed,就是说A包是很稳定的,不需要编译,但A包requires的B包却是常变的,要经常编译的。那么,当B包改变的时候,理应要更新,而A包是Explicit rebuild,原创 2011-05-27 17:43:00 · 4512 阅读 · 0 评论 -
学习TClientDataset的使用
这个控件好像很好用,以前都是用TSimpledataset,现在突然想用一下它。要用它,好像比TSimpleDataset多几个控件,我是加了以下几个控件,TSQLConnection,TSQLQuery,TDataSetProvider,TClientDataset,TDataSource,TDBGrid。这几个控件中,TDBGrid的DataSource属性设为TDataSource,TDataSource的DataSet属性设为TClientDataset,TClientDataset原创 2011-03-24 22:18:00 · 8791 阅读 · 0 评论 -
Dephi中TChart的简单使用
1.添加TCHart 向Form中添加一个TChart控件,右键点击这个控件,选Edit Chart,然后就可以点Add来添加一个Series(序列)2.添加Series 动态添加serices 可以用AddSeries或者用LineSeries1.ParentChart := Chart1等语句,把LineSeries1的父Chart设置为Chart1。3。添加Point (原创 2010-03-28 00:15:00 · 1043 阅读 · 0 评论 -
用dbExpress组件在数据库中存取文件
准备步骤:1。添加名为conn1的TSQLConnection和名为sqlqry的TSQLQuery这两个组件。设置conn1的Connection Name属性为OracleConnection(我用的是Oracle数据库),设置DataBase为数据库所在服务器ip,如:192.168.1.100,User_name为数据库的用户,还有Password。2。把sqlqry的SQLCon原创 2010-03-27 23:58:00 · 860 阅读 · 0 评论 -
取得并设置记事本的内容
万一博客上的一上例子,除了取记事本内容。转回来,加上了一句偌,增加了设置记事本内容。procedure TForm1.Button1Click(Sender: TObject);var h: HWND; p: Pointer; Len: Integer; a : array [0..3] of Char; s : string; i : Integer;原创 2010-03-28 17:16:00 · 1015 阅读 · 0 评论 -
Timage上作图
今天突然想在Timage控件上作图,自然是想到此控件里的bitmap于是有以下代码片段:image1.Picture.Bitmap.Canvas.TextOut(0,0,abc);结果什么也没得到,后来用image1.Canvas.TextOUt(0,0,abc)终于输出了abc三个字母,为什么用刚才那句不能输出想要的内容呢?原来是Bitmap没有设置宽和高,所以应该这样做:原创 2010-03-28 17:16:00 · 3959 阅读 · 2 评论