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

📄 sysoptmgr.pas

📁 === === === MiniHex 1.61 源程序说明 ============================== “$(MiniHex)Source”目录中的所有
💻 PAS
字号:
unit SysOptMgr;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
  Forms, Dialogs, Menus, HexEdit, OptionsMgr, Global;

const
  //--系统设置:
  SOptAutoShowOpen = 'AutoShowOpen';        //是否自动打开
  SOptAddContextMenu = 'AddContextMenu';    //是否加入到资源管理器右键菜单
  SOptAllowMultiInst = 'AllowMultiInst';    //是否允许多个程序实体
  SOptDrawCharStyle = 'DrawCharStyle';      //字符的显示方式(TDrawCharStyle)
  SOptSaveWinSize = 'SaveWinSize';          //是否保存窗体的大小和位置
  SOptAutoShowPageHdr = 'AutoShowPageHdr';  //是否自动显示页面切换栏
  SOptDblClickAct = 'DblClickAct';          //双击时的动作
  SOptMinimizeMode = 'MinimizeMode';        //最小化方式

  SOptEditFontName = 'EditFontName';        //编辑器字体(名称)
  SOptEditFontSize = 'EditFontSize';        //编辑器字体(大小)
  SOptEditFontStyle = 'EditFontStyle';      //编辑器字体(风格)
  SOptEditFontColor = 'EditFontColor';      //编辑器字体(颜色)
  SOptEditFontCharset = 'EditFontCharset';  //编辑器字体(字符集)

  SOptAddrFColor = 'AddrFColor';            //地址区字符颜色
  SOptAddrBColor = 'AddrBColor';            //地址区背景颜色
  SOptHexFColor = 'HexFColor';              //十六进制区字符颜色
  SOptHexBColor = 'HexBColor';              //十六进制区背景颜色
  SOptChrFColor = 'ChrFColor';              //字符区字符颜色
  SOptChrBColor = 'ChrBColor';              //字符区背景颜色
  SOptBlockFColor = 'BlockFColor';          //块字符颜色
  SOptBlockBColor = 'BlockBColor';          //块背景颜色
  SOptCurItemFColor = 'CurItemFColor';      //光标字符颜色
  SOptCurItemBColor = 'CurItemBColor';      //光标背景颜色

  SOptPromptSave = 'PromptSave';            //是否在保存前提示
  SOptCreateBak = 'CreateBak';              //是否创建备份文件
  SOptMaxUndo = 'MaxUndo';                  //UNDO的最大次数

  SOptShowDataInsp = 'ShowDataInsp';        //是否自动显示数据浏览器
  SOptShowU8Data = 'ShowU8Data';            //是否显示 无符号8位  数据
  SOptShowS8Data = 'ShowS8Data';            //是否显示 有符号8位  数据
  SOptShowU16Data = 'ShowU16Data';          //是否显示 无符号16位 数据
  SOptShowS16Data = 'ShowS16Data';          //是否显示 有符号16位 数据
  SOptShowU32Data = 'ShowU32Data';          //是否显示 无符号32位 数据
  SOptShowS32Data = 'ShowS32Data';          //是否显示 有符号32位 数据
  SOptShowS64Data = 'ShowS64Data';          //是否显示 有符号64位 数据
  SOptShowSingleData = 'ShowSingleData';    //是否显示 单精度浮点 数据
  SOptShowDoubleData = 'ShowDoubleData';    //是否显示 双精度浮点 数据
  SOptShowReal48Data = 'ShowReal48Data';    //是否显示 Real48浮点 数据
  SOptShowBinaryData = 'ShowBinaryData';    //是否显示 二进制     数据
  SOptDefDataInspPos = 'DefDataInspPos';    //数据浏览器的缺省位置
  SOptTempPath = 'TempPath';                //临时文件路径
  SOptDefEditor = 'DefEditor';              //缺省文本编辑器

  SOptShowToolbar = 'ShowToolbar';          //是否显示工具条
  SOptShowStatusBar = 'ShowStatusBar';      //是否显示状态栏
  SOptStayOnTop = 'StayOnTop';              //是否总时保持在最前面

  SOptStatusLengthNumBase = 'StatusLengthNumBase';         //状态栏中Length的进制
  SOptStatusOffsetNumBase = 'StatusOffsetNumBase';         //状态栏中Offset的进制
  SOptStatusBlockInfoNumBase = 'StatusBlockInfoNumBase';   //状态栏中BlockInfo的进制
  SOptStatusCurValueType = 'StatusCurValueType';           //状态栏中当前值的类型

  SOptWinLeft = 'WinLeft';                  //主窗体Left
  SOptWinTop = 'WinTop';                    //主窗体Top
  SOptWinRight = 'WinRight';                //主窗体Right
  SOptWinBottom = 'WinBottom';              //主窗体Bottom
  
type

{ TSysOptionsMgr }

  TSysOptionsMgr = class(TOptionsManager)
  protected
    procedure InitDefault; override;
  public
    constructor Create;
    destructor Destroy; override;
  end;

var
  OptMgr: TSysOptionsMgr;

implementation

uses Misc, DataInspFrm;

{ TSysOptionsMgr }

constructor TSysOptionsMgr.Create;
begin
  inherited;
  AccessorClass := TIniOptAccessor;
  FileName := ExtractFilePath(Application.ExeName) + OptionsFileName;
end;

destructor TSysOptionsMgr.Destroy;
begin
  inherited;
end;

procedure TSysOptionsMgr.InitDefault;
begin
  inherited;
  Clear;
  Add(SOptAutoShowOpen, False);
  Add(SOptAddContextMenu, True);
  Add(SOptAllowMultiInst, False);
  Add(SOptDrawCharStyle, dcDblByteChar);
  Add(SOptSaveWinSize, False);
  Add(SOptAutoShowPageHdr, True);
  Add(SOptDblClickAct, 0);
  Add(SOptMinimizeMode, 0);

  Add(SOptEditFontName, 'Fixedsys');
  Add(SOptEditFontSize, 12);
  Add(SOptEditFontStyle, 0);
  Add(SOptEditFontColor, clWindowText);
  Add(SOptEditFontCharset, GB2312_CHARSET);

  Add(SOptAddrFColor, clBlue);
  Add(SOptAddrBColor, clWhite);
  Add(SOptHexFColor, clBlack);
  Add(SOptHexBColor, clWhite);
  Add(SOptChrFColor, clBlack);
  Add(SOptChrBColor, clWhite);
  Add(SOptBlockFColor, clWhite);
  Add(SOptBlockBColor, clNavy);
  Add(SOptCurItemFColor, clWhite);
  Add(SOptCurItemBColor, clBlue);

  Add(SOptPromptSave, False);
  Add(SOptCreateBak, True);
  Add(SOptMaxUndo, 20);

  Add(SOptShowDataInsp, False);
  Add(SOptShowU8Data, True);
  Add(SOptShowS8Data, True);
  Add(SOptShowU16Data, True);
  Add(SOptShowS16Data, True);
  Add(SOptShowU32Data, True);
  Add(SOptShowS32Data, True);
  Add(SOptShowS64Data, True);
  Add(SOptShowSingleData, True);
  Add(SOptShowDoubleData, True);
  Add(SOptShowReal48Data, True);
  Add(SOptShowBinaryData, True);
  Add(SOptDefDataInspPos, dpRightBottom);
  Add(SOptTempPath, GetWinTempDir);
  Add(SOptDefEditor, DefaultTextEditor);

  Add(SOptShowToolbar, True);
  Add(SOptShowStatusBar, True);
  Add(SOptStayOnTop, False);

  Add(SOptStatusLengthNumBase, raDec);
  Add(SOptStatusOffsetNumBase, raDec);
  Add(SOptStatusBlockInfoNumBase, raDec);
  Add(SOptStatusCurValueType, vt32s);

  Add(SOptWinLeft, 0);             //全为0表示未初始化
  Add(SOptWinTop, 0);
  Add(SOptWinRight, 0);
  Add(SOptWinBottom, 0);
end;

initialization
  OptMgr := TSysOptionsMgr.Create;

finalization
  OptMgr.Free;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -