- 博客(107)
- 资源 (18)
- 收藏
- 关注
转载 如何在Delphi中实现精确到微秒级的时钟
{A high-precision counter/timer. Retrieves time differences downto microsec. Quick Reference: THPCounter inherits from TComponent. Key-Methods: ...
2018-04-22 15:30:07 2281
转载 使用 Delphi Xe 的 TDictionary
原本一直使用 TList, 将定义的一个个 Record 保存在TList 里面, 为了能把某些对象管理起来, 例如一个类的 n 多实例,可以进行索引、查找、释放等今天刚看到原来已经有了一个叫 TDictionary 对象,用起来挺方便。 挺像我们在DB中定义的 Dictionary 表,Key、Value。 而那个不管Key、Value 都挺发达,允许各种定义的类。 ok,下面官方De
2018-01-30 22:04:07 3529
转载 delphi 弹出ado连接配置相关函数
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;procedure CreateUDLFile(const FileName, ProviderName, DataSourceName: WideString);function DataLinkDir: st
2018-01-30 21:57:55 685
转载 delphi 各种时间类型之间的转换函数
各种时间类型之间的转换函数DateTimeToFileDate函数:定义:DateTimeToFileDate(DateTime: TDateTime): Integer;作用: 将一个TDateTime类型的时间转化为Dos环境中的时间,Dos环境下对时间的访问方法和VCL中的TdateTime类型不一样,在进行文件操作时,为了保持时间的一致性,需要使用DateTimeToFileD
2017-12-01 20:33:47 8397
转载 分布式系统唯一ID生成方案汇总
分布式系统唯一ID生成方案汇总系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。1. 数据库自增长序列或字段最常见的方式。利用数据库,全数据库唯一。优点:1)简单,代码方便,性能可以接受。2)数字ID天
2017-11-30 09:27:33 753
转载 Delphi XE中String、ANSIString、TBytes之间的转换 一、string转为ansistring 1、直接赋值 (有警告) 2、ansistring()类型强制转换。(无警
Delphi XE中String、ANSIString、TBytes之间的转换一、string转为ansistring1、直接赋值 (有警告)2、ansistring()类型强制转换。(无警告)二、ansistring 转为string1、直接赋值 (有警告)2、string()类型强制转换。(无警告)三、string 转为Tbytes1、bytes:= byt
2017-11-30 09:25:31 1842
转载 delphi禁止webbrowser弹出窗口或者脚本错误
delphi禁止webbrowser弹出窗口或者脚本错误webbrowser1.silent:=true; //屏蔽脚本错误procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); begin Cancel:=True; //禁止
2017-11-20 21:40:18 1108
转载 【转】解决Delphi WebBrowser 无法调用当前浏览器的版本 复制代码
procedure TregedtIE.FormCreate(Sender: TObject); begin WriteAppNameToReg; WebBrowser1.Navigate('C:\a.html'); end; {--} {需要注意是GetNativeSystemInfo 函数从Windows XP 开始才有, 而 IsWow64Process
2017-11-20 21:02:41 1675
转载 利用XE7的OmniXML完成XML文件的处理,支持跨平台
OmniXML是XE7提供的新DOM,传说比ADOM还要快,实际操作确实如此,这次我们来做几个文件操作,首先在控件页上加上TXMLDocument控件,然后给控件命名为XMLDoc,修改DOMVendor属性为OmniXML即可完成,操作与原来一样,另外还有MSXML和ADOM,MSXML只能在windows里面用,不能跨平台,就是说你的程序在Android或者iOS下可能出问
2017-11-13 08:37:04 941
转载 delphi中GetEnumName和GetEnumValue
利用TypInfo单元的GetEnumName和GetEnumValue可以遍历任意枚举类型,并获取其名称和值。下面是示例Demo。 procedure TForm1.btnTestClick(Sender: TObject);var p: PTypeData; i: Integer; s: String; pt: PTypeInfo;begin List
2017-10-25 09:03:25 676
转载 Delphi通过管道执行外部命令行程序(cmd)并获取返回结果
//================================================================//K8执行DOS并返回结果function RunDosCommand(Command: string): string;var
2017-10-15 14:45:37 3607
转载 基于Token的身份验证——JWT
初次了解JWT,很基础,高手勿喷。基于Token的身份验证用来替代传统的cookie+session身份验证方法中的session。JWT是啥?JWT就是一个字符串,经过加密处理与校验处理的字符串,形式为:A.B.CA由JWT头部信息header加密得到B由JWT用到的身份验证信息json数据加密得到C由A和B加密得到,是校验部分怎样生成A?header
2017-10-11 16:00:27 1130
转载 基于Token的WEB后台认证机制
几种常用的认证机制HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避
2017-10-11 15:28:08 354
转载 TMemoryStream、String与OleVariant互转
TMemoryStream、String与OleVariant互转//////////////////////////////////////////////////////////////////////////////////功能: STRING 的内容流化到 OLEVARIANT 中//参数:////////////////////////////////////////
2017-09-29 19:50:04 510
转载 JSON 之 SuperObject(14): 从 XML 中解析
JSON 之 SuperObject(14): 从 XML 中解析SuperObject 文件包中还有一个 SuperXmlParser 单元, 可以从 XML 中解析出 ISuperObject.SuperXmlParser 只有三个函数: XMLParseString、XMLParseStream、XMLParseFile, 分别从字符串、流、文件中解析.遗憾的是对
2017-09-29 09:01:32 1030
转载 Delphi DataSet和JSON互转函数
一、DataSet转JSON[delphi] view plain copy print?//1)数据集转换为JSON字符串: //需USES System.JSON; function DataSetToJson(ADataset: TDataSet): string; // [{"CityId":"18","CityName":"西安"},{"Ci
2017-09-28 20:49:10 1542
转载 HTTP协议详解(真的很经典)
Author :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协
2017-09-27 09:21:33 357
转载 Sending a URL to Another App on Android and iOS with Delphi XE5
Here is the source code for my Open and View URL library from my CodeRage 8 session “Beyond the App”. Here is a download of the example app. I’ll see about posting it to a SVN repository too so it
2017-09-26 17:11:26 838
转载 使用 BinToHex() 把 TBytes 转换为十六进制字符串
{函数}function BytestoHexString(ABytes: TBytes; len: Integer): AnsiString;begin SetLength(Result, len*2); BinToHex(@ABytes[0], PAnsiChar(Result), len);end;{测试}procedure TForm1.FormCreate(Sende
2017-09-20 19:29:15 1886
转载 Delphi下16进制位图数据转位图
如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下:object Image1: TImage Left = 536 Top = 24 Width = 105 Height = 105 Picture.Data = { 075442697
2017-09-20 19:02:22 1442
转载 TClientDataSet[20]: 使用 Blob 字段
Blob(Binary Large Object) 字段包括:ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,ftLargeint, ftADT, ftArray, ftReferen
2017-09-20 17:20:46 860
转载 OleVariant 与 Variant
olevariant存在于windows和linux平台,这二种类型主要的不同是variant类型仅是当前的应用程序可以进行操作,而olevariant类型则是ole自动化服务器所以定义的统一的数据类型,意味着可以通过网络或其他程序进行操作,当然也不必担心其他客户端如何进行操作.当你给一个variant类型的变量赋自定义的值的时候(例如delphi string,或一个其他的新的自定义类型
2017-09-20 13:55:48 2539
转载 delphi 流Stream 和 Variant 的转换函数
作者: 陆岛工作室Variant 转换成 Stream 的函数procedure VariantToStream (const v :olevariant; Stream : TMemoryStream); var p : pointer; begin Stream.Position := 0; Stream.Size := VarArrayHighBo
2017-09-20 13:53:48 1308
转载 delphi formatdatetime 毫秒
e/ee/eee/eeee 以相应的位数显示年FormatdateTime('ee',now); 输出为:04 (表示04年)m/mm/mmm/mmmm 表示月FormatdateTime('m',now);输出为:8FormatdateTime('mm',now);输出为 08FormatdateTime('mmm',now);输出为 八月Fo
2017-09-20 10:51:42 6903
转载 TMemoryStream、String与OleVariant互转
TMemoryStream、String与OleVariant互转//////////////////////////////////////////////////////////////////////////////////功能: STRING 的内容流化到 OLEVARIANT 中//参数:////////////////////////////////////////
2017-09-20 09:15:03 740
转载 Delphi 自带了 Base64 编解码的单元
Delphi 自带了 Base64 编解码的单元,叫 EncdDecd,这名字很拗口而且不直观,估计这是一直很少人关注和知道的原因。这个单元提供两套四个公开函数:对流的编解码:procedure EncodeStream(Input, Output: TStream); // 编码procedure DecodeStream(Input, Output: TStream); // 解码
2017-09-20 09:13:23 1495
转载 delphi 怎么将一个流转换成字符串?
//from http://kingron.myetang.com/zsfunc0d.htm (*// 标题:充分利用pascal字符串类型 说明:和PChar不同,string可以保存#0字符在其中;示例文件、内存流字符串之间转换 设计:Zswang 日期:2002-01-25 支持:wjhu111@21cn.com //*)
2017-09-19 20:54:18 1504
原创 利用Delphi的File Of Type创建并管理属于你自己的数据库
前言 在程序中,我们需要用一个途径去把一些有规律的信息存储在磁盘上。不能用TXT格式的文件──因为它不是基于“记录”的,而且管理很不方便。 BDE或ADO也就是说Paradox、Access……唉,不列举了──这些我都不想用,尤其不想用BDE。我要用的是ASCII文本文件。Delphi能做到吗?当然能!这就是“File Of”类型文件,或者说files of some type/bi
2017-09-19 20:53:03 1271
转载 delphi把Clientdataset的Delta保存到数据库
版权声明:本文为博主原创文章,未经博主允许不得转载。[delphi] view plain copy //ATableName-表名, AKeyField-主键,多个主键用;隔开,如 ;pid;times; from:unit HlsImplBase; [delphi] view plain copy function T
2017-09-18 20:40:41 3127
转载 Delphi中ClientDataSet浅析
与一般的数据集组件不同,TClientDataSet使用的技术比较特别,本着高速度、低存储需求的原则TClientDataSet的内部使用了两个数据存储源。第一个是其Data属性,这是当前内存数据的视图,反映了所有的数据改变。如果用户从数据中删除一条记录,则此记录将从Data中消失,相应地,加入一条新记录后,此记录便存在Data属性中了。另一个数据源是Delta属性,故名思义,即增量的意思,这个属
2017-09-18 20:39:41 1276
转载 学会使用SafeArray 之 Delphi 篇
在学习的时候曾经百度了一下,想查找关于delphi中SafeArray的用法,没想到资料竟然如此之少,甚至连一篇相对完整的都没有。也许正如田师傅所说,现在高手们都在实行“技术封锁”了? 在CSDN技术中心有一篇关于C++的使用,说的比较详细。鉴于手中有田师傅写的代码,特拿来一部分对照自己学习的,翻译为Delphi版本。留作笔记,日后翻阅。=====================
2017-09-18 20:38:31 2377
转载 Interlocked、InterlockedExchangePointer原子访问系列函数
原文:http://blog.csdn.net/ace1985/article/details/5729912所谓原子访问,指的是一个线程在访问某个资源的同时能够保证没有其他线程会在同一时刻访问同一资源。Interlocked系列函数提供了这样的操作。所有这些函数会以原子方式来操控一个值。Interlocked函数的工作原理取决于代码运行的CPU平台,如果是x86系列C
2017-09-06 21:25:00 2845
转载 delphi、c#数据类型比较
delphi 整数类型的表述同一行的,表示的是相同范围的数。shortint ---- int8 -128..127 smallint ---- int16 SHORT -32768..32767integer Longint ----- int32 LONGint64 -----LONGLONG Largeint LONG64Nativ
2017-08-18 15:34:39 2286
转载 delphi Format格式化函数
delphi Format格式化函数Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个
2017-08-18 10:32:45 836
转载 Delphi Dll中多线程无法使用Synchronize同步的解决方法(转)
具体原因可以参考这篇文章“DLL/ActiveForm中的线程同步处理”www.delphibbs.com/keylife/iblog_show.asp。事实上,经试验可以在dll工程文件中加入以下语句 :Application.Initialize;if Application.Handle = 0 thenbegin Application.CreateHandl
2017-06-28 20:51:54 1500
转载 高低字节序转换(htonl、ntohl、htons、ntohs函数)
高低字节序转换(htonl、ntohl、htons、ntohs函数)Part 1: htons函数具体解释 在Linux和Windows网络编程时需要用到htons和htonl函数,用来将主机字节顺序转换为网络字节顺序。 在Intel机器下,执行以下程序int main()...{ printf("%d /n",htons(16));
2017-06-27 20:00:15 4708
转载 Delphi之virtual,dynamic,abstract
对象的方法能定义成静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)。请看下面 的例子: TFoo = class procedure IAmAStatic; procedure IAmAVirtual; virtual; procedure IAmADynamic; dynamic; procedure IAmAMessage
2017-06-22 14:10:40 1045
转载 Delphi常用系统函数总结
字符串处理函数Unit System函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S := S1 + S2 + S3 ...; 相同. 将字符串相加.函数原型 function Copy(S: string; Index, Count: Integer): string;说明 S : 字符串. Indexd
2017-06-22 09:07:42 785
转载 Delphi预编译指令总结
Delphi预编译指令总结Delphi作为一个优秀的开发工具,这不仅是由于它开创了"构件(Component)"时代,影响深远;另一个原因是它拥有非常出色的编译器,Borland(Inprise)公司宣称Delphi具有世界上最快的编译器,如果你使用过Visual C++和Delphi你会明显体会到这一点。Delphi快速高效的编译器主要来自Object Pascal的严谨,使用Delph
2017-06-22 09:06:33 825
转载 DebugHook 与 ReportMemoryLeaksOnShutdown
DebugHook 与 ReportMemoryLeaksOnShutdown 都是 System 下的变量.DebugHook: 程序中母体中运行时, 此值是 1; 独立运行时, 它是 0.在程序的任何地方加上一句 ReportMemoryLeaksOnShutdown := True; 这样程序在关闭时可检测是否有内存泄漏.如果这样使用: ReportM
2017-06-22 08:40:01 1057
delphi socket api 应用示例
2016-03-26
数据库连接通用管理模块(源码、例子)
2009-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人