以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于文件监视器  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7365)

--  作者:sophia
--  发布时间:2010/6/11 16:05:00
--  关于文件监视器
在C盘根目录下有一data文件夹,其中有一文本文件a.txt和一图片文件Sunset.jpg。想用文本文件内容自动去改变图片文件的文件名,用文件监视器能做到吗?要是能做到代码怎样写?
例如:文本文件内容如图:
      图片文件原为Sunset.jpg,改为:gk001.jpg。

图片点击可在新窗口打开查看此主题相关图片如下:文本文件内容.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2010/6/11 16:32:00
--  

可以监视文本文件,这样输入内容后保存,系统可以监视到,然后读取文本文件的内容,据此改图片文件的名称

不过怪怪的感觉

图片点击可在新窗口打开查看

[此贴子已经被作者于2010-6-11 16:33:33编辑过]

--  作者:sophia
--  发布时间:2010/6/11 17:13:00
--  

我是照相用的,一个人照完照片,自动去改名,而不是手动该。

取文本文件的内容,据此改图片文件的名称用代码怎么实现呢?谢谢


--  作者:狐狸爸爸
--  发布时间:2010/6/11 17:52:00
--  

何不直接用foxtable输入文件名去改?

你这样转的湾也太大了。

 

监控指定目录,一旦发现有新生成的图片文件,就打开一个窗口让用户输入文件名,然后改名。


--  作者:sophia
--  发布时间:2010/6/11 18:16:00
--  

是这样的,先在我这里开票,票上有照相本人的二维码信息,然后再到另外一个地方去照相,照完相后,用扫描枪扫描其二维码并形成一文本文件,再把照相图片和文本文件通过无线的形式传到我这里(这个已经能实现),用文件监视器做到自动改名。这样照片文件名就是其本人名,不会出错。我现在就是用的“打开一个窗口让用户输入文件名,然后改名”的方法,效率低还容易出错。

您就告诉我在文件监视器中,读取文本文件的内容,据此改图片文件的名称用代码怎么实现吧!


--  作者:狐狸爸爸
--  发布时间:2010/6/11 18:33:00
--  

你就用文件监视器的FileCreated事件,监控那个目录,如果有图片文件生成,就读取约定的文本文件的内容(就是扫描生成的文本文件),将新生成的图片文件改名。

 

我感觉还不如将姓名扫描到foxtable呢。

[此贴子已经被作者于2010-6-11 18:36:05编辑过]

--  作者:sophia
--  发布时间:2010/6/11 18:47:00
--  
就像1楼说的例子,在FileCreated事件中,代码怎么写呢?
--  作者:sophia
--  发布时间:2010/6/12 7:43:00
--  

难道在狐表文件监视器里,做不到读取文本文件的内容,据此改图片文件的名称吗?


--  作者:狐狸爸爸
--  发布时间:2010/6/12 8:03:00
--  

怎么可能啊,先设置文件监视器,指定指定的目录和要监视的文件类型,然后设置FileCreated事件代码。

 

读取文本文件和重命名文件的帮助:

 

ReadAllText

 

读取文本文件的内容。

 

语法:

 

ReadAllText(File, Encoding)

 

File:     要读取的文件的文件名和路径
Encoding: 可选参数,Encoding类型,可选的编码有:

Default
ASCII
BigEndianUnicode
Unicode
UTF32
UTF7
UTF8

 

Default表示系统编码,对于中文操作系统,通常是GB2312
 

示例一

 

读取并显示指定文本文件的内容:

 

Dim s As string = FileSys.ReadAllText("c:\\data\\table.txt")
Output.Show(s)

 

示例二

 

一般不需要指定文本文件的编码,ReadAllText会尝试自动检查。
但是如果读取的文本文件出现乱码,那么应该考虑明确指定文件编码,例如:

 

Dim s As string = FileSys.ReadAllText("c:\\data\\table.txt", Encoding.Default)
Output
.Show(s)

 

 

RenameFile

 

重命名文件。

 

语法

 

RenameFile(File, NewName)

File:要重命名的文件。
NewName:新的文件名,不包括目录。

 

例如:

 

FileSys.RenameFile("c:\\data\\Test.txt", "SecondTest.txt")

 

将文件“c:\\data\\Test.txt”重命名为“SecondTest.txt”。

 

 

 

 

 


--  作者:狐狸爸爸
--  发布时间:2010/6/12 8:07:00
--  

感觉你的设计非常不合理,不如在照相地方的电脑装上foxtable,使用文件监视器,设置FileCreated事件,一旦发现有照片生成,就打开一个窗口,然后将姓名扫描进窗口的文本框,据此文本框的内容更改图片文件名称。