unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListView1: TListView;

    ListView2: TListView;

    Button1: TButton;

    Edit1: TEdit;

    Edit2: TEdit;

    Button2: TButton;

    Button3: TButton;

    Edit3: TEdit;

    Button4: TButton;

    procedure Button1Click(Sender: TObject);

    procedure ListView2Click(Sender: TObject);

    procedure FormShow(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}
uses StrUtils;

function AddSelItems(listview1:TListView;ListView2:TListView):Boolean;
var
  s: string;

  I,j: Integer;
begin

  Result:=False;
  if listview1.Selected =nil then  exit;

  for i := 0 to listview1.items.count - 1 do

  begin

     j:=ListView2.Items.Count;
    if listview1.items[i].selected then


      with ListView2.Items.Add do

      begin

        Caption:=IntToStr(j);
        SubItems.add( listView1.Items[i].Caption );

        SubItems.add('FileName2');

      end;

  end;
  Result:=True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ListView1.SelectAll;
   AddSelItems(ListView1,ListVIew2);
end;

var
    ID,FileName,NewName:string;
procedure TForm1.Button2Click(Sender: TObject);
var
    i:Integer;
begin

    for i:= 0 to ListView2.Items.Count -1 do

    with ListView2 do

    begin

      ID:= Items[i].Caption;
      FileName:=Items[i].SubItems.Strings[0] ;

      Items[i].SubItems.Strings[1] := StringReplace(FileName,Edit1.Text,Edit2.Text,[rfReplaceAll]);

    end;
end;

procedure TForm1.ListView2Click(Sender: TObject);
begin
    if listview2.Selected =nil then  exit;

    with ListView2 do

    begin

      ID:= Items[ItemIndex].Caption;

      FileName:=Items[ItemIndex].SubItems.Strings[0] ;

      NewName:=Items[ItemIndex].SubItems.Strings[1] ;
    end;

    Form1.Caption:=Format('Id = %s FileName = %s Newname = %s',[ID,FileName,NewName]);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
   ListView1.SelectAll;
   AddSelItems(ListView1,ListVIew2);
   Button2.Click;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
    i:Integer;
    LStr,RStr:string;
begin
    LStr:=LeftStr(Edit3.Text, Pos('*',Edit3.Text) -1 ) ;

    RStr:=RightStr(Edit3.Text, Length(Edit3.text) - Pos('*',Edit3.Text)  );

    for i:= 0 to ListView2.Items.Count -1 do

    with ListView2 do

    begin

      ID:= Items[i].Caption;
      FileName:=Items[i].SubItems.Strings[0] ;

      Items[i].SubItems.Strings[1] := Format('%s%s%s',[LStr,FileName,RStr]);

    end;
end;

end.

 

附件列表

ListView 文件重命名的更多相关文章

  1. 【Java EE 学习 22 上】【文件上传】【目录打散】【文件重命名】

    1.文件上传概述 (1)使用<input type="file">的方式来声明一个文件域. (2)表单提交方式一定要是post方式才行 (3)表单属性enctype 默 ...

  2. git 文件重命名

    文件重命名 git mv old_name new_name git commit -m 'rename' git push origin master 删除文件 git rm filename

  3. Java用来进行批量文件重命名,批量提取特定类型文件

    原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一 ...

  4. Linux下文件重命名、创建、删除、修改及保存文件

    一.重命名(更名) linux 给文件改名的命令是mv命令 mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中.该命令等同于DOS系统下的ren和move命令的组合.它的使用权限是所有用户. ...

  5. Linux环境给文件重命名

    Linux环境给文件重命名时,如果重命名后的文件名称与当前路径下已存在的文件名称相同,则重命名的文件会覆盖相同名称的文件内容: 例如:新建文件testfile1,内容为mytest: 新建文件test ...

  6. C#给文件重命名

    使用的主要方法是: File.Move(oldFileDir,newFileDir);//这个是移动文件的方法 Directory.GetFiles(dir);//获取dir路径下的所有文件的全路径 ...

  7. PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink

    php中添加utf-8: header("Content-type:text/html;charset='UTF-8'"); 文件操作步骤: 1.在同一目录下建立一个file.tx ...

  8. Asp.Net MVC 文件管理Demo(文件展示,上传,下载,压缩,文件重命名等)

    之前 ,有想做一个文件管理页面. 参考了 许多资料,终于完成了一个基于Asp.net MVC 的文件管理Demo.界面如下.   一,实现功能及相关技术 文件管理Demo基于Asp.NET MVC , ...

  9. servlet操作本地文件汇总: 判断文件是否存在;文件重命名;文件复制; 获取文件属性信息,转成Json对象; 获取指定类型的文件; 查找替换.txt中的文本

    package servlet; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; ...

随机推荐

  1. mybatis Mapper XML 文件

    MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% ...

  2. SQL 语句记录

    1.创建一个table @"create table rockTB(myId integer primary key autoincrement not null, time varchar ...

  3. 《Python 学习手册4th》 第十八章 参数

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...

  4. 读pomelo的教程-1

    pomelo教程的例子是一个聊天室,包括一个webserver客户端,和一个gameserver的pomelo服务器.这个例子挺好,一个聊天系统逻辑简单,还包括了用户管理,客户端request,服务器 ...

  5. JavaScript中的事件冒泡机制

    事件冒泡机制 事件冒泡发生的条件:当为多个嵌套的元素设置了相同的事件处理程序,它们将触发事件冒泡机制.在事件冒泡中,最内部的元素将首先触发其事件,然后是栈内的下一个元素触发该事件,以此类推,直到到达最 ...

  6. bzoj 1419 Red is good(期望DP)

    [题意] R红B蓝,选红得1选蓝失1,问最优状态下的期望得分. [思路] 设f[i][j]为i个Rj个B时的最优期望得分,则有转移式为: f[i][j]=max{ 0,(f[i-1][j]+1)*(i ...

  7. [Hive - LanguageManual] Statistics in Hive

    Statistics in Hive Statistics in Hive Motivation Scope Table and Partition Statistics Column Statist ...

  8. 在fedora20下面手动为自己的安装程序创建桌面图标

    (博客园-番茄酱原创) 在/usr/share/applications/下面创建destktop文件,用于产生桌面图标 创建文件:touch android-eclipse.desktop 编辑文件 ...

  9. asp.net mvc 实体类成员变量标识示例

    检查不能为空 [Required] public string ID { get; set; } 检查最大长度 [StringLength(36, ErrorMessage = "长度不可超 ...

  10. SAE 合并图片

    $domain = 'picleader'; //图片库的域名 $stgurl = 'http://lemonluoxing-picleader.stor.sinaapp.com/'; //绝对路径 ...