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

📄 unit1.~pas

📁 批量改名源码
💻 ~PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DriveComboBox1: TDriveComboBox;
    FileListBox1: TFileListBox;
    DirectoryListBox1: TDirectoryListBox;
    Edit1: TEdit;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    StatusBar1: TStatusBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Label1: TLabel;
    Label2: TLabel;
    SpeedButton4: TSpeedButton;
    ListBox1: TListBox;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Edit4: TEdit;
    Label6: TLabel;
    procedure DirectoryListBox1Change(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FileListBox1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure FileListBox2Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.DirectoryListBox1Change(Sender: TObject);
var defname:string;
    i,j:integer;
begin
  statusbar1.SimpleText:=directorylistbox1.Directory;
  edit2.text:='';
  i:=length(statusbar1.simpletext);
  for j:=0 to (i-1) do
    if statusbar1.simpletext[i-j]<>'\' then
    edit2.text:=statusbar1.simpletext[i-j]+edit2.text
    else
    break ;
end;

procedure TForm1.FormActivate(Sender: TObject);
var defname:string;
    i,j:integer;
begin
  statusbar1.SimpleText:=directorylistbox1.Directory;
  edit2.text:='';
  i:=length(statusbar1.simpletext);
  for j:=0 to (i-1) do
    if statusbar1.simpletext[i-j]<>'\' then
    edit2.text:=statusbar1.simpletext[i-j]+edit2.text
    else
    break ;
end;

procedure TForm1.FileListBox1Click(Sender: TObject);
begin
  speedbutton1.Enabled:=true;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var i:integer;

begin
  for i:=0 to (FileListBox1.Items.Count-1) do
    if FileListBox1.Selected[i] then
      listbox1.Items.Add(FileListBox1.Items.Strings[i]);
  speedbutton1.Enabled:=False;
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
  listbox1.Clear;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
var i,j:integer;
begin
  j:=0;
  for i:=0 to (ListBox1.Items.Count-1) do
    if ListBox1.Selected[i-j] then
      begin

      listbox1.Items.Delete(i-j);
      j:=j+1;

   // except

      end;
   speedbutton2.Enabled:=False;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
var i,j,k,l:integer;
    extname:string;
begin
  l:=0;
  for i := 0 to (FileListBox1.Items.Count - 1) do
  begin
    extname:='';
    k:=length(Filelistbox1.Items.Strings[i]);

    for j:=0 to (k-1) do
      if Filelistbox1.Items.Strings[i][k-j]<>'.' then
     extname:=Filelistbox1.Items.Strings[i][k-j]+extname
     else
      break ;
    if ('.'+extname)=edit3.text  then
    listbox1.Items.Add(FileListBox1.Items.Strings[i])
    else if ('.'+extname)=('.'+'J'+'P'+'G') then
     begin
      if edit3.text=('.'+'j'+'p'+'g') then
      listbox1.Items.Add(FileListBox1.Items.Strings[i])
      else
      l:=l+1;
     end
    else
    l:=l+1;
  end;
  if l<>0 then
  showmessage(inttostr(l)+'个文件因类型不符而未被添加,如需添加此类型,请修改“扩展名”项');
end;

procedure TForm1.FileListBox2Click(Sender: TObject);
begin
  speedbutton2.Enabled:=true;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  speedbutton2.Enabled:=true;
  if listbox1.SelCount=1 then
  begin
    speedbutton5.Enabled:=true;
    speedbutton6.Enabled:=true;
    speedbutton7.Enabled:=true;
    speedbutton8.Enabled:=true;
  end
  else
  begin
    speedbutton5.Enabled:=false;
    speedbutton6.Enabled:=false;
    speedbutton7.Enabled:=false;
    speedbutton8.Enabled:=false;
  end;
end;

procedure TForm1.SpeedButton5Click(Sender: TObject);
var i:integer;
begin
  for i:=0 to (ListBox1.Items.Count-1) do
    if ListBox1.Selected[i] then
     listbox1.Items.Move(i,0);
end;

procedure TForm1.SpeedButton8Click(Sender: TObject);
var i,intbot:integer;
begin
  intbot:=listbox1.items.count-1;
  for i:=0 to intbot do
    if ListBox1.Selected[i] then
     listbox1.Items.Move(i,intbot);
end;

procedure TForm1.SpeedButton6Click(Sender: TObject);
var i:integer;
begin
  for i:=0 to (ListBox1.Items.Count-1) do
    if ListBox1.Selected[i] then
    begin
     listbox1.Items.Move(i,i-1);
     listbox1.Selected[i-1]:=true;
    end;
end;

procedure TForm1.SpeedButton7Click(Sender: TObject);
var i:integer;
begin
  for i:=0 to (ListBox1.Items.Count-1) do
    if ListBox1.Selected[i] then
    begin
     listbox1.Items.Move(i,i+1);
//     listbox1.Selected[i+1]:=true;
    end;
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
  if edit2.Text<>'' then
    bitbtn1.Enabled:=true;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var oldname,newname,strnum:string;
    i,j:integer;
    f : file;

begin
  for i:=0 to (ListBox1.Items.Count-1) do
  begin
    oldname:=statusbar1.SimpleText+'\'+listbox1.Items.Strings[i];
    j:=i+StrToInt(edit4.text);
    if j<10 then
      strnum:='00'+inttostr(j)
    else
    if j<100 then
      strnum:='0'+inttostr(j)
    else
      strnum:=inttostr(j);
    newname:=statusbar1.simpletext+'\'+edit2.text+' '+strnum+edit3.text;
    AssignFile(f, oldname);

    rename(f,newname);
  end;

  listbox1.Clear;
  FileListBox1.Update;
  //Refresh;
  //Update(FileListBox1);
  //TForm1.FileListBox1.Refresh;
  //statusbar1.SimpleText:=directorylistbox1.Directory;

end;

end.

⌨️ 快捷键说明

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