📄 regunit.~pas
字号:
TheNewItem.Caption:='(默认)';
if Reg.GetDataInfo('',TheValueInfo)=true then
begin
if TheValueInfo.RegData<>rdInteger then
begin
if TheValueInfo.RegData=rdBinary then
begin
TheNewItem.StateIndex:=5;
TheNewItem.SubItems.Add('REG_BINARY');
TheNewItem.SubItems.Add('Binary Data..');
end;
if TheValueInfo.RegData=rdString then
begin
TheNewItem.StateIndex:=4;
TheNewItem.SubItems.Add('REG_SZ');
TheNewItem.SubItems.Add(Reg.ReadString(''));
end;
if TheValueInfo.RegData=rdExpandString then
begin
TheNewItem.StateIndex:=4;
TheNewItem.SubItems.Add('REG_SZ_E');
TheNewItem.SubItems.Add(Reg.ReadString(''));
end;
if TheValueInfo.RegData=rdUnknown then
begin
TheNewItem.StateIndex:=4;
TheNewItem.SubItems.Add('UNKNOWN');
TheNewItem.SubItems.Add(Reg.ReadString(''));
end;
end else
begin
TheNewItem.StateIndex:=5;
TheNewItem.SubItems.Add('REG_DWORD');
TheNewItem.SubItems.Add('Unkown Data ..');
end;
end else
begin
TheNewItem.StateIndex:=4;
TheNewItem.SubItems.Add('REG_SZ');
TheNewItem.SubItems.Add('(数值未设置)');
end;
//=================================默认值处理 结束
For i:=0 To TheNameValues.Count-1 do
begin
if TheNameValues[i]<>'' then
begin //===========================================非
TheNewItem:=TheLV.Items.Add;
TheNewItem.Caption:=TheNameValues[i];
Reg.GetDataInfo(TheNameValues[i],TheValueInfo);
if TheValueInfo.RegData<>rdInteger then
begin
if TheValueInfo.RegData=rdBinary then
begin
TheNewItem.StateIndex:=5;
TheNewItem.SubItems.Add('REG_BINARY');
TheNewItem.SubItems.Add('Binary Data..');
end;
if TheValueInfo.RegData=rdString then
begin
TheNewItem.StateIndex:=4;
TheNewItem.SubItems.Add('REG_SZ');
TheNewItem.SubItems.Add(Reg.ReadString(TheNameValues[i]));
end;
if TheValueInfo.RegData=rdExpandString then
begin
TheNewItem.StateIndex:=4;
TheNewItem.SubItems.Add('REG_SZ_E');
TheNewItem.SubItems.Add(Reg.ReadString(TheNameValues[i]));
end;
if TheValueInfo.RegData=rdUnknown then
begin
TheNewItem.StateIndex:=4;
TheNewItem.SubItems.Add('UNKNOWN');
TheNewItem.SubItems.Add(Reg.ReadString(TheNameValues[i]));
end;
end else
begin
TheNewItem.StateIndex:=5;
TheNewItem.SubItems.Add('REG_DWORD');
TheNewItem.SubItems.Add(IntToStr(Reg.ReadInteger(TheNameValues[i])));
end;
end;//==================================非处理
end;
Reg.CloseKey;
end;
finally
Reg.Free;
end;
TheKeyNames.Free;
TheNameValues.Free;
end;
procedure TRegFm.TreeView1DblClick(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
Screen.Cursor:=crAppStart;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
GetSubTreeNode(TreeView1,TheNode,ListView1,TheRootNode.Text,TheKeyOpen);
TreeView1.Selected.Expand(True);
Screen.Cursor:=crDefault;
end;
procedure TRegFm.N11Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheValuesTM : String;
TheTempNode : TTreeNode;
begin
if ListView1.Selected=nil then exit;
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
TheValuesTM:=ListView1.Selected.Caption; //获取需要修改的值
DoValueModify(TheRootNode.Text,TheKeyOpen,TheValuesTM);
end;
procedure TRegFm.N12Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheValuesTM : String;
TheTempNode : TTreeNode;
begin
if ListView1.Selected=nil then exit;
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
if Application.MessageBox(PChar(ListView1.Selected.Caption),
'删除确认', MB_OKCANCEL+MB_ICONWARNING)<>IDOK then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
TheValuesTM:=ListView1.Selected.Caption; //获取需要修改的值
DoValueDelete(TheRootNode.Text,TheKeyOpen,TheValuesTM);
end;
procedure TRegFm.N13Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheValuesTM : String;
TheTempNode : TTreeNode;
begin
if ListView1.Selected=nil then exit;
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
TheValuesTM:=ListView1.Selected.Caption; //获取需要修改的值
DoValueRename(TheRootNode.Text,TheKeyOpen,TheValuesTM);
end;
procedure TRegFm.ListView1DblClick(Sender: TObject);
begin
N11Click(self);
end;
procedure TRegFm.N2Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
if Application.MessageBox(PChar(TreeView1.Selected.Text),
'删除确认', MB_OKCANCEL+MB_ICONWARNING)<>IDOK then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
DoNameDelete(TheRootNode.Text,TheKeyOpen);
end;
procedure TRegFm.N3Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
DoNameRename(TheRootNode.Text,TheKeyOpen,TheNode.Text);
end;
procedure TRegFm.N4Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
DoNameCreate(TheRootNode.Text,TheKeyOpen);
end;
procedure TRegFm.N18Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
DoStringValueCreate(TheRootNode.Text,TheKeyOpen);
end;
procedure TRegFm.N19Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
DoDWordValueCreate(TheRootNode.Text,TheKeyOpen);
end;
procedure TRegFm.N6Click(Sender: TObject);
begin
N18Click(self);
end;
procedure TRegFm.N7Click(Sender: TObject);
begin
N19Click(self);
end;
procedure TRegFm.N20Click(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
if TreeView1.Selected=nil then exit;
if TreeView1.Selected.Parent=nil then exit;
TheNode:=TreeView1.Selected;
TheRootNode:=TheNode;
While TheRootNode.Parent.Parent<>nil do //获取根值
TheRootNode:=TheRootNode.Parent;
TheKeyOpen:='';
TheTempNode:=TheNode;
While TheTempNode.Parent.Parent<>nil do //获取键值
begin
TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
TheTempNode:=TheTempNode.Parent;
end;
if TheRootNode=TheNode then TheKeyOpen:='';
DoBinaryValueCreate(TheRootNode.Text,TheKeyOpen);
end;
procedure TRegFm.N8Click(Sender: TObject);
begin
N20Click(Self);
end;
procedure TRegFm.SpeedButton1Click(Sender: TObject);
var
RetID:integer;
begin
if Form1.IdFTCPClient.Connected then
begin
if Form1.ConnectRemoteHost(RegTCPClient,Form1.TheFileConnectRec) then
begin
try
RetID:=RegTcpClient.ReadInteger;//读取连接后返回标志
except
Beep;
SpeedButton2.Down:=True;
StatusBar1.Panels[0].Text:='数据传输错误!';
exit;
end;
if RetID=1 then
StatusBar1.Panels[0].Text:='连接成功!';
if RetID=0 then
begin
Beep;
SpeedButton2.Down:=True;
StatusBar1.Panels[0].Text:='验证失败!';
end;
end else
begin
Beep;
SpeedButton2.Down:=True;
StatusBar1.Panels[0].Text:='连接失败!';
end;
end else
begin
Beep;
SpeedButton2.Down:=True;
StatusBar1.Panels[0].Text:='参数错误!';
end;
end;
procedure TRegFm.TreeView2DblClick(Sender: TObject);
var
TheNode : TTreeNode;
TheRootNode : TTreeNode;
TheKeyOpen : String;
TheTempNode : TTreeNode;
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -