📄 mainunit.pas
字号:
var
i: Cardinal;
begin
i := First;
repeat
Result := BasicStr + IntToStr(i);
i := i + 1;
until not FIniFile.SectionExists(Result);
end;
procedure TTheMainForm.DeleteName(const Name: string);
var
ParentGroup: string;
i: Integer;
DeleteStrings: TStringList;
begin
if FIniFile.SectionExists(Name) then
begin
FIniMustSave := True;
if FIniFile.ReadString(Name, 'Type', '') = '功能组' then
begin
DeleteStrings := TStringList.Create;
for i := 0 to FAllList.Count - 1 do
begin
ParentGroup := FAllList[i];
repeat
ParentGroup := FIniFile.ReadString(ParentGroup, 'Parent', '');
until (ParentGroup = Name) or (ParentGroup = '') or (ParentGroup = '回收站');
if ParentGroup = Name then
DeleteStrings.Add(FAllList[i]);
end;
for i := 0 to DeleteStrings.Count - 1 do
FIniFile.EraseSection(DeleteStrings[i]);
DeleteStrings.Free;
end;
FIniFile.EraseSection(Name);
end;
if (Name <> '') and (Name <> '回收站') then
begin
i := SelectGroup(Name, False);
if i > 0 then
if FTreeViewNode = TreeView1.Items[i] then
begin
TreeView1.Items[i].Delete;
FTreeViewNode := TreeView1.Selected;
end
else
TreeView1.Items[i].Delete;
i := SelectName(Name);
if i > -1 then
begin
ListView1.Items[i].Delete;
if ListView1.Items.Count = 0 then
ListView1.TabStop := False;
end;
SetDeleteIcon;
if FSortNameFlag then
SortName.Execute
else
SortIndex.Execute;
end;
end;
function TTheMainForm.ProcessIniFile(ResumeFlag: Boolean = True; SaveFlag: Boolean = True; Source: string = ''; Target: string = ''): Boolean;
var
FSource, FTarget: File;
Flag: Boolean;
Count, Size, i: Integer;
Buf: array [0..96] of Char;
Str: string;
begin
Result := False;
Flag := False;
if (Target = '') or (Target = ' ') then
begin
if Target = '' then
Flag := True;
if ResumeFlag then
begin
SetLength(Target, MAX_PATH + 1);
GetSystemDirectory(@Target[1], MAX_PATH);
SetLength(Target, Length(PChar(Target)));
if Copy(Target, length(Target), 1) <> '\' then
Target := Target + '\';
if Flag then
Target := Target + Copy(Application.ExeName, Length(ExtractFilePath(Application.ExeName)) + 1, Length(Application.ExeName) - Length(ExtractFilePath(Application.ExeName)) - Length(ExtractFileExt(Application.ExeName))) + '.TMP'
else
Target := Target + Copy(Application.ExeName, Length(ExtractFilePath(Application.ExeName)) + 1, Length(Application.ExeName) - Length(ExtractFilePath(Application.ExeName)) - Length(ExtractFileExt(Application.ExeName))) + 'U.TMP';
end
else
if Flag then
Target := FIniFileName
else
Target := FUserFileName;
end;
if ResumeFlag then
begin
Str := Copy(Target, 1, Length(Target) - Length(ExtractFileExt(Target)));
i := 0;
while FileExists(Target) and not DeleteFile(Target) do
begin
i := i + 1;
Target := Str + IntToStr(i) + '.TMP';
end;
if Flag then
FIniFileName := Target
else
FUserFileName := Target;
end;
if Source = '' then
if Flag then
Source := Copy(Application.ExeName, 1, Length(Application.ExeName) - Length(ExtractFileExt(Application.ExeName))) + '.ini'
else
Source := Copy(Application.ExeName, 1, Length(Application.ExeName) - Length(ExtractFileExt(Application.ExeName))) + '.usr';
if Source = Target then
Exit;
FileMode := 0;
AssignFile(FSource, Source);
AssignFile(FTarget, Target);
if ResumeFlag then
begin
if FileExists(Source) then
begin
try
Reset(FSource, 1);
ReWrite(FTarget, 1);
try
Count := 0;
repeat
Count := Count + 1;
BlockRead(FSource, Buf, 96, Size);
if Size > 0 then
begin
SetLength(Str, Size);
for i := 1 to Size do
Str[i] := Buf[i - 1];
Str := ProcessPassword(IntToStr(Count), Str, True);
Size := Length(Str);
for i := 1 to Size do
Buf[i - 1] := Str[i];
if Size > 0 then
BlockWrite(FTarget, Buf, Size);
end;
until Size = 0;
Result := True;
except
end;
except
end;
CloseFile(FSource);
CloseFile(FTarget);
end;
end
else
if FileExists(Target) then
begin
if SaveFlag then
begin
try
Reset(FTarget, 1);
ReWrite(FSource, 1);
try
Count := 0;
repeat
Count := Count + 1;
BlockRead(FTarget, Buf, 16, Size);
if Size > 0 then
begin
SetLength(Str, Size);
for i := 1 to Size do
Str[i] := Buf[i - 1];
Str := ProcessPassword(IntToStr(Count), Str);
Size := Length(Str);
for i := 1 to Size do
Buf[i - 1] := Str[i];
if Size > 0 then
BlockWrite(FSource, Buf, Size);
end;
until Size = 0;
Result := True;
except
end;
except
end;
CloseFile(FSource);
CloseFile(FTarget);
end
else
Result := True;
DeleteFile(Target);
end;
FileMode := 2;
end;
procedure TTheMainForm.CshUserFile;
begin
if (FAllList.Count = 0) and ((UpperCase(FUserFile.ReadString('ADMINISTRATORS', 'Type', '')) <> 'USERGROUP') or (UpperCase(FUserFile.ReadString('ADMINISTRATOR', 'Type', '')) <> 'USER') or (UpperCase(FUserFile.ReadString('GUESTS', 'Type', '')) <> 'USERGROUP') or (UpperCase(FUserFile.ReadString('GUEST', 'Type', '')) <> 'USER')) then
begin
FIniMustSave := True;
FUserFile.WriteString('Default', 'AutoShowUser', '1');
FUserFile.WriteString('Default', 'UserName', 'Admin');
FUserFile.WriteString('AliasName', 'ADMIN', 'ADMINISTRATOR');
FUserFile.WriteString('AliasName', 'EVERYONE', 'GUEST');
FUserFile.WriteString('ADMINISTRATORS', 'Type', 'UserGroup');
FUserFile.WriteString('ADMINISTRATORS', 'UserGroup', 'ADMINISTRATORS');
FUserFile.WriteString('ADMINISTRATORS', 'NotUse', '');
FUserFile.WriteString('ADMINISTRATORS', 'AliasName', '');
FUserFile.WriteString('ADMINISTRATORS', 'Password', ProcessPassword('ADMINISTRATORS', ''));
FUserFile.WriteString('ADMINISTRATORS', 'Hint', '超级用户组');
FUserFile.WriteString('ADMINISTRATORS', 'LoginTimes', '0');
FUserFile.WriteString('ADMINISTRATORS', 'AllowLoginTimes', '0');
FUserFile.WriteString('ADMINISTRATORS', 'AviShow', '1');
FUserFile.WriteString('ADMINISTRATORS', 'AviFile', '');
FUserFile.WriteString('ADMINISTRATORS', 'Idle', '0');
FUserFile.WriteString('ADMINISTRATORS', 'LoginFailExit', '1');
FUserFile.WriteString('ADMINISTRATORS', 'HintOnClose', '1');
FUserFile.WriteString('ADMINISTRATORS', 'NotNew', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotMove', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotModify', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotDelete', '');
FUserFile.WriteString('ADMINISTRATORS', 'AllNotOpen', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotOpen', '');
FUserFile.WriteString('ADMINISTRATORS', 'Expand', '1');
FUserFile.WriteString('ADMINISTRATORS', 'DefaultItem', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotDBPara', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotConnect', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotSysPara', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotUser', '');
FUserFile.WriteString('ADMINISTRATORS', 'NotChangePassword', '');
FUserFile.WriteString('ADMINISTRATORS', 'DBConnectTypeView', '');
FUserFile.WriteString('ADMINISTRATORS', 'DBAutoConnect', '');
FUserFile.WriteString('ADMINISTRATORS', 'DBConnectHint', '%登录用户名%');
FUserFile.WriteString('ADMINISTRATORS', 'DBConnectType', 'ADO');
FUserFile.WriteString('ADMINISTRATORS', 'BDEAliasName', '');
FUserFile.WriteString('ADMINISTRATORS', 'BDEDatabaseName', '');
FUserFile.WriteString('ADMINISTRATORS', 'BDEUserName', '');
FUserFile.WriteString('ADMINISTRATORS', 'BDEPassword', ProcessPassword('',''));
FUserFile.WriteString('ADMINISTRATORS', 'ADOConnectionString', '');
FUserFile.WriteString('ADMINISTRATORS', 'ADOUserName', '');
FUserFile.WriteString('ADMINISTRATORS', 'ADOPassword', ProcessPassword('', ''));
FUserFile.WriteString('ADMINISTRATORS', 'MIDASType', 'DCOM');
FUserFile.WriteString('ADMINISTRATORS', 'DCOMComputerName', '');
FUserFile.WriteString('ADMINISTRATORS', 'DCOMServerGUID', '');
FUserFile.WriteString('ADMINISTRATORS', 'DCOMServerName', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOCKETAddress', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOCKETHost', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOCKETPort', '211');
FUserFile.WriteString('ADMINISTRATORS', 'SOCKETInterceptGUID', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOCKETInterceptName', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOCKETServerGUID', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOCKETServerName', '');
FUserFile.WriteString('ADMINISTRATORS', 'WEBURL', 'http://server/Scripts/httpsrvr.dll');
FUserFile.WriteString('ADMINISTRATORS', 'WEBServerGUID', '');
FUserFile.WriteString('ADMINISTRATORS', 'WEBServerName', '');
FUserFile.WriteString('ADMINISTRATORS', 'WEBProxy', '');
FUserFile.WriteString('ADMINISTRATORS', 'WEBUserName', '');
FUserFile.WriteString('ADMINISTRATORS', 'WEBPassword', ProcessPassword('', ''));
FUserFile.WriteString('ADMINISTRATORS', 'WEBProxyByPass', '');
FUserFile.WriteString('ADMINISTRATORS', 'WEBAgent', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOAPURL', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOAPAgent', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOAPProxy', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOAPUserName', '');
FUserFile.WriteString('ADMINISTRATORS', 'SOAPPassword', ProcessPassword('', ''));
FUserFile.WriteString('ADMINISTRATORS', 'SOAPProxyByPass', '');
FUserFile.WriteString('ADMINISTRATORS', 'CORBAHostName', '');
FUserFile.WriteString('ADMINISTRATORS', 'CORBAObjectName', '');
FUserFile.WriteString('ADMINISTRATORS', 'CORBARepositoryId', '');
FUserFile.WriteString('ADMINISTRATORS', 'CORBACancelable', '');
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCADBMS', '');
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCADatabase', '');
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCAUserID', '');
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCADBPass', ProcessPassword('', ''));
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCALock', '');
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCALogID', '');
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCALogPass', ProcessPassword('', ''));
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCAServerName', '');
FUserFile.WriteString('ADMINISTRATORS', 'PBSQLCADBParm', '');
FUserFile.WriteString('ADMINISTRATORS', 'WindowState', '');
FUserFile.WriteString('ADMINISTRATORS', 'FormLeft', '54');
FUserFile.WriteString('ADMINISTRATORS', 'FormTop', '49');
FUserFile.WriteString('ADMINISTRATORS', 'FormWidth', '692');
FUserFile.WriteString('ADMINISTRATORS', 'FormHeight', '480');
FUserFile.WriteString('ADMINISTRATORS', 'Panel1Width', '201');
FUserFile.WriteString('ADMINISTRATORS', 'Panel8Height', '31');
FUserFile.WriteString('ADMINISTRATORS', 'Panel9Width', '194');
FUserFile.WriteString('ADMINISTRATORS', 'Animate1Width', '60');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller2Index', '0');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller2Left', '9');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller2Width', '667');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller2Break', '1');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller1Index', '1');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller1Left', '9');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller1Width', '667');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller1Break', '1');
FUserFile.WriteString('ADMINISTRATORS', 'Panel4Index', '2');
FUserFile.WriteString('ADMINISTRATORS', 'Panel4Left', '9');
FUserFile.WriteString('ADMINISTRATORS', 'Panel4Width', '667');
FUserFile.WriteString('ADMINISTRATORS', 'Panel4Break', '1');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller2Position', '0');
FUserFile.WriteString('ADMINISTRATORS', 'PageScroller1Position', '0');
FUserFile.WriteString('ADMINISTRATORS', 'ViewSort', '');
FUserFile.WriteString('ADMINISTRATORS', 'ViewCustomize', '1');
FUserFile.WriteString('ADMINISTRATORS', 'ViewToolBar', '1');
FUserFile.WriteString('ADMINISTRATORS', 'ViewGoto', '1');
FUserFile.WriteString('ADMINISTRATORS', 'ViewStatusBar', '1');
FUserFile.WriteString('ADMINISTRATORS', 'ViewSupports', '1');
FUserFile.WriteString('ADMINISTRATORS', 'ViewGroup', '1');
FUserFile.WriteString('ADMINISTRATORS', 'ViewIcon', '1');
FUserFile.WriteString('ADMINISTRATORS', 'ColumnWidths', '236,40,50,150,60,150,60,100,150,150,150');
FUserFile.WriteString('ADMINISTRATOR', 'Type', 'User');
FUserFile.WriteString('ADMINISTRATOR', 'UserGroup', 'ADMINISTRATORS');
FUserFile.WriteString('ADMINISTRATOR', 'NotUse', '');
FUserFile.WriteString('ADMINISTRATOR', 'AliasName', 'Admin');
FUserFile.WriteString('ADMINISTRATOR', 'Password', ProcessPassword('ADMINISTRATOR', ''));
FUserFile.WriteString('ADMINISTRATOR', 'Hint', '超级用户');
FUserFile.WriteString('ADMINISTRATOR', 'LoginTimes', '0');
FUserFile.WriteString('ADMINISTRATOR', 'AllowLoginTimes', '0');
FUserFile.WriteString('ADMINISTRATOR', 'AviShow', '1');
FUserFile.WriteString('ADMINISTRATOR', 'AviFile', '');
FUserFile.WriteString('ADMINISTRATOR', 'Idle', '0');
FUserFile.WriteString('ADMINISTRATOR', 'LoginFailExit', '1');
FUserFile.WriteString('ADMINISTRATOR', 'HintOnClose', '1');
FUserFile.WriteString('ADMINISTRATOR', 'NotNew', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotMove', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotModify', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotDelete', '');
FUserFile.WriteString('ADMINISTRATOR', 'AllNotOpen', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotOpen', '');
FUserFile.WriteString('ADMINISTRATOR', 'Expand', '1');
FUserFile.WriteString('ADMINISTRATOR', 'DefaultItem', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotDBPara', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotConnect', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotSysPara', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotUser', '');
FUserFile.WriteString('ADMINISTRATOR', 'NotChangePassword', '');
FUserFile.WriteString('ADMINISTRATOR', 'DBConnectTypeView', '');
FUserFile.WriteString('ADMINISTRATOR', 'DBAutoConnect', '');
FUserFile.WriteString('ADMINISTRATOR', 'DBConnectHint', '%登录用户名%');
FUserFile.WriteString('ADMINISTRATOR', 'DBConnectType', 'ADO');
FUserFile.WriteString('ADMINISTRATOR', 'BDEAliasName', '');
FUserFile.WriteString('ADMINISTRATOR', 'BDEDatabaseName', '');
FUserFile.WriteString('ADMINISTRATOR', 'BDEUserName', '');
FUserFile.WriteString('ADMINISTRATOR', 'BDEPassword', ProcessPassword('',''));
FUserFile.WriteString('ADMINISTRATOR', 'ADOConnectionString', '');
FUserFile.WriteString('ADMINISTRATOR', 'ADOUserName', '');
FUserFile.WriteString('ADMINISTRATOR', 'ADOPassword', ProcessPassword('', ''));
FUserFile.WriteString('ADMINISTRATOR', 'MIDASType', 'DCOM');
FUserFile.WriteString('ADMINISTRATOR', 'DCOMComputerName', '');
FUse
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -