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

📄 setting.~pas

📁 利用网络高效维护机房
💻 ~PAS
字号:
unit setting;

interface

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

type
  TSetForm = class(TForm)
    Panel1: TPanel;
    ComboBox1: TComboBox;
    Button1: TButton;
    Button2: TButton;
    Panel2: TPanel;
    PopupMenu1: TPopupMenu;
    Edit1: TEdit;
    ListBox1: TListBox;
    N1: TMenuItem;
    N2: TMenuItem;
    PopupMenu2: TPopupMenu;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    PopupMenu3: TPopupMenu;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    Edit2: TEdit;
    ListBox2: TListBox;
    Edit3: TEdit;
    ListBox3: TListBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    CheckBox1: TCheckBox;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Button3: TButton;
    procedure pm11(Sender: TObject);
    procedure pm12(Sender: TObject);
    procedure EditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure pm31(Sender: TObject);
    procedure pm21(Sender: TObject);
    procedure pm22(Sender: TObject);
    procedure pm32(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SetForm: TSetForm;

implementation

uses weihu, hlp;

{$R *.dfm}

procedure TSetForm.pm11(Sender: TObject);
begin
  ListBox1.SelectAll;
end;

procedure TSetForm.pm12(Sender: TObject);
begin
  ListBox1.DeleteSelected;
end;
procedure TSetForm.pm31(Sender: TObject);
begin
  ListBox3.SelectAll;
end;


procedure TSetForm.pm21(Sender: TObject);
begin
  ListBox2.SelectAll;
end;

procedure TSetForm.pm22(Sender: TObject);
begin
  ListBox2.DeleteSelected;
end;

procedure TSetForm.pm32(Sender: TObject);
begin
  ListBox3.DeleteSelected;
end;

//添加各设置项(要删除的文件、要删除的文件夹、要运行的程序)
procedure TSetForm.EditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if ((Sender as TEdit).Text<>'') and (key=13) then  //按回车
  begin
    case (Sender as TEdit).Tag of
      1:
      begin
        listbox1.Items.Add(trim(edit1.Text));
        edit1.Clear;
      end;
      2:
      begin
        listbox2.Items.Add(trim(edit2.Text));
        edit2.Clear;
      end;
      3:
      begin
        listbox3.Items.Add(trim(edit3.Text));
        edit3.Clear;
      end;
    end; //case
  end;//if

end;

//若设置格式化,则其它各设置项无效
procedure TSetForm.CheckBox1Click(Sender: TObject);
begin
  if checkBox1.Checked then
    Panel2.Enabled:=false
  else
    Panel2.Enabled:=true;
end;

//将各设置项写入配置文件
procedure TSetForm.Button1Click(Sender: TObject);
var
  strList:Tstrings;
  i:integer;
begin
  strList:=Tstringlist.Create;
  strList.Append(ComboBox1.Text);  //盘符
  if CheckBox1.Checked then strList.Append(formatDiskMark);  //格式化项
  for i :=0  to ListBox1.Items.Count-1 do  //删除文件项
    strList.Append(delFileMark+ListBox1.Items.Strings[i]);
  for i :=0  to ListBox2.Items.Count-1 do  //删除文件夹项
    strList.Append(delDirMark+ListBox2.Items.Strings[i]);
  for i :=0  to ListBox3.Items.Count-1 do  //运行程序项
    strList.Append(runFileMark+ListBox3.Items.Strings[i]);
  strList.SaveToFile(configFile);  //写入配置文件
  strList.Free;
  close;
end;

//从配置文件中读出各设置项并显示
procedure TSetForm.FormShow(Sender: TObject);
var
  strList:Tstrings;
  len:integer;
  i:integer;
begin
  if not FileExists(exePath+configFile) then exit;
  strList:=Tstringlist.Create;
  strlist.LoadFromFile(exePath+configFile);
  if strlist.Count<=1 then begin strList.Free; exit end;
  listbox1.Clear;
  listbox2.Clear;
  listbox3.Clear;
  ComboBox1.Text:=strlist.Strings[0][1];  //设置盘符
  if strlist.Strings[1]=formatDiskMark then //设置格式化
    CheckBox1.Checked:=true;
  if CheckBox1.Checked then
    panel2.Enabled:=false;
//设置其它各项
  for i:=0 to strList.Count-1 do
  begin
    len:=length(delFileMark);
    if copy(strlist.Strings[i],1,len)=delFileMark then
      listBox1.Items.Append(copy(strlist.Strings[i],len+1,
             length(strlist.Strings[i])-len));

    len:=length(delDirMark);
    if copy(strlist.Strings[i],1,len)=delDirMark then
      listBox2.Items.Append(copy(strlist.Strings[i],len+1,
             length(strlist.Strings[i])-len));

    len:=length(runFileMark);
    if copy(strlist.Strings[i],1,len)=runFileMark then
      listBox3.Items.Append(copy(strlist.Strings[i],len+1,
             length(strlist.Strings[i])-len));
  end;{for}
  CheckBox1.Caption:='格式化'+ComboBox1.Text+'盘';
  strlist.Free;

end;

procedure TSetForm.Button2Click(Sender: TObject);
begin
  close;
end;

procedure TSetForm.ComboBox1Change(Sender: TObject);
begin
  CheckBox1.Caption:='格式化'+ComboBox1.Text+'盘'

end;

//使列表框中指定项的内容完整地显示出来
procedure TSetForm.ListBox1Click(Sender: TObject);
begin
  case (Sender as TlistBox).Tag of
    1:ListBox1.Hint:=ListBox1.Items[ListBox1.ItemIndex];
    2:ListBox2.Hint:=ListBox2.Items[ListBox2.ItemIndex];
    3:ListBox3.Hint:=ListBox3.Items[ListBox3.ItemIndex];
  end; //case
end;

procedure TSetForm.Button3Click(Sender: TObject);
begin
  HlpForm.ShowModal;
end;

end.

⌨️ 快捷键说明

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