📄 global.pas
字号:
unit Global;
interface
uses
SysUtils, Forms, Classes, IniFiles, Snoop;
type
TGlobal = class
IniFileName: String;
// Coordination
WindowState: Integer;
Left: Integer;
Top: Integer;
Width: Integer;
Height: Integer;
ListViewHeight: Integer;
ActiveListViewIndex: Integer;
// OpenType
OpenType: Integer;
// Adapter Capture
AdapterIndex: Integer;
// Remote Capture
Host: String;
UserName: String;
Password: String;
DontShowJustOne: Boolean;
// File Capture
FileName: String;
// Snoop Property
Filter: String;
ReadTimeOut: Integer;
SnapLen: Integer;
ThreadSafe: Boolean;
// ViewHexa;
ViewHexa: Boolean;
// FilterList
FilterList: TStringList;
constructor Create;
destructor Destroy; override;
procedure Load;
procedure Save;
end;
var
_Global: TGlobal;
implementation
constructor TGlobal.Create;
begin
FilterList := TStringList.Create;
IniFileName := ExtractFilePath(Application.ExeName) + 'Expert.ini';
Load;
end;
destructor TGlobal.Destroy;
begin
Save;
if FilterList <> nil then
begin
FilterList.Free;
FilterList := nil;
end;
end;
procedure TGlobal.Load;
var
IniFile: TIniFile;
begin
IniFile := TIniFile.Create(IniFileName);
// Coordination
WindowState := IniFile.ReadInteger('Coordination', 'WindowState', Integer(wsNormal));
if WindowState = Integer(wsMaximized) then
begin
Left := 50;
Top := 50;
Width := Screen.Width - 100;
Height := Screen.Height - 100;
end else
begin
Left := IniFile.ReadInteger('Coordination', 'Left', 50);
Top := IniFile.ReadInteger('Coordination', 'Top', 50);
Width := IniFile.ReadInteger('Coordination', 'Width', Screen.Width - 100);
Height := IniFile.ReadInteger('Coordination', 'Height', Screen.Height - 100);
end;
ListViewHeight := IniFile.ReadInteger('Coordination', 'ListViewHeight', 300);
ActiveListViewIndex := IniFile.ReadInteger('Coordination', 'ActiveListViewIndex', 0);
// Open Type
OpenType := IniFile.ReadInteger('Option', 'OpenType', 0);
// Adapter Capture
AdapterIndex := IniFile.ReadInteger('AdapterCapture', 'AdapterIndex', -1);
// Remote Capture
Host := IniFile.ReadString('RemoteCapture', 'Host', '');
UserName := IniFile.ReadString('RemoteCapture', 'UserName', '');
Password := IniFile.ReadString('RemoteCapture', 'Password', '');
DontShowJustOne := IniFile.ReadBool('RemoteCapture', 'DontShowJustOne', false);
// File Capture
FileName := IniFile.ReadString('FileCapture', 'FileName', '');
// Snoop Property
Filter := IniFile.ReadString('Option', 'Filter', '');
ReadTimeOut := IniFile.ReadInteger('Option', 'ReadTimeOut', 100);
SnapLen := IniFile.ReadInteger('Option', 'SnapLen', SNOOP_DEFAULT_SNAPLEN);
ThreadSafe := IniFile.ReadBool('Option', 'ThreadSafe', true);
// ViewHexa;
ViewHexa := IniFile.ReadBool('Option', 'ViewHexa', false);
// FilterList
FilterList.CommaText := IniFile.ReadString('Option', 'FilterList', '');
IniFile.Free;
end;
procedure TGlobal.Save;
var
IniFile: TIniFile;
begin
IniFile := TIniFile.Create(IniFileName);
try
// Coordination
IniFile.WriteInteger('Coordination', 'WindowState', WindowState);
IniFile.WriteInteger('Coordination', 'Left', Left);
IniFile.WriteInteger('Coordination', 'Top', Top);
IniFile.WriteInteger('Coordination', 'Width', Width);
IniFile.WriteInteger('Coordination', 'Height', Height);
IniFile.WriteInteger('Coordination', 'ListViewHeight', ListViewHeight);
IniFile.WriteInteger('Coordination', 'ActiveListViewIndex', ActiveListViewIndex);
// Open Type
IniFile.WriteInteger('Option', 'OpenType', OpenType);
// Adapter Capture
IniFile.WriteInteger('AdapterCapture', 'AdapterIndex', AdapterIndex);
// Remote Capture
IniFile.WriteString('RemoteCapture', 'Host', Host);
IniFile.WriteString('RemoteCapture', 'UserName', UserName);
IniFile.WriteString('RemoteCapture', 'Password', Password);
IniFile.WriteBool('RemoteCapture', 'DontShowJustOne', DontShowJustOne);
// File Capture
IniFile.WriteString('FileCapture', 'FileName', FileName);
// Snoop Property
IniFile.WriteString('Option', 'Filter', Filter);
IniFile.WriteInteger('Option', 'ReadTimeOut', ReadTimeOut);
IniFile.WriteInteger('Option', 'SnapLen', SnapLen);
IniFile.WriteBool('Option', 'ThreadSafe', ThreadSafe);
// ViewHexa
IniFile.WriteBool('Option', 'ViewHexa', ViewHexa);
// FilterList
IniFile.WriteString('Option', 'FilterList', FilterList.CommaText);
finally
IniFile.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -