delphi
xiuzhentianting
这个作者很懒,什么都没留下…
展开
-
c++运算符号优先级 和delphi是不同的。
4+加表达式+表达式左到右双目运算符-减表达式-表达式双目运算符5左移表达式左到右双目运算符>>右移原创 2016-11-01 13:01:58 · 350 阅读 · 0 评论 -
图像缩放算法:双线性插值和2次立方
// 双线性插值,速度快 LCalc := s1_u*(s1_v*afij + sv*afijJ1) + su*(s1_v*afiJ1j + sv*afiJ1jJ1); if LCalc <= 0.0 then LAlphaDest^ := 0 else if LCalc >= 255.0 then LAlphaDest^ :=原创 2015-09-14 17:55:08 · 1507 阅读 · 0 评论 -
图片的alpha融合算法
if LSrcAlpha > 0 then begin if LSrcAlpha = 255 then begin LAlphaDest[X] := LSrcAlpha; Move(LImageSrc[L3SrcIndex], LImageDest[L3DestIndex], SizeOf(TRGBTriple))原创 2015-09-14 18:02:10 · 1533 阅读 · 0 评论 -
Delphi 截取被遮挡窗口图片
(对最小化窗口无效)(对斗地主无效,截出来的是黑屏,肯定是它做处理了,可以用另外的方法,先显示出窗口,在截屏)Delphi截图,Delphi 截取被遮挡窗口图片,Delphi遮挡窗口截图使用dELPHI用TCanvas 的CopyRect或者bitblt 对窗口进行截图的时候窗口对象容易被遮挡,截出来的图像混杂着遮挡窗体,PrintWindow这个个函数可以帮我们原创 2015-09-15 19:50:52 · 2039 阅读 · 0 评论 -
静态页与应用程序通讯 应用程序启动127.0.0.1 http服务
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdCustomTCPServer, IdCustomHTTP原创 2015-09-15 19:31:48 · 432 阅读 · 0 评论 -
Delphi读取文本文件的最后一行
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit;原创 2015-09-15 19:25:37 · 1075 阅读 · 0 评论 -
让程序不在任务栏小按钮显示
program Project1;uses Forms, Windows, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin Application.Initialize; App原创 2015-09-14 18:48:18 · 475 阅读 · 0 评论 -
网页事件的模拟
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, mshtml, StdCtrls;type TForm1 = class(TForm) WebBrowser1: TW原创 2015-09-14 18:21:48 · 304 阅读 · 0 评论 -
Delphi中ADO存取效率的探讨
CacheSize 默认1,需要修改成1000异步执行也可以提高效率:AsyncExecute原创 2015-09-05 12:46:25 · 764 阅读 · 0 评论 -
获得桌面图标所在窗口--兼容Win7
Win7父窗口类名是 WorkerW,但是WorkerW有多个function Find_Window(XParent: HWND; XFromIndex: Integer; const XClassNames: array of string): HWND;var LName: string; LChild: HWND;begin R原创 2015-09-15 19:53:28 · 399 阅读 · 0 评论 -
delphi编译选项
debug需要选中RangeCheckError发布就不需要否则,如果Cardina不强制转换成Integer,则会抛出异常原创 2015-09-15 20:07:59 · 383 阅读 · 0 评论 -
sql处理数据困难的办法--用程序处理生成单一sql
procedure TForm1.Button1Click(Sender: TObject);type TSqlItem = record BiShu: Integer; Amount: Integer; TradeStatus: Integer; end; TSqlItemAry = array of TSqlIte原创 2015-09-15 19:33:46 · 329 阅读 · 0 评论 -
Delphi的TDatetime转换成C#的DateTime
public static DateTime DoubleToDateTime(double xd) { int d, h, m, s, mm; double dd, dh, dm, ds, dmm; dd = xd; d = (int)dd;原创 2015-09-15 19:24:08 · 598 阅读 · 0 评论 -
Delphi的Randomize
procedure Randomize;varCounter: Int64;beginif QueryPerformanceCounter(Counter) thenRandSeed := CounterelseRandSeed := GetTickCount;end;如果系统不支持精确时间,则用GetTickCount原创 2015-09-08 13:18:45 · 984 阅读 · 0 评论 -
Move window的两种方法
1、通过控件,适合局部区域移动procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);beginWindows.ReleaseCapture;Perform(WM_SYSCOMMAND, SC_MOVE原创 2015-09-08 13:28:06 · 2151 阅读 · 0 评论 -
TStringList 默认去掉重复的字符串
分割的时候,会自动去掉重复的字符串,设置了 Duplicates := dupAccept;就不去掉重复LStrList := TStringList.Create;tryLStrList.Delimiter := '%';LStrList.StrictDelimiter := True;LStrList.Duplicates := dupAccept;原创 2015-09-08 13:27:28 · 2323 阅读 · 0 评论 -
WinAPI: DrawTextEx - 多功能文本绘制 Delphi需要把&替换成&&才可以
Delphi默认使用:DT_NOPREFIX procedure TCanvas.TextRect(var Rect: TRect; var Text: string; TextFormat: TTextFormat = []);const cTextFormats: array[TTextFormats] of Integer =原创 2015-09-14 18:50:16 · 974 阅读 · 0 评论 -
多线程处理图片,bmp不支持,png支持
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, pngimage, PngImageProcessor, Math, IGDIPlus, JaContaine原创 2015-09-14 18:52:26 · 571 阅读 · 0 评论 -
关机时windows发的消息WM_QUERYENDSESSION
procedure Form1.WmQueryEndSession(var Message: TMessage);begin //允许 Message.Result := 1; end;原创 2015-09-18 13:17:44 · 828 阅读 · 0 评论 -
TWebBrower 动态改变大小
注意:Panel1.BevelOuter := bvNone;unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, OleCtrls, SHDocVw, ExtCtrls;typeTForm2 = class原创 2015-09-18 13:19:23 · 685 阅读 · 0 评论 -
delphi的public 与 published
published如果属性含有下标,会不能编译通过,而public则是可以的. 属性要声明在published中,才可以显示到属性察看器中,这个是published的最大用途,published一般用于组件编程中,而不常用于应用程序中. Published members have the same visibility as public members. The differenc原创 2015-09-18 17:42:08 · 772 阅读 · 0 评论 -
获取Mac地址
uses nb30;function GetMACAdress: string;var I: Integer; LRetCode: Char; LSystemID: string; LNCB: TNCB; LAdapter: TAdapterStatus; LLEnum: TLanaEnum;begin LSystemID :=原创 2015-09-16 21:05:10 · 580 阅读 · 0 评论 -
delphi引用类的顺序
当引用的两个Pas里面有相同的类名是,如果不注明是哪个单元的,Delphi以后写入的Pas类为准。比如如果使用 uses Windows, Graphics,则TBitmp是 Graphics.TBitmap, 使用 uses Graphics, Windows,则TBitmap是 Windows.TBitmap.原创 2015-09-16 21:00:20 · 433 阅读 · 0 评论 -
Delphi 移位的问题
function Integer64ToInt64(const X: Integer64): Int64;begin // Integer64 转换成Int64,如果不转成Int64,X.Hi shl 32 就变成0了。 Result := (Int64(X.Hi) shl 32) + X.Lo;end;原创 2015-09-16 16:30:57 · 846 阅读 · 0 评论 -
Delphi星期几的判断
DayOfTheWeek: 星期一是1,星期二是2,星期日是7DayOfWeek:星期日是1,星期一是2,星期二是3原创 2015-09-16 16:27:01 · 2147 阅读 · 0 评论 -
TStringList 的分割符如何支持有空格的字符串
LStrList.Delimiter := '|'; LStrList.StrictDelimiter := True; 默认StrictDelimiter为False,这时,空格等很多不可见字符就都是分隔符。原创 2015-09-16 12:06:23 · 1002 阅读 · 0 评论 -
笔记本手动关闭显示器(附测试代码)
使用 Colse LCD,运行就关闭显示器,有鼠标或者键盘事件就会打开 unit OpenCloseMonitor;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;原创 2015-09-16 11:53:59 · 1136 阅读 · 2 评论 -
虽然Png本身不失真,但是IE显示的时候失真
IE对JPG,GIF,BMP图片的显示是真实的,唯有对PNG图片显示会失真测试火狐3.63浏览器,对Png的显示没有失真。(也不能算是失真,而是颜色配改变了:1、对于从上到下RGB(255,93,0)到(255,144,0)的70x220的渐变图片,在IE6下面,显示成了RGB(255,82,0)到RGB(255,134,0)的渐变图片,红色减少了112、即原创 2015-09-16 11:48:43 · 2477 阅读 · 0 评论 -
Delphi分配或释放内存失败的原因
并不是Delphi本身的问题,而是代码的问题。有时候,访问非法堆栈内存时,Delphi并不抛出异常,这样就导致部分堆内存结构破坏(链表结构破坏)。当自己使用的堆栈内存不多时,表现不出来错误;有时多加一个Format函数调用,里面调用SetString函数时,出现GetMem失败的问题(一直死循环,或者抛出异常),是因为已经分配到结构被破坏的内存链表。 procedure TForm原创 2015-09-15 20:23:32 · 790 阅读 · 0 评论 -
Delphi打开长于260个字符的网页
当用function OpenURL(const URL: string): Boolean;var LUrl: string;begin Result := False; LUrl := Trim(URL); if Length(LUrl) > 0 then begin LUrl := '"' + LUrl + '"';原创 2015-09-15 20:21:35 · 297 阅读 · 0 评论 -
Delphi 6Bit 编码
87654321-->006543210000008787654321-->00432100000000870000876587654321-->002100000000876500876543原创 2015-09-15 19:38:08 · 856 阅读 · 0 评论 -
TIdUDPClient
TIdUDPClient是udp客户端有时他对服务端的ip不正确。可以定时动态创建。原创 2015-09-15 10:56:25 · 650 阅读 · 0 评论 -
png图片做窗口
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IGDIPlus, ExtCtrls, Menus, StdCtrls, PngImage, Unit2;type TForm1 = class(TForm)原创 2015-09-14 18:54:22 · 523 阅读 · 0 评论 -
delphi用mdb
连接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;如果有密码:Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=C:\mydatabase.mdb;Mode=Share Deny None原创 2015-09-08 13:23:51 · 1326 阅读 · 0 评论 -
Delphi引用COM自动生成TLB的方法
// 自动生成TLB的方法: File->New->Other->ActiveX->COM Object->List列出Com,选择原创 2015-09-08 13:45:54 · 5162 阅读 · 0 评论 -
获得Redirect后的url
TIdHTTPprocedure TForm1.IdHTTP1Redirect(Sender: TObject; var dest: string; var NumRedirect: Integer; var Handled: Boolean; var VMethod: string);begin //destHandled := True;end原创 2015-09-06 10:23:39 · 365 阅读 · 0 评论 -
TStringList分割字符串
tiantingi吧主8beginLTmpStrList := TStringList.Create;tryLTmpStrList.Delimiter := '-';LTmpStrList.StrictDelimiter := True;LTmpStrList.NameValueSeparator := #0;原创 2015-09-06 10:19:09 · 358 阅读 · 0 评论 -
TWebbrower禁止弹出窗口
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, OleCtrls, SHDocVw;typeTForm1 = class(TForm)WebBrowser1: TWebBrowser;Butt原创 2015-09-05 12:33:24 · 559 阅读 · 0 评论 -
delphi 屏蔽中文输入法
#include #pragma comment(lib, "imm32.lib")HIMC hImc = ::ImmGetContext( m_hWnd);屏蔽输入法::ImmAssociateContext(m_hWnd , NULL);::ImmReleaseContext(m_hWnd , hImc );恢复输入法的代码。::ImmAssoc原创 2015-09-06 10:34:53 · 2244 阅读 · 0 评论 -
delphi开发:win8 图标问题
delphi2007不支持直接替换,需要用vs2008编辑res文件,替换图标:替换方法,先删除原来的图标,然后再添加新的,命名为"MAINICON"。如果先添加一个,然后删除原来的,是不出来打图标的。,这样delphi和win8就能同时识别图标了delphi链接下res,并且去掉默认的图标和版本信息resdelphi自己加载图标的方法:Application.原创 2015-09-06 10:33:59 · 312 阅读 · 0 评论