- 博客(56)
- 资源 (4)
- 收藏
- 关注
原创 dcefbrowser 支撑flash插件 解决办法
我的dcefbrowser 版本是:3.26231:首选去下载一个flash库文件:http://download.youkuaiyun.com/download/caonumber/101556892:工程文件中 代码:procedure OnBeforeCommandLineProcessing(const processType: ustring; const comma
2017-12-12 17:26:40
1837
原创 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
2218
原创 气泡消息提示
使用 TBalloonHint 控件,可以实现灵活控制对VCL 控件上进行消息提示var Pos: TPoint; BalloonHint :TBalloonHint;begin BalloonHint := TBalloonHint.create(application); BalloonHint.ImageIndex :=0; //要先设置 BalloonHin
2016-02-16 15:51:51
1711
原创 更改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
1189
转载 拖动更改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
3488
原创 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
986
转载 Delphi WebBrowser与网页交互
WebBrowser1.GoHome; //到浏览器默认主页WebBrowser1.Refresh; //刷新WebBrowser1.GoBack; //后退WebBrowser1.GoForward; //前进WebBrowser1.Navigate('...'); //打开指定页面WebBrowser1.Navigate('about:blan
2015-11-03 22:12:53
9690
原创 将Record 数组转成jsonstring
type Flola =record Lo,la :double; end;uses superobject;function GetJsonString:string;varFlola:array of Tlola;jsResRecord,jsOperation :ISuperObject ;begin SetLength(
2015-10-30 18:13:15
2582
转载 并行编程提高软件处理速度
使用 TParallel 来提速你的循环,但总有些时候,你需要运行多个可以并行执行,而又并非循环的任务。要执行此类任务,我们可以使用 System.Threading.TTask 和 System.Threading.ITask 来简化工作。TTask提供了一个类来创建和管理ITask实例的交互,你可以通过WaitForAll或WaitForAny等待任务的执行完成。举个例子,
2015-10-07 11:37:27
921
转载 VCL+FMX 双剑合壁编程
特别感谢】猫叔捐助SSD硬盘VCL 是经典,FMX 是新生,新生事物总会带来一些好玩新奇的东西。舍弃经典是浪费,不了解新生事物是等死,那么我们来一个二合一双剑合壁又如何呢?要双剑合壁,就得投些机,取些巧。由于 Delphi / C++ Builder 不支持直接创建一个 VCL+FMX 的合体应用,所以我们要分别创建一个 VCL 和 FMX 的应用程序,其中一个我们做为主窗口。
2015-10-06 13:55:53
3171
2
转载 Delphi XE7 学习笔记 StopWatch类
Delphi 现在提供了秒表类TStopWatch,用于统计程序使用的时间。其实,看这个类的实现接口,实际就是实现了C#,Java中早就有的StopWatch类。Create:建立一个实例Reset:复位Start:开始计时StartNew:返回一个新的实例Stop:停止计时Elapsed:消耗的时间Stopwatch提供了上面几个方法,来控制stopw
2015-10-06 11:47:10
910
转载 一个队列类的实现(比delphi自带的速度快70倍)
测试结果 实现的代码 unit sfContnrs;interface{$DEFINE MULTI_THREAD_QUEUE} //线程安全版本,如果不需要线程安全,请注释掉此行代码{$IFDEF MULTI_THREAD_QUEUE}uses Windows;{$ENDIF}type TsfQue
2015-10-06 11:43:17
1338
转载 delphi 资源文件管理 Resources and Images
1、 把PNG图片放到项目中;2、 点击主菜单“Project”→“ Resources and Images”,弹出下面的对话框 它会自动识别项目中的图片、音频等文件自动添加进来,如果没有识别出来或者是自定义文件类型的话,就点击【Add】按钮手动添加,然后选择合适的资源类型ResourceType,然后在Resource Identifier中给资源取一个名字即可。
2015-10-05 10:25:33
3294
原创 Delphi中CoInitialize之探究
CoInitialize(nil); //加上此代码是为了解决有些电脑会出现尚未调用coinitialize的问题CoUninitialize; //加上此代码是为了解决有些电脑会出现尚未调用coinitialize的问题如果在线程中使用请在Execute代码中:try CoInitialize(nil); finally CoUninitialize;
2015-04-29 15:40:02
912
转载 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
434
转载 windows 消息
Delphi是Borland公司的一种面向对象的可视化软件开发工具。 Delphi集中了Visual C++和Visual Basic两者的优点:容易上手、功能强大,特别是在界面设计、数据库编程、网络编程方面更有其独特的优势。Delphi中的消息消息是Windows发出的一个通知,它告诉应用程序某个事件发生了。在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中
2014-11-12 11:44:59
447
转载 汉化 bussinessSkinForm右键菜单
{*******************************************************************}{ }{ Almediadev Visual Component Library
2014-09-09 14:02:39
586
转载 将控件画成圆角的效果(Delphi)
最近在做一个Delphi的项目,常常要设计软件的界面,需要将控件画成圆角矩形。在Delphi中将控件画成圆角效果,可使用CreateRoundRectRgn函数。在此写了一个通用的函数,只要在用到改变控件效果的地方,调用就OK了,函数如下:procedure TfrmTest.RoundControl(Control: TWinControl;arc1:Integer;arc2:Integer
2014-07-02 21:49:47
3505
转载 基于Delphi的融合DLL中的窗口
基于Delphi的融合DLL中的窗口 摘 要:提出了一种简单的方法将DLL中的窗口融合(嵌入)到其他应用程序或DLL的窗口中,使用本方法可以简便地实现具有强扩展性和升级能力的软件系统。
2014-04-15 10:58:06
1886
转载 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
737
转载 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
601
转载 获取 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
2291
转载 文字的高度与宽度: 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
2889
转载 把窗体客户区图像保存到文件或剪切板
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
604
转载 捕捉全屏图像
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
435
转载 判断集合从属关系的练习: 是否同时按下了 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
797
转载 写一个可拖动的 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
557
转载 显示 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
575
转载 如何用 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
2413
转载 一句话为当前窗口客户区捉图: 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
578
转载 给 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
3107
转载 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
1668
转载 如何比较两个二维数组是否相等
{对比静态数组}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
4440
转载 极快的正整数排序函数
type TIntArr = array of Integer;{极快的正整数排序函数}procedure IntSort(arr:TIntArr; low:Integer=0; high:Integer=-1; k:Cardinal=$80000000; c:Cardinal=1);var i,j,x: Integer;begin if high = -1 then hig
2014-01-26 14:52:34
477
转载 删除动态数组中的指定元素
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
1956
转载 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
1700
转载 关于禁止程序重复启动的另一种需要与实现
手头的程序需要禁止重复启动, 但需要保留新的、关闭旧的.我想还是从主窗口的类名下手吧; 写了一个函数, 在 OnCreate 中调用即可:{ 函数 }procedure CloseSameClassNameWindow(ACurrentWindow: HWND; const AClassName: string);var h: HWND; buf: array[0.
2014-01-24 14:19:09
398
转载 关于禁止程序重复启动的另一种需要与实现
手头的程序需要禁止重复启动, 但需要保留新的、关闭旧的.我想还是从主窗口的类名下手吧; 写了一个函数, 在 OnCreate 中调用即可:{ 函数 }procedure CloseSameClassNameWindow(ACurrentWindow: HWND; const AClassName: string);var h: HWND; buf: array[0.
2014-01-24 14:18:19
486
转载 当我把一个"结构体"在类中当做属性后, 在实用中可以直接读取结构体成员, 但不能直接写入.
当我把一个"结构体"在类中当做属性后, 在实用中可以直接读取结构体成员, 但不能直接写入...下面是由此引发的小练习:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, V
2014-01-24 14:16:21
863
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人