Delphi

How can I capture variables by anonymous method when using it in OTL?

二次信任 提交于 2020-03-16 05:22:40
问题 What I want to do: I have a few objects in a genric list. I want to capture each of this object in anonymous method and execute this method as a separate OTL Task. This is a simplified example: program Project51; {$APPTYPE CONSOLE} uses SysUtils, Generics.Collections, OtlTaskControl, OtlTask; type TProc = reference to procedure; type TMyObject = class(TObject) public ID: Integer; constructor Create(AID: Integer); end; constructor TMyObject.Create(AID: Integer); begin ID := AID; end; var

Delphi动态链接多个数据源执行操作例子

六月ゝ 毕业季﹏ 提交于 2020-03-14 18:00:42
1.首先配置文件 [SubExamDep1] DBSERVER=(local) DBNAME=herpeisweixin USERNAME=sa PWD=bjbr MSG=SubExamDep1失败 [SubExamDep2] DBSERVER=(local) DBNAME=herpeisFZTJ USERNAME=sa PWD=bjbr MSG=SubExamDep2失败 2.工程文件加入 Inifiles 文件 public: MyIni :Tinifile; glAppPath :string; create 事件增加 glAppPath := ExtractFilePath(Application.ExeName);//获取当前运行程序的路径 MyIni := Tinifile.Create(glAppPath + 'SubDBConfig.ini'); 初始化表单增加 with spSP_SyncOrg do begin ProcedureName:='P_SYNCORGINF'; Parameters.CreateParameter('@ID_Org', ftInteger, pdInput, 0,null ); Parameters.CreateParameter('@ID_OrgReservation', ftInteger, pdInput, 0, null);

Delphi动态链接多个数据源执行操作例子

☆樱花仙子☆ 提交于 2020-03-14 17:55:09
1.首先配置文件 [SubExamDep1] DBSERVER=(local) DBNAME=herpeisweixin USERNAME=sa PWD=bjbr MSG=SubExamDep1失败 [SubExamDep2] DBSERVER=(local) DBNAME=herpeisFZTJ USERNAME=sa PWD=bjbr MSG=SubExamDep2失败 2.工程文件加入 Inifiles 文件 public: MyIni :Tinifile; glAppPath :string; create 事件增加 glAppPath := ExtractFilePath(Application.ExeName);//获取当前运行程序的路径 MyIni := Tinifile.Create(glAppPath + 'SubDBConfig.ini'); 初始化表单增加 with spSP_SyncOrg do begin ProcedureName:='P_SYNCORGINF'; Parameters.CreateParameter('@ID_Org', ftInteger, pdInput, 0,null ); Parameters.CreateParameter('@ID_OrgReservation', ftInteger, pdInput, 0, null);

delphi 调用 C#写的webservice

倖福魔咒の 提交于 2020-03-14 08:13:22
看以下的一个例子(转) 先用vs.net创建一个简单的webservices; 1.打开vs.net2003 新建一个webservises 命名为WebService1 2.添加两个WebMethod [WebMethod] public string HelloWorld() { return "Hello World 用.NET写的web服务!!^_^ "; } [WebMethod] public string datetostr(DateTime dt)//将时间转换为字符 { return dt.ToUniversalTime().ToString(); }   完整代码 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; namespace WebService1 { public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的

基于Delphi的融合DLL中的窗口

我是研究僧i 提交于 2020-03-14 03:38:04
基于Delphi的融合DLL中的窗口   摘   要 :提出了一种简单的方法将DLL中的窗口融合(嵌入)到其他应用程序或DLL的窗口中,使用本方法可以简便地实现具有强扩展性和升级能力的软件系统。    1 引言   在开发一个大型通用控制系统时曾遇到这么一个问题:该系统软件包由若干个可执行文件和动态链接库组成,因为扩展性和兼容性的要求,需要将系统划分为若干个可执行文件和动态链接库,并且在大部分DLL中封装各自的操作界面,在调用DLL时将其中包含的部分界面嵌入地显示在主界面的某个区域或某个窗口内,与主界面的其他部分浑然一体。这样主程序与DLL在功能操作上各司其职,在外部界面上又彼此交融,使用户可以通过增加和修改DLL来实现对系统内部、外部的扩展和升级;同时因为DLL的跨语言特性,内部包含操作界面的DLL可以更为方便地在以后的不同工作、不同语言环境中更好地重复使用。   这一问题的应用较为广泛,但没有充分的资料来帮助解决,经过不断的试验,笔者将初步体会总结出来,用以抛砖引玉。本文中涉及的主程序和DLL都是在Delphi5.0下实现的,但因为其中所依赖的基础还是Windows本身的窗口机制,所以对于其他的语言平台也有实际意义。   在Delphi中如何创建DLL及输出DLL中的函数有较多资料进行过介绍,在本文中不再赘述,本文只针对DLL中的窗口部分做重点介绍。 2

Delphi GDI对象之绘制位图

邮差的信 提交于 2020-03-13 14:07:50
绘制位图(Drawing Bitmaps) 绘制位图听起来似乎很难,然而如几次所见到的那样,绘制位图非常容易。TCanvas类具有几种方法绘制位图,最常用的方法是Draw方法,这种方法只是在画布上指定位置绘制位图。用户已经见过几个这样的例子。下面是简短的例子。 procedure TForm1.btn1Click(Sender: TObject); var Bitmap: TBitmap; begin Bitmap := TBitmap.Create; Bitmap.LoadFromFile('type.bmp'); Canvas.Draw(0, 0, Bitmap); Bitmap.Free; end; 这段代码创建了一个TBitmap对象,装载一副BMP位图,并在窗口的最上角显示。 若显示位图不需修改时,可使用Draw方法。 StretchDraw方法用于改变位图的大小。用户在所需绘制的位图和图像位置确定确定一个矩形框。如果所用矩形框大于位图的原始大小,则放大位图;如果矩形框小于位图的原始大小,则缩小位图,这里是一个例子: procedure TForm1.btn2Click(Sender: TObject); var Bitmap: TBitmap; R: TRect; begin Bitmap := TBitmap.Create; Bitmap.LoadFromFile(

Delphi 记录类型- 结构指针

◇◆丶佛笑我妖孽 提交于 2020-03-13 13:46:51
转自:万一老师的 Delphi 博客 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class (TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); end ; var Form1: TForm1; implementation {$R *.dfm} type TRec = record {定义结构 TRec} name: string [ 12 ]; age: Word; end ; TPRec = ^TRec; {定义 TRec 结构的指针类型 TPRec} var Rec: TRec; {声明结构变量} PRec1,PRec2:

衡量编程语言受欢迎程度的麻烦(自2010年以来,我们已经看到了九种全新的平台和编译器。这是一笔巨大的投资,而且增长很多)

自古美人都是妖i 提交于 2020-03-13 08:04:55
吉姆·麦基思 2020年3月9日 TIOBE是许多编程语言受欢迎程度索引之一。 他们的方法论涉及在各种搜索引擎中进行搜索,并使用编程语言的名称,后跟单词programming。 因此,他们寻找“ Delphi编程”作为确切的短语,而忽略了不包含该短语的任何与Delphi相关的页面(很多)。 其他编程语言的受欢迎程度网站使用Google趋势,GitHub,工作列表,堆栈溢出等。这些因素均以不同的方式衡量受欢迎程度,并具有不同的排名,但是没有一个主题能够真正衡量真正的受欢迎程度。 如果编程语言的工作满意度差或很难找到开发人员,那么该编程语言将更频繁地出现在工作清单中。 尽管如果编程语言的开发人员通常会感到满意并且可以长期留在自己的位置,那么您会看到较少的招聘信息。 两者都与实际受欢迎程度无关。 如果一种编程语言令人困惑,那么将会有更多关于它的搜索和在线问题,而如果IDE和工具能够使人们更轻松地发现如何完成事情,那么程序员就不太可能诉诸在线论坛。 此外,如果开发人员倾向于具有更多经验的高级人士,则他们不太可能在线发布问题。 尽管开放源代码示例的存在很大,但它无法衡量封闭源商业项目或库。 并不是说Delphi拥有最佳的工作满意度(尽管我确实看到一次第三方调查表明这一点就足够了)或最佳的在线文档和工具,而只是以这些为例说明这些指标没有一个是完美的。 毋庸置疑,没有什么是完美的

Base64 to Binary (Delphi)

烈酒焚心 提交于 2020-03-13 06:42:10
问题 I used Binary to Base64 function that you answered : Binary to Base64 (Delphi) I successfully encode a file to base64 string and write it to MsSQL2008 database, but i want to ask a question: How can i write this file to disk again with using EncdDecd.pas? 回答1: As always, David answered sufficiently. Although I can't resist to give a slightly different solution using some of the goodies from the recent Delphi versions. procedure DecodeFile(const base64: AnsiString; const FileName: string); var

DELPHI搭建centos开发环境

僤鯓⒐⒋嵵緔 提交于 2020-03-13 05:07:37
DELPHI搭建centos7开发环境 关闭防火墙 搭建开发环境,还是直接关闭LINUX防火墙,省事。 否则,使用到的网络端口号,都要在防火墙开放,麻烦。 systemctl disable firewalld.service 关闭SELINUX vi /etc/selinux/ config 将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效 网络设置 开启有线连接,并设置为“自动连接” 设置IPV4,固定IP和DNS。 让虚拟机连上外网 解决编译报:cannot find lxxx问题 先要保证centos可以连外网 yum install zlib-devel yum install gcc gcc-c++ yum install libcurl yum install libcurl-devel 重新下载delphi编译linux64所需centos sdk tools-->options 来源: https://www.cnblogs.com/hnxxcxg/p/11225660.html