为什么我的VB.net程序决定是个案例挑剔?

时间:2016-01-17 09:28:37

标签: vb.net

我有一个小的VB.net程序,可以打开一些文本文件,2个Excel文件,一个PDF文件&创建一个新的Word文档,如果它已经存在则打开它。没有什么聪明的,没有数据库和它运作得很好。

我刚刚购买了一台利马设备(https://meetlima.com)并移动了我的数据&程序到附加到它的高清。这在我的电脑上显示为“L”​​驱动器,一切似乎都有效除了程序现在已经决定对数据名称的情况进行挑剔!!!

例如,当myLeftCB的值为TES时尝试使用文件Tes1时,此代码在我从“D”驱动器移动到“L”之前工作正常

myRARfile = myFolder + myLeftCB + mySession + ".zip"

现在我必须编辑代码

myRARfile = myFolder + StrConv(myLeftCB, VbStrConv.ProperCase) + mySession + ".zip"

麻烦的是,有许多类似的检查&我真的不想改变所有这些,如果可能的话,我只想知道为什么会发生变化,以及在哪里,所以我希望能够改变它!

1 个答案:

答案 0 :(得分:0)

因为Lima是一个独立的设备,充当文件系统,它几乎肯定会运行某种形式的* nix,这意味着区分大小写的文件系统。为了将不区分大小写的Windows文件名映射到区分大小写的存储中,它们必须做一些魔术,从而导致意外结果。

我同意@Steve您将不得不从供应商文档中寻求答案。特别是,检查技术文档以查看是否存在控制区分大小写的方式的设置。

如果您有许多重复此代码的地方,那么我说您的代码中已经存在弱点。我建议用一个返回文件名的函数来替换所有这些行。这很痛苦,但它取代了代码重复,因此如果您将来必须更改代码,您只需在一个地方更改代码。您的代码更易于维护,当利马供应商在两个月内更改其API时,您只需在一个地方更改代码即可修复它。