摘要: 使用加号(+)操作符和转换函数(如IntToStr),你确实能把已有值组合成字符串,不过另有一种方法能格式化数字、货币值和其他字符串,这就是功能强大的Format 函数及其一族。Format 函数参数包括:一个基本文本字符串、一些占位符(通常由%符号标出)和一个数值数组,数组中每个值对应一个占位符。例如,把两个数字格式化为字符串的代码如下:Format ('First %d, Second %d', [n1, n2]);其中n1和n2是两个整数值,第一个占位符由第一个值替代,第二个占位符由第二个值替代,以此类推。如果占位符输出类型(由%符号后面的字母表示)与对应的参数类型不匹配 阅读全文
posted @ 2013-01-11 09:41 幻劫 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 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 幻劫 阅读(200) 评论(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 幻劫 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 在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 幻劫 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 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 幻劫 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了在Delphi中利用系统函数和Windows API函数调用来获取和修改文件的时间信息的方法。熟悉Windows 95/98的朋友一定经常会用单击鼠标右键的方法来查看所选定的文件的属性信息。在属性菜单中会列出该文件的创建时间、修改时间和访问时间。这些信息常常是很有用的,它们的设置一般都是由操作系统(也就是由Dos/Windows等等)自动完成的,不会让用户轻易修改。这里,我向大家介绍在Delphi中如何实现文件时间的获取和修改方法。Delphi中提供了很完备的Windows API函数的调用接口,可以方便的进行高级Windows编程。利用Delphi中的FindFirst函数可以得到 阅读全文
posted @ 2013-01-11 09:28 幻劫 阅读(6551) 评论(0) 推荐(0) 编辑
摘要: 一.编写 RC 脚本文本 用记事本或其它文本编辑器编写一个扩展名为“.rc”的文件。格式如下: AVI 无声动画 BITMAP 位图文件 CURSOR 光标文件 ICON 图标文件 WAVE 声音文件 以上所列均为标准资源类型,也可以给资源自定义一个类型,如:“mytype”。不过两者在调用方式上有些不同(在后面示例“存取资源文件中的位图”中有详细描述)。二.根据 RC 脚本文件编译成 RES 资源文件 在命令提示符中输入以下内容: brcc32 FileName.rc //注:brcc32.exe在DelphiX\Bin目录中三.在Delphi单元中加入资源文件 将生成的... 阅读全文
posted @ 2013-01-11 09:27 幻劫 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 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 幻劫 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 在使用计算机的过程中,经常会碰到在Windows桌面上残留有程序运行后的留下一些痕迹,这时我们往往在Windows桌面上单击鼠标右键,然后选择刷新,使桌面变得干净、整洁。其实自己编代码来实现这个功能也很简单,调用一个函数SHChangeNotify即可。首先,在Delphi的单元文件的Uses部分手动添加上ShlObj,然后在按钮点击事件中加上代码如下:SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL); 阅读全文
posted @ 2013-01-11 09:20 幻劫 阅读(607) 评论(0) 推荐(0) 编辑
摘要: DBCC CHECKIDENT( 'TableName', RESEED, 1) 阅读全文
posted @ 2013-01-11 09:20 幻劫 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 在Delphi中,用Length来取字符长度时,会将汉字当成两个字节来计算,Copy把汉字当成两个来处理,可能截取半个汉字,那我们如何知道是否取的是汉字呢?是否把一个汉字取完整了呢?其实,可以用ByteType对取出来的字符进行判断是一个单字符还是汉字的一部分!mbLeadByte: 汉字的第一个字节mbTrailByte: 汉字的第二个字节mbSingleByte: 单个的字符,不是中文字符。如果Copy出来的是汉字的第一个字节,就再多(或少)Copy一个,凑成完整的汉字。如下例:function GetText(strtxt:string;iLen:integer):string;begi 阅读全文
posted @ 2013-01-11 09:02 幻劫 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 我想让字符串在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 幻劫 阅读(917) 评论(0) 推荐(0) 编辑