-
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屏幕分辨率的方法和示例代码:
function TForm1.DynamicResolution(X, Y: word): BOOL;
var
lpDevMode: TDeviceMode;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
begin
lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := X;
lpDevMode.dmPelsHeight := Y;
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end
- 2023-04-22 01:05:03下载
- 积分:1
-
Delphi API笔刷制作源码
Delphi API笔刷制作实例的源码,这个笔刷只不过比较简单,点击按钮后自动生成,而且是有规则的网格线,或许通过这个简单的笔刷,你可以学习到用Delphi制作笔刷的入门技巧,相关的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
LogBrush:TLogBrush;
begin
LogBrush.lbStyle:=BS_HATCHED;
LogBrush.lbColor:=clRed;
LogBrush.lbHatch:=HS_DIAGCROSS;
Canvas.Brush.Handle := CreateBrushIndirect(LogBrush);
Canvas.FillRect(ClientRect);
end;
- 2022-03-30 01:57:49下载
- 积分:1
-
Delphi 单击StringGrid列进行排序
Delphi 单击StringGrid列进行排序,StringGrid行的任意列单击,就会重新排序一次,排序规则可以自己定义,这种排序功能可有效提升StringGrid显示数据的易用性,增强其功能,提升用户体验,本例子源代码相当简单,对学习者也有很好的帮助作用。参见以下代码:
begin
if Button = mbRight then Exit;
TStringGrid(Sender).MouseToCell(X, Y, vCol, vRow);
if (vRow < 0) or (vRow >= TStringGrid(Sender).FixedRows) then Exit;
StringGridRowSort(TStringGrid(Sender), vCol, vOldCol = vCol);
if vOldCol = vCol then
vOldCol := - vOldCol
else
vOldCol := vCol;
end;
- 2022-05-29 23:30:47下载
- 积分:1
-
Delphi 创建Excel表格文件
Delphi 读取SQLSERVER数据库内容,并创建Excel表格文件,将内容导出到excel文件中,核心同样是基于createoleobject对象的excel.application方法实现,创建EXECEL对象 ,添加comobj单元,用循环加入记录,将数据表导入到Excel表中,正式开始EXECEL输出。
- 2022-02-15 04:17:26下载
- 积分:1
-
Delphi GetCurrentDirectory得到系统当前目录
得到系统当前目录,Delphi 得到系统当前目录,这里使用了内置的GetCurrentDirectory函数来实现,比较方便,也比较简单。获取到系统目录后,是通过窗口的标题栏显示目录路径信息,在演示截图上请看窗口的标题栏,显示有程序当前所在的路径。关于GetCurrentDirectory用法,请参见以下两行代码:
GetCurrentDirectory(255,dir);//获得当前目录
form1.Caption:=dir;
- 2022-07-07 13:11:54下载
- 积分:1
-
Delphi打开记事本和计算器等外部程序
Delphi打开记事本和计算器等外部程序,应该说是调用外部程序,调用记事本和计处器,单击窗口中的两个按钮,分别会打开Windows自带的记事本和计算器程序。
- 2022-12-21 03:55:04下载
- 积分:1
-
Delphi TreeView来显示数据库信息
Delphi 使用TreeView来显示数据库信息,从数据库中读取数据,然后生成树形交叉节点的菜单,这种菜单通俗的叫做“树形菜单”,也是大家平时比较常见的菜单形式之一。
function TreeAddItem(Sender: TTreeView;ItemList: TStrings;BookMark: TBookMark;Resort: Boolean):TTreeNode;
var
ThisNode,Node: TTreeNode;
i: integer;
begin
Node := Nil;
for i := 0 to ItemList.Count-1 do
begin
ThisNode := TreeFindItem(Sender,Node,ItemList[i]);
if(ThisNodeNil) then Node := ThisNode
else begin
if I then begin
if I=0 then Node := Sender.items.Add(Node, Itemlist[i])
else Node := Sender.items.AddChild(Node, Itemlist[i]);
end
else begin
if I=0 then Node := Sender.items.AddObject(Node, Itemlist[i],Bookmark)
else Node := Sender.items.AddChildObject(Node, Itemlist[i],Bookmark);
end;
Node.stateIndex := Node.level + 1;
if Resort and (Node.parent nil) then Node.parent.alphasort;
end;
end;
Result := Node;
end;
- 2022-02-02 14:05:08下载
- 积分:1
-
Delphi 计算1到10之间的奇数和【源码】
Delphi 推荐到奇数,并计算1到10之间的奇数求和,这是个简单的数学问题,数学水平高,写出这种小程序并不难,趁机把代码帖出来吧:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
j:=0;
For i := 1 to 10 do
begin
if i mod 2 =0 then
Continue;
j := j+i;
Edit1.text := IntToStr(j);
end;
end;
- 2023-02-23 03:45:04下载
- 积分:1
-
Delphi实现动态的窗口标题栏文字
Delphi实现动态的窗口标题栏文字,让标题栏文字滚动,有以下动态变化形式:标题左循环,标题左右移动,停靠右端,设置移动时间间隔,每隔多少毫秒移动一个字等。可以在标题上设置一些醒目的内容,再使用本效果,吸引使用者的注意,是一种很不错的提醒方式。
- 2022-01-27 16:11:55下载
- 积分:1