本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- zhanjia
- lzyfn123
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
- johnsmith9th
- jveqi
- java-007
- sunj
最新文章列表
delphi excel 读取和写入
//读excel
function TForm1.readExcel(fileName :WideString):TStringList;
var
I, J ,len,ret: Integer;
MaxRow, MaxCol: Integer;
List, Strs: TStringList;
ExcelApp, Sheet: Variant;
OldTim ...
delphi TByteArray 装换成base64
unit EncodingUtil;
interface
uses
SysUtils, Classes, Types, EncdDecd;
function BytesToBase64(const bytes: TByteArray): string;
function StreamToBase64(AStream: TStream): string;
implementation
f ...
delphi Pbyte 转化成 base64
转自 https://searchcode.com/codesearch/view/5602527/
unit Base64;
interface
uses windows;
{ Base64 encode and decode a string }
function Base64Encode(src:pByte;len:integer):PAnsiChar;
function Base64D ...
Delphi动态创建、删除按钮
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type TForm1 = class(TForm) btnAddButton: TButton; btnDeleteLast: TB ...
can not create ...Temp\EditorLineEnds.ttr
打开delphi2010时,出现了can not create ...Temp\EditorLineEnds.ttr。
在国外论坛找到原因及解决方案:
原因:升级了windows的补丁KB2993651, kb:2982791 , kb:2970228,导致EditorLineEnds.ttr生成所在的文件夹无法被修改,固而出错!(此错误好像XE6不会发生,可能Delphi调整了方式吧!)
解决 ...
Delphi下Label中文字体显示不全问题的解决
有时候把Label的AutoSize属性设置为True,当窗体显示的时候,Label中的内容可能会显示不完全,只能把AutoSize设置为False,把Label调整成能显示出内容的大小。还有一种更简单的解决方法。把Form的Font属性进行如下设置:字体为宋体,字号为小五,字形为常规,字符集为“CHINESE_GB2312”,把Label的
delphi7 rename出错 解决方法
delphi7运行不正常的提示unable to rename'c:\program files\Borland\delphi7\Bin\delphi32.$$$'to'c:\program files\Borland\delphi7\Bin\delphi32.dro',请求高人解决的方法问题补充:
我已经解决了step1,修改“C:\Program Files\Borland\Delphi7\ ...
Delphi Open Tools API - How to create and add new menu item
之前提介绍过如何编写一个菜单专家(Menu Wizard),但它有一个不足之处--就是我们所编写的菜单项只能作为Delphi IDE环境中的“Help”菜单的子项出现。如果我们想在Delphi IDE主菜单中任一位置插入我们自己的菜单项又应该如何做呢?
其实办法很简单,只需要编写一个插件专家(Add-in Wizard),在其构造函数中将菜单插入到Delphi IDE主菜单中,并在其析构函数中析 ...
Delphi Open Tools API - Simple Wizard
之前向大家简单的介绍了Open Tools API,现在我们就要亲自动手编写一个简单的Wizard,来体验Open Tools API的魅力所在。
在Delphi6中,不再推荐大家使用ExptIntf单元中的TIExpert类做为我们自己编写的Wizard的基类,而是改用TInterfacedObject做为其基类,并实现ToolsAPI单元中的一个或我个接口。
编写一个Wizard必须要实现 ...
自己动手编写Delphi Expert
在刚刚开始编程阶段,自己一步步编写出一个登录窗体,或是一个能够对数据表记录进行增、删、改的窗体时,会感到非常的兴奋。但随着编程时间和编写项目的增加,会发现这种没有什么技术含量的窗体被不断的重复编写,于是乎开始思考有没有一种一劳永逸的办法可以帮助我们摆脱这种窘境呢?有的朋友或者会说,将这些做成一个标准的窗体存放在某个地主,在需要的时候将其Copy过来,然后略为修改。不可否认,这也是一种方法,但对于一 ...
Delphi与Java中的日期互换
在最近做的一个项目中用到了Java和Delphi,发现它们不能正确读取对方的日期类型,如在Java中写入一个值为“2007-12-1”的日期值,通过Delphi读取却不是这个值了。
通过查阅资料,发现两者对日期类型的定义略有不同。Java中日期使用的是长整型进行存储的,它表示距“1970-1-1”的毫秒数。如“1970-1-2”是在“1970-1-1”后的86400000毫秒,所以Java中就使 ...
Delphi VCL Framework中的ForEach模式
在实际的工作中偶尔会遇到如下情况:让一个类继承架构的对象实体能够通过一致的方法执行另外一个目标类对象的方法或是独立的函数,目标类需要被执行的方法或是独立的函数可以自由地改变或是增加而会影响执行类的架构。这个时候就会用到ForEach设计模式。
ForEach模式的目的是让拥有稳定继承架构的类对象能够执行外部可变化的方法或是函数。它适用于以下两种情况:
如果应用系统中已经有一个稳定的继承架构, ...
Delphi中获取某类的祖先类及其所在单元名称
前几天在CSDN社区看到一篇《如何得到自身单元名称》的帖子,其中一位名为sdzeng网友给出了答案。受此启发,自己写了一个函数,用来获取指定类的所有祖先类的名称及其所在的单元名称。
//参数说明://AClass:需要获取祖先类的类//ASeries:是一个字符串列表,用来存放返回的祖先类及其所在单元的名称procedureGetInheritanceSeries(AClass:TClas ...
Delphi中的工厂模式
在面向对象的程序设计中,某一功能的实现往往是依赖多个类的协同工作,这当中不必可避免的会有一个核心的关键类,非关键类对关键类的依赖程度比较高(耦合比较紧),关键类的变动会景响到非关键类与其通信。比如在某个MIS系统中,用户数据是存储在文件中的,那么所有数据的读取与保存都依赖与那和与文件进行通信的类。突然某一天客户说要将数据存储到数据库中,那么我们是必要找出所有使用这些与文件通信的类的代码,并使用新写 ...
获取Delphi中定义的枚举类型的名称和值
利用TypInfo单元的GetEnumName和GetEnumValue可以遍历任意枚举类型,并获取其名称和值。下面是示例Demo。
procedureTForm1.btnTestClick(Sender:TObject);varp:PTypeData;i:Integer;s:String;pt:PTypeInfo;beginListBox1.Items.Clear;pt:=TypeInf ...
Delphi VCL Framework中的Action模式
学习过设计模式的人都知道有一种行为模式叫做Command模式。在Delphi的VCL Framework中也使用到了这种模式,那就是Action模式。
命令模式使用的目的在于使用对象来封装客户端的请求命令,由于使用以对象封装,因此可以达到下面的效果:
请求对象可结合多态以及虚拟方法来提供更大的弹性;
负责执行请求的目的对象可以和客户端分离,这就表示多个客户端可以发生相同的请求对象,例如菜单 ...
Delphi VCL Framework中的Notify模式
在Delphi中进行UI设计时,我们会在Form上放置许多的组件,当我们更改窗体的某些属性时,其上所有组件的相应属性都会随着发生改变,这是如何实现的呢?这里就使用到了Delphi VCL Framework中使用最多的一种设计模式 -- Notify模式。
Notify模式最经常发生的应用就是在容器类中的应用。由于容器类管理了许多子类对象,因此客户程序代码可能希望一次操作对所有容器类管理的子类对 ...
Delphi中的THashedStringList对象
有许多程序员都喜欢使用TStringList类作为键值存储,这是不错的用法。但是TStringList本身只是对数据线性的存储,当数据量大时,对其检索效率极为低下。Delphi在在IniFiles单元中定义了另一个TStringList类,采用了哈希技术存储数据,它就是THashedStringList类。下面这段代码就是摘自IniFiles单元中对THashedStringList的定义。
...
自己写的一些Delphi常用函数
今天在整理以前写过的代码,发现有些函数还是挺实用的,决定将其贴到Blog上,与众多好友一起分享。
...{********************************************************************************模块名称:公用函数库*编写人员:ChrisMao*编写日期:2004.10.30*********************** ...