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

📄 u_selectdir.pas

📁 一个简单的学籍管理软件
💻 PAS
字号:
unit U_SelectDir;

interface

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

type
  TFm_SelectDir = class(TForm)
    DriveBox_Scbb: TDriveComboBox;
    DirBox_Scbb: TDirectoryListBox;
    Button_Ok: TButton;
    Button_Cancel: TButton;
    Bevel1: TBevel;
    Edit_Dir: TEdit;
    procedure DirBox_ScbbChange(Sender: TObject);
    procedure Edit_DirKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_DirKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit_DirExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Fm_SelectDir: TFm_SelectDir;

function Show_SelectDir: string;

implementation

uses U_GlobalProc, U_GlobalVar;
{$R *.DFM}

function Show_SelectDir: string;
var
  tmS: string;
begin
  Fm_SelectDir := TFm_SelectDir.Create(Application);
  with Fm_SelectDir do
  begin
    try
      Edit_Dir.Text := DirBox_Scbb.Directory;
      if Showmodal = mrOK then
      begin
        tmS := '';
        tmS := tmS + Edit_Dir.Text;
        Result := tmS;
      end
      else
      begin
        Result := '';
      end;
    finally
      Free;
    end;
  end;
end;

procedure TFm_SelectDir.DirBox_ScbbChange(Sender: TObject);
begin
  Edit_Dir.Text := DirBox_Scbb.Directory;
end;

procedure TFm_SelectDir.Edit_DirKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #32 then
    Key := #0;
end;

procedure TFm_SelectDir.Edit_DirKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_RETURN) and (Shift = []) then
  begin
    try
      DirBox_Scbb.Directory := Edit_Dir.Text;
    except
      U_GlobalProc.Show_ErrorMess('输入目录错误,请重新输入。');
    end;
  end;
end;

procedure TFm_SelectDir.Edit_DirExit(Sender: TObject);
begin
  if not (Button_Cancel.Focused or DirBox_Scbb.Focused) then
  try
    DirBox_Scbb.Directory := Edit_Dir.Text;
  except
    U_GlobalProc.Show_ErrorMess('输入目录错误,请重新输入。');
    Edit_Dir.SetFocus;
    Exit;
  end;
  if DirBox_Scbb.Focused then
  try
    DirBox_Scbb.Directory := Edit_Dir.Text;
  except
    Edit_Dir.Text := DirBox_Scbb.Directory;
  end;
end;

end.

⌨️ 快捷键说明

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