以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  图片改名  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=106716)

--  作者:gryy
--  发布时间:2017/9/14 15:09:00
--  图片改名
Dim ml As String = Tables("设置").Current("默认目录")
Dim dr As DataRow = e.DataRow
Dim dm As String = trim(dr("简码"))
Dim cpph As String = trim(dr("产品批号"))
If e.DataCol.name = "正面" Then
    Dim pth As String = ml & e.DataRow("正面") 
    FileSys.RenameFile(pth,dm & cpph &".jpg")  
Else
    If e.DataCol.name = "反面"  Then     
        Dim pth As String = ml & e.DataRow("反面")
        FileSys.RenameFile(pth,dm & cpph &"-1.jpg")      
    End If
End If

现在的问题是文件是复制到制定目录了,但改不了名,报错:给定的文件路径以目录分隔符字符结尾。参数名: file

--  作者:有点甜
--  发布时间:2017/9/14 15:13:00
--  

先弹出值看看

 

msgbox(pth & " " & dm & " " & cpph)

 

http://www.foxtable.com/webhelp/scr/0340.htm

 


--  作者:gryy
--  发布时间:2017/9/14 16:01:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170914155957.png
图片点击可在新窗口打开查看
路径都是正确的
[此贴子已经被作者于2017/9/14 16:04:27编辑过]

--  作者:gryy
--  发布时间:2017/9/14 16:05:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170914155945.png
图片点击可在新窗口打开查看

--  作者:gryy
--  发布时间:2017/9/14 16:17:00
--  
报错应该是在图片管理器增加的时候,e.DataRow("正面") 是空的,pth只有路径,没有具体的文件名,FileSys.RenameFile就改不了,这个该如何操作呢
--  作者:gryy
--  发布时间:2017/9/14 16:32:00
--  
如何在图片增加的时候,就把名字改了呢?
--  作者:有点甜
--  发布时间:2017/9/14 16:34:00
--  
以下是引用gryy在2017/9/14 16:17:00的发言:
报错应该是在图片管理器增加的时候,e.DataRow("正面") 是空的,pth只有路径,没有具体的文件名,FileSys.RenameFile就改不了,这个该如何操作呢

 

修改代码

 

Dim ml As String = Tables("设置").Current("默认目录")
Dim dr As DataRow = e.DataRow
Dim dm As String = trim(dr("简码"))
Dim cpph As String = trim(dr("产品批号"))
If e.DataCol.name = "正面" Then
    Dim pth As String = ml & e.DataRow("正面")
    If FileSys.FileExists(pth) Then
        FileSys.RenameFile(pth,dm & cpph &".jpg")
    End If
Else
    If e.DataCol.name = "反面"  Then
        Dim pth As String = ml & e.DataRow("反面")
        If FileSys.FileExists(pth) Then
            FileSys.RenameFile(pth,dm & cpph &"-1.jpg")
        End If
    End If
End If


--  作者:gryy
--  发布时间:2017/9/14 16:43:00
--  
我试过,这样改不了,需要2次点击增加才行
--  作者:有点甜
--  发布时间:2017/9/14 17:02:00
--  

1、改名你不可以在这里改?

 

http://www.foxtable.com/webhelp/scr/2209.htm

 

2、改成

 

Dim pth As String = ml & e.DataRow("正面")
If e.DataRow.IsNull("正面") = false Then