VB6 Как бороться с именем файла, имеющим недопустимый символ - PullRequest
0 голосов
/ 30 января 2010

Я создал приложение в VB6. Я должен читать вложения почты клиента. Но вложенный файл имеет имя с недопустимыми символами. Я хочу сделать копию этого, но мое приложение не может сделать это. Так что вы можете помочь мне решить эту проблему.
Заранее спасибо.


РЕДАКТИРОВАТЬ: Как я могу проверить, что имя файла содержит неверный характер.

Ответы [ 2 ]

1 голос
/ 30 января 2010

Наиболее очевидная вещь - просто заменить недопустимые символы на заполнители, например (например) заменить ":" на "_". (Извиняюсь, если я упускаю суть.)

OT: среда VB6 (компилятор и др.) Не поддерживается с апреля 2008 года, я настоятельно рекомендую использовать что-то более современное. (VB6 runtime по-прежнему поддерживается, а будет действовать в течение всего срока службы Windows 7 , но даже в этом случае ...)

Редактировать: Ответ на ваше редактирование:

Недопустимые символы в именах файлов Windows (поскольку по своей природе это приложение Windows) хорошо документированы .

0 голосов
/ 30 января 2010

Без дополнительной информации о том, как вы "читаете вложения", конкретную помощь предложить сложно.

Возможно, вы столкнулись с префиксом спецификации Unicode, возможно, в именах файлов есть символы из запрещенного подмножества, или вы можетеиметь дело с управляющими или более вероятными символами со значениями AscW ()> 127, такими как символы иностранных алфавитов и т. д.

Вы можете создавать файлы с «именами файлов Unicode» с помощью вызовов API, но это может быть прощепереведите такие символы в некое подобие «сплат», такое как # или _, которое должно работать без инцидентов.При необходимости вы можете просто перебрать строку имени файла символ за символом, используя AscW (char) и оператор Select Case , чтобы определить «плохие» символы и заменить их.

...