01 2013 档案
取鼠标所在位置对应的窗口句柄
摘要:1 procedure TForm1.Timer1Timer(Sender: TObject); 2 var 3 a:TPoint; //用来存放坐标 4 hw:HWND; //用来存放窗口句柄 5 begin 6 GetCursorPos(a); //取得鼠标坐标,并存放进a中 7 hw := WindowFromPoint(a); //取得变量a 对应的 窗口句柄 8 Edit1.Text := IntToStr(a.X); 9 Edit2.Text := IntToStr(a.Y);10 Edit3.Text := IntToStr(hw);11 end; 阅读全文
posted @ 2013-01-26 17:37 幻劫 阅读(3027) 评论(0) 推荐(0)
delphi的取整函数round、trunc、ceil和floor
摘要:首先引入math单元uses math;1.Round(四舍六入五留双)功能说明:对一个实数进行四舍五入。(按照银行家算法)例:vari, j: Integer;begini := Round(1.5); // i等于2j := Round(2.5); // j等于2end;在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。例:i:= Round(11.5)//i等于12i:= Round(10.5)//i等于10这种Ro 阅读全文
posted @ 2013-01-25 12:57 幻劫 阅读(166) 评论(0) 推荐(0)
常用SQL语句
摘要:raiserror('该用户授权无效', 16, 1,1) declare 定义 --启动事务 declare @tran_point int set @tran_point=@@trancount if @tran_point=0 begin tran tran_hystatus else save tran tran_hystatus IF @@ERROR<>0 BEGIN SET @return=1 set @returnstr='数据保存失败!' ... 阅读全文
posted @ 2013-01-14 13:32 幻劫 阅读(364) 评论(0) 推荐(0)
Format用法总汇
摘要:使用加号(+)操作符和转换函数(如IntToStr),你确实能把已有值组合成字符串,不过另有一种方法能格式化数字、货币值和其他字符串,这就是功能强大的Format 函数及其一族。Format 函数参数包括:一个基本文本字符串、一些占位符(通常由%符号标出)和一个数值数组,数组中每个值对应一个占位符。例如,把两个数字格式化为字符串的代码如下:Format ('First %d, Second %d', [n1, n2]);其中n1和n2是两个整数值,第一个占位符由第一个值替代,第二个占位符由第二个值替代,以此类推。如果占位符输出类型(由%符号后面的字母表示)与对应的参数类型不匹配 阅读全文
posted @ 2013-01-11 09:41 幻劫 阅读(427) 评论(0) 推荐(0)
Delphi中优秀的字符串分割函数
摘要:function SplitString(Source, Deli: string ): TStringList;stdcall; var EndOfCurrentString: byte; StringList:TStringList; begin StringList:=TStringList.Create; while Pos(Deli, Source)>0 do begin EndOfCurrentString := Pos(Deli, Source); StringList.add(Copy(Source, 1, EndOfCurrentString - 1)); Source 阅读全文
posted @ 2013-01-11 09:40 幻劫 阅读(207) 评论(0) 推荐(0)
packed record与record区别
摘要:在windows中内存的分配一次是4个字节的。而packed按字节进行内存的申请和分配,这样速度要慢一些,因为需要额外的时间来进行指针的定位。因此如果不用packed的话,delphi将按一次4个字节的方式申请内存,因此如果一个变量没有4个字节宽的话也要占4个字节!这样就浪费了,你可以用packed关键字取消这种优化。例子: type myrec = packed record n1 : integer; 4个字节 n2 : shortint; 1个字节 end; sizeof(myrec)------ 5 type myrec = record n1 : integer; n2... 阅读全文
posted @ 2013-01-11 09:33 幻劫 阅读(292) 评论(0) 推荐(0)
将实数取整函数
摘要:floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math。trunc 和 round 是 system unit 里的函数,缺省就可以用。floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123trunc 直接切下整数,比如 trunc(-123.55)=-123, floor(123.55)=123ceil 直接往大的取,比如 ceil(-123.55)=-123, ceil(123.55)=124round 计算四舍五入,比如 round(-123.55)=-124,round(123.55)=124 阅读全文
posted @ 2013-01-11 09:33 幻劫 阅读(192) 评论(0) 推荐(0)
TStrings高级的用法
摘要:TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。常规的用法大家都知道,现在来讨论它的一些高级的用法。先把要讨论的几个属性列出来:1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex先看第一个:CommaText。怎么用呢?用代码说话:const constr :String = 'aaa,bbb,ccc,ddd';var strs :TStrings; i :Integer;begin strs := TStringList.Create 阅读全文
posted @ 2013-01-11 09:30 幻劫 阅读(241) 评论(0) 推荐(0)
在Delphi中获取和修改文件的时间
摘要:本文介绍了在Delphi中利用系统函数和Windows API函数调用来获取和修改文件的时间信息的方法。熟悉Windows 95/98的朋友一定经常会用单击鼠标右键的方法来查看所选定的文件的属性信息。在属性菜单中会列出该文件的创建时间、修改时间和访问时间。这些信息常常是很有用的,它们的设置一般都是由操作系统(也就是由Dos/Windows等等)自动完成的,不会让用户轻易修改。这里,我向大家介绍在Delphi中如何实现文件时间的获取和修改方法。Delphi中提供了很完备的Windows API函数的调用接口,可以方便的进行高级Windows编程。利用Delphi中的FindFirst函数可以得到 阅读全文
posted @ 2013-01-11 09:28 幻劫 阅读(6687) 评论(0) 推荐(0)
Delphi中资源文件使用详解
摘要:一.编写 RC 脚本文本 用记事本或其它文本编辑器编写一个扩展名为“.rc”的文件。格式如下: AVI 无声动画 BITMAP 位图文件 CURSOR 光标文件 ICON 图标文件 WAVE 声音文件 以上所列均为标准资源类型,也可以给资源自定义一个类型,如:“mytype”。不过两者在调用方式上有些不同(在后面示例“存取资源文件中的位图”中有详细描述)。二.根据 RC 脚本文件编译成 RES 资源文件 在命令提示符中输入以下内容: brcc32 FileName.rc //注:brcc32.exe在DelphiX\Bin目录中三.在Delphi单元中加入资源文件 将生成的... 阅读全文
posted @ 2013-01-11 09:27 幻劫 阅读(483) 评论(0) 推荐(0)
经典SQL语句大全
摘要:SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname 3、说明:备份sql server --- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 't 阅读全文
posted @ 2013-01-11 09:25 幻劫 阅读(185) 评论(0) 推荐(0)
.SQL Server的主键可以设置成让所有数据删除后恢复成以1开始计数
摘要:DBCC CHECKIDENT( 'TableName', RESEED, 1) 阅读全文
posted @ 2013-01-11 09:20 幻劫 阅读(211) 评论(0) 推荐(0)
delphi 刷新Windows桌面
摘要:在使用计算机的过程中,经常会碰到在Windows桌面上残留有程序运行后的留下一些痕迹,这时我们往往在Windows桌面上单击鼠标右键,然后选择刷新,使桌面变得干净、整洁。其实自己编代码来实现这个功能也很简单,调用一个函数SHChangeNotify即可。首先,在Delphi的单元文件的Uses部分手动添加上ShlObj,然后在按钮点击事件中加上代码如下:SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL); 阅读全文
posted @ 2013-01-11 09:20 幻劫 阅读(645) 评论(0) 推荐(0)
Delphi截取完整的汉字字符串
摘要:在Delphi中,用Length来取字符长度时,会将汉字当成两个字节来计算,Copy把汉字当成两个来处理,可能截取半个汉字,那我们如何知道是否取的是汉字呢?是否把一个汉字取完整了呢?其实,可以用ByteType对取出来的字符进行判断是一个单字符还是汉字的一部分!mbLeadByte: 汉字的第一个字节mbTrailByte: 汉字的第二个字节mbSingleByte: 单个的字符,不是中文字符。如果Copy出来的是汉字的第一个字节,就再多(或少)Copy一个,凑成完整的汉字。如下例:function GetText(strtxt:string;iLen:integer):string;begi 阅读全文
posted @ 2013-01-11 09:02 幻劫 阅读(855) 评论(0) 推荐(0)
Delphi中关于Canvas.TextOut的用法
摘要:我想让字符串在Canvas上显现出来,但不知道如何改变字底边的颜色,想变成透明或其它色彩都行,只是希望所输出的字符串不会影响到Canvas里边的图形。请问前辈们让如何做呢?Canvas.Font.Color:=clblue;//字体颜色//Canvas.Brush.Color:=clred;//底色Canvas.Brush.Style := bsClear;//透明canvas.textout(0,0,'avalokita');拉两个 TImageprocedure TfrmMain.FormCreate(Sender: TObject);beginImage1.Canvas. 阅读全文
posted @ 2013-01-11 08:56 幻劫 阅读(1071) 评论(0) 推荐(0)
char 的使用
摘要:从一个char数组到别外一个char数组 1 procedure arrayAssignment(Src: array of AnsiChar;var Target: array of AnsiChar); 2 var 3 i, j: Integer; 4 begin 5 i := length(Src); 6 j := length(Target); 7 if j > i then 8 j := i; 9 for i := 0 to j - 1 do10 begin11 try12 Target[i] := Src[i];13 ex... 阅读全文
posted @ 2013-01-10 23:22 幻劫 阅读(208) 评论(0) 推荐(0)
Delphi中串口通信的实现
摘要:在Delphi中用SPCOMM实现串口编程出处: http://www.ccw.com.cn/htm/app/aprog/01_1_8_4.aspDelphi是一种具有功能强大、简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选择 Delphi作为开发工具编制各种应用程序。但是,美中不足之处是 Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这就给编制通信程序的开发人员带来许多不便。目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使 阅读全文
posted @ 2013-01-07 09:14 幻劫 阅读(1572) 评论(0) 推荐(0)