把一些我现在经常用到而且可能会忘记的delphi函数记录下来,需要的时候来看看找找!
1.根据treeNode的id(data属性里保存的)得到对应的节点?
解决办法:循环整个树的每一个节点,比对每一个节点的data属性内的值是否和传入的id一致。一致则返回当前节点,否则循环完毕就是没找到。
例:
function GetTreeNodeByID(ATree: TTreeView; AID: integer): TTreeNode;
var i: integer;
begin
result :=nil;
for i :=0to ATree.Items.Count-1do
begin
if PInteger(ATree.Items.Item[i].data)^= AIDthen
begin result := ATree.Items.Item[i];
Exit;
end;
end;
end;
2.比对两个字符串是否相等,如果是字母不区分大小写?
sameText(str1,str2);如果相等则返回true,否则返回false
3.如何在子页面关闭的时候取得子页面的一个元素值 ?
例如我在Form1中调用From2,我Form2中有一个按钮和一个Label:
procedure TForm1.test();
var
form2 : TForm2;
begin
form2 := TForm2.Create(self);
if form2.ShowModal = mrOk then
begin
showMessage('Form2已经关闭了,我可以做相应操作了!它的Label的Caption为' + form2.Label.Caption);
end;
end;
注:如果找到ATree中的TreeNode的data属性值有保存AID的则返回对应节点,否则返回nil;
4.在目标原字符串中获取子串的位置
Pos(sourceStr, str);//如果sourceStr中包含str,那么则返回str第一次出现的位置,Pos('12345', '345') = 3;
5.如何在Delphi中同时有多个ActiveX可用?