登录
首页 » Delphi源码 » Delphi7 向XML中添加RTTI信息

Delphi7 向XML中添加RTTI信息

于 2022-01-26 发布 文件大小:7.60 kB
0 164
下载积分: 2 下载次数: 1

代码说明:

Delphi7.0 向XML中添加RTTI信息,这个例子挺简单,希望大家喜欢,面向Delphi新手的,高手请绕道哦,下面是本例Delphi向XML中添加RTTI信息的关键性代码:   procedure TForm1.ComponentToDOM(iNode: IXmlNode; Comp: TPersistent);   var    nProps, i: Integer;    PropList: PPropList;    Value: Variant;    newNode: IXmlNode;   begin    nProps := GetTypeData (Comp.ClassInfo)^.PropCount;    GetMem (PropList, nProps * SizeOf(Pointer));    try    GetPropInfos (Comp.ClassInfo, PropList);    for i := 0 to nProps - 1 do    begin    Value := GetPropValue (Comp, PropList [i].Name);    NewNode := iNode.AddChild(PropList [i].Name);    NewNode.Text := Value;    if (PropList [i].PropType^.Kind = tkClass) and (Value 0) then    if TObject (Integer(Value)) is TComponent then    NewNode.Text := TComponent (Integer(Value)).Name    else    ComponentToDOM (newNode, TObject (Integer(Value)) as TPersistent);    end;    finally    FreeMem (PropList);    end;   end;

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Delphi 获取两个子字符串之间的字符个数
    Delphi 获取两个子字符串之间的字符个数,也就是这个字符串由A/B/C三个字符组成,本例子是求A/C中间的所有字符串的个数,空格同样也包括在内。定义两个函数即可实现本功能:   Function TForm1.Strcount( s, s1, s2 : string ): integer;   var    i,j,slen : integer;   begin    i := pos( s1, s );    j := pos( s2, s );    slen := Length(s1);    if j >= i then    Result := j - i - slen    else    Result := 0;   end;   procedure TForm1.Button1Click(Sender: TObject);   var    n : integer;   begin    n := Strcount(Edit1.Text,Edit2.Text,Edit3.Text);    showmessage(IntToStr(n));   end;
    2022-01-26 07:45:23下载
    积分:1
  • Delphi 简单获取Windows时间的例子
    简单获取Windows时间-Delphi源代码,改时间的小程序,在Windows自带的时间管理中也可完成系统时间的修改,这个只是一个帮助了解Windows与Delphi编程的例子,如何通过Delphi的程序来修改Windows时间,大致就是这样实现的。可参见以下源码:   procedure TForm1.Button1Click(Sender: TObject);   var    Dtimer : TSystemTime;    hh,Ghh : Integer;   begin    hh := StrToInt(Trim(Edit4.Text));    if hh < 8 then    Ghh := 16 + hh    else    Ghh := hh - 8;    with Dtimer do    begin    wYear:=StrToInt(Edit1.Text);    wMonth:=StrToInt(Edit2.Text);    wDay:=StrToInt(Edit3.Text);    wHour:=Ghh;    wMinute:=StrToInt(Edit5.Text);    wSecond:=StrToInt(Edit6.Text);    end;    SetSystemTime(Dtimer);   end;
    2022-07-09 18:55:23下载
    积分:1
  • Delphi演示UniCode编、简体繁体互转的方法实现
    Delphi演示如何实现UniCode编码、汉字的繁简互转功能,同时将字符转换为unicode码值(十六进制):   常用编码:   codepage=936 简体中文GBK   codepage=950 繁体中文BIG5   codepage=437 美国/加拿大英语   codepage=932 日文   codepage=949 韩文   codepage=866 俄文   codepage=65001 unicode UTF-8   本例子中仅使用了936、950,如果你要进行其他语言的编码转换,仅需相应改变其中的编码值即可。
    2023-06-10 00:30:04下载
    积分:1
  • Delphi 实现图像热点功能
    Delphi 实现图像热点功能,实现一张图片上不同形状区域的热点,定义椭圆形、四边形、三角形的区域变量的热点,相关代码如下:   var    thepoint:array [1..8] of tpoint;//存储多边形顶点坐标    count:integer;    pointnum:array [1..2] of integer;   begin   //四边形顶点坐标,首末点封闭    thepoint[1]:=point(135,99);    thepoint[2]:=point(105,183);    thepoint[3]:=point(129,201);    thepoint[4]:=point(188,92);    thepoint[5]:=point(135,99);    count:=5;//四边形顶点数目,首末点为一点    fourE_rgn:=CreatePolygonRgn(thepoint,count,WINDING);//生成四边形区域    elli_rgn:=CreateEllipticRgn(64,221,231,263);// 生成椭圆形区域    //第一个三角形顶点坐标    thepoint[1]:=point(118,67);    thepoint[2]:=point(32,28);    thepoint[3]:=point(17,90);    thepoint[4]:=point(118,67);    //第二个三角形顶点坐标    thepoint[5]:=point(155,44);    thepoint[6]:=point(202,91);    thepoint[7]:=point(277,44);    thepoint[8]:=point(155,44);    pointnum[1]:=4;//第一个三角形顶点数目    pointnum[2]:=4;//第二个三角形顶点数目    count:=2;//三角形数目   //生成由两个三角形构成的三角形区域   tri_rgn:=CreatePolyPolygonRgn(thepoint,pointnum,count,WINDING);   end;
    2022-01-26 08:02:50下载
    积分:1
  • Delphi 图片颜色逐渐加深功能的实现
    Delphi演示如何将一张图片的颜色加深,类似于调整对比度,不过本效果不加入了渐变加深的动画效果,按住按钮图片一直变暗下去,要知空间,你可看下以下代码:   Bitmap:=image1.Picture.Bitmap;   image1.Height:= Bitmap.Height;   image1.Width:= Bitmap.Width;   for i:=0 to 255 do   begin    sleep(10);    for y:=0 to Bitmap.Height-1 do    begin    pixcolo:=Bitmap.Scanline[y]; //扫描每行像素颜色    for x:=0 to ((Bitmap.Width*3)-1) do    //递减颜色值,不同的递减值可改变不同的速度    if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);    end;    Image1.Canvas.Draw(0,0,Bitmap);    Application.ProcessMessages; //让Application去处理消息队伍中的消息   end;
    2022-03-23 16:34:19下载
    积分:1
  • 轻型网络聊天Delphi程序-
    轻型网络聊天Delphi程序-源码,类似聊天室, 很简单,这是个多年前的网络编程例子,聊天过程中显示对方的IP,和当前好友姓名,还支持删除聊天记录。用户注册时,可对注册信息进行初始验证,比如用户名是否存在、姓名和IP地址不能空等,有一些技巧对Delphi打基础有帮助。
    2023-05-16 10:20:03下载
    积分:1
  • Delphi 用获取路径的方法得到圆形窗体
    Delphi 用获取路径的方法得到圆形窗体,制作实现一个非矩形窗口,可以说是一个不规则窗口了,圆形的窗口,标题栏、状态栏及窗口关闭等操作按钮均不邮了。圆形窗口的基本实现思路是根据路径创建不规则窗体,然后设置窗口为透明模式,部分代码如下:   dc:=self.Canvas.Handle;   BeginPath(dc);   //根据路径创建不规则窗体   SetBkMode(dc,TRANSPARENT);   //设置为透明模式    Ellipse(dc,20,20,220,220);   EndPath(dc);   region:=PathToRegion(dc);   SetWindowRgn(self.Handle,region,TRUE);   end;
    2022-05-16 23:17:16下载
    积分:1
  • Delphi 在图片中写入文字
    在图片中写入文字(写入文字后按回车键),Delphi 图片合成 效果,图片与字符的合并,在图片中写入文字,就像PhotoShop中完成的效果,有兴趣的参考源码吧。
    2023-03-24 10:00:04下载
    积分:1
  • Delphi户籍管理系统,Access数据库版
    Delphi户籍管理系统,Access数据库版,界面方面使用了Xpmenu和SReport控件。测试时的登录初始密码为:222222 。   在数据库编程方面,本系统更注重录入及查询,采用多重SQL语句查询,并结合查询可生成报表。
    2022-04-18 17:44:59下载
    积分:1
  • Delphi在窗口中单击左键弹出菜单
    Delphi在窗口中单击左键弹出菜单,在运行的窗体空白外,单击鼠标左键,弹出主菜单,其实和右键 菜单 是一样的原理,希望通过这个简单的例子,了解自定义窗口菜单的实现方法。
    2023-09-08 18:20:03下载
    积分:1
  • 696516资源总数
  • 106457会员总数
  • 15今日下载