Delphi是美国Borland(宝兰)公司开发的工作在Windows平台下的开发工具,它的前身是在DOS下的产品Borland Turbo Pascal。Delphi是一个集成开发环境(IDE),使用的是由传统Pascal语言发展而来的Object Pascal语言。
服务端关闭,客户端连接的时候,会报10061错误 这个时候,用try except end; 是捕获不到的。 因为这个socket是线程内的错误。无法捕获。 begin   if ErrorCode = 10061 then   begin     ShowApplicationMsg('用IPAD操作打印前请手动打开对应单据!',IWARNINGMSG);     tasklist.Delete
窗体布局,一般先放一个Panel上去,  bevelouter: 斜角外部: bvnone;  align : client;   panel color: $00E7E7E7,  ctl3D: true;  parentctl3D; parentshowhint : false;    蓝色: $00EC894F; 时钟用的是: rzclockstat 控件: 字体格式用:verdana; 11
http://379910987.blog.163.com/blog/static/33523797201111792121133/ 事件函数(1) Inno Setup支持以下函数和过程。 function InitializeSetup(): Boolean; 该函数在安装程序初始化时调用,返回False 将中断安装,True则继续安装,测试代码如下: function InitializeS
DDE可实现进程与进程之间的通讯 服务端需要放2个空间。 DDE conver 会话上下文。 还有一个DDEitem  ;; 将 ddeitem 志向 DDe conver; 然后运行程序; DDE服务器就启动了; 在 ddeitem 这个方法中就可以获取数据了 procedure TForm1.ddepxbitemPokeData(Sender: TObject); var   str: str
oldPoint,newPoint:TPOINT GetCursorPos(oldPoint); //保存当前鼠标位置。 newPoint.x = oldPoint.x+40; newPoint.y = oldPoint.y+10; SetCursorPos(newPoint.x,newPoint.y); //设置目的地位置。 mouse_event(MOUSEEVENTF_RIGHTDOWN,0
注意,需要注册类; 2.读入多个属性的时候,只会构造第一个控件; unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     mmo1: TMe
关于 Delphi 中流的使用(7) 压缩与解压缩(TCompressionStream、TDecompressionStream) unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type
Delphi String 常用字串符处理函数   Delphi 在面对跨平台开发,程序语言也改进不少,不过有些改进,让原本 Delphi 开发者有些不适应,最显注的就是字串处理函数了,原本 Pascal 语言字串起始由 1 开始,几乎是它的经典了,新版本字串由 0 开始,这个改变,让很多人不适应,也多有抱怨,虽然 Delphi 尽量保有相容性,但如果要写出一码,跨所有平台,还是建议全部采用新的写
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); var setINI: Tinifile; oldPoint, newPoint: TPOINT; begin   if Msg.message = WM_CLOSE then {//判断是否关闭消息}  begin     if M
openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem  这个命令不变 openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem  这个需要改一下,不然每次输出key文件的时候,总是要输入一个 密码,烦死了 最后看了
Ctrl+L 查找下一个 Ctrl+Z 回到上一个/撤销 Ctrl+Shift+I  增加缩进 Ctrl+Shift+U 减少缩进 F11 打开/关闭 属性框 F12 切换到界面与代码
今天在看代码的时候遇到一个问题,query中的某个字段和在表中显示的不是一个值,我觉得很奇怪,于是找了很久,才知道为什么,原来是query中的OnSetText和onGetText事件在作怪,经过一番学习,我终于知道了这两个事件怎么用。     OnSetText、onGetText的功能是对字段进行读写转化。     下面我举一例子吧,有助于大家的理解:   这是对TQuery的字段id进行读写
工程选项是另一个容易忽视的特性。因为对于初学者,缺省设置就足够用了。毕竟,当一个人忙于学习一个新编程环境时,哪有时间去关心那些编译器/链接器选项呢?但是,到一定时候,就会开始对这些选项感兴趣,并想知道它们是作什么用的。 下面将讲述工程选项对话框。可从主菜单选择【Project | Options】来调用该对话框。工程选项对话框是一个多页面对话框,它有如下页面:   Forms Applicatio
点击打开链接 redis命令 学习文档 官方文档
如何判断调试是否正确 首先要确定模块 Option 的 debugging 各个选项都勾上了。 其次,还要确定 进入哪个模块编译, Host application 选的对不对。 所有的工程文件是否编译的正确不正确。 tool --> debugger options --> languqge exceptions . debug 错误的时候不停下来
1.基本情况介绍; clientdataset内存表,他的data属性存放的是数据, delta 增量记录的是日志, 就相当于数据库的 savepoint保存点;每当clientdataset的数据有变化时(onbeforeedit, onafteredit),savepoint都会变化。如果我们想取消一段时间的操作,我们可以先记录下这个savepoint,然后修改,如果想取消,直接让这个save
调试的时候,Run/Run Parameters/local/Host Application 选择HDpos.exe 打开包列表,找到HDMain.exe 包,右击,选择activate,将HDMain工程激活 然后就可以愉快的调试了! 有时候发现,有的包死活跟进不去(view/debug windows/modules里面看不见),但是将整个包的代码删掉,重新拉一遍就可以了!但是若调试的过程中
Delphi常见的运行期Access Violation错误有哪些?如何防止?         任何软件开发都会遇到这样的情况:你写好程序并测试,然后到处发送,结果用户告诉你它失败了。         你可能考虑用编译指令{$D}编译你的程序——Delphi可以建立一个有助于定位Access Violation错误的源代码的镜像文件。工程选项对话框(Project|Options|Linker &
安装程序序列号: 6AMD-PKG68E-DB8PP7-9SFE 3QH-9QW
AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconicWindows 排列一个父窗口的最小化子窗口 AttachThreadInput 连接线程输入函数 BeginDeferWindowPos 启动构建一系列新窗口位置的过程 BringWindowToTop 将指定的窗口带至窗口列表顶
htmlparser delphi html parser 代码是改自原wr960204的HtmlParser,因为自己的需求需要对html进行修改操作,但无奈只支持读取操作,所以在此基础上做了修改并命名为HtmlParserEx.pas与之区别。 修改记录 2016年11月23日 1、简单支持XPath,简单的吧,利用xpath转css selector,嘿 xpath转换的代码改自python
Delphi版本号对照
一、DataSet转JSON //1)数据集转换为JSON字符串: //需USES System.JSON; function DataSetToJson(ADataset: TDataSet): string; // [{"CityId":"18","CityName":"西安"},{"CityId":"53","CityName":"广州"}] var LRecord: string
       与一般的数据集组件不同,TClientDataSet使用的技术比较特别,本着高速度、低存储需求的原则TClientDataSet的内部使用了两个数据存储源。第一个是其Data属性,这是当前内存数据的视图,反映了所有的数据改变。如果用户从数据中删除一条记录,则此记录将从Data中消失,相应地,加入一条新记录后,此记录便存在Data属性中了。另一个数据源是Delta属性,故名思义,即增量
对象的方法能定义成静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)。请看下面  的例子: TFoo = class  procedure IAmAStatic;  procedure IAmAVirtual; virtual;  procedure IAmADynamic; dynamic;  procedure IAmAMessage(var M:
[Setup] ; 注: AppId的值为单独标识该应用程序。 ; 不要为其他安装程序使用相同的AppId值。 ; (生成新的GUID,点击 工具|在IDE中生成GUID。) AppId={{A9861883-31C5-4324-BD9A-DC3271EEB675} ;程序名 AppName=ISsample ;版本号 AppVerName=ISsample 1.0.0.0 ;发布者名 AppPu
所用D5 D7版本,D5存在此问题,D7不存在此问题 解决方法: 不用更新Ado,是Ado的bug,可以通过先关闭ado的记录集后关闭ado解决 if     (adoQuery1.active)   then  begin          adoquery1.recordset.close;       adoQuery1.Close   ;  end; 
转自:http://blog.csdn.net/ahao1985507/article/details/39182977 一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了。 [plain]  view plain copy [Setup]   ; 注: AppId的值为单独标识该应用程序。   ; 不要为其他安装程序使用相同的AppId值。 
  字符串处理函数 Unit System 函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S := S1 + S2 + S3 ...; 相同. 将字符串相加. 函数原型 function Copy(S: string; Index, Count: Integer): string;说明 S : 字符串. Indexd :
TMemoryStream、String与OleVariant互转 //////////////////////////////////////////////////////////////////////////////// //功能: STRING 的内容流化到 OLEVARIANT 中 //参数: //////////////////////////////////////////////