自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (19)
  • 收藏
  • 关注

原创 Delphi XE7 FireDAC中间件&Exe+DLL主副架构源码

由拥有十年以上的相关开发经验+架构搭建心得的团队精心打造,你会发现使用我们的中间件,客户端处理数据只需简单的几步。我们的系统架构对最基础的数据处理部分已经做了完美封装,增删改查分分钟搞定,“傻瓜”式操作让新手极速上手!本套架构的技术特点:1、采用FireDAC数据控件+Dev皮肤控件技术,可随意切换皮肤风格,变身只在一秒间;不再包含其他三方控件,原生代码使用更方便;2、中间件:支持多库连...

2018-05-30 15:33:32 1634

原创 delphi(XE2)实现图片异形窗体,支持摆放控件

网上有较多使用UpdateLayeredWindow函数实现美化的图片异形窗体的代码,一般使用此场景时,对软件界面要求较高。但是实现了图片窗体后,在窗体中摆放不了其他控件,导致这个功能很鸡肋。为解决此问题,本博文中的案例使用两个窗体搭配使用,图片窗口作为背景窗体,放置控件的窗口作为功能性窗体,功能性窗口全透明展示,可实现我们预设的目标。

2022-11-22 15:05:33 1234 1

原创 delphi JDAESExtend中AES-base64解密报错的解决办法

JDAESExtend.pas中封装的与JAVA互通的AES加解密方法,base64模式下解密报错。本文提供了解决这个问题的方法,供有需要的人使用。

2022-11-02 14:03:13 409

原创 [NSIS]安装前等待读设备结束并根据设备类型选择组件

脚本功能说明:1、安装包执行前,调用第三方读取插入的设备(第三方程序执行读的功能,并将读设备的结果写到txt中)2、分析txt的设备结果,并根据读取结果弹出不同的组件。3、脚本控制了组件选择页必须只选一个才允许“下一步”可用...

2022-07-28 13:42:12 421

原创 Delphi XE7+Webservice三层架构ERP系统简介

本文介绍了使用XE7+FileDAC+WebService技术方案搭建的三层架构的ERP系统案例展示,目前在畜牧业中使用,尤其适合中小型企业。

2022-05-31 15:57:13 1463 2

原创 Delphi XE2实现字符串(base64为UTF-8 编码)的gzip解压

因业务需要,调用服务端接口返回的content内容是加密的,加密流程为:BASE64.encode(ZIP 压缩(xml 明文))。其解密流程为:BASE64.decode(ZIP 解压缩(UTF-8转码))其中的ZIP压缩实际为GZip压缩,两者的压缩方式稍有不同,使用Delphi在解压时就需要不同的方法来处理。查找了各种资料,最终确定使用zipLibEx的源码包+搜索的一些使用技巧可以解压gZip。因为业务需要,本文也加入了base64解密、utf-8转码的一些操作技巧。usesSoap..

2021-05-06 16:36:19 1133

原创 Delphi(XE2)+Win10实现系统服务使用CreateProcessAsUser调用外部界面程序

众所周知,使用Delphi创建的Service Application系统服务,在XP系统中与桌面交互十分流畅,可以随意打开自己程序的窗口,不过自Vista系统开始后台服务不再允许与桌面系统直接交互了(关于session 0 的详情百度相关文章可见原理描述)。究其原因是因为windows认为系统服务在设计的初衷就不应该与桌面UI进行交互,但是我们的项目有时候又不得不借助系统服务实现开机自启(目标是做一个开机自启的中间件,需要界面)。有人说添加注册表或者放到启动项下就可以了,的确,这是一种方式,但是如果想要更

2020-09-15 17:33:32 2472 3

原创 Delphi XE2中调用DLL窗体传递Application句柄

传统调用DLL窗体,为了达到DLL窗体与主程序融为一体的效果,通常会把主程序的Application传递到DLL工程中,类似如下方法:procedure SynAPP(App: THandle); stdcall;begin//传递ApplicationApplication.Handle:= App;end;或者直接把Application作为参数传递的:procedure DLLEntryPoint(Reason: DWORD);begin case Reason of

2020-06-02 16:51:38 978 1

原创 云露中间件(XE7+FireDAC)开发案例

“真正的程序员用C,聪明的程序员用Delphi“——致敬。数据库说明目前中间件仅支持SQLServer2008 R2版及以上数据库Delphi开发环境作者开发环境XE7,因使用FireDAC,建议使用XE2及以上版本,运行更稳定还原测试库为了方便使用Demo,请用第二条所述数据库还原数据库【YX_DB.bak】中间件配置打开..\bin\HyService.exe 云露...

2019-11-26 19:19:32 568

原创 三层架构-服务器端:通用WebService数据交互中间件概述

网上搜索Delphi三层架构的服务器端开发,大部分的博文都详细阐述了如何使用DataSnap、Socket或者Dcom技术来时间与客户端的信息交互,大部分需要安装插件……虽然这种种方式能实现三层通讯,但是在跨语言通信方面似乎都没有招了。于是我们马上想到一个平台独立、低耦合的技术——WebService,畅想一下,如果我们的服务器端中间件能够支持Java、C#、Delphi等多种开发语言的客户...

2019-11-24 21:51:32 2343 1

原创 Delphi XE2下使用Idhttp实现带Header头发送get请求

TIdHttp带自定义头部信息发送请求的应用场景,一般是使用post请求中比较多,不过使用Get请求也是类似的。本文介绍一个简单的实现方法。在窗口中放一个TIdHttp控件,以下是具体实现的代码:procedure TForm2.Button4Click(Sender: TObject);var aStream: TStringStream;begin IdHTTP1.Han...

2019-11-07 14:30:55 3867

原创 delphi 使用cef3谷歌浏览器内核加载带header请求头的网页

上一篇博文介绍到用IE加载带Header请求头的网页,本篇介绍使用cef3实现同样的功能。我使用的谷歌浏览器内核是49版,支持XP系统的最新版,所以,版本有够低的了。procedure TForm2.LoadUrlEx(const AURL: string);var Header: ICefStringMultimap; Data: ICefPostData; Reques...

2019-11-07 14:20:18 1309

原创 Delphi XE2实现IE打开带请求头的网页

因工作要求,需要实现打开带指定格式头部信息的网页,以做防伪校验。头部信息格式与网页端经过沟通协调一致,且网页内部所有的跳转连接都需要手动增加指定格式的头信息。以下是IE中实现的代码,另外一篇博文会介绍使用CEF3实现同样功能的源码:1、打开指定网页:procedure TForm2.Button1Click(Sender: TObject);varURL:OleVariant;...

2019-11-07 14:13:20 337

原创 Delphi - TChromium 实现只显示网页的某一个DIV的内容

因为工作需要,一直在使用TChromium插件展示网页内容。今天遇到一个需求:只展示某个网页(商品购买详情页面)中的商品详情。因为TChromium具有良好的js脚本支持,当时也觉得一定可以实现这个功能。先看看网页端的源码,我需要只展示 div class = “w1000” 的内容。我的思路是先遍历网页中所有的div元素,设置其他元素不可见,只留下我需要的div就可以了(包括展示它的...

2018-12-13 15:52:57 2406

原创 Delphi XE2实现永久性安装字体

无论是安装一些系统字体还是自定义的字体文件,本方法都是适用的。需要注意的是目前网络上介绍的使用AddFontResource实现安装字体,但是仅仅对本次设置有效,重启之后字体还是会消失。使用本文方法可永久实现字体的安装。看看MSDN中关于安装字体的介绍:To install unique hidden font resources follow these steps:1 Copy t...

2018-08-09 15:21:26 1550

原创 Delphi 设置系统默认浏览器为IE

设置默认浏览器的功能其实还是通过修改注册表项来实现,本文的例子中使用了完整的Delphi源码来实现该功能,且不需要重启机器。百度各种资料会发现,基本上给出的答案都是修改HKEY_CLASSES_ROOT\HTTP\Shell\open\command就可以,可是经过我的多次验证——呵呵,并不行。于是又重新搜索了各种资料,终于让我找到了:procedure TForm1.SetDefa...

2018-08-09 15:14:19 841

原创 Delphi/XE2 使用TIdHttp控件下载Https协议服务器文件

之前的一篇博文详细描述了使用TIdhttp控件下载http协议的文件,在我项目的使用过程中发现对于下载Https协议中的文件与Http协议的文件不同,毕竟Https在HTTP协议基础上增加了SSL协议。接下来我们就来看看如何下载Https协议的服务器文件。HTTPS既然是增加了SSL协议,那么我们就处理SSL协议这关就可以了。开发环境:XE2 + Indy10Delphi控件:TIdhttp,Id...

2018-06-20 09:41:10 2447

原创 Delphi XE2 使用IdHttp下载文件(Get方法),支持断点续传

历时2天封装并自测了本页中的线程类。使用IdHttp实现文件下载,支持暂停下载、断点续传,使得文件下载更快;与UI的交互使用消息传递机制实现。源码已经在项目中使用,现将源码成果公布出来,供需要的人参考。线程处理的逻辑大致如下:1、先判断本地是否存在文件,如果没有,使用文件名+.tmp作为下载过程中的文件名;下载完成后更名为原始文件名;2、如果存在文件名+.tmp,载入内存后继续下载(断点续传);3...

2018-06-19 11:41:48 3466

原创 【云露中间件】EXE主程序+DLL窗体嵌入TabSheet架构——理解篇

前面我们已经了解过云露中间件的基本实现原理和优势,现在我们再来了解主副架构方面的知识。我们这里说的主副架构是指Exe主程序+DLL窗体模式的架构。在我的另外一篇博文里也有一篇文章给出了DLL窗体嵌入Panle的源码。但是我们现在说的是将DLL窗体嵌入TabSheet页。看起来似乎没什么区别,但是嵌入到TabSheet之后需要增加很多细节处理:嵌入的方式、页签的切换、关闭等都需要考虑。业务功能简单时...

2018-06-05 16:08:37 1080 2

原创 cxGrid设置列为按钮并设置按钮事件

因为业务需要展示,在每行的数据最后一列显示一个按钮,点击按钮删除对应的数据。使用cxGrid能完美实现。1、设置按钮列的properties是buttonedit2、设置properties下的属性 viewStyle=vsButtonsAutoWidth3、设置Options中的 ShowEditButtons=isebAlways4、点击prop

2018-06-01 10:11:53 1172

原创 [Delphi] XE2下实现标准的3DES加解密一种方法(可与Java,c#互通)

我之前在CSDN下载中放置了一个资源,介绍的是XE2实现与java互通的3DES加解密的一种解决方案。现在回想起来这个资源介绍的非常不清楚,没有交代3des的加密模式。在这里我重新介绍另一种实现3DES标准加解密的方法。目前经过测试仅实现了3DES中ECB加密模式,填充方式为pkcs5pading的加解密,加密后的内容可用在线3DES加解密来验证,可得到与网页一致的加密结果。非常遗憾的是没有找到加...

2018-03-07 17:19:44 1943

原创 [Delphi]实现使用TIdHttp控件向https地址Post请求

开篇:公司之前一直使用http协议进行交互(比如登录等功能),但是经常被爆安全性不高,所以准备改用https协议。百度了一下资料,其实使用IdHttp控件实现https交互的帖子并不少,鉴于这次成功实现了功能,再次总结分享给大家。开发环境:XE2 + Indy10;Delphi控件: TiDHTTP控件 TIdSSLIOHandlerSocketOpenSSL控件2> libeay32

2018-01-16 17:09:10 19591 1

原创 [Setup Factory]设置打包后生成的安装程序的图标

Setup Factory制作的安装包在大部分的情况下都是默认的图标,类似一个小电脑。但很多时候我们都需要一个个性化的图片,需要把打包后的安装文件setup.exe设置为我们自己的图标。网上大部分的资料是 利用eXeScope工具制作一个图标,再导入,但是Setup factory其实已经提供了现有的功能能够直接替换图标。步骤:(我用的是英文版的,大家可以对照看看)1、找到工具主页面中

2017-11-17 09:38:45 6861

原创 Delphi Debug模式下可以但是Release模式下报错原因之一

今天上午才遇到的一个问题,Delphi的DLL调用C编写的dll(不太确定是不是C语言),在debug模式下运行好好的,切换到release模式下竟然无法正确返回?这个DLL在我们的其他exe程序中调用一直没有问题,为什么现在会产生问题呢?这个问题困扰了我两天,一直以为是C语言处理的内存方式与delphi有差异而导致的,没想到竟然是因为它!!!把工程设置中的 Optimization 中的勾去

2017-11-02 15:35:45 2389

原创 Delphi 实现卸载Windows应用程序(类似360软件管家-卸载程序)

摘要:本文主要梳理的是实现卸载程序并等待卸载程序运行结束的方法,如果仅仅是调用卸载程序,相信难度也不大,但是我们需要等待卸载程序执行完毕,这就有些费脑筋了(是不是想到了360?没错,360也具有这个功能)。这套逻辑是最近项目需要自己研究出来的,可能存在不完善的地方,如果有路过的朋友可以指正,不胜感激!正文:很多人都知道获取应用程序的卸载命令很简单,都记录在注册表中,在win64系统下,

2017-10-25 15:06:41 1486 1

原创 Delphi根据进程PID等待进程结束或者结束进程

本文描述的是已知窗体标题,先获取某个程序的进程PID(即在任务管理器中的 进程ID),实现等待进程结束或者直接杀掉进程的方法。因为网络上直接结束进程的方法很多,本文不做深究,主要是等待进程结束。使用以下代码即可实现:

2017-10-25 14:57:09 1580

转载 使用SHGetFileInfo函数获取任何文件大图标

为了实现在vista和更高版本的系统中能够获取任何文件的大图标(48*48像素,甚至256*256像素),真是找了很多资料,最终经过朋友的帮忙找到了实现方法。   网络中有很多获取exe大图标的方法,可惜不能获取所有文件的,有使用ExtractIcon函数也有介绍使用注册表实现的,经过仔细测试,最终采用SHGetFileInfo函数。SHGetFileInfo的使用方法网上资料很多,但是真正能

2017-10-11 13:25:29 4437

原创 cxGrid设置列为按钮并设置按钮事件

在cxGrid实现在每一行的数据中显示一个button按钮(设置列属性为buttonEdit),并且关联点击事件。

2017-08-29 10:18:06 2444 1

转载 [Delphi]获取机器的Mac地址

从网上搜罗来的一个函数,非常实用,贴出来带大家分享,也供自己查看。//返回值是主机AServerName的MAC地址//AServerName参数的格式为\\ 或者 ServerName//参数ServerName为空时返回本机的MAC地址//MAC地址以XX-XX-XX-XX-XX-XX的格式返回//function GetMacAddress2(const AServerName

2017-07-06 16:23:01 1899

原创 [Delphi] pSafeArray与TBytes类型转换

虽然Delphi有这自己独特的语言优势,但是跟其他语言加解密互通时,处理显得尤为麻烦。比如3DES加解密,网上下载的一些加解密方法加密的字符使用java无法解密,或者java加密的文本,无法用D解密。   无奈之下使用其他语言封装加解密部分,再用D来调用。前一篇博客中说到的是使用c++封装dll的方式,但是有非常大的问题,加密串的长度有限制,且使用静态数组分配内存,占用了不少的内存空间。经过多

2017-06-27 11:16:18 1820

原创 Delphi 主窗体Panel中嵌入DLL窗体功能详细源码

自从我的博客被尘封了五年之久,终于选择在今天以主程序嵌入DLL窗体架构的源码为礼物送给大家,希望资源与大家共享,共祝未来的Delphi能够走的更远。由于现在技术的日益发达,各种软件的界面日益美化,很多客户光看到原生的Delphi程序界面就会选择抛弃我们的产品。于是我们不得不对界面进行美化,对架构进行重新整理。首先要感谢360、QQ这些软件给我们提供了漂亮界面的基础:一个大标题导航栏+操

2017-06-08 14:54:57 4097

原创 两数相除保留小数位

C#默认的除法运算符 / 返回是不带小数点的值(取整)。若要保留小数位的话,用string.Format处理。protected void btnPlainPostBack_Click(object sender, EventArgs e){            int num1 = 17;            int num2 = 3;            double result = 0;                        result = num1 / num2;         

2011-04-08 14:23:00 1472

原创 开始学习ASP.NET

    在目前这么局势动荡的情况下,无论如何学习总是没错的。纠结的是一会看c#教程,一会看ASP.NET的教程。好在我的目标是ASP.NET,若是学好了,那就开发网页挣外快吧~不过接触Delphi就了,很多东西都需要学习。css、JScript、连审美观也要同步跟上,否则以桌面软件的设计去做Web那怎么能富客户端呢?    最近这两天学一点记一点,万一哪天重头开始也有资料可看。

2011-04-08 14:20:00 276

原创 学会使用SafeArray 之 Delphi 篇

  在学习的时候曾经百度了一下,想查找关于delphi中SafeArray的用法,没想到资料竟然如此之少,甚至连一篇相对完整的都没有。也许正如田师傅所说,现在高手们都在实行“技术封锁”了?  在CSDN技术中心有一篇关于C++的使用,说的比较详细。鉴于手中有田师傅写的代码,特拿来一部分对照自己学习的,翻译为Delphi版本。留作笔记,日后翻阅。===============================================================================  SA

2010-11-05 14:07:00 1803

XE2实现MQTT主题发布及订阅,支持MQTT协议V5、汉字传输,亲测可用

根据前人代码进行改造,主要是使用TTdMqtt类(IdTCPClient控件)实现了MQTT消息的发布和订阅。在之前的demo上,简单加了维持心跳和解决汉字传输乱码的问题(utf8编码)。之前有网页反应订阅超过90个字符显示不正常,这个demo未做验证,我们的项目主要是做消息推送。服务端的MQTT服务采用的是最新的V5版本协议,采用TCP协议,虽然TTdMqtt仍然是指定了4版本,但不影响消息的推送。 本demo经测试可用,有需要的朋友可参考。

2023-07-21

delphi XE2实现与网页互通的SM2国密加解密算法

本demo实现了可与网页版互通的SM2加解密方法,封装了cnpack组件包相关功能,但可以免安装组件包。可生成密钥对、加解密字符串,同时支持Hex/Base64两种输出模式

2022-11-07

【NSIS】安装前等待读设备结束并根据设备类型选择组件

脚本功能说明: 1、安装包执行前,调用第三方读取插入的设备(第三方程序执行读的功能,并将读设备的结果写到txt中) 2、分析txt的设备结果,并根据读取结果弹出不同的组件。 3、脚本控制了组件选择页必须只选一个才允许“下一步”可用 运行环境说明: 1、等待界面使用NSIS的闪屏效果,需要使用插件NewAdvSplash,该插件解压后释放到NSIS的PLUS目录下即可 2、脚本中的文件均为随意创建的文件,确保脚本能够运行,实际程序不具备功能

2022-07-28

innoSetup-无界面静默安装系统服务脚本

1、实现了静默安装系统服务的功能,可判断系统服务是否存在,不存在则安装,存在则卸载后安装;卸载时,卸载系统服务 2、可判断后台进程是否存在,存在就结束进程 3、无界面静默安装,实现了双击立即自动安装的效果 注:脚本由本人自创,逻辑已经过项目验证,安装文件为改为自己的就行

2020-11-23

Delphi XE2实现带汉字的通用RSA加解密算法

使用网上下载的RSAOpenSSL单元实现了通用的RSA加解密算法。加密结果可用在线加解密网址成功解密。Demo使用XE2版本开发,支持对汉字加解密,附件包含了自制的公私钥证书(标准的PEM格式),可直接用来测试。

2020-11-16

Delphi(XE2)+Win10实现系统服务使用CreateProcessAsUser调用外部exe

众所周知,使用Delphi创建的Service Application系统服务,在XP系统中与桌面交互十分流畅,可以随意打开自己程序的窗口,不过自Vista系统开始后台服务不再允许与桌面系统直接交互了。本例子实现了使用CreateProcessAsUser打开第三方带界面的应用(如notepad.exe)

2020-11-05

Delphi/XE实现好看的日历html.rar

为了在Delphi客户端中加入好看的日历控件,煞费苦心做了一套html本地文件(delphi自带控件实在无能为力)。本html为本地文件无需联网,且屏蔽了右键菜单、边框、滚动条等样式问题,在delphi等客户端中嵌入时不需要加入任何额外代码可实现完美效果。 Html支持IE7及以上浏览器。

2020-01-17

云露XE7 FirDac+SQLSERVER中间件应用.zip

我们的团队目前有两名拥有十年以上开发经验的Delphier和多名经验丰富的开发人员,云露中间件更是团队核心重点打造的一款中间件,并已经在项目中大展身手。因为采用的是FirDAC驱动技术+XE7开发平台,其先进性在全网首屈一指。因其封装时考虑了耦合ADO等原生数据集,使得原来使用ADO、ODAC等数据驱动的代码可快速移植。没有三层架构基础的朋友也不必担心,我们已经准备好一套操作说明和DEMO,可免费使用哦! 特别声明:本产品通用版永久免费,无需授权,你可以随意下载并使用到你的项目中,也欢迎你加入此项目,共同完善这款中间件,再次感谢你的关注!如需转发,请标明出处。 “真正的程序员用C,聪明的程序员用Delphi“——致敬

2019-11-24

Delphi XE2+与Java互通3Des加解密方法

使用的是Chilkat Delphi DLL,经过测试仅实现了3DES中ECB加密模式,填充方式为pkcs5pading的加解密,加密后的内容可用在线3DES加解密来验证,可得到与网页一致的加密结果。所以可以与Java,C#等其他语言实现互通加解密。 附件为DLL类库源码及调用方法和说明

2018-03-07

Delphi XE2+标准AES加解密算法(AES/EBC,CBC/PKCS5Padding-base64)

实现了AES/ECB/PKCS5Padding、AES/CBC/PKCS5Padding 密钥长度128/192/256bit,密钥0填充。是标准的AES算法,支持在线AES加解密网站互解。 本源码从CSDN一位前辈的源码基础上做了更改,增加支持加密返回BASE64,更加完善。在此感谢原作者: http://download.csdn.net/download/qiaohaidong/9477264 需要注意的是仅在XE及以上版本支持Base64返回结果,Delphi7的base64不能直接支持。

2017-12-08

Delphi XE2+Dev 主窗体Panle嵌入DLL窗体源码

在XE2+Dev开发环境下亲测可用,已经在项目中使用。 功能:将DLL封装的窗体嵌入主程序的Panel中,非主副窗体结构,DLL窗体能完美融于主窗体。

2017-06-08

Delphi与Java互通3Des加解密类(XE2)

加密后生成一个文件,需要文件的也可以对代码进行修改。加密后的文件可以用c#、java解密,加密模式为ECB。代码已经在项目中使用。

2017-06-01

Delphi XE 安卓开发实例(源码+PDF教程)

经过很多渠道搜索到的一个安卓入门开发实例教程。教程以XE6为开发基础,特别适合初学者。文件太大,放到我的网盘中。

2016-07-21

delphi-CDMA短信猫收发短信(中英文,无报错)

删除无用引用单元,在干净环境下编译成功! 硬件:wavecome CDMA短信猫(电信); 开发语言:DELPHI7 功能:可实现中文短信的收发,接受和发送的短信内容非PUD编码格式,而是按照短信猫规则,直接使用Unicode发送的。源码中还附带了PUD编码格式的转换,经过测试也是可以使用的。 代码是经过好多波折和研究才弄出来的,绝对可用。源码中使用到了三方控件,已附在源码中,直接安装dpk,引用source/common,source/netcomm路径. 有什么问题也可发私信共同交流。

2015-07-06

delphi-CDMA短信猫收发短信(中英文)

硬件:wavecome CDMA短信猫(电信); 开发语言:DELPHI7 功能:可实现中文短信的收发,接受和发送的短信内容非PUD编码格式,而是按照短信猫规则,直接使用Unicode发送的。源码中还附带了PUD编码格式的转换,经过测试也是可以使用的。 代码是经过好多波折和研究才弄出来的,绝对可用。源码中使用到了三方控件,已附在源码中,直接安装dpk即可. 有什么问题也可发私信共同交流。

2015-06-24

delphi 文件加密解密(支持大文件)

CSDN也有相同的资源,不过缺少关键性代码,而这份是完整源码,在D7下可直接使用,经过测试1G大小内的文件皆可加密。 Delphi实现CryptAPI加密文件、解密文件的示例源码,选择需要加密加密的文件,设置密码,可轻松实现加密,同时程序还实现解密。

2014-09-25

[delphi] OleContainer加载Excel文件,屏蔽菜单栏、工具栏

工作要求,需要在程序中展示Excel文件的数据,但是不能显示出菜单栏、工具栏,只需要展示数据。 看似简单的一个要求,却着实费了不少功夫,网上大多的资料都是office2003的版本适用,2007及以上的版本无法隐藏菜单栏和工具栏。经过笔者搜罗了多方资料,终于成功实现了功能,本着资源共享的精神,跟大家一起分享。 1.解决oleContainer,失去焦点后无法再编辑的问题 2.主要是解决office隐藏菜单栏和工具栏的问题,2003版本和2007及以上版本通用

2014-09-11

SQL21日自学通

非常好的一份自学教材书,在公司里都是用来给刚毕业新手看的教材。内容涉及广泛,简单易懂,由浅入深,老鸟们也可以作为温习的材料看看呢

2014-02-10

Notepad++ V4.8

好用的文档编辑器,适合于编辑各种编程语言文本格式! 此安装包尾V4.8版,安装好后会要求升级,点“是”。升级后可以汉化

2011-09-28

Silverlight_4_Toolkit

银光中国中的介绍: Silverlight Toolkit是Silverlight开发必须使用的控件包,其中封装了数十种Silverlight控件,值得关注的是,该控件包为开源项目,开发者可以根据自己的需求,自行定义开发控件,无论是在学习还是在商业用途上,都是非常优秀的例程项目,在Silverlight 3以后的版本,Silverlight Toolkit已经被正式封装到Silverlight SDK中。 此外,该包中还包含silverlight程序测试框架,安装后可建立silverlight程序的单元测试。

2011-03-17

学会使用SafeArray 之 Delphi篇--源码

说明文字在博客中。 摘录: 在学习的时候曾经百度了一下,想查找关于delphi中SafeArray的用法,没想到资料竟然如此之少,甚至连一篇相对完整的都没有。也许正如田师傅所说,现在高手们都在实行“技术封锁”了? 在CSDN技术中心有一篇关于C++的使用,说的比较详细。鉴于手中有田师傅写的代码,特拿来一部分对照自己学习的,翻译为Delphi版本。留作笔记,日后翻阅。 =============================================================================== SAFEARRAY的主要目的是用于automation中的数组型参数的传递。因为在网络环境中,数组是不能直接传递的,而必须将其包装成SafeArray。实质上SafeArray就是将通常的数组增加一个描述符,说明其维数、长度、边界、元 素类型等信息。SafeArray也并不单独使用,而是将其再包装到VARIANT类型的变量中,然后才作为参数传送出去。在VARIANT的vt成员的 值如果包含VT_ARRAY|...,那么它所封装的就是一个SafeArray,它的parray成员即是指向SafeArray的指针。 SafeArray中元素的类型可以是VARIANT能封装的任何类型,包括VARIANT类型本身。 Delphi中com组件或外部调用需要传递一个对象或者数组,这个时候可以考虑使用SafeArray。比如三层架构中通常需要将使用的ClientDataSet数据集传出,那么就可以将DataSet转换为SafeArray,再由其他模块转换接收。 ===============================================================================

2010-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除