⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.pas

📁 一个SNOOP控件,各位看看可以对网络包进行分析.
💻 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 + -