软件规模度量

做世界上最好的代码行统计工具

以前做的一些小玩意儿(二)

无聊啊,陆续把以前做的一些小玩意儿共享一下。由于时间比较长了,那时候设计能力有限,现在也没时间维护,如果发现bug就别用了,望体谅。

第二个是叫K File Converter,程序大小200k。下载链接:http://files.cppblog.com/bobquain/KFC_V1.1.1_CN_Setup.zip
以前在CSDN的下载:http://download.csdn.net/source/182300



K File Converter

可扩展批量文件转换器


1. Introduction

大多数编程人员在开发过程中经常会需要某种文件转换操作,如:

    1 批量的文件改名。

    2 把文件转换成Dos格式,Unix格式或Mac格式。

    3 把文件转换成Shift-JIS码,EUC码或JIS码。

    4 把文件从本地编码转换成ASCII码,或者从ASCII码转换成本地编码。

这些转换工具有的是系统自带的,有的是第三方的免费工具,而有些则需要自己开发。

但是这些工具往往没有图形界面,或者不支持对文件夹的操作和对特定文件的过滤。

K File Converter正是为了解决这个问题而设计,用户无论是使用别人的工具还是自己开发的工具,都无需为了对图形界面和对文件夹以及文件过滤的支持而浪费时间。

2. How To Use

K File Converter界面比较易懂,参照下图做一下简单介绍:

    1 输入文件夹:被转换文件所在路径。

    2 输入文件名格式:输入文件名过滤,*代表任意字符串,?代表任意字符,每个文件名格式用|隔开

    3 输入刷新:[6]没有选中的情况下,当[1]或[2]发生改变或[1]指定路径中文件变更时,点击此按钮进行树形视图[4]的刷新。

    4 输入视图:所有符合[2]过滤条件的文件都以树形方式显示在此视图中

    5 包含子文件夹:选中情况下,对[1]指定文件夹和所有它的子文件夹中的文件进行过滤;没选中情况下,不对子文件夹进行过滤。

    6 输入自动刷新:选中情况下,当[1]或[2]发生改变时,自动刷新[4]视图。但是,[1]的指定路径中有文件变更时,需点击按钮[4]进行刷新。没选中情况下,不进行自动刷新。

    7 输出文件夹:转换后文件的输出路径

    8 输出文件名格式:输出文件格式,可引用变量:${prefix}代表输入文件名前缀,${suffix}代表输入文件名后缀(也就是扩展名)。${prefix}和${suffix}可不引用或引用多次。

    9 输出刷新:[11]没有选中的情况下,当[7]或[8]发生改变或[1]指定路径中文件变更时,点击此按钮进行[4]树形视图的刷新。

    10 输出视图:按照[8]中格式以树形方式显示所有输出文件的预览

    11 输出自动刷新:选中情况下,当[7]或[8]发生改变时,自动刷新[10]视图但是,[7]的指定路径中文件变更时,需点击按钮[9]进行刷新;没选中情况下,不进行自动刷新。

    12 转换器选择:指定转换所用转换器。预置的转换器主要有4种,共13个:

        (1) 文件改名(复制原文件)。

        (2) 文件改名(移动原文件)。

        (3) 文件行结束符转换成Dos格式(CRLF)。

        (4) 文件行结束符转换成Unix格式(LF)。

        (5) 文件行结束符转换成Mac格式(CR)。

        (6) 文件编码转换为Shift-JIS码(自动判断输入文件的编码)。

        (7) 文件编码转换为EUC码(自动判断输入文件的编码)。

        (8) 文件编码转换为New-JIS码(自动判断输入文件的编码)。

        (9) 文件编码转换为Old-JIS码(自动判断输入文件的编码)。

        (10) 文件编码转换为Nec-JIS码(自动判断输入文件的编码)。

        (11) 文件MD5验证码的生成(MD5加密:目前国外大多数网站提供的下载文件的验证码)。

        (12) 文件编码从本地编码转换为ASCII码(转换器为JDK中提供的native2ascii.exe程序,不会自动判断输入文件的编码;还有,使用前用户要手动修改JDK的路径)。

        (13) 文件编码从ASCII码转换为本地编码(转换器为JDK中提供的native2ascii.exe程序,不会自动判断输入文件的编码;还有,使用前用户要手动修改JDK的路径)。

    13 配置转换器:点击打开转换器配置窗口。具体使用见[3.How To Extend]

    14 运行/停止:运行转换/停止转换。显示为"Run"时,点击后开始运行,运行中名称变为"Stop",点击可停止转换。转换停止或全部结束后,名称变为"Run"

    15 日志:显示错误和转换结果信息

3. How To Extend

用户如果想增加转换器,可点击上图中按钮[13],打开转换器配置窗口。转换器可以是任何命令行的执行程序,包括cmd.exe,java.exe和提供命令行参数的GUI执行程序。注意:转换器至少需要有输入文件和输出文件两个参数。

转换器配置界面也非常简单,通过下图做一下简单介绍

    1 转换器列表:显示转换器列表

    2 新建:做成新的转换器

    3 复制:做成新的转换器并复制当前转换器配置到新做成的转换器

    4 删除:删除当前选择的转换器

    5 上移:当前选择的转换器上移一格

    6 下移:当前选择的转换器下移一格

    7 标题:转换器的标题

    8 执行文件:转换器运行的执行文件

    9 参数:[8]中指定执行文件的参数。可引用变量:${infile}为输入文件,${outfile}为输出文件,${location}为执行文件所在文件夹。

    10 工作路径:[8]中指定执行文件的工作路径。可引用变量:${location}为执行文件所在文件夹。

    11 OK:保存所有修改并关闭配置窗口

    12 Cancel:取消所有修改并关闭配置窗口

4. Improve

对比之前发布的beta版,正式版V1.0.0主要的改进如下:

    1 输入视图和输出视图做到近乎完美的同步

    2 增加了输入视图和输出视图的自动刷新,并提供开关当文件比较多,严重影响自动刷新时,可关闭自动刷新功能。

    3 转换器配置窗口中增加了[Copy]按钮

    4 解决了转换器配置窗口中点击上移,下移或删除按钮之后回到主窗口进行文件转换,所选转换器会错乱的bug

    5 增加了转换停止的功能,这样可以以正常方式停止当前的转换操作;并且转换期间中不影响图形界面操作

    6 预置了更多实用的转换器,如:行结尾符的转换和文件编码的转换

    7 文件改名转换器没有采用"cmd.exe /c copy",原因是速度稍慢。

V1.1.0的改进如下:

    1 增加了托拽功能:用户可以从Explorer中托拽文件或文件夹到[Input/Output]组中。如果托拽的是文件夹,文件夹的绝对地址将写到Input Directory或Output Directory中。

      如果托拽的是文件,文件所在文件夹的绝对地址将写到Input Directory或Output Directory中,文件名称将写到File Name Patterns中。

    2 将Input Directory/Output Directory和File Name Patterns的编辑框变成了可输入的ComboBox框,并增加了保存历史记录的功能。

    3 增加了手动刷新的快捷键(F5)。当输入焦点在Input区域时,刷新输入视图;当输入焦点在Output区域时,刷新输出视图。

V1.1.1的改进如下:

    1 修正了File Name Patterns对文件过滤时严格区分大小写的Bug。

    2 将Input Directory/Output Directory浏览对话框的初始路径设定为当前输入框中的路径。


posted on 2010-09-17 23:58 bobquain 阅读(1070) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理