我有一个小的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"
麻烦的是,有许多类似的检查&我真的不想改变所有这些,如果可能的话,我只想知道为什么会发生变化,以及在哪里,所以我希望能够改变它!
答案 0 :(得分:0)
因为Lima是一个独立的设备,充当文件系统,它几乎肯定会运行某种形式的* nix,这意味着区分大小写的文件系统。为了将不区分大小写的Windows文件名映射到区分大小写的存储中,它们必须做一些魔术,从而导致意外结果。
我同意@Steve您将不得不从供应商文档中寻求答案。特别是,检查技术文档以查看是否存在控制区分大小写的方式的设置。
如果您有许多重复此代码的地方,那么我说您的代码中已经存在弱点。我建议用一个返回文件名的函数来替换所有这些行。这很痛苦,但它取代了代码重复,因此如果您将来必须更改代码,您只需在一个地方更改代码。您的代码更易于维护,当利马供应商在两个月内更改其API时,您只需在一个地方更改代码即可修复它。