📄 cmosrestorefrm.pas
字号:
unit CMOSRestoreFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TRestoreCMOSForm = class(TForm)
OkButton: TButton;
CanclButton: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
FileNameEdit: TEdit;
BrowseButton: TButton;
OpenDialog: TOpenDialog;
procedure OkButtonClick(Sender: TObject);
procedure CanclButtonClick(Sender: TObject);
procedure BrowseButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
function CheckValid: Boolean;
procedure RestoreCMOS(FileName: string);
public
{ Public declarations }
end;
var
RestoreCMOSForm: TRestoreCMOSForm;
procedure ShowRestoreCMOSForm;
implementation
{$R *.DFM}
uses
Misc, CMOSTool;
procedure ShowRestoreCMOSForm;
var
Frm: TRestoreCMOSForm;
begin
Frm := TRestoreCMOSForm.Create(Application);
Frm.ShowModal;
Frm.Free;
end;
function TRestoreCMOSForm.CheckValid: Boolean;
begin
Result := True;
if FileNameEdit.Text = '' then
begin
Result := False;
FileNameEdit.SetFocus;
Exit;
end;
if not FileExists(FileNameEdit.Text) then
begin
Result := False;
MessageBox(Handle, '文件不存在。', '提示', 48);
FileNameEdit.SetFocus;
Exit;
end;
end;
procedure TRestoreCMOSForm.RestoreCMOS(FileName: string);
var
CMOS: TCMOSTool;
P: TMemoryStream;
DataSize: Integer;
begin
DataSize := GetFileSize(FileName);
CMOS := TCMOSTool.Create(DataSize);
P := TMemoryStream.Create;
try
P.LoadFromFile(FileName);
CMOS.SetCMOSData(P);
finally
CMOS.Free;
P.Free;
end;
end;
procedure TRestoreCMOSForm.OkButtonClick(Sender: TObject);
begin
if CheckValid then
begin
RestoreCMOS(FileNameEdit.Text);
ModalResult := mrOk;
end;
end;
procedure TRestoreCMOSForm.CanclButtonClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TRestoreCMOSForm.BrowseButtonClick(Sender: TObject);
begin
OpenDialog.FileName := FileNameEdit.Text;
if OpenDialog.Execute then
begin
FileNameEdit.Text := OpenDialog.FileName;
end;
end;
procedure TRestoreCMOSForm.FormCreate(Sender: TObject);
begin
FileNameEdit.Text := ExtractFilePath(Application.ExeName) + 'CMOSDATA.cms';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -