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. #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

    #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)宏的运行机理:1. ( (TYPE *)0 ) 将零转型为TY ...

  2. Oracle :一次数据库连接,返回多个结果集

    1. 一次数据库连接,返回多个结果集 1.1 建立包规范 create or replace package QX_GDJTJ is -- Author : xxx -- Created : 2012 ...

  3. bjfu1100 圆环

    这题也是2011百度之星的一道题.知道做法后代码极简单. 不过我做完后随便上网搜了一下,发现竟然还有很多不同的做法.别的做法我就不管了,我只把我的做法的原理说清楚.我做题时是按如下顺序逐步找到规律的: ...

  4. Web自动化框架搭建——前言

    1.web测试功能特性 a.功能逻辑测试(功能测试),这一块所有系统都是一致的,比如数据的添加.删除.修改:功能测试案例设计感兴趣和有时间的话可以另外专题探讨: b.浏览器兼容性测试,更重要的是体验这 ...

  5. Tkinter教程之Pack篇

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1813077 '''Tkinter教程之Pack篇'''#Pack为一布局管理器,可将它视为一个 ...

  6. CSS 高级:尺寸、分类、伪类、伪元素

    CSS 尺寸:允许你控制元素的高度和宽度.同样,还允许你增加行间距. CSS 分类:允许你控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素,使用绝对值来定位元素,以及元素的 ...

  7. Selection sort

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. 第三百零六天 how can I 坚持

    今天做了件并不是我风格的事,送了张公交卡,还没送出去,好难搞啊.这天会铭记的.如果将来我们能走在一起. 中午去朝阳门拿了我的荣事达破壁机,好大啊,怎么带回家啊,还有,回家要不要买两只烤鸭啊. 今天聊了 ...

  9. oracle中DECODE与CASE的用法区别

    对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断.Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能.而CASE是9i以后提供的语法,这个 ...

  10. Nginx 禁止IP访问

    我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了 ...