Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить является ли имя файла допустимым? [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Nikolai_S ©   (2002-12-16 16:30:00) 

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


Nikolai_S   (2002-12-24 11:50:00) [1]

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


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


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

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


Smithson   (2002-12-23 16:47:00) [3]

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


Nikolai_S   (2002-12-23 15:35:00) [4]

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


Anatoly Podgoretsky   (2002-12-19 11:35:00) [5]

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


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

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


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

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


Anatoly Podgoretsky   (2002-12-19 11:15:00) [8]

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


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

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


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

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


Anatoly Podgoretsky   (2002-12-16 17:01:00) [11]

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


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

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


Alexei113   (2002-12-16 16:51:00) [13]

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


Nikolai_S   (2002-12-16 16:48:00) [14]

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


FreeLancer   (2002-12-16 16:43:00) [15]

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


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

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


Alexei113   (2002-12-16 16:34:00) [17]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо