📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, StdCtrls, Registry;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
OpenDialog1: TOpenDialog;
MainMenu1: TMainMenu;
Button1: TButton;
Button2: TButton;
N1: TMenuItem;
FileList1: TMenuItem;
FileList2: TMenuItem;
FileList3: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Edit1.Text := OpenDialog1.FileName;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey:= HKEY_CURRENT_USER;
if(Reg.OpenKey('\Software\Delphi实例\文件列表',False))=False then
BEGIN
// 如果注册表中没有信息则创建初始化信息
Reg.CreateKey('\Software\Delphi实例\文件列表');
Reg.OpenKey('\Software\Delphi实例' , True) ;
Reg.WriteString('ver', '1.0');
Reg.CloseKey;
Reg.OpenKey('\Software\Delphi实例\文件列表' , True ) ;
Reg.WriteString( ' 1 ' , ' ' ) ;
Reg.WriteString( ' 2 ' , ' ' ) ;
Reg.WriteString( ' 3 ' , ' ' ) ;
end;
finally
Reg.CloseKey;
Reg.Free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Delphi实例\文件列表',False) then
begin
// 按文件打开的先后顺序排列文件列表,将最新打开的文件放在最前面
Reg.WriteString( '3', Reg.ReadString('2') );
Reg.WriteString( '2', Reg.ReadString('1') );
Reg.WriteString( '1', Edit1.Text );
end
else
MessageBox(Handle, '保存文件列表失败。' , '错误' , MB_OK+MB_ICONERROR);
finally
Reg.CloseKey;
Reg.Free;
end;
end;
procedure TForm1.N1Click(Sender: TObject);
var
TempStr: string;
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Delphi实例\文件列表',False) then
BEGIN
// 第一个菜单命令
TempStr := Reg.ReadString( '1' );
// 如果字符串不为空则设置菜单命令的C a p t i o n属性
if TempStr <> '' then
begin
FileList1.Caption:='&1 '+TempStr ;
FileList1.Visible := True;
end
else // 如果字符串为空则隐藏该菜单命令
FileList1.Visible := False;
// 第二个菜单命令
TempStr := Reg.ReadString( '2' );
if TempStr <> '' then
begin
FileList2.Caption:='&2 '+TempStr;
FileList2.Visible := True;
end
else // 如果字符串为空则隐藏该菜单命令
FileList2.Visible := False;
// 第三个菜单命令
TempStr := Reg.ReadString( '3' );
if TempStr <> '' then
begin
FileList3.Caption:='&3 '+TempStr ;
FileList3.Visible := True;
end
else // 如果字符串为空则隐藏该菜单命令
FileList3.Visible := False;
end;
finally
Reg.CloseKey;
Reg.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -