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

📄 unit1.pas

📁 Delphi实效编程百例的随书源代码 这是其中的操作系统部分
💻 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 + -