Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

Как проверить является ли имя файла допустимым?   Найти похожие ветки 

 
Nikolai_S ©   (2002-12-16 16:30) [0]

Необходимо, чтобы в программе пользователь вводил имя файла, который далее будет создан программой. Как проверить является ли введенное пользователем имя файла допустимым?


 
Alexei113 ©   (2002-12-16 16:34) [1]

Что значит Доступным - по корректности введенного имени или по
факту существует файл или нет ?


 
Reindeer Moss Eater   (2002-12-16 16:35) [2]

Вроде все просто: проверить на наличие во введенном имени недопустимых символов.
Правда в зависимости от тома, на котором будет сохраняться файл, набор недопустимых символов может сильно отличаться


 
FreeLancer ©   (2002-12-16 16:43) [3]

Проще всего пробовать его создать... try


 
Nikolai_S ©   (2002-12-16 16:48) [4]

Я имел в виду то, чтобы в имени файла содержались только допустимые символы. Как это проверить?
Если использовать try при создании, то тогда он ругнется на все, что будет не так: нет места на диске, нельзя записать в данную директорию и т.д. и т.п.
Нужна функция, которая просто обрабатывала бы строку с именем файла и выдавала True (если все ОК) или False (если строка содержит не допустимые для имени файла символы)


 
Alexei113 ©   (2002-12-16 16:51) [5]

Попробуй создать массив некорректных символов а затем просто сверяй каждый введенный символ с содержимым массива...


 
Reindeer Moss Eater   (2002-12-16 16:53) [6]

Если файл предназначен для Windows, набор символов один и небольшой.
Если для тома NetWare3.x,то набор несколько иной.
А есть еще UNIX, DOS, .....


 
Anatoly Podgoretsky ©   (2002-12-16 17:01) [7]

Nikolai_S © (16.12.02 16:48)
Это сильно зависит от тома
На try он не ругнется, если ты после него поставишь except


 
Юрий Зотов ©   (2002-12-16 18:41) [8]

В Delphi (и в ее справке) есть функция MatchesMask.


 
Nikolai_S ©   (2002-12-19 11:09) [9]

Мне нужна проверка имен файлов только в Windows. А где узнать какие символы являются недопустимыми для имен файлов в Windows? И есть ли различия для разных Windows?


 
Anatoly Podgoretsky ©   (2002-12-19 11:15) [10]

У тебя проводник есть* Если есть, то пробуй переминовать и быстро у тебя будет этот список, это если конечно не хочешь покопаться у свалке у Микрософта
Но Windows это не файловая система, а ОС на которой могут быть установленные различные файловые системы. Вполне обычная с ситуация FAT, NTFS, CDFS, SMBFS


 
Reindeer Moss Eater   (2002-12-19 11:16) [11]

Попробуй в проводнике создать файл c именем "*.txt" и сразу увидишь полный набор недопустимых символов для Windows


 
Nikolai_S ©   (2002-12-19 11:25) [12]

Спасибо. Это помогло. В проводнике высвечивается полный список недопустимых символов


 
Anatoly Podgoretsky ©   (2002-12-19 11:35) [13]

Ketmar © (19.12.02 11:23)
Но ты особо не доверяй этой полноте, могут оказаться неожиданности, этот список для текущей версии файловой системы FAT


 
Nikolai_S ©   (2002-12-23 15:35) [14]

Но я не думаю, что следующая версия FAT запертит еще какие-нибудь символы. Ведь тогда невозможно будет перенести файлы из старой FAT в новую. Вряд ли на такое пойдут.


 
Smithson ©   (2002-12-23 16:47) [15]

Но могут разрешить. Плюс есть NTFS. Плюс есть Unicode (мать его) и сомволы национадбных языков...


 
Илайдж   (2002-12-23 16:52) [16]

Куда как проще не запрещать, а разрешать: a..z, A..Z,0..9 и все. Шаг влево - шаг вправо -> попытка обмануть программу ;)


 
Nikolai_S ©   (2002-12-24 11:50) [17]

2 Илайдж
Может так и проще... Но еще нужно и не только латинские символы разрешать. Так как имя файла у меня - это еще и заголовок сохраненного файла. Просто заставлять юзеров вводить отдельно заголовок и имя файла - слишком сложно для них будет. А вот если сразу ввести заголовок и сохранить данные в файл с таким же именем - то так проще. Потому и нужно запрещать ввод некоторых символов....


2 Smithson
У меня тут с после фразы "символы национадбных языков" появился еще вопрос: А что нужно сделать, чтобы разрабатываемый софт поддерживал все эти языки? Даже китайский, японский и другие примудрые языки (в которых справа налево пишут и т.д.)?




Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
14-15208
Феликс
2002-12-14 22:33
2003.01.06
Вопрос по Перлу


3-14931
atmamont
2002-12-12 00:47
2003.01.06
Посоветуйте что использовать для отчетов


1-15078
Napoleonn
2002-12-21 19:01
2003.01.06
Как в richedite


1-15065
Ranikin
2002-12-24 15:18
2003.01.06
TreeView - как разобраться с делами ?


6-15201
ai
2002-11-06 07:55
2003.01.06
TServerSocket: как отфильтровать подключаетмых клиентов?