-
Delphi7 向XML中添加RTTI信息
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;
- 2022-01-26 03:00:57下载
- 积分:1
-
Delphi 键盘钩子 封锁 windows 热键
Delphi 键盘钩子 封锁 windows 热键,封锁范围,可参见以下代码:
keycost := LPKBDLLHOOKSTRUCT(lParam);
if (keycost.vkCode=91) then//封锁win键
exit;
if (keycost.vkCode=VK_ESCAPE) and (GetAsyncKeyState(VK_CONTROL)0) then
exit; //封锁 ALT+TAB
if (keycost.vkCode=115) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+F4
if (keycost.vkCode=VK_ESCAPE) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+ESC
if (keycost.vkCode=VK_SPACE) and (GetAsyncKeyState(VK_CONTROL)
- 2023-03-30 06:05:03下载
- 积分:1
-
Delphi使用AES算法加密源码下载
整合网上下载到的资源(ElAES.pas,AES.pas),在Delphi7下编译后,测试能用
- 2023-07-07 06:10:03下载
- 积分:1
-
Delphi 使用Canvas美化ListBox列表项
Delphi 使用Canvas美化列表项,当用户鼠标单击ListBox列表项时,该列表项高亮显示,改变背景色,文字居中对齐,如图所示。
主要是使用了Delphi中的Canvas.FrameRect对其进行美化,具体代码有兴趣可参考:
Canvas.FrameRect(Clientrect);
if odSelected in State then
begin
Canvas.Brush.Color:=clRed;
Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,8,15);
setBkMode(Canvas.Handle,TRANSPARENT );
Canvas.TextOut((Rect.right-Rect.Left) div 2,Rect.Top,Items.Strings[Index]);
end
else
begin
Canvas.Brush.Color:=clSkyBlue;
Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,15,15);
Canvas.TextRect(Rect,Rect.Left,Rect.Top,Items.Strings[Index]);
end;
- 2022-06-01 23:33:23下载
- 积分:1
-
Delphi 控制键盘指示灯
Delphi 控制键盘指示灯,控制键盘灯打开或关闭。就像大小写切换时候,小键盘上面的灯会亮起、关闭,比较简单的一个小功能,适合入门学者参考学习。
- 2023-04-11 08:00:04下载
- 积分:1
-
Delphi 当鼠标和键盘在一定时间没有动作时关闭程序
Delphi 当鼠标和键盘在一定时间没有动作时关闭程序,这是一个智能化程序,类似于屏保,当一定时间没有操作时,会关闭软件,运行的技术也不很高深,有兴趣的可下载源代码研究学习。
- 2022-10-11 13:05:03下载
- 积分:1
-
Delphi 自定义播放窗口
Delphi 自定义播放窗口,指定视频显示窗口,本源码演示的重点主要是播放器窗口外观的设计,调用了外部的一张jpg图片做为播放器的主窗口,让窗口风格首先看上去具有播放器程序的风格,因此,在美化窗口时如何使用jpg格式的图片,是本例要表现的重点功能,希望对窗体设计感兴趣的Delphi初学者好好学习研究一番哦。
本播放器虽然重在演示窗口功能的实现,不过它真的可以播放视频文件,比如mpg格式的文件。
- 2022-05-25 21:56:20下载
- 积分:1
-
Delphi 枚举线程示例
枚举线程的Delphi实例代码,Delphi 枚举线程的例子应该很多了,这一个比较简单的那种,可以为学习Delphi的新手朋友提供一些参考思路,运行界面效果如下图所示。源代码编译于Delphi7.0环境。
- 2022-08-16 10:03:07下载
- 积分:1
-
Delphi 静音 左右声道音量控制
Delphi控制系统静音,两个声道均不发出声音,同时若在非静态状态下,可控制左、右声道的音量大小,在代码中@表示指向变量v的指针(32位),调用此函数的用意就是得到右声道的值,在调节左声道的时候,不改变右声道}数字前面加$表示是十六进制数字,(t shl 8)表示t左移8位,部分参数设置代码如下:
procedure TForm1.FormCreate(Sender: TObject);
var
v:longint;
begin
waveoutgetvolume(0,@v);//得到现在音量,@v表示指向变量v的指针(32位)
trackbar1.Position:=hi(v);//设置左滑块的正确位置
trackbar2.Position:=hi(v shr 16);//设置右声道滑块的正确位置
end;
- 2022-06-02 00:55:40下载
- 积分:1
-
Delphi 演示使用演示Brush对象的各种风格
Delphi 演示使用演示Brush笔刷对象后生成的各种风格,一种演示了7种笔刷效果,定义了一个存储绘图风格的7维数组,然后使用For循环对绘图风格数组赋值,然后使用Canvas.Brush.Style来预览风格。这些笔刷风格都是浅色彩的风格。
- 2022-07-08 18:13:17下载
- 积分:1