delphi
caonumber
这个作者很懒,什么都没留下…
展开
-
dcefbrowser 支撑flash插件 解决办法
我的dcefbrowser 版本是:3.26231:首选去下载一个flash库文件:http://download.csdn.net/download/caonumber/101556892:工程文件中 代码:procedure OnBeforeCommandLineProcessing(const processType: ustring; const comma原创 2017-12-12 17:26:40 · 1767 阅读 · 1 评论 -
Delphi中常用的各个关键字名称及用法
转载自:http://www.jb51.net/article/52395.htm?转载 2015-08-23 14:22:48 · 377 阅读 · 0 评论 -
Delphi中CoInitialize之探究
CoInitialize(nil); //加上此代码是为了解决有些电脑会出现尚未调用coinitialize的问题CoUninitialize; //加上此代码是为了解决有些电脑会出现尚未调用coinitialize的问题如果在线程中使用请在Execute代码中:try CoInitialize(nil); finally CoUninitialize;原创 2015-04-29 15:40:02 · 876 阅读 · 0 评论 -
IP获取
获取外网IP的函数function GetIP: string;varr: string;p1, p2: Integer;beginr := idhttp1.get('http://www.net.cn/static/customercare/yourIP.asp');p1 := Pos('', r); // 找到 h2 标签p2 := Pos('', r); //转载 2015-01-03 11:34:26 · 414 阅读 · 0 评论 -
windows 消息
Delphi是Borland公司的一种面向对象的可视化软件开发工具。 Delphi集中了Visual C++和Visual Basic两者的优点:容易上手、功能强大,特别是在界面设计、数据库编程、网络编程方面更有其独特的优势。Delphi中的消息消息是Windows发出的一个通知,它告诉应用程序某个事件发生了。在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中转载 2014-11-12 11:44:59 · 425 阅读 · 0 评论 -
汉化 bussinessSkinForm右键菜单
{*******************************************************************}{ }{ Almediadev Visual Component Library转载 2014-09-09 14:02:39 · 558 阅读 · 0 评论 -
将控件画成圆角的效果(Delphi)
最近在做一个Delphi的项目,常常要设计软件的界面,需要将控件画成圆角矩形。在Delphi中将控件画成圆角效果,可使用CreateRoundRectRgn函数。在此写了一个通用的函数,只要在用到改变控件效果的地方,调用就OK了,函数如下:procedure TfrmTest.RoundControl(Control: TWinControl;arc1:Integer;arc2:Integer转载 2014-07-02 21:49:47 · 3382 阅读 · 0 评论 -
基于Delphi的融合DLL中的窗口
基于Delphi的融合DLL中的窗口 摘 要:提出了一种简单的方法将DLL中的窗口融合(嵌入)到其他应用程序或DLL的窗口中,使用本方法可以简便地实现具有强扩展性和升级能力的软件系统。转载 2014-04-15 10:58:06 · 1816 阅读 · 0 评论 -
Delphi中WebBrowser的使用技巧汇总
1>调用网页中已知对象src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src其实就是javascript中的 getElementByID 的函数2>获得网页中的某个变量值Html中的代码 : var userID=123在delphi程序中这么调用id := Form1.Web转载 2014-03-27 15:37:04 · 688 阅读 · 0 评论 -
Delphi WebBrowser与网页交互
WebBrowser1.GoHome; //到浏览器默认主页WebBrowser1.Refresh; //刷新WebBrowser1.GoBack; //后退WebBrowser1.GoForward; //前进WebBrowser1.Navigate('...'); //打开指定页面WebBrowser1.Navigate('about:blan转载 2015-11-03 22:12:53 · 9620 阅读 · 0 评论 -
delphi 资源文件管理 Resources and Images
1、 把PNG图片放到项目中;2、 点击主菜单“Project”→“ Resources and Images”,弹出下面的对话框 它会自动识别项目中的图片、音频等文件自动添加进来,如果没有识别出来或者是自定义文件类型的话,就点击【Add】按钮手动添加,然后选择合适的资源类型ResourceType,然后在Resource Identifier中给资源取一个名字即可。转载 2015-10-05 10:25:33 · 3232 阅读 · 0 评论 -
一个队列类的实现(比delphi自带的速度快70倍)
测试结果 实现的代码 unit sfContnrs;interface{$DEFINE MULTI_THREAD_QUEUE} //线程安全版本,如果不需要线程安全,请注释掉此行代码{$IFDEF MULTI_THREAD_QUEUE}uses Windows;{$ENDIF}type TsfQue转载 2015-10-06 11:43:17 · 1312 阅读 · 0 评论 -
IdHTTP.pas中delete不带返回值的解决办法
自己增加了deleteeEX 方法{ $Project$ $Workfile$ $Revision$ $DateUTC$ $Id$ This file is part of the Indy (Internet Direct) project, and is offered under the dual-licensing agreem原创 2017-08-30 17:18:33 · 2120 阅读 · 0 评论 -
气泡消息提示
使用 TBalloonHint 控件,可以实现灵活控制对VCL 控件上进行消息提示var Pos: TPoint; BalloonHint :TBalloonHint;begin BalloonHint := TBalloonHint.create(application); BalloonHint.ImageIndex :=0; //要先设置 BalloonHin原创 2016-02-16 15:51:51 · 1674 阅读 · 0 评论 -
更改Splitter控件颜色
通过自绘的方式来实现procedure TForm1.spl1Paint(Sender: TObject);var DrawPic :TPicture;begin DrawPic := Tpicture.Create; DrawPic.Bitmap.Width := spl1.ClientWidth; DrawPic.Bitmap.Height := s原创 2015-11-30 16:01:52 · 1161 阅读 · 0 评论 -
拖动更改panel控件大小
unit Unit1; {download by http://www.codefans.net}interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons;type T转载 2015-11-30 15:00:15 · 3439 阅读 · 0 评论 -
WIN32程序任务栏加上进度条
usesWinapi.ShlObj,System.Win.ComObj;varFBL: ITaskbarList4;1. 创建: FBL:= CreateComObject(CLSID_TaskbarList) as ITaskbarList4; FBL.SetProgressState(Application.Handle, TBPF_NO原创 2015-11-26 16:07:37 · 947 阅读 · 0 评论 -
并行编程提高软件处理速度
使用 TParallel 来提速你的循环,但总有些时候,你需要运行多个可以并行执行,而又并非循环的任务。要执行此类任务,我们可以使用 System.Threading.TTask 和 System.Threading.ITask 来简化工作。TTask提供了一个类来创建和管理ITask实例的交互,你可以通过WaitForAll或WaitForAny等待任务的执行完成。举个例子,转载 2015-10-07 11:37:27 · 884 阅读 · 0 评论 -
VCL+FMX 双剑合壁编程
特别感谢】猫叔捐助SSD硬盘VCL 是经典,FMX 是新生,新生事物总会带来一些好玩新奇的东西。舍弃经典是浪费,不了解新生事物是等死,那么我们来一个二合一双剑合壁又如何呢?要双剑合壁,就得投些机,取些巧。由于 Delphi / C++ Builder 不支持直接创建一个 VCL+FMX 的合体应用,所以我们要分别创建一个 VCL 和 FMX 的应用程序,其中一个我们做为主窗口。转载 2015-10-06 13:55:53 · 3083 阅读 · 2 评论 -
Delphi XE7 学习笔记 StopWatch类
Delphi 现在提供了秒表类TStopWatch,用于统计程序使用的时间。其实,看这个类的实现接口,实际就是实现了C#,Java中早就有的StopWatch类。Create:建立一个实例Reset:复位Start:开始计时StartNew:返回一个新的实例Stop:停止计时Elapsed:消耗的时间Stopwatch提供了上面几个方法,来控制stopw转载 2015-10-06 11:47:10 · 868 阅读 · 0 评论 -
获取 Canvas 对象
procedure TForm1.Button1Click(Sender: TObject);var cvs: TCanvas;begin {PaintBox1 就像窗体一样, 也有 Canvas 属性} PaintBox1.Canvas.Brush.Color := clRed; PaintBox1.Canvas.FillRect(PaintBox1.ClientRect);转载 2014-02-08 15:57:17 · 2242 阅读 · 0 评论 -
捕捉全屏图像
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1转载 2014-02-08 15:41:42 · 415 阅读 · 0 评论 -
如何比较两个二维数组是否相等
{对比静态数组}procedure TForm1.Button1Click(Sender: TObject);var arr1: array[0..3] of AnsiChar; arr2: array[0..3] of Byte;begin arr1[0] := 'A'; arr1[1] := 'B'; arr1[2] := 'C'; arr1[3] := 'D'; arr转载 2014-01-26 15:23:26 · 4399 阅读 · 0 评论 -
删除动态数组中的指定元素
type TArr = array of TPoint; {把数组先定义成一个类型会方便许多, 这里仅用 TPoint 测试}{删除动态数组指定元素的过程: 参数 arr 是数组名, 参数 Index 是要删除的索引}procedure DeleteArrItem(var arr: TArr; Index: Integer);var Count: Cardinal;begin转载 2014-01-24 18:09:36 · 1873 阅读 · 0 评论 -
TWICImage.SaveToStream(Stream: TStream)方法修正
TWICImage2=Class(TWICImage) private public procedure SaveToStream(Stream: TStream); override; //重写此方法,TWICImage的方法有问题。 End;procedure TWICImage2.SaveToStream(Stream: TStream转载 2014-01-24 17:35:42 · 1662 阅读 · 0 评论 -
Delphi XE2 为 VCL 提供的 14 种样式
其实只提供了 13 个 vsf 样式文件, 还有默认的 Windows 样式, 共 14 种.在空白窗体上添加 ListBox1 等控件, 测试代码:uses IOUtils, Vcl.Styles, vcl.Themes;procedure TForm1.FormCreate(Sender: TObject);var dir, fileName, styleName转载 2014-01-24 13:50:13 · 647 阅读 · 0 评论 -
关于禁止程序重复启动的另一种需要与实现
手头的程序需要禁止重复启动, 但需要保留新的、关闭旧的.我想还是从主窗口的类名下手吧; 写了一个函数, 在 OnCreate 中调用即可:{ 函数 }procedure CloseSameClassNameWindow(ACurrentWindow: HWND; const AClassName: string);var h: HWND; buf: array[0.转载 2014-01-24 14:19:09 · 378 阅读 · 0 评论 -
关于禁止程序重复启动的另一种需要与实现
手头的程序需要禁止重复启动, 但需要保留新的、关闭旧的.我想还是从主窗口的类名下手吧; 写了一个函数, 在 OnCreate 中调用即可:{ 函数 }procedure CloseSameClassNameWindow(ACurrentWindow: HWND; const AClassName: string);var h: HWND; buf: array[0.转载 2014-01-24 14:18:19 · 468 阅读 · 0 评论 -
将 4 个 Byte 合成 1 个 Integer 的五种方法 - 回复 "三足乌" 的问题
//方法 1: 共用内存procedure TForm1.Button1Click(Sender: TObject);var bf: record b1,b2,b3,b4: Byte end; i: Integer absolute bf;begin bf.b1 := $CC; bf.b2 := $DD; bf.b3 := $EE; bf.b4 := $FF; S转载 2014-01-24 14:07:57 · 798 阅读 · 0 评论 -
Delphi XE2 新增 System.Zip 单元, 可用一句话压缩整个文件夹了
单元内主要就是 TZipFile 类, 最方便使用的是它的类方法:TZipFile.ExtractZipFile() //解压 Zip 文件到指定文件夹TZipFile.IsValid() //判断指定文件是否是有效的 Zip 文件TZipFile.ZipDirectoryContents() //压缩指定路径下的所有文件测试:转载 2014-01-24 13:48:41 · 763 阅读 · 0 评论 -
System 中的数学函数
//绝对值: Absvar d: Real; v: Variant;begin d := Abs(-1.2); ShowMessage(FloatToStr(d)); {1.2} v := '-100'; ShowMessage(v); {-100; v 是变体类型无需转换} v := Abs(v); ShowMessage(v);转载 2014-01-26 15:42:20 · 1506 阅读 · 0 评论 -
给 treeview 加上复选框
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls;type TForm1 = class(TForm) TreeView1: TTreeView; But转载 2014-01-26 15:56:36 · 2902 阅读 · 0 评论 -
一句话为当前窗口客户区捉图: GetFormImage
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1转载 2014-01-26 16:06:12 · 560 阅读 · 0 评论 -
label保存为图像
var cc:TControlCanvas; bmp:TBitmap;begin bmp:=TBitmap.Create; cc:=TControlCanvas.Create; try cc.Control:=Label1; bmp.Width:=cc.Control.Width; bmp.Heig转载 2014-02-08 16:48:47 · 576 阅读 · 0 评论 -
文字的高度与宽度: Canvas.TextExtent
procedure TForm1.Button1Click(Sender: TObject);var str: string; wh: TSize; w,h: Integer;begin {前面用过 Canvas.TextWidth、Canvas.TextHeight} str := '万'; w := Canvas.TextWidth(str); h := Can转载 2014-02-08 15:46:47 · 2849 阅读 · 0 评论 -
把窗体客户区图像保存到文件或剪切板
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton;转载 2014-02-08 15:45:32 · 585 阅读 · 0 评论 -
显示 jpg、png、gif 图片及 gif 动画
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; Button2转载 2014-01-27 15:20:54 · 558 阅读 · 0 评论 -
判断集合从属关系的练习: 是否同时按下了 Ctrl 和 Shift 键
//不少鼠标与键盘事件用到了集合参数: Shift: TShiftState;TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble, ssTouch, ssPen);{判断是否按下了 Ctrl 键: 方法一}procedure TForm1.FormMouseMove(Sende转载 2014-01-27 16:59:17 · 775 阅读 · 0 评论 -
如何用 GDI+ 高质量地缩放图片
uses GdiPlus;procedure TForm1.Button1Click(Sender: TObject);const Path1 = 'C:\Temp\Test.png'; Path2 = 'C:\Temp\Test2.png';var Img1,Img2: IGPImage; Graphics: IGPGraphics;begin { 打开原图片 }转载 2014-01-27 15:14:18 · 2349 阅读 · 0 评论 -
写一个可拖动的 TShape
自定义类(TMyShape)单元 :unit Unit2;interfaceuses Classes, Controls, ExtCtrls;type TMyShape = class(TShape) private fMouseFlag: Boolean; fx,fy: Integer; protected procedure Mo转载 2014-01-27 15:24:41 · 534 阅读 · 0 评论