易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : delphi

Delphi 的RTTI机制浅探(续)

http://www.delphibbs.com/delphibbs/dispq.asp?LID=2421470
本文是《Delphi 的RTTI机制浅探》的续篇,上篇地址在:
  http://www.delphibbs.com/delphibbs/dispq.asp?lid=2420610
本文上篇基本上是
RTTI 入门介绍,续篇介绍了所有 TypInfo.pas 中的函数,附加了 Classes.pas、Graphics.pas、Controls.pas
中的几个 RTTI 相关函数。对于关键函数的代码提供汇编注释。希望本文覆盖了 Delphi 中 80% 的 RTTI
函数。时间仓促,错误难免,敬请批评指正。
本文排版格式为:
    正文由窗口自动换行;所有代码以 80
字符为边界;中英文字符以空格符分隔。
(作者保留对本文的所有权利,未经作者同意请勿在在任何公共媒体转载。)


===============================================================================

GetTypeData 函数
⊙ GetPropInfo 函数
⊙ FindPropInfo 函数
⊙ GetPropInfos
函数
⊙ SortPropList 函数
⊙ GetPropList
函数
------------------------------------------------------

GetObjectPropClass 函数
⊙ PropType / PropIsType 函数
⊙ IsPublishedProp 函数

IsStoredProp 函数
⊙ ......

Delphi基础开发技巧(1)

http://developer.51cto.com/art/200510/7205.htm
[DELPHI]网络邻居复制文件
uses shellapi;
copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false);
[DELPHI]产生鼠标拖动效果
通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL:
var xpanel,ypanel,xlabel,ylabel:integer;
PANEL的MouseMove事件:xpanel:=x;ypanel:=y;
PANEL的DragOver 事件:xpanel:=x;ypanel:=y;
LABEL的MouseMove事件:xlabel:=x;ylabel:=y;
LABEL的EndDrag 事件:label.left:=xpanel-xlabel;label.top:=ypanel-ylabel;
[DELPHI]取得WINDOWS目录
uses shellapi;
var windir:array[0..255] of char;
getwindowsdirectory(windir,sizeof(windir));
或者从注册表中读取,位置:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
SystemRoot键,取得如:C:\WINDOWS
[DELPHI]在FORM或其他容器上画线
var x,y:array [0..50] of integer;
canvas.pen.color:=clred;
canvas.pen.style:=psDash;
form1.canvas.moveto(trunc(x[i]),trunc(y[i]));
form1.canvas.lineto(trunc(x[j]),trunc(y[j]));
[DELPHI]字符串列表使用
var t ......

delphi 如何安装EhLib,DbGridEh控件

1、当然是先要卸载以前安装的Ehlib组件了,在菜单的“Component”的“install Packeges”里,选择ehlib XX,选择“Remove”。
2、接下来在库里加入这个控件的引用路径,先新建一个文件夹,比如“D:\Component\Ehlib”(最好把要安装的控件都拷贝到这个Component目录下),然后把下载来的Ehlib压缩包里的Common和delphi7目录下的所有文件拷贝到Ehlib目录下,选择菜单里的“Tools“里的“EnvironMent Option”,选择“library“标签,在“library path”里加入控件的路径,比如为上面介绍的路径:“D:\Component\Ehlib”,如果你不是在对话框里选择加入路径的话,要在前面加上“;”号。
3、最后就是要安装组件了,然后打开Ehlib目录下的Ehlib70.dpk,选择“Compile”,编译一下,不要安装,随后再打开dclEhlib70.dpk进行安装,打开以后先“Compile“再选择“install”进行安装,组件面板上会出现Ehlib的组件页。
4、别的控件的安装也与此类似,主要是要找到适合Delphi版本的安装文件,和注意要在库里加入这个的控件的引用路径。记得 ......

delphi学习 字符串切割问题(split)

最近做一个项目,要用Delphi,以前从未学过,好是费劲啊,哈哈光是字符串切割这个问题就困扰了几个小时,通过查资料终于解决,在这与大家分享一下
Function split(src: pchar; ch: char):TStringList;
// 分割字符串
var
  i: Integer;
  tmp : string;
begin
  Result:=TStringList.Create;
  tmp := '';
  showmessage(src);
  showmessage(inttostr(Length(src)));
  for i := 0 to Length(src) do
  begin
    if src[i] <> ch then
    begin
      tmp := tmp + src[i];
    end
    else
    begin
      Result.Add(tmp);
      tmp := '';
    end;
  end;   
  Result.Add(tmp);
end;
说明一下,有些人用Pos函数来对字符串分割,这个函数对中文处理不了,所以最好不要用,
调用方法
先定义一个 var AStrings: TStringList;
在下面使用时 AStrings:=TStringList.Create;然后AString ......

Delphi中的容器类

 Delphi中的容器类
作者 陈省
 
从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList 类。 
TList 类
TList 类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来添加,删除,重排,定位,存取和排序容器中的类,它是基于数组的机制来实现的容器,比较类似于C++中的Vector和Java中的ArrayList,TList 经常用来保存一组对象列表,基于数组实现的机制使得用下标存取容器中的对象非常快,但是随着容器中的对象的增多,插入和删除对象速度会直线下降,因此不适合频繁添加和删除对象的应用场景。下面是TList类的属性和方法说明:
属性
 描述
 
Count: Integer;
 返回列表中的项目数
 
Items[Index: Integer]: Pointer; default
 通过以0为底的索引下标直接存取列表中的项目
 
 
方法
 类型
 描述
 
Add(Item: Pointer): Integer;
 函数
 用来向列表中添加指针
 
Clear;
 过程
 清空列表中的项目
 
Delete(Index: Integer);
 过程
 删除列表中对应索引的项目
 
In ......

Delphi中利用MSCOMM控件进行GPS数据采集

1、准备
  GPS(Global Positioning System),即全球定位系统,利用24颗GPS卫星的测距和测时功能进行全球定位,在许多系统中,如机场导航系统,出租车辆管理和调度系统、江河流域的灾害信息管理和预测系统中,GPS得到了广泛的应用。本文利用MSCOMM控件实现了GPS数据的采集,可为信息管理和指挥调度等提供定位数据。
  本文采用GPS的异步串行传送方式,将GARMIN 12C按NMEA-0183协议输出的数据采集到了微机,并将接收到的地理坐标转换成为直角坐标。
  在DELPHI 5.0 IDE中新建一工程,名为GPSReceiver,在主界面上放置四个TEDIT控件,用于显示接收到的地理坐标和转换后的直角坐标,其“name”属性分别为:Editlatitude、Editlongitude、Editxcoord和Editycoord;在四个TEDIT控件下方放置三个按钮,用于数据接收的控制和退出程序,其“Caption”属性分别为“接收”、“断开”和“返回”;在界面上任意位置放置一个Ttimer控件、其属性interval值为“1000”,主要用于每隔一秒接收一次GPS数据;一个TMSCOMM控件。程序运行后的界面如图1(略):
  2、编写代码
  1) 在FORM的implementation部分添加以下声 ......
总记录数:644; 总页数:108; 每页6 条; 首页 上一页 [75] [76] [77] [78] 79 [80] [81] [82] [83] [84]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号