文章分类 - Delphi API
Delphi 函数
摘要:SplitterBar的使用方法可以在窗体左边使用TREEVIEW,右边使用MEMO,可以使用SplitterBar来调节左右比例具体做法如下:1.设置TreeView的Align属性为alLeft.2.从FORM窗体上剪切(Ctrl-X)出MEMO控件3.增加一个Panel1控件,并将其Align属性为alClient.4.将MEMO贴回Panel1上,并将其Align属性为alClient.5.添入SPLITTER控件6.在SPLITTER的ONMOVE事件中写入treeview1.width:=splitter1.left;转自:http://www.codesky.net/articl
阅读全文
摘要:Delphi在Listview中加入Edit控件 或者 使用该控件 StringGrid http://blog.sina.com.cn/s/blog_60020ca50100rgtn.html 2010-07-15 作者:李海彬 Listview是一个非常有用的控件,我们常常将大量的数据(如数据库里的数据)导入到Listview中,有的时候我们需要编辑Listview里的数据,而它并不提供编辑的功能,怎么样才能使它具有编辑功能呢?你可以试试下面这种方法。 首先在FORM1中放置一个Listview控件和一个Eeit控件。Edit控件有什么用?当然是用来编辑Listview...
阅读全文
摘要:procedure TForm1.btn1Click(Sender: TObject); var mem:TMemoryStream; s:string; txt:TextFile;begin mem := TMemoryStream.Create; idhtp1.Get('地址我不给出来了,费事别人笑话',mem);{ mmo1.Text := idhtp1.Get('http://www.aizhan.com/baidu/?s=kan.weibo.com&sortType=position');如果这样写的话,有时只能获取到一部分的源代码。用流就可以
阅读全文
摘要://来自大富翁:http://search.delphibbs.com/displ.aspx?lid=3877333/// 半角转全角的函数function ToSDB(AInput: Widestring): WideString;var I: Integer; nChar: Cardinal;begin Result := AInput; for I := 1 to Length(AInput) do begin nChar := Cardinal(WideChar(AInput[I])); if nChar = 32 then begin Result[I] := WideChar(12
阅读全文
摘要:汉字的表示和正则表达式引擎相关,不同引擎的写法不同,下面的写法适用于java引擎,或者一切以unicode来表示字符的引擎。1、基本规格——针对汉字的一般集合(cp936,约等于GBK,共计20000多汉字)[^\dA-Za-z\u3007\u4E00-\u9FCB\uE815-\uE864]2、扩充规格——针对多一些的汉字(支持CJK ExtA,共计接近30000汉字)[^\dA-Za-z\u3007\u3400-\u4DB5\u4E00-\u9FCB\uE815-\uE864]3、豪华规格——针对更多的汉字(支持CJK ExtB、C、......,共计75000多汉字)(?![\dA-Za
阅读全文
摘要:overload是重载;相同的函数名,参数不同,使用不同的函数体override 是对父类声明的vitural或dynamic方法进行覆盖overload的使用方法:[delphi] view plaincopyprint?functionmax(a,b:Byte):byte;overload;//声明成重载函数 functionmax(a,b:integer):integer;overload;//可以看出两个函数的参数类型不一样 function max(a, b :Byte):byte;overload; //声明成重载函数 function max...
阅读全文
摘要:SetCursorPos(100,50); 设置鼠标坐标GetCursorPos(pos); 获取鼠标坐位参考:http://bbs.csdn.net/topics/380556http://bbs.csdn.net/topics/50259569还有一个就限制光标在矩形区域:相关函数ClipCursor() http://www.cnblogs.com/devcjq/articles/2908859.html
阅读全文
摘要:其实只是利用一个隐藏的控件来制定矩形区域,可以使Button、Panel、Memo等,总之看不见它,然后在窗体OnMouseDown函数中添加SendMessage(Handle, WM_SYSCOMMAND, 61457, 0);来移动窗体,具体代码如下:新建工程,加一个Panel控件,Visible属性设为False,调整大小,完成后鼠标在该控件矩形内可以拖动窗体,而该位置可以添加Image等,就能实现伪标题栏效果://开始unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Co
阅读全文
摘要:procedure TForm1.Button3Click(Sender: TObject);var rtButton4:TRect;begin //获取Button4控件的坐标区域 rtButton4:=Button4.BoundsRect; //将坐标转换为屏幕坐标 MapWindowPoints(handle,0,rtButton4,2); //将坐标移动的范围限制在Button4控件上 ClipCursor(@rtButton4);end;转自:http://zhidao.baidu.com/question/86448742.html
阅读全文
摘要:Flash是Macromedia公司出品的,用在互联网上动态的、可互动的shockwave。它的优点是体积小,可边下载边播放,这样就避免了用户长时间的等待。 FLASH可以用其生成动画,还可在网页中加入声音。这样你就能生成多媒体的图形和界面,而使文件的体积却很小。 FLASH虽然不可以象一门语言一样进行编程,但用其内置的语句并结合javaSCRipE,您也可作出互动性很强的主页来。 FLASH另外一个特点就是必须安装插件PLUG-IN,才能被浏览器所接受!当然这也避免了浏览器之间的差异,使之一视同仁! 但是你知道吗?在delphi中可以直接打开flash动画,并控制它播放和停止。你还可以得到它
阅读全文
摘要:I am handling from my Application associated extension files from Windows. So when you double click a file from Windows it will execute my program, and I handle the file from there, something likeprocedure TMainForm.FormCreate(Sender: TObject);var i: Integer;begin for i := 0 to ParamCount -1 do begi
阅读全文
摘要://以下代码在Delphi7 + XP SP3下测试通过//button1为注册钩子屏蔽,button2为卸载钩子取消屏蔽F1unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;procedure Button1Click(Sender: TObject);procedure Button2Clic
阅读全文
摘要:Delphi提供了访问命令行参数的方便的方式,那就是使用ParamStr和ParamCount函数。其中ParamStr(0)返回的是当前程序名,如C:TESTMYPROG.EXE,ParamStr(1)返回第一个参数,以此类推;ParamCount:应用程序的参数个数 典型用法一、writeln('你输入了',ParamCount,'个参数');典型用法二、if ParamCount<1 then writeln('你输入的参数不够,需要指定一个参数。');典型用法三、var i:integer;beginfor i:=1 to Para
阅读全文
摘要:Delphi实现通过一个程序调用另外一个程序并传递多个参数给另外一个程序procedure TForm1.Button1Click(Sender: TObject);var hwndle:HWND; lcParamters :String;begin lcParamters:='+id +r +D '+ 'lcDirFile'; ShellExecute(hwndle,nil,'E:\Project\ShenfenzhengYueduqi\Bin\ShenfenzhengYueduqi.exe', PAnsiChar(lcParamters),n
阅读全文
摘要:软件的皮肤技术,简单的总结一下,可以用两个字来表示:自绘(或者说贴图)。当然,具体的效果如何,就要看你的基本功如何了。根据实现的方式,可以分为两类:A. 对现有的标准控件的换肤。Appface, Skin++, VCL Skin,SkinBuilder等一批换肤软件就是该类的代表。B. 自己编写控件。AlphaConttrol, RZ系列控件就是该类的一些代表。这类控件库在delphi中尤其多。编写皮肤需要基本功:A. Windows 绘图技术。既然是要换肤,当然要进行绘图,而要进行绘图,则必须了解Windows的一些绘图函数和Window控件的绘制过程。B. Windows消息系统的了解。W
阅读全文
摘要:unit Unit14;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.AppEvnts;type TForm14 = class(TForm) ApplicationEvents1: TApplicationEvents; procedure FormCreate(Sender: TObject); procedure Applicati
阅读全文
摘要:一、主要场景 a)主程序启动另外一个程序,并传递参数 b)主进程向一个已经运行中的程序传递参数二、代码 1)调用程序:var HWND: DWORD; ApplicationHWND:DWORD;begin HWND:=FindWindow('TFrmMain', '参数接收窗口'); ApplicationHWND:=GetWindow(HWND,GW_OWNER); if HWND <> 0 then begin memo1.Lines.Add('参数接收程序已运行,向参数接收窗口投递消息。。。'); SendMessage(HW
阅读全文
摘要:1.delphi 调用js,触发就是方法:var win: IHTMLWindow2;beginwin := IHTMLDocument2(wbmap.Document).parentWindow;Win.execScript('addAllPoits(' + QuotedStr(strValue) + ')', 'javascript');end;addAllPoits:js的方法strValue:方法参数;'javascript':脚本语言;2.js页面操作触发delphi程序写的方法,主要原理是:修改window.exter
阅读全文
摘要:Delphi 对汉字字符串的截取问题关键字: delphi 汉字 截取 在Delphi中,用Length来取字符长度时,会将汉字当成两个字节来计算,Copy把汉字当成两个来处理,可能截取半个汉字,那我们如何知道是否取的是汉字呢?是否把一个汉字取完整了呢?其实,可以用ByteType对取出来的字符进行判断是一个单字符还是汉字的一部分!mbLeadByte: 汉字的第一个字节mbTrailByte: 汉字的第二个字节mbSingleByte: 单个的字符,不是中文字符。如果Copy出来的是汉字的第一个字节,就再多(或少)Copy一个,凑成完整的汉字。如下例:function GetText(str
阅读全文
摘要:效果图初学delphi做个ascii转换工具,为在手工注入网站的时候做个辅助主要处理操作如下://ascii转换procedure TForm1.Button1Click(Sender: TObject);vari: integer;Result, Code: string;a: array[0..10000] of char;beginCode :='';Result:='';for i := 1 to length(edit1.Text) dobegin Code := edit1.Text; a[i - 1] := Code[i]; Result := R
阅读全文