unit1.pas

来自「Delphi编程技巧3」· PAS 代码 · 共 87 行

PAS
87
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  MMSystem, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    ComboBox1: TComboBox;
    Label1: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { D閏larations priv閑s }
  public
    { D閏larations publiques }
  end;

var
  Form1: TForm1;

procedure OpenDoor(DriveLetter: string);
procedure CloseDoor(DriveLetter: string);

implementation

{$R *.DFM}

procedure OpenDoor(DriveLetter: string) ;
var
  AliasName: string;
  st: string;
begin
  AliasName := 'Laufwerk' + DriveLetter ;
  st :=  'Open ' + DriveLetter + ': Alias ' + AliasName + ' Type CDAudio';
  mciSendString(@st[1], nil, 0, 0);
  st := 'Set ' + AliasName + ' Door Open';
  mciSendString(@st[1], nil, 0, 0);
end;

procedure CloseDoor(DriveLetter: string);
var
  AliasName: string;
  st: string;
begin
  AliasName := 'Laufwerk' + DriveLetter;
  st :=  'Open ' + DriveLetter + ': Alias ' + AliasName + ' Type CDAudio';
  mciSendString(@st[1], nil, 0, 0 ) ;
  st := 'Set ' + AliasName +' Door Closed';
  mciSendString(@st[1], nil, 0, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenDoor(ComboBox1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  CloseDoor(ComboBox1.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Drive: char;
begin
  for Drive := 'A' to 'Z' do
    begin
      if (GetDriveType(PChar(Drive + ':\')) = DRIVE_CDROM) then ComboBox1.Items.Add(Drive + ':');
    end;
  ComboBox1.ItemIndex := 0;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 Close;
end;

end.
 

⌨️ 快捷键说明

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