Foxtable(狐表)用户栏目专家坐堂 → 求助:怎么实现文件管理器增加文件之前就获取选中文件的名称,并解析成拼音。


  共有2172人关注过本帖树形打印复制链接

主题:求助:怎么实现文件管理器增加文件之前就获取选中文件的名称,并解析成拼音。

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:怎么实现文件管理器增加文件之前就获取选中文件的名称,并解析成拼音。  发帖心情 Post By:2016/10/21 10:23:00 [只看该作者]

求助:怎么实现文件管理器增加文件之前就获取选中文件的名称,并解析成拼音。

Dim dr As DataRow = e.DataRow
If dr.IsNull("description1") Or Dr.IsNull("date") Then
    MessageBox.Show("文件描述和日期不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    e.SubFolder = "Attachments" & "\" & GetPY(dr("description1")) & "\" & dr("date").Year
End If

上述代码已经实现地址的组合自定义,

path结果为:Attachments\ni hao a\2016\2016年技术科2.5假期安排表.xls  想把红色部分也生成拼音有什么办法呢?


或者是增加一个在文件列写入文件之前,就选择的文件的名称的获取,然后再解析为拼音,怎么操作呢?

请各位大大多多指导 谢谢!
[此贴子已经被作者于2016/10/21 10:33:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/21 10:34:00 [只看该作者]

Dim dr As DataRow = e.DataRow
If dr.IsNull("description1") Or Dr.IsNull("date") Then
    MessageBox.Show("文件描述和日期不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    Dim f() As String = e.FileName.Split(".")
    e.FileName =  GetPY(dr("description1")) & dr("date").Year & GetPY(f(0)) & "." & f(1)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)Dim dr As DataRow = e.DataRowIf dr...  发帖心情 Post By:2016/10/21 10:43:00 [只看该作者]

谢谢,经过比对 下面两个写法都可以实现同样的效果!

Dim dr As DataRow = e.DataRow
If dr.IsNull("description1") Or Dr.IsNull("date") Then
    MessageBox.Show("文件描述和日期不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    Dim f() As String = e.FileName.Split(".")
    'e.FileName =  "Attachments" & "\" & GetPY(dr("description1")) & "\" & dr("date").Year & "\" & GetPY(f(0)) & "." & f(1)
    e.SubFolder =  "Attachments" & "\" & GetPY(dr("description1")) & "\" & dr("date").Year & "\" & GetPY(f(0)) & "." & f(1)
End If

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)Dim dr As DataRow = e.DataRowIf dr...  发帖心情 Post By:2016/10/21 12:31:00 [只看该作者]


加上红色代码定义到项目文件下 结果出错,提示

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:
详细错误信息:
不支持给定路径的格式。


Dim dr As DataRow = e.DataRow
If dr.IsNull("description1") Then
    MessageBox.Show("文件描述不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    Dim f() As String = e.FileName.Split(".")
    e.FileName = ProjectPath & "Attachments" & "\" & GetPY(dr("suitDocNumber")) & "\" & GetPY(dr("description1")) & "\" & dr("date").Year & "\" & GetPY(f(0)) & "." & f(1)

End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/21 14:09:00 [只看该作者]

Dim dr As DataRow = e.DataRow
If dr.IsNull("description1") Then
    MessageBox.Show("文件描述不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    Dim f() As String = e.FileName.Split(".")
    e.FileName = ProjectPath & "Attachments" & "\" & GetPY(dr("suitDocNumber")) & "\" & GetPY(dr("description1")) & "\" & dr("date").Year & "\" & GetPY(f(0)) & "." & f(1)
msgbox(e.FileName) '看看真实的路径
End If

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)Dim dr As DataRow = e.DataRowIf dr...  发帖心情 Post By:2016/10/21 14:22:00 [只看该作者]

提示如下:

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/21 14:56:00 [只看该作者]

GetPY(dr("suitDocNumber"))是空值,所以Attachments后面变成了2个\\

所有参与生成名称的字段都要判断是否为空

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)GetPY(dr("suitDocNumber"))是空值,...  发帖心情 Post By:2016/10/21 15:18:00 [只看该作者]

经检查  不为空值时  只有一个\  但是还是错误提示一样 

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/21 15:38:00 [只看该作者]

e.FileName =  "\" & GetPY(dr("suitDocNumber")) & "\" & GetPY(dr("description1")) & "\" & dr("date").Year & "\" & GetPY(f(0)) & "." & f(1)

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)e.FileName =  "\" &...  发帖心情 Post By:2016/10/21 17:04:00 [只看该作者]

谢谢 之前那样操作都是可以实现的 是不是新版本优化了这些操作呢?

 回到顶部
总数 13 1 2 下一页